Starting with why, B corps, and ceilings

img_20160625_163059
String Lake, Grand Teton National Park

I recently happened upon Simon Sinek’s Start With Why TED talk while I was reading Alex Turnbull and Groove’s excellent startup blog. If you haven’t seen the talk it is a very worthy 18m and this post won’t do much for you without the context.

It took me very little time to get into the talk and reflecting on my own collection of whys. I’d like to summarize what it means for me as I write this.

I’ve built at least three products with a focus and a basecamp setup in the swamps of What. It’s so much more work to communicate why someone should purchase from you in particular and to build trust when you start with making a thing that solves a problem.

I have an awesome new widget. It’s better than ABC Co.’s widget because it has X and Y. It’s also Z times bigger/smaller/faster/easier-to-use.

These claims are not credible on the face of them even if they are true. This is a big reason why testimonials and guarantees are so crucial for most smaller businesses. Often, as a marketer, I hardly believe myself in writing them.

Mr. Sinek’s talk encourages the How portion of your work to be driven by why instead of what. You don’t make a differentiated widget. You believe something about the world. People that believe what you believe should do business with you. This makes a tremendous amount of sense to me and it rings true emotionally.

I am an avid outdoorsman and I like to do business with Patagonia because I share the belief in the power and value of open wild places. I would rather pay more to do business with them because I know how they treat their employees and how they vet their suppliers.

Reading more about these ideas led me to B corps. I stumbled on an open letter by Ian Martin in reference to his decision that their company embrace this movement of harnessing business to do good for people, profit, and the environment. This meant a lot to me and I want to join the B corp movement with my next foray into business.

I think doing right by the environment and the people who work for you resonates deeply with my own sense of purpose. I’m utterly happy to project meaning and purpose where perhaps there is none.

I’ve long struggled with the products I’ve started as not really making much of a difference in the world. I thought myself too shallow to step away from tech and the lifestyle toward something that looks like non-profit work. I have family engaged in that work and I think I have some feel for it, but I have a different vision of what I want my life to look like.

This feels not only like a better path for my convictions, but also for my community and the environment. I’m still fashioning a coherent articulation of my own why for my currently in the shadows project, but I know that this absolutely connects to it. I think having a why and a conviction about what we’re doing will materially impact the ceiling for where the business can go and the chances for success.

The B corp piece isn’t a complete why in my mind. The product and the customers deserve to be included in there as well. I’m excited to pen the piece that outlines our B corp assessment and the details of our commitments and I hope that you will join the movement. Let’s make things better one small moment at a time.

 

Adventures with awk and big data

It took me a long time to appreciate the brilliance of the way command line tools on Unix fit together, but one tool that will hasten that appreciation for anyone is awk. My first use of awk, some years ago, was to find and terminate process ids.

You might use `ps aux` to see the list of running processes.

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0   3780  2032 ?        Ss   Mar13   1:24 /sbin/init
root         2  0.0  0.0      0     0 ?        S    Mar13   0:01 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Mar13   4:23 [ksoftirqd/0]
root         4  0.0  0.0      0     0 ?        S    Mar13   0:00 [kworker/0:0]
root         5  0.0  0.0      0     0 ?        S<   Mar13   0:00 [kworker/0:0H]
root         6  0.0  0.0      0     0 ?        S    Mar13   0:00 [kworker/u:0]
root         7  0.0  0.0      0     0 ?        S<   Mar13   0:00 [kworker/u:0H]
root         8  0.0  0.0      0     0 ?        S    Mar13   0:06 [migration/0]
root         9  0.0  0.0      0     0 ?        S    Mar13   0:00 [rcu_bh]

If you pipe the result to grep you might isolate the ones with ‘kworker’ in the name.

$ ps aux | grep 'kworker'

