Four months ago my two co-founders and I went to visit one of our investors for a quarterly check-in. Our investor runs an iOS development company from a renovated turn-of-the-century office atop a 28 story building. It would be an understatement to call his experience and surroundings impressive.

While sitting in front of a 9 foot window that looked out on most of downtown, we were discussing plans for our upcoming iOS app. Specifically, we were discussing how many features should be included in version 1. We had just started to translate our codebase to Objective C, and we were trying to define the scope of the project. Our development approach to date had been to build a quick and dirty v1 and use it to gauge user interest. The process had served us very well.

Like an all-knowing Buddha, our investor grabbed a nearby white board and drew a graph similar to the one at the top of this post.

"What does this graph tell you about the features you need in version 1?" he asked, pushing the graph towards us.

We all three thought for a moment. None of us liked the implications, but Nick eventually replied "I guess we can't build a minimum viable product then."

Our investor just nodded and gave us a smirk that seemed to say "sucks, doesn't it?"

What he knew was that the window of opportunity for a hot app on the App Store was measured in days, and especially for the kind of app we were building, a Hollywood Launch was the way to go.

When we actually starting building the app, we had our product scope waiting: it needed to be full-featured and polished. Prior to that meeting, we didn't know anything about the App Store as a platform. What our investor let us know was that building an MVP iPhone app would have been as stupid and useless for my co-founders and I as trying to iterate our way through FDA drug approvals for a new medicine.

Knowing your platform makes you a more effective entrepreneur. It means you have a better grasp of how your product will be shared and used. This means you can cut out unproductive iterations and get to pay dirt faster. Whether your entrepreneurial ambitions are to make enterprise software or fluffy mobile apps, qualified knowledge of your platform will significantly reduce the number of times you have to pivot strategies. And in some cases (like ours), platform knowledge can save the project completely. Had we made an iOS app that wasn't polished on day one, we would have thrown away our best chance to test the market and make money on our creation.

Even going between two similar platforms (web apps to mobile versions of web apps) requires entrepreneurs to have a firm grasp of the differences of the platforms. Most of the time you won't have a kindly investor at your shoulder to reiterate this point, which means you have to know thy platform without being told. Sucks, doesn't it?

Spam is a huge problem. But my experience with the Gmail spam filter has been heavenly; it's been years since I've seen spam in my inbox promising to enlarge my manhood with a Rolex.

The big problem today is opt-in email. I have been actively unsubscribing from email lists for months. But newsletters, special updates, coupon offers, and other email marketing still arrive every day in droves. During the last seven days I have received 14 notifications from meetup.com, 6 Google+ friend requests, 3 Facebook event reminders, 2 notifications from job boards, 2 newsletters from services I've long since stopped using, 2 survey requests for services I've recently used, 1 LinkedIn update, 1 travel advertisement, and 1 airline advertisement. That's 32 emails in 7 days. I never consciously opted into any of these emails and have tried to unsubscribe myself as best I can.

But increasingly, I see emails sent from large, respectable companies [1] that provide me with no unsubscribe link. Instead there is an insidious trend towards "Managing Preferences," which invariably requires a log in, a brief search to find the unsubscribe option, and a form submit. And after all that am I unsubscribed? Apparently not because I keep getting messages. The companies assure me that I'm off XY email list while seemingly putting me on ZQW list simultaneously. Perhaps most irritating of all, I am spending an increasing amount of time browsing and checking email from my phone, and elaborate unsubscribe workflows thwart my ability to quickly opt out.

As the founder of a web startup myself I do not believe there is anything wrong with emailing customers. I don't even mind that I'm being opted into email lists by default; it actually makes a lot of sense. We did an A/B test a while back to see whether visitors to our site wanted to subscribe to five introductory tip emails [2]. Interestingly, we found that just putting the option to get email--we phrased the offer several different ways-- decreased signups, even though 78% chose to receive them, and getting them vs. not getting them made no difference in conversion past the free trial. Users didn't mind getting email, but they did mind being asked. We derive monetary value from sending customers email, and subscribing users by default causes fewer than 1 complaint per 10,000 emails sent. In summary, a company has every incentive to email its customers, and I don't begrudge those attempts. The problem is that these companies aren't respecting my ability to unsubscribe.

