avatarSean Smith

Free AI web copilot to create summaries, insights and extended knowledge, download it at here

4635

Abstract

s from certain people:</p><div id="b727"><pre>Person mother <span class="hljs-operator">=</span> Person(//) mother.talk()<span class="hljs-comment">;</span></pre></div><p id="dbc4">If we are thinking about a certain person, we must have created an <b>instance</b> <b>of ‘Person’</b> for that person in our minds (or RAM in a Computer).</p><h1 id="43d8">3—Class Fields</h1><p id="3eca">As we have mentioned above, these common names defined in our minds have some features like person’s age, name.</p><p id="5352"><b>This is where null safety comes into play.</b></p><p id="02cb">Of course, there may be thousands of classes related to a person in our minds or universe’s code. “Newly Met Person”, “My Friend” etc.</p><p id="c414">But let’s simplify this quite a bit. And suppose we have only one definition of Person in our minds and a few properties like age, name etc.</p><p id="08ba">A quick question for you? While meeting a person, when you ask his/him age, have you ever thought of a question : “I wonder if this person has an age?”. Or when you ask someone their age, “I don’t have one.” Do you expect an answer like that?</p><p id="f4b3">If no, <code>int age;</code> can <b>NEVER</b> be nullable in universe’s code.</p><blockquote id="a7fd"><p>Maybe we haven’t asked someone’s age yet, or he/she hasn’t said it. But in reality, we don’t need a person’s age to form in our minds. So let’s pretend we know everything we can know(in the moment and future) and we need in our case.</p></blockquote><p id="548d">Another question is:</p><p id="4a81">When we ask a person the question “where do you work”, do you always get a workplace information in the answer?</p><p id="60ef">If no, our <code>jobID</code> class member is <b>nullable</b>. Not everyone has to have a job.</p><p id="f44a">Yes, now let’s define a class with these two properties:</p><figure id="a61f"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*8E5Xt1ie176KE-ap6AIyGQ.png"><figcaption></figcaption></figure><p id="8026">This means that a person may have a <code>jobID</code>, maybe not. But he/she definitely has <code>age</code>.</p><p id="16cb">Now you have encountered an error here. Do you think it is right to break the logical context we mentioned above about age and job ID to solve this error?</p><p id="a5d5">Here the <code>int? age</code> solution breaks our logical context.</p><p id="2159">So what is the error and how to solve it?</p><p id="cdda">Let’s handle the wrong solutions first:</p><p id="c180">1- Make Nullable.</p><p id="a702">We’ve already mentioned this: age cannot be null. So this is not a solution.</p><p id="1670">2- Add <code>late</code> modifier.</p><p id="fbeb">In most cases this is not the right solution either. Persons have an age from the moment they exist.</p><p id="d3c3">3- Give a default age.</p><p id="e087"><code>int age = 0;</code>. If you think that every person you see/ meet/ know is a newborn, possibly it’s a good solution. The fact that its age is not yet known in your mind (that is, when a person instance has not yet formed) does not mean that the person age is zero.</p><p id="8dcd"><b>Solution</b></p><p id="e84a">As you can see, we used words like “yet”, “not yet” and “moment” a lot. Existence, the process of existence and its chronology have an important place.</p><p id="376e">So let’s take a quick look at how an instance is created.</p><p id="2e0b">Now we are defining and creating a Person class/instance for a conversation.</p><p id="9c40">Let’s take a look at the example below and see in what order they work.</p><figure id="2594"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*lLXdolSz3dwGhrwuXDYv1w.png"><figcaption></figcaption></figure><p id="5fb0">These concepts will be used:</p><blockquote id="39c8"><p>SpokenPerson(<params>) : <final-initializer>{<construction-body>}</construction-body></final-initializer></params></p></blockquote><p id="26c5">So:</p><p id="7048">1 — <b>Before Executing Construct.</b></p><p id="824b">First, let’s consider what we can actually know before a SpokenPerson is created : That our conversation duration is 0. All the others are things we will never know before we create this person in our minds.</p><blockquote id="be23"><p>Notice, everything known before is not <code><i>static</i></code>. The conversation Duration Ms is about a specific SpokesPerson instance. Static properties are properties that are not specific to a certain object instance.</p></blockquote><p id="d1dc">When we want to create an instance using the SpokenPerson(…) expression, “conversationDurationInMs = 0” (as setter) will run first.</p><p i

Options

d="5014">2 — <b><params></b></p><p id="33df">We need information to create a SpokenPerson instance. So the <params> part works. The parameters here are read, if any, default values are taken. “this.” or “super.” statements are actually the first part of the next stage<final-initializer>. We can only use it in this stage for coding convenience.</final-initializer></params></p><p id="8d0f">As a result, this stage is where the necessary questions are asked and the necessary preparations are made to create a SpokenPerson instance.</p><p id="c906">3 — <b><final-initializer></b></p><p id="e41c">This stage is the creation stage of an object. The object has not yet been formed at this stage. Like an embryo.</p><p id="a0f5">As soon as this stage is over, the object will be created. This means that at the end of this stage we need to know all the final variables and required variables associated with an object. If there is information concerning the superior object, it must be given here with super’s constructor.</p><p id="ba6e">The main reason for our error above is that “age” is unknown at or before this stage.</p><p id="87d6">Here, we can’t access instance members.</p><p id="c2e9">4 — <code><b>late</b></code><b> modifier with value members.</b></p><p id="d2b0">This is the stage that works between <code><final-initializer></code> and <code><construction-body></code>. The section below represents this stage. Here we can access instance members. But what we can value from this point forward does not mean that the value will definitely be given here. The value is given the first time we use a <code>late </code>instance member.</p><p id="6e3d"><code>late bool tallerThanMe = height > 1.78;</code></p><p id="236d">5 — <b><construction-body></b></p><p id="a82c">This stage is the stage where the actions to be performed immediately after the object is created. Here we can access instance members.</p><p id="d212">In this example, we talk to it right after creating an instance.</p><p id="6dba">6 — <b>set late members</b></p><p id="75c6">If it exists, and we are setting it, we set the late members at the end (at an indefinite time).</p><p id="33e7"><code>satisfiedWithConversation</code>. We cannot ask this before we speak. We’ll know after we talk. But unlike nullable ones, we can know for sure after talking.</p><h2 id="e0f6">Solution Result</h2><p id="4eb7">1 — If a property is not going to be null in our case, we <b>never </b>make it nullable. Request them as parameters or calculate and give values, latest in the final-initializer.</p><p id="fecc">2 — If you have a non-nullable member, but its value is not known yet when the instance is created, use <code>late</code>. Only use it when you’re sure you’ll appreciate it before using it.</p><p id="825d">3 — “Does it have this feature?” If you answer “sometimes” to the question, set it to nullable. And always ask if it’s an existing condition before using it (check null).</p><h1 id="1766">Some Tips</h1><h2 id="3437">late with instance member</h2><p id="1ea1">A member with a late modifier can access instance members. In the example, “widget” is an instance member (owned by State) and we can access it. This is functionally like valuing currentTitle in initState. However, the fact that we can value the currentTitle variable immediately after the instance is created does not mean that it will be given a certain value exactly after construct. The first time we use a late member, it is given its value.</p><p id="7579">So, any attempt to read this late variable before “State” attaches to the widget will result in an <b>error</b>.</p><p id="4b23">That’s my own policy, but I think it’s functional: Don’t use <code>late</code> with value.</p><p id="5be8">WRONG WAY:</p><figure id="c85d"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*7Q3Lu0vmTb2RU_wvOX5_4Q.png"><figcaption></figcaption></figure><h2 id="30f6">Need an initialize/attach</h2><p id="16d1">If one of your controller requires an initialize function, or if an instance of a class works together with an instance of another class (State-StatefulWidget, Widget-Element, Controller-Client), a structure that facilitates access to this connected/attached instance can be established.</p><figure id="c111"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*_eyjhdxmlZZy9QoqoERcUw.png"><figcaption></figcaption></figure><p id="c07b">Depending on the situation, if a change is expected, check the <code>hasClient</code>and then use the <code>client </code>comfortably. Equivalent in State <code>mounted</code>.</p></article></body>

How to attract clients even when they’re not listening

Done right, B2B storytelling pays off big for companies, marketers, and writers alike

Photo 41754814 © Vinnstock | Dreamstime.com

I have a huge problem

As a former chief marketing officer (CMO) who recently launched a thought leadership marketing (TLM) business, I have a huge problem — almost no one understands what I do.

Least of all, my intended clients, which include small to medium-sized businesses (SMBs) leaders, who all think they know more about how to grow their business than I do. To give them their due, I have to admit that, after all, in most cases, they built the business.

So before I can get them to hire me, I not only have to prove them wrong, but I also have to convince them that I may be right. That’s is no small feat if you consider that business owner buyer persona is highly ambitious, fiercely opinionated, and, in case you didn’t know, they are always right.

So when I approached my first customers a couple of months ago and told them, “I write non-promotional white papers for companies that sell high-value contract products and services,” they said, “Thanks, but that’s not what we need.” They told me that what they needed was “more leads, more meetings, and more sales.” Often, they added, “Right now.”

At that point, not only did I agree with them, but I reassured them by saying, “I’m sure you do need more business now, and if you listen to my new approach, I’ll show how to get just that.” And then, to drive my point home, I added, If I’m wrong, you don’t have to pay me.”

Now, I have their attention.

I’d go on to explain that I’m in the startup phase, and I need them more than they need me. Not only that, I’d tell them, I’m also so convinced my approach would work that “I’ll bet the farm on it.” And I was talking, they understood, about my farm.

I got this idea from one of the best startup success stories I’ve ever read. It was a First Review article about Looker’s thorny path from launch to its $2.6 billion acquisition by Google in June 2019.

As Looker’s Co-founder, Lloyd Tabb, recounted in the article, he didn’t worry too much about getting paid early on. His idea was, “…if we could get our prospects to use the product as much as possible in the free trial, we could comfortably ask for money later.” The article then explained, “If you can prove value early on, then the money will always show up in your bank account later.”

Not having a free trial to offer, I needed to develop a compelling way to demonstrate my value. More importantly, I also needed to overcome some heavy-duty objections and skepticism. To do that, I knew that all my degrees and all my years of marketing experience wouldn’t be enough. I realized that I’d have to not only show them my approach would work for them but that it would work better than anything else they’ve tried.

So far, no one has turned me down.

Photo by Alexis Baydoun on Unsplash

What is thought leadership marketing?

If you search the Web for “thought leadership marketing,” most of the definitions that come up are relatively meaningless restatements of the obvious. For example, one of the top hits says, by definition, “…thought leadership is a method of marketing, which solidifies you as an expert and authority within your industry. The goal of thought leadership marketing is not to create sales heavy content, but to provide an entry point to your business by branding yourself as an expert.”

Likewise, even HubSpot gives the phrase short shrift, saying, “Thought leadership is a tactic that content marketers use to build credibility for themselves or leaders in their company. The main goal of thought leadership is to become recognized as an expert and used as a go-to resource in your field.” HubSpot also hints at TLM’s potential by adding, “If you’re good at it, you’ll increase awareness among your target audience, generate more leads, improve social proof, and boost engagement online.”

A six-year-old response on Quora provides a somewhat different perspective. It describes thought leadership as a style of content marketing that tends toward white papers or lengthy posts. The writer said because the goals of TLM “are generally to be comprehensive and authoritative, the best formats tend [to require] something a bit longer, and so white papers and long-form blog posts achieve this much better than short form.”

I also looked at the usual suspects, including Inc., Entrepreneur, Fast Company, etc. Nothing too exciting there. It wasn’t until I searched Medium using my favorite Google search hack (Type the name of the site, colon, keywords, e.g., “medium.com: thought leadership marketing”) that I started to find some insights worth further reading.

Beyond Medium, the best, most comprehensive piece I found was a 23-page special report from Forbes Insights. This report, published in 2015, is an excellent overall guide to TLM, covering the what, why, how of building a successful thought leadership program.

More importantly, the Forbes report hits the main point right on the head, that TLM is one of the most effective ways for businesses to grow and scale. The following three points come directly from the opening paragraph of the report:

  • “Growth-starved organizations are looking for ways to differentiate themselves with new ideas, education, and relevant solutions that address buyer pain and influence their perceptions of value.”
  • “Marketing executives are learning that subject matter expertise and a strong point of view are now essential to success in the digital, social, and mobile channels that buyers use during most of the buying process.”
  • “Sales executives realize original research and compelling insights make it easier to open doors, start quality customer conversations, generate referrals, and cross-sell solutions.”

My only critiques of the Forbes report are:

A) published in 2015, it’s a little old, especially in light of the events of 2020; and