root         4  0.0  0.0      0     0 ?        S    Mar13   0:00 [kworker/0:0]
root         5  0.0  0.0      0     0 ?        S<   Mar13   0:00 [kworker/0:0H]
root         6  0.0  0.0      0     0 ?        S    Mar13   0:00 [kworker/u:0]
root         7  0.0  0.0      0     0 ?        S<   Mar13   0:00 [kworker/u:0H]

Then you’d want the PID for each of them, but it’s just a column and you need to run `kill 4` and so on. This is where awk can be magical.

$ ps aux | grep 'kworker' | awk '{ print $2 }'

4
5
6
7

Now we have the PIDs we need and we can pass them to kill using xargs. Some commands are finicky about xargs and you could opt for a simple inline Unix for loop.

$ ps aux | grep 'kworker' | awk '{ print $2 }' | xargs kill

Awk is killer at manipulating columnar text data and we can also output the information in formats other than one thing per line. The separator in configurable.

$ ps aux | grep 'kworker' | awk '{ print $2 }' ORS=','
4,5,6,7,

This whole post actually belies the nature of awk. It’s a complete language unto itself. We could sum the PIDs.

$ ps aux | grep 'kworker' | awk '{ sum += $2 } END { print sum }' 
22

We can skip the first line. Say we wanted a sum of ALL running PIDs for example:

$ ps aux | awk 'NR > 1 { sum += $2 } END { print sum }' 
345623

There we used NR (I think this is ‘natural rank’ or row number) to only pay attention to rows after the initial titles. We can also select one such row specifically:

$ ps aux | awk 'NR==1 { print $2 }'
PID

I’m still adding tricks to my knowledge of awk, but combining it with sed, wc, redis-cli, and grep lends tremendous power in working with large datasets.

SQL inserts from file failed at unknown point…what do I do?

I was running a nicely pieced together sql text file filled with INSERTs we’ll call ‘something.sql’ recently in a screen session. Unfortunately, when I reconnected much later my data import had failed at some unknown point without an error. Sigh.

Terminal Import I could see that many of the hundreds of thousands of rows had been imported, but how many? I needed to know where to restart the import and I did not want to delete all that data to restart it. That would be its own difficult reclamation project because I already had another import going.

Let’s pretend that I was importing comments for blog posts. The posts were all in the database already. So, how do you know where your import failed? I started with a guess.

 

I knew that another import on the same VM ran for about 5 hours before it completed and I was able to guesstimate that around 300,000 of the rows were probably inserted. The next steps composed a manual binary search. First, I wanted to know an upper bound on my search space.

awk ‘NR==300000 { print }’ something.sql

This shows me the 300,000th INSERT statement. It has an id I can use to check the database.

SELECT count(*) FROM comments WHERE  comments.post_id = <ID>

> 0

We now know that none of the comments for that post made it in and that we’re looking for some point earlier in the file. I decided to limit my search space.

head -n 300000 something.sql > 300k.txt

This creates a separate file with only the first 300k lines or INSERT statements. Now we can binary search, but with a little guess work. I’m fairly sure at least 200,000 made it in and I can test that assumption. I’ll reuse awk to show me the Nth line of the file.

awk ‘NR==200000 { print }’ something.sql

Turns out, that INSERT did make it in. Next up was checking line 245,000. It’s not there.

222, 000 is there. 233,000 is not. I kept on like this until I found a post that had 111 entries in the database. Was 111 the right number? We can grep the lines of the file for the post id and count the matches using wc.

cat 300k.txt | grep ‘<POST-ID>’ | wc -l

> 467

Now I know that it failed somewhere in those 467 INSERTS, but I don’t know where in the list I’m pointing to. I could be at any of those 467 INSERTs. I needed to know the line number of the first one in the file. Print out the line number of the first match for me, awk.

awk ‘/POST-ID/{ print NR; exit }’ 300k.txt

> 222,137

It failed between 222,137 and 222,604 (467 later). In fact, we know there were 111 INSERTs for that post so we’re pretty sure it failed on (222,137+111=) 222,248. We can verify with a few SQL queries similar to the one above and by verifying the comments we expect are present or not. Lastly, we need to restart that import:

tail -n +222,248 something.sql > missing.sql

psql -f missing.sql

tail helped us keep only the last lines we wanted and psql is off and running.

And that is that. It took two guesses, about 10 spot checks, and a few simple SQL queries to save hours.

Cold Contact (Calls and Email) — Lean Startup Austin Talk

This outlines my system for contacting people cold whether by phone or otherwise. It parallels my experiences and my book (coldcallingbook.net).

I gave this talk to the Lean Startup group in Austin, TX on 20 Nov 2012.

MicroConf 2012

It was a great event. If you want to learn more about bootstrapping a business or meet people trying to do so, there is no better place to go. Thanks to Mike and Rob.  I’ll try to summarize the key ideas that resonated for me after listening to the speakers and chatting with numerous other entrepreneurs at the conference.

Honesty

Jason Cohen gave the lead off talk and he spoke about how honesty can make you more money. It was a really good exploration of truth in marketing and support. It seemed to spawn a majority of the initial discussions for the rest of the conference. Did he mean complete honesty? Were there exceptions? Who would actually do it? I think he makes a convincing argument for using honesty as an advantage. Especially where it can grant you credibility. Admit something negative to lend credence to your positives.

Customers, Customers, Customers: Who are they?

Hiten Shah was the first to ask this question. Who are your customers? How much do you know about them? What problems do they have? What keeps them up at night? Who do they buy from? What do they pay? Who are their competitors? Who are their customers? Hiten emphasized again this year that speed of customer learning will determine your success.

Where are they?

This came up in a lot of talks. Hiten was first, but Amy Hoy, Patrick McKenzie, and Dan Martell definitely all discussed it. Find them online and off. Learn from them. Build channels to educate and sell to them. Or…

OPN

Find “Other People’s Networks” to leverage. YouTube, iTunes, Twitter, Quora, Forums, etc. Discover where your customers hangout and be there.

Actions as Data

Your customer’s actions speak more loudly than their words. Spend time observing their actions with your product, but also with each other. You should absolutely use customer development interviews, but understand that no matter the methodology: people will lie or unknowingly misrepresent answers to these questions as often as not. This is borne out by research. Collect all the hard data you can.

Failure Required

There were moments in quite a few talks where the speakers talked about a failure or riding a roller coaster of emotions on the entrepreneurial trip. It isn’t always fun or fulfilling. You’re never sure about the next move. Each time things don’t work you are reminded of the opportunity to give up. Failure and experience are the best teachers. You can learn to accept failing as part of the process. In this business, your success depends upon frequent failure.

Revenue or Cost

Improve revenue or cut costs for your customer. Build your messaging around the benefits of your product that do this.

Process and Systems

I enjoyed this theme the most. It is best summarized by a quote that Patrick McKenzie shared:

A job is a system that turns time into money. A business is a system that turns systems into money.

Mike Taber spoke about it at length as well. Peldi and Bill Bither both mentioned using the best development talent they had to work on business systems and not the product. Sarah Hatter talked about systems for interacting with customers to deliver great support. Automate things. Improve the experience. Use checklists. Use metrics. Build visual dashboards. Prioritize problems. Document your process. The quality of your systems will distinguish your from your competition.

Impermanence

Patrick McKenzie and Sarah Hatter addressed this directly in their talks. Patrick mentioned a Japanese word that means ‘an awareness of the impermanence of things’ in reference to work and money. He wanted everyone to make sure they spent time on the things in life that bring them meaning and the things that last. There was a running joke for the speakers to include a picture of their kids that connected up strongly here. These people have real lives. Sarah said (paraphrasing) that you shouldn’t take business advice given by people that don’t have a life. I think that is wise.

Conclusion

The talks were all excellent this year. The speakers were extremely accessible and engaging. The attendee quality was very high. The venue improved. I’d say I’ll see you at MicroConf 2013, but I’m concerned it will sell out too fast to guarantee.