Skritter and CodeCombat newsletters go out to a lot of people every month, and folks seem to enjoy it. We easily get 10x the number of positive responses to our newsletter for every request to unsubscribe. I suspect the reason is that we provide a one-click unsubscribe link that respects people's time and privacy. If my company were 20x larger, we would probably want to send more and different email to customers. But complexity doesn't magic away a company's responsibility to allow innocents like me to easily opt out of their email presence. When a company asks me to "Manage my Preferences," they disrespect my time and fracture my trust.

[1] LinkedIn and TripAdvisor spring to mind as companies that have foisted this on me just in the past 7 days. I still can't figure out how to make the Trip Advisor emails to stop, even after wandering around the "My Account" section on my laptop for several minutes.

[2] The tip emails were a series of 5 emails sent to users during their trial periods that introduced them to site features. They were 100% instructional and intended to increase engagement. We didn't put marketing or sales materials in them.

It would be hard to find a self-respecting geek and technologist who disagrees with the phrase "the future is mobile." All the coolest new gadgets are tablets and smartphones and all the biggest plays in content are on those devices. The market dominance of the biggest tech companies depends on how you use that device in your pocket or backpack.

So we get it. Mobile is hot. Mobile is irreplaceable. And most importantly, mobile is the future. But this mobile future takes software for granted.

At both Skritter and CodeCombat, we learned that because we built mobile versions of our apps for iOS. We found that there are so many apps, they have been devalued to the point of monetary irrelevance. That's sad because a good app is a piece of art. The user flows, the interface, the streamlined backend, all the pieces of a finely-tuned app take so much time and energy to perfect that I wanted to write a post to call attention to the level of software perfection that most people have acclimated to without even knowing it. Here are three reasons why it's insanely hard to make a kick-ass Mobile app:

System Constraints

You could say that Objective C is the problem, or put another way, the lack of >insert language< or >insert framework<. But the reason why developers are shackled to Objective C is to make sure processes finish in human time, and this is fundamentally a performance bottleneck in mobile hardware. Swift is a great step forward, but it's immature and for complex backend work, Objective C is still necessary.

Skritter's iPhone app is great, but at core it is just an app to learn Chinese characters. Skritter doesn't pilot your car or allow you to edit movies or do any other mind blowingly complex task. But when it first launched, it wouldn't run on all but the n-1 generation of devices. When we tried to launch CodeCombat's tablet app, on the iPad 2 Air could run it at decent speeds. Why? Because older devices have limited memory, CPU cycles, and bandwidth, newer versions of iOS brick older devices, and news features are only available to developers on newer versions of iOS.

For a generation of coders accustomed to limitless managed memory, high-level programming abstractions, and thousands of deeply functional opensource libraries, mobile is a step back to the Byzantine world of Commodore 64s.

If you have built an app that doesn't choke on graphics and feels responsive, you have accomplished an incredible challenge and I tip my hat to you.

No Features

User-software interaction paradigms are changing and simplifying. Photoshop's submenus, window management, and setting screens afford it a level of feature depth I don't believe can be achieved in a mobile environment no matter how sophisticated and intuitive UI conventions become.

Put another way, there is a terminal threshold of feature depth to an app and this limits the scope and usefulness of any one app. That's not an intractable problem and the solution that has been embraced to date is app fragmentation. There are separate Skritter Chinese and Japanese apps for this exact reason. But consider the logical extreme of this design trend: if you were to make a fully-featured Photoshop app work on a mobile device, you would end up with several hundred micro-apps to do one thing very simply. Just download Instagram to see what I mean.

So, if you are attempting to make a kick-ass mobile app, you must make a lot of decisions that ultimately come down to "how little will my customers allow me to integrate into this thing?" Err on the side of simplicity and you might end up with a fart app. Go the other direction and you have a pile of unusable menus and sliders.

Extreme Polish

The app market is cruel; even moreso for the need to do a Hollywood launch. Because nobody has solved the discoverability problem in the app store, you need to launch big and magically figure out exactly what users want ahead of time. That last point is especially troublesome for people used to iteratively designing for the web. The road to app store success is littered with the corpses of apps that launched big but hadn't fine-tuned their interfaces, didn't have time to include that key feature users wanted, or just failed to make the app novel in some primal way.

Even the basic business sense of not overbuilding is turned on its head for mobile development. If you somehow manage to land that sweet TechCrunch article or New York Times acknowledgment, the app has to be perfect not just from an implementation point of view, but from a feature and context perspective as well. A perfectly implemented, compelling, novel app isn't enough; you have to know that your customers will agree about your choices.

There's always another app for whatever you are doing, and that makes customers more picky. The pressure to get it right the first time can be crushing.

So Get Insane and Start Building