B) the strategy it outlines is complex and resource-intensive, doing little for bootstrapped small businesses and startups; and

C) it doesn’t touch on the growth opportunities for freelance writers, journalists, and other content producers.

To be sure, for larger companies, especially those that sell high-value products and services, especially complex or emerging technologies, or high-trust information or professional services, thought leadership marketing (TLM) has long been a critical part of their enterprise marketing and sales arsenal. These companies generally have developed an array of marketing collateral, including case studies, white papers, blogs, and podcasts, created to establish credibility and support the sales process.

The question is, how can small business owners, startups, and marketing teams with limited resources use TLM?

Photo by Nik Shuliahin on Unsplash

The unvarnished truth about TLM

In the hierarchy of content marketing strategy, TLM is often neglected by smaller companies. Why?

Because done right, TLM is challenging, time-consuming, and usually requires inter-departmental cooperation. So it’s easier for marketing teams to double-down on ad spends rather than trying to capture their own companies’ greatest marketing asset: their unique ability to speak to their audience at an expert-to-expert level.

Unfortunately, in the quest for rapid growth, most companies long ago lost sight of their customers’ actual journeys. As a result, the majority of them make the same old elevator pitch. It goes something like this: “[company] is [name product/service] for [target audiences] that need [what]. Unlike [competitors], only [company] can [USP].” No matter how you dress this up, at the end of the day, it’s a message no one wants to hear it anymore. As I tell my clients, “Let’s save that pitch for the elevator.”