Relationships, Transactions, and Pricing

Recently, Jason Cohen featured two blog posts about pricing. Sacha Greif talked about how his research and thinking yielded a low price with high volume approach. Jarrod Drysdale rebutted with a tale of a high price and low volume strategy where he made more money. Amy Hoy got involved in the discussion both on HN and Jason’s  blog. She and Jarrod championed the high price model. It’s a good model. And she is correct in her assertion that higher prices make it more likely that you can continue to provide an exceptional service level to each customer. Sacha maintained that you could make money and address a wider audience with a lower price.

I recently read Bargaining for Advantage and it’s got me thinking about how to view these decisions in life and in business. There is a section in the book that outlines several types of situations where people engage in bargaining. One of the key factors in how he suggests you should bargain is based on whether or not you expect to have a continued relationship with the other party or if it is simply a transaction. Groceries are usually a transaction. Even most cars and houses, but most business interactions are best viewed as a relationship.

Relationships mean that you might not bargain as hard and you’d let the people on the other side of the table know it. Relationships mean creating more value than you capture. Relationships mean understanding the other side of the table and what goals they have not only for this deal, but also in life. Relationships are what build careers, reputations, and (I think often) wealth.

It’s easy to see most decisions, moments, and interactions in life as transactions. Walking by someone who drops things in the park. Seeing a neighbor struggling to load a truck. Passing by a forum post or email with a question you can answer. These aren’t transactions in a business sense, but even in helping out you can treat it like the beginning of a relationship or a momentary hassle. Relationships don’t scale. They can’t. And that is why they’re special.

In the end, I think there’s more than one way to skin a cat. Amy’s method allows you freedom to pour a lot of attention into a faithful few. I’m sure that can forge powerful relationships. Sacha’s method of selling for less is relational in a different way. I think people understand the value in his offering and it builds the bridge to start a relationship down the road across a wider audience (similar to Customer Perceived Value). You can’t always start with marriage and million dollar deals. Sometimes it helps to start slow. The level of “know, like, and trust” required to make a $3.99 sale is different than a $3,999.00 sale.

Ultimately, the approach to pricing depends on where you are and where you want to be.  The money won’t make you happy. Relationships can help with the money and the happiness. Pick the one that works for you.

How to be a Lean Startup Idea Assassin

I’m going to tell the story of a new product idea from conception to death. I know that my first year or two of trying to vet ideas was a scary process to navigate. I felt like I was in a race car with an opaque windscreen and a vague impression that I needed to turn, but I never knew which direction or when. The uncertainty still plagues me, but I have developed some processes to deal with it. I’ve also learned that it’s more like a bumper car than a race car in most scenarios. It might be embarrassing or below expectations to crash, but there is little chance it will be fatal. It is also quite common to crash and you never get going quite as fast as you’d like.

In September 2011 I created a small piece of code for a friend that allowed them to use Wufoo as a platform for graded quizzes. Before creating the project I investigated which form platforms had an API that I could leverage and as part of that I asked a few questions of someone at Wufoo support. I followed up with the completed project to the Wufoo contact in case it would interest them. That small thing allowed me to turn my README for the project into a blog post on the Wufoo blog.

The blog post generated some inbound interest, but I didn’t start taking the idea very seriously until some of the interest turned into consulting opportunities.  I figured a few consulting clients, a blog post, and some additional interest from the friend that started everything warranted more investigation. So, naturally, I made a few customer development phone calls to get more insight into people that wanted to solve this problem. I was able to isolate two interested segments: online education and marketing.

I was able to get a collection of people in marketing to be moderately interested, but it seemed like education was the real player. I spoke with about 25 people over and above the 10 or so that had already come my way. I got really excited at this point and started to move things forward on multiple fronts. The consulting deals were done in such a way that I could keep the code open sourced and use it for any purpose down the line. I knew that I had wasted time on the technical side before when I should’ve started with marketing so I jumped in on the marketing side.