I write all this not to discourage, but to uplift all those developers struggling with their mobile projects. It's tough to make something good, let alone make something good that also happens to make enough money to warrant the effort. For those out there building apps of consequence, I want this to read as a note of enouragement: stick to it and overcome the difficulties I've written about above. The mobile future is depending on you.

It was a hot day and as Rebecca and I drove north on i70. I was looking straight ahead as I pulled up behind a beat up SUV with a bumper sticker extolling the virtues of Yoga. A hand poked out of the front window and flicked a cigarette.

In the passenger seat Rebecca craned to confirm the cigarette siting, "Is that person smoking?" she asked. "Doesn't seem to fit with their bumper sticker."

"True," I said as the light turned green and I accelerated to pass the SUV, my underpowered Suzuki Aereo struggling to hit 40mpg, "it's religion all the way down."

"What?" Rebecca asked.

"Oh, it's just something I've been thinking about recently. Everyone always says that there's no accounting for taste, but until recently it was hard for me to admit there were chain smoking Yoga enthusiasts. It just seemed too contradictory. The best model I've found for respecting those kinds of differences are to treat them like religions."

"Yoga isn't really a religion," Rebecca said. "And what's with all the way down? Is that a rip on the turtles?"

Over the course of the last 7 years, I've spent a considerable amount of time managing sales and marketing for my own 2 software companies as well as a web consultancy. I've attended conferences, made sales calls, printed flyers, and schmoozed at investor gatherings. And I've come to believe that marketing is just sales without accountability. Bear with me for a moment.

Marketing is Sales

Both marketing and sales are intended to produce the same end result: make more sales. Marketing is the top of the sales conversion funnel; the first interaction with a potential customer in which good salespeople provide value and make a lasting impression. But let's not loose sight of the end goal: that first contact with a potential customer is fundamentally about sales.

Companies don't sponsor trade conferences and staff booths because they want to spend tens of thousands of dollars on snazzy signs and airfare, they want to make more sales. Companies don't maintain blogs because they want employees to become excellent writers, they want to be noticed for their contributions to their niche and make more sales. Companies don't buy television, print, and radio advertisements because they want to support actors and graphic artists, they (you guessed it) want to make more sales.

Marketing Isn't Measured

The problem with marketing is that it's so far towards the top of the sales funnel that it's difficult to measure. Sales calls either result in a sale or not, so it's natural and easy to measure their effectiveness. It's a lot harder to measure the value of meeting someone new at a trade show. Will the person become a paying customer? Will they refer someone to your business? Will they write about what great work you are doing? Or will they trash you to a potential customer? It's just not something that's obvious or easy to measure.

As a result, businesses and business owners (myself included) simply throw up their hands at some point and start generalizing. "We have to get our name out there somehow, and people watch television, so why don't we try a TV ad?" Or perhaps "We know some of our customers attend the BigConf Trade Show, so let's exhibit this year."

The unspoken rule of marketing is that most of it is wasted effort, but for a myriad of reasons, it's too costly to figure out which part is wasteful. My suspicion is that for companies in established markets, what most folks would recognize as marketing probably is worth the time and energy. Most companies can't prove that, or course, but the fact that they are still around means that they are either spending little enough on marketing that their failures don't sink the ship, or the marketing efforts are actually paying off.

Stop Marketing and Start Selling

If you work for a tiny company or are building a new product, you can't afford to waste resources on unprofitable marketing or sales. You have to start measuring marketing efforts in the same way that you might measure sales. At this point you might be saying "Yeah, well, that's all fine and dandy, but how the heck do you propose I do that?"

Simple: pick some metrics and start recording data.

Here are some examples of things that I've personally tried:

Enter people you meet at trade shows in a CRM and track sales as they come in later.

Attach a coupon code to print materials and track how many times the coupon is used.

Ask incoming sales leads how they heard about you, be bold and ask for a name if the person is willing to give you that information.

You might now be saying "but I'll never be able to measure activity X!" One striking thing I've noticed about sales is that salesmen and sales departments are loath to invest time or money in anything that can't be tracked. That's a good starting point for marketing too. That doesn't mean you can't do activity X. It just means you have to get creative about tracking it. In cases where you can't find any way conceivable way to track it, that's generally a good indicator that it's not a profitable marketing channel.

Conclusion