Many marketers, especially those at small to mid-sized businesses, give only lip service to TLM, generally lumping it together with the rest of their content strategy.

The resulting TLM is limited to:

  • largely unread 500-word blog articles, often hastily prepared lead magnets and disingenuous clickbait,
  • self-serving case studies that are so dull no one in their right mind would read them,
  • limited-reach Webinars and Podcasts that do little more than preach to the choir; and lastly,
  • the occasional white papers that vary so wildly in quality, they tarnish the craft and damage brands.

If that sounds too harsh, I encourage you to open your unread, deleted, and spam email folders, read some of the marketing emails, and then get back to me.

Also, please don’t misunderstand. I do not blame hard-working marketers for doing what they were hired to do. As one of my favorite marketing authors, Tara-Nicolle Nelson, rightly pointed out, in many cases, “the content team on the frontlines aren’t able or willing to push back” against management expectations.

Nelson says that the fault for “prioritizing growth over engagement” lies squarely with the company leadership. By mistaking clicks for growth, they sacrifice quality for quantity. As she explained in a 2017 First Review article on the evils of clickbait, it’s a matter of playing a long versus a short game. “There’s the short game of hitting quantity targets. And then there’s the long-game of building quality: engagement, loyalty, love, and respect. Given a choice, I’d choose engagement over growth every time,” Nelson says.