Education Landing Page
The language and benefits were carefully extracted from many conversations, but I don’t think I’m good at this yet.

I created a landing page. I used my contacts in the market to generate ideas for benefits and features. I iterated on the design and content with some trusted friends and advisors in the startup space. I bought a domain, picked a name, and did some quick and dirty keyword research.

oDesk Costs
oDesk Contracting

I enlisted some outsourced marketing help on oDesk. I had people tracking down competitors, keywords, blogs, hangouts, and the best content online in this market. That set me back a few dollars, but I was excited about my marketing approach. I had a demo that included a graded quiz and captured email addresses! It was whiz bang cool. I started planning out the future and wrote a 10+ page marketing plan. I had paying clients and interested potential customers.

I decided to drive some traffic to the landing page to build a huge mailing list for my mega launch event. To drive traffic right away I turned to Facebook Ads where I figured I could effectively target young, web-savvy, educators. I also used BuySellAds paid tweets and I linked the landing page from my blog. I was banking on 10% conversion, but if it was a little lower I was willing to retarget and try some new things.

I managed to convert 0% of the traffic. I spoke with a few advisors about the idea and the process I had used in depth. Everyone agreed that there was something to the idea whether it was lead generation or a simplified Learning Management System (LMS), but we also all agreed that it wasn’t quite there. The idea wasn’t fully formed. The traffic wasn’t converting. The test didn’t succeed. I’m not great at copy or paid search ads. I do think these networks have tremendous value, but I did not connect on this idea.

Facebook Ads
My Facebook Ads
BSA Tweet Stats
My BuySellAds Paid Tweets

 

Landing Page Goals
What I wanted to see

I recently heard Noah Kagan speak and one of the best things in his talk was to set specific, challenging goals for tests and simply walk away when your expectations aren’t met. I walked away.

I was sad to see an idea that I was so emotionally attached to go by the wayside, but you can’t make emotional decisions about which product ideas are worth pursuit. You make data-driven business decisions after you talk to customers, do market research, and test the idea by exposure. This is not something I could have done a few years ago.

landing page stats
What I saw
landing page stats two
More of what I saw

I try to pursue things that will leave me better off when it’s all said and done whether it meets my loftiest ambitions or it crashes ignominiously. I think this project meets that criteria well. I got the blog post. I tested another idea in depth and I’m getting faster, more decisive, and (I hope) more effective at it. I learned some new tricks for marketing, I wrote a great marketing plan that I can use as a template, I experimented extensively with outsourcing, I worked from the market side first, and I solidified my process of vetting an idea.

I learned some great skills and a valuable lesson about getting too excited about an idea too early. I thought I already met that lesson, but here it is again.  I spent $150 or so, and I saved months or years of chasing an idea that I can’t sell online with my resources and contacts. This is a key distinction. Someone may be able to execute on this idea. Maybe my failure is more due to my lacking copy or SEM skills than the idea itself. Perhaps I missed the number one benefit. In any case, I gave it my best shot and I know that this one isn’t for me.

My daughter taught me to fail more.

Gwen and Thomas at Ladybird Johnson WIldflower Center
Gwen and Thomas

I’ve been watching my daughter grow up for almost two years now and recently she led me to an epiphany. I should fail more and I should do it at many things. I was watching her run around the park a few days ago and I was struck by the way she moved around. Every rock, bump, and obstacle was a challenge waiting to be attacked in a haphazard order. If she fell down, she got up and tried again. In the face of persistent and certain failure she asks for help, but she will give just about anything a go before asking.

What would the world look like if everyone took on life like this? We’d all be a bit more fit I suppose. But, we would also never stop trying new things. We wouldn’t care if people saw us fall down and in part we would not care because we would be too busy trying again.

The world is pretty big to a two year old child, but she doesn’t see it as daunting or intimidating. She doesn’t studiously avoid the playground equipment she isn’t adept on. Everything is a quiet challenge.

I’m off to pickup the gauntlet. Kindly look the other way when I’m picking myself up. Life is too short to live it all walking carefully.