You might well choose the wrong metrics to measure the first time around. For instance, the first two years that I attended trade shows for my company, I measured booth traffic. I literally just wrote down how many people talked to me at the booth. It turns out that people visiting the booth didn't predict sales at all. But that data saved us more than more than $10,000 when it came time to exhibit in year three. We had hard numbers that suggested that either 1) it didn't make money for us to attend trade shows or 2) unqualified visits to our booth are not related to making sales to qualified leads. Dodged a bullet there!

Marketing doesn't have to be blind, and when it does, don't do it. Treat marketing like sales, measure everything you can, and in a year or two you should be able to make at least one decision that saves your company $10,000.

I have spent the majority of my professional career building edtech products. First I taught tens of thousands of students Chinese and Japanese, then I taught millions of kids to code. I know a lot about building educational products; games in particular. As a lover of Minecraft and an edtech game designer, I'm here to tell you that Minecraft isn't an educational game.

For those not familiar, Minecraft has several game modes none of which are games in the sense of having levels, bosses, missions, and achievements. Minecraft more closely resembles a digital sandbox with varying levels of abstraction. Survival mode is a bounded sandbox with randomly generating baddies. Creative mode is digital Legos. None of Minecraft's game modes explicitly teach the player anything. That's right: there is no educational content in Minecraft whatsoever. There are no lessons, tutorials, grades, or tests, there is no backstory, no plot, no puzzles, no brainteasers, riddles, math, or history. Nothing in the game tries to teach anyone anything.

I hear you crying out "but Minecraft holds kid's interest long enough that they learn to mod the game, or build simple circuits, or build historic structures. Surely that's educational!"

But take a look at that line of reasoning again: the advocates don't claim that Minecraft teaches anything. They claim that kids like it enough that they may end up teaching themselves something unrelated while playing. The girl who likes computers learns enough Java to mod the game. The boy that likes building things constructs interesting structures. But to say that learning in the pursuit of addictive entertainment is educational is sloppy and unfair reasoning. By that same logic, Grand Theft Auto 5 is educational because some kids get so into it that they memorize the geography of LA to minimize transit between missions [1].

The reason that parents, schools, and kids call Minecraft educational is that it combines the addictive behavior of video games with the least offensive content imaginable. What learning occurs in the course of that addiction is labeled educational, but is no more useful to kids than anything else they voluntarily spend equal amounts of time on.

Why does the distinction matter? Because it's misleading educators and game designers. Spoiler alert for people making edtech games: there's very little to learn from Minecraft because as I mentioned above, it doesn't teach anything. Spoiler alert for teachers: Minecraft won't teach your students anything useful [2].

I love Minecraft and have played for much longer than I'd like to admit. So has my wife. So has my brother. As a game, it's great; but as education, it's no better than World of Warcraft. If you want your kid to learn, you'd be better off letting them follow their interests and educating themselves.

[1] Yeah, yeah, "Los Santos." Everyone knows it's LA.

[2] Even though it will keep them entertained for a class period with little to no chance that parents will complain.

This was originally posted on 1/4/2013, but I'm still a skeptical grump about 3D printing.

Over the holidays I finally got around to reading Wired's effusive article about Makerbot and the coming 3D printing revolution. I get it: 3D printing is going to take over the world. It's going to eventually let me download a car, and that's very cool. But in the interim, 3D printing appears to be nothing more than a distraction.

I want to own useful, practical, and cost-effective things. Making a plastic belt buckle, or RC plane wing, or clothes hanger isn't terribly compelling. And sit-around items like action figures don't meet the practicality rubric. Even if I were interested in making these things, I wouldn't want them made of plastic. For most US consumers, plastic is a poor substitute for the metals and alloys that we have come to expect in quality consumer devices. The real clincher though, is the ready availability of superior substitutes. I'm busy enough that learning to use a CAD program to create a plastic sub-component of an equivalent metal device I can purchase in a fully functional form for $10 on Amazon just doesn't make much sense. And I'm guessing that I'm not alone here.

The revolution in 3D printing is going to come when disinterested folks like me can download, customize, and effortlessly create complex products from the comfort of my own home without having to become proficient in CAD software and the vagueries of 3D printing hardware. Right now 3D printing is like the personal computer market in the late 80s; it has explosive growth potential and the possibility to disrupt our system of commerce right down the foundation, but it's all but inaccessible to anyone but engineers sporting the modern equivalents of pocket protectors.

I bothered to right this not to slam companies like Makerbot or tear down gushing writeups like the one I read in Wired. Makerbot is doing great work and Wired always gushes about new tech as though it will single-handedly bring about the singularity tomorrow. But until I can download that car I was talking about, articles about 3D printing are just distractions.