Fortunately, it doesn’t need to be an either-or scenario. Businesses of all shapes and sizes can incorporate effective TLM strategies into their content marketing mix.

And, I want to help them do it.

Photo by Kreated Media on Unsplash

Tap into the power of your expertise

B2B content marketing is my area of expertise. As I explain to my clients, over the past 20+ years as a B2B marketer, I’ve watched many marketing trends come and go. During that time, I’ve tried just about everything you can think of to deliver consistent marketing-driven growth to the handful of companies I’ve worked at. During boom times and bust times, one thing I have learned how to do well is TLM.

With tons of help from many great colleagues, teachers, and mentors, I have developed a new TLM approach that emphasizes growth and engagement, consistently returning 10x return on investment (ROI).

My goal now is to start sharing this new approach to TLM, including my accumulated knowledge, experience, and expertise with business leaders, marketing teams, and freelance writers.

Photo by Dmitry Ratushny on Unsplash

A new approach to TLM

  1. Take a step back — After reviewing my clients’ Website, blog, and online presence, the first thing I do is help them objectively analyze and grade their TLM score. Upon reviewing the broader landscape of information, resources, competitors, keywords, and market leaders, there is often a ton of fluff and little content that drills deep or offers genuine expertise.
  2. Forget your elevator pitch — Getting most clients to stop reiterating their value proposition is tough. Instead, I ask them to focus on the audience they want to attract. Often, by examining the entire arc of their customers’ journey, they can then look at whether the target audience is even aware of the problem that their company can solve. In many cases, while the audience has plenty of challenges and pain points, the audience has framed the issue differently from the company offering the solution. To drive my point home, I say, “You think you have a lead gen and growth problem, and you don’t think it’s a TLM problem; consequently, you’re not seeking the solution I offer.”
  3. Understanding the customer journey — For some reason, traditional customer journey maps begin with the awareness stage. Likewise, most TLM advice emphasizes the importance of developing content for the awareness stage. In my opinion, there is a much more troublesome stage that exists before awareness. I call it the unawareness or ignorance phase. In my experience, the challenge for many businesses, especially those offering innovative or disruptive technologies or solutions, is that most of their audience is still in the pre-awareness or ignorance phase. In other words, they don’t know what they don’t know.
  4. Mining your expertise — No matter what stage of the customer journey your audience is at, chances are, your team probably has a considerable amount of undocumented insight to address their concerns. By interviewing your key team members, you can usually capture a wealth of wisdom that can be crafted into all kinds of audience-facing messages.
  5. Cast a wider net — I tell clients to set aside their buyer personas and preconceived ideas about their audience and potential customers instead of casting a wider net. TLM is not a lead generation tactic per se; it’s about establishing authority and credibility, even though it will bring in leads. Therefore, I encourage clients to address topics that will resonate the most with their audience.
  6. Do your research — Once you’ve drilled down into the customer journey, and inventoried your company’s expertise, go back to the research you did in step one. Then, look specifically for the points of resistance and blockers that you can address. After that, dig deeper to find credible research that supports your position. Your audience may not know you, but they will recognize the authority of leading consultants and publications such as McKinsey or HBR. Another benefit is that citing authoritative sources elevates your brand in your audience’s eyes.