You Can’t Replace Experience With Methodology

I have spent a lot of time reading books, articles, and blogs all about business, marketing, and startups. I don’t think it was wasted, but I don’t think it really prepares you to do much either. I think I’m better prepared to see mistakes coming for others, but I find that I tend to justify why my situation is different before learning the hard way that it is most certainly not.

I don’t think this is a bad thing. Experience is a superlative instructor. ( It reminds me of the Stanford Machine Learning course introduction to neural networks. The brain only has one really versatile learning algorithm and experience is the input. ) I expected the recent ‘You’re Overthinking It‘ article to be more along these lines. An exhortation to do more stuff, but it was not to be.

Do more stuff! Lean process emphasizes shortening the iteration cycle in order to speed up product development. Faster development with customers driving the process just might yield a profitable business before you run out of cash or motivation. I’m actively combining this simple and widely applied insight with another related one, “Practice makes perfect.” ( Boy, was Solomon right: There is nothing new under the sun. )

I’m thinking a little less about doing the perfect thing at the perfect time. I’m trying to build a large quantity of short, fast iterations in each area I want to improve. I have started adding small projects that let me get those experiences with less commitment and more focus. This is all one reason why I support Rob’s thinking behind acquisition. I’m planning to do a bit of that on a small scale myself. It’s a (hopefully?) great way to get instant reps.

A Defense of Reading

I know there are a lot of techniques I’ve learned through reading that gave me the chance to go out and get key experience. I think the mental models that analysis and synthesis of different perspectives develops can help me a lot. Even if that help is only deeper understanding after (re-)learning a hard lesson. I also think that connecting to these things motivates me. It makes me put on my startup/business/developer/marketer hat and act accordingly. That is useful to me on a long day, but I’ve got to balance reading with doing. Doing is the only one that really puts me closer to my goals.

2011 In Review

Looking Back

Many of my goals to start 2011 were related to my products at that time: Whitetail Census and Whitetail Scout. I spent the first 8 months of the year developing and executing on a variety of marketing strategies for those. I wish I had read Chet Holmes a year earlier. I did not meet my goals for Census. I discovered that some (recent) laws/guidelines in Texas make it really difficult for anyone to use game cameras for census data in the context of the Ag Tax Exemptions. It was tantamount to learning that your market is now 90% smaller.

I did manage to develop multiple mailing lists, experiment with pricing, integrate payment systems, start mailing lists, relaunch Scout, and attend conferences like MicroConf and the Wildlife Expo. I am happy with my blogging efforts, but this year I should have some scheduled content for December.

Lessons Learned

I should vet ideas as I have them. Pursuing multiple things can be a great boon to finding what will work.

You can’t replace experience with books and philosophies. You have to go out, kill it, and drag it home yourself. I love Eric Ries, Jason Cohen, Bob Walsh, Eric Sink, Rob Walling, Patrick McKenzie, etc. for sharing so much insight on strategy and tactics, but it is not useful unless you are throwing a ton of things at the wall and finding what works through experience. Your market is not theirs. Your skills, network, and experience are different. You should read this stuff. Get inspired. Try using it. Keep what works for you in your context. Some of it won’t.

Do more. A lot more. I had some unexpected success with cold calling tactics to the point where I’m planning to write an ebook. I also received inbound consulting work because of my blogging and open source efforts. The more you do…the more you are doing that works. Sound familiar?

Methodologies and idea vetting will never take the risk or uncertainty out of new projects. At some point, you have to jump in with a solid marketing plan and see what you can do with it.

High-touch sales is a great vehicle to build a business, but it probably shouldn’t be your first business in your spare time.

Consulting is not often touted as a route to building products, but it appears to be incredibly common. It can be a good way to validate ideas and you build some useful skills that you won’t get in a day job.

Great content rules the Internet.

Mastermind groups are a great way for solo entrepreneurs to stay connected, motivated, and bounce ideas around.