Photo by Mango Matter on Unsplash

Turnkey TLM solutions for marketing teams

Having run in-house marketing teams for many years, I have no love for marketing consultants that want to swoop in and point out the obvious and then get paid more than me. That’s not my objective.

The truth is small marketing teams are almost always understaffed, overworked, and frequently criticized for not living up to a whole series of expectations. Generally, these expectations run the gamut from lead generation, sales collaterals, competitive research, and customer engagement, to the company to Website, tagline, or social media presence.

As I like to joke, “When in doubt — blame marketing.”

So, the last thing I want to do is add another unreasonable expectation to the pile. Instead, my goal is to develop a series of turnkey TLM packages that not only lighten their load but work with existing resources to create stellar TLM promotions that make in-house marketing teams the heroes.

Just imagine the look on your bosses’ faces when you explain that for about the same price of exhibiting at a single trade show, your TLM efforts brought in ten times the number of leads, have replenished the sales pipeline, and BTW your company now ranks on page one of the search results.

Furthermore, instead of wasting potential customers’ time with disappointing wasting lead magnets and clickbait, you’re strengthening your credibility and authority and building the company brand.

Plus, now you’re doing the kind of work that makes marketing meaningful.

Photo by Father James on Unsplash

TLM opportunities for freelance writers

When I lost my job in May, my first reaction was, “Fine. I’m just going to make a living writing white papers in Italy.” Having written a number of them and hired freelancers to write them for me, I knew it was an infinitely more dependable way to make money than trying to get rich writing for Medium.

Historically, white paper writing has been a little-known, sub-niche for B2B copywriters. According to most sources, skilled white paper writers can earn somewhere between $3,000-$15,000 per job, depending on length, research required, and the complexity of the topic. In my experience, a decent 2500–3000 white paper costs about $5–6k.

I understand that freelance sites like Upwork and Fiverr have writers who say they will write white papers for as little as a few hundred dollars, but I can’t imagine the quality is very high. I guess something closer to “keyword salad.” I’ve also heard of higher-end freelance job boards, though I’ve never tried them personally.

Since white papers demand quality, I’ve always hired people who were recommended to me personally. Either way, it’s essential to vet writers carefully, including seeing samples of their work to be sure they’re up to the task.

Over the past several months, however, I’ve realized that as much as I enjoy researching and writing white papers, I don’t need to do it all by myself.

Also, temperamentally, I am far more interested in TLM as a whole — that is, as a writer, a marketer, a founder, and a thought leader.

After dozens of attempts to put all my random ideas about TLM into words, it all came together. I breathed a heavy sigh of relief, thinking, “It’s as if the last 27-years of my career were all preparing me for this moment.”

Accordingly, I’ve begun expanding my network of freelance writers, journalists, researchers, designers, and video makers.

My goal is to connect companies and marketing teams with smart, talented writers and creators who can help them realize their TLM potential.

I recently caught up with Joan Doolittle, Principal with Discovered Brand, who specializes in what she calls “the geeky end of the marketing spectrum.” Call it what you will — product marketing, messaging and positioning, content marketing, content strategy, technical marketing, demand generation, thought leadership, copywriting — she’s spent most of her career working in and with tech companies, from well-known three-letter acronym companies like IBM and SAP to smaller startups, helping motivate action and grow their business using the power of story.

Joan and I discussed the growing need for deeply skilled storytellers. They can create incisive, informative content that cuts through all the noise and helps audiences discover what’s possible — what problems they can solve and opportunities they can seize, most especially those they might not even know about yet. Most people feel lost in the deluge of content they see every day, and it’s getting harder to find the signal in the noise. Now more than ever, we need authoritative content that informs and inspires people with expert advice they can trust about the real challenges they are facing.

Likewise, we agreed that TLM is not the kind of talent companies should source on sites like Upwork and Fiverr. Instead, as she put it, “you need writers who are skilled at extracting and synthesizing lots of information from different people and sources, discovering unique ways of framing a complex problem or a solution, and then telling a story that creates an aha moment with the right audience.”

Illustration by Sean Smith © 2020

Not the end, but the beginning

As I said, earlier this year, when I decided it was time to strike out on my own, I had some ideas about what I wanted to do next. Since then, my thinking has evolved considerably, and I fully expect it will continue to so.

For the next 90-days, I plan to publish a series of essays, like this one, to tackle different TLM aspects. I’ve mapped out an extremely rigorous content plan that will examine, in-depth:

  • tapping the power of storytelling to elevate marketing
  • the importance of expertise and credibility in today’s culture
  • the role of TLM in business growth, engagement, and brand building
  • the challenges and opportunities for TLM for smaller businesses
  • specific strategies for implementing TLM at your company

Additionally, I will share dozens of TLM tools, productivity hacks, research tips, and templates to grow your business.

If you are interested in learning more about TLM, as a writer, marketer, or business leader, please follow me here on Medium, and sign up for email updates at TrojanRabbits.com.**

Thanks. Sean

*Yes, Trojan Rabbits is a reference to Monty Python and the Holy Grail.

Thought Leadership
Marketing
Storytelling For Business
Marketing Strategies
Entrepreneurship
Recommended from ReadMedium