The Big “Mo”

The last seven days have been some of the most productive of my professional career. We had been having a problem with the underlying code for our new product for a long time. The bugs we found were very hard to track down and even harder to fix. Every time we fixed one it seemed to create three more.

A week ago it finally reached a head and we were forced to re-write the entire way it is handled. My designer came up with a new approach and I sat down to implement it.

Over the course of seven days I caught what can only big described as the Big Mo: momentum. Everything fell into place, every trick I tried worked exactly as I had hoped it would, every search term I typed into Google returned the answers I was looking for.

If you don’t code you may not understand what I’m getting at. It’s the equivalent of a baseball 6 for 6 with four home runs day. It’s the equivalent of taking your dead car to the mechanic and finding out it was a $0.50 screw that he replaced for free [1].

As my coding partner in crime said, when you’ve got momentum, keep going. So I did.

I wrote code for seven straight days. When I wasn’t writing code I was thinking about writing code. When I slept I dreamed about code.

Last Wednesday, after seven days, I completed the last piece of the primary puzzle and shut down my code editor for the night. I was exhausted. But it didn’t hit me until Thursday morning. I was far more than exhausted. I was burned out.

So I shut things down for a few days to refresh. I had meetings all day Thursday and worked on other things Friday and didn’t turn on the computer all weekend.

Once upon a time I could write code 60-80 hours per week for months on end. But now I turn 40 a month from today and I just can’t put in intensive weeks like that any more. I still work constantly, but writing code is a different story.

I’ve always been a big momentum guy. I don’t want to stop once I get on a roll. In my forties, though, I hope to do a better job of controlling that instinct.

[1] Actually happened to me once.

I Don’t Know What I’m Doing

Bret Victor, presenting in the present as if he was speaking from the past at the DBX conference, said this:

The message of this talk is if you want to be open and receptive, to invent new ways of thinking, I think the first step is you have to say to yourself, “I don’t know what I’m doing. We as a field don’t know what we are doing.” I think we have to say, “we don’t know what programming is, we don’t know what computing is, we don’t even know what a computer is.” And once you truly understand that and once you truly believe that then you are free and you can think anything.

If you don’t follow Bret’s work, he is one of the most fascinating thinkers, programmers and designers in computer science today. Substitute other terms for ‘programming,’ ‘computing’ and ‘computer’ and we have a simple recipe for every disruptive innovation in the history of the world.

The path to invention is the willful ignorance of everything we knew before.

Fast Time and the Aging Mind

John Gruber linked to this article from the New York Time on our perception of time as we age:

Here’s a possible answer: think about what it’s like when you learn something for the first time — for example how, when you are young, you learn to ride a bike or navigate your way home from school. It takes time to learn new tasks and to encode them in your memory. And when you are learning about the world for the first time, you are forming a fairly steady stream of new memories of events, places and people.

My grandfather, who died two years ago at age 93, used to say that things moved faster when you are older because it is, in fact, actually less of your life. When we are 2 going on 3, that’s 33% of our lives but when we are 49 going on 50, that’s only 2%. This came from a man who decided to learn the computer at age 85. So I think it is reasonable to assume that the article’s author is more accurate than my grandfather on this one.

The App Store Problem Is Not Price

We seem to go through this every few months in the world of App Stores: developers get together and start discussing how the lack of iOS App Store options such as upgrades means that developers can’t make a living. This kicked off again last week when David Smith mentioned that the lack of upgrade pricing for the $200 Logic Pro X app from Apple meant that upgrades weren’t going to happen. The guys on the Accidental Tech Podcast picked it up and had a long conversation about it as well [1].

First thing I recommend is a marketing 101 class then we can discuss this again.

The problem with app pricing has almost nothing to do with pricing. (Surprise!) The problem is distribution. And this also happens to be one aspect of the iOS ecosystem that everyone loves.

In the iOS world, there is only one place to buy apps: the App Store. Because there is only one place to buy apps, everyone goes there to find them. Because everyone goes there to find them and the contents are exactly the same for every app (a description, some keywords and a few pictures), it is nearly impossible to differentiate your product.

Saturday I walked in the grocery store looking for mustard. When I got to that shelf I found 10 different varieties from 7 different companies. Which did I buy? The cheapest one. Why? Because none of the brands were differentiated to me.

For 99% of us, there is no differentiation in the App Store. One company’s calculator is just like another company’s calculator. Sure, there are reviews to read and maybe you heard about a product on a blog somewhere, but most haven’t.

This is a vicious cycle. The lack of differentiation means the price drops, which means the money available to market an app drops, which means it is harder to differentiate.

What could help? Trials could help. That would allow someone to download an app and see the difference first hand, not just trust a screenshot. Apple has been clear, though. They prefer freemium. Getting out of the App Store itself can help. Building enough value to charge a subscription could help.

Productivity apps can’t survive and bring the long-term value customers demand at $2.99 or $4.99. At the end of the day, though, the app stores, whether Apple, Google or the like, are not going to solve our problem [2]. The only thing that will is rethinking the products so we can get out of the app stores and differentiate.

[1] Listening to Marco Arment talk about this problem is frustrating. The guy has an incredible personal brand, like Loren Brichter, and the things he touch get instant echo in the iOS chamber. Would The Magazine had been such a success if I had built it? No way. His personal echo chamber made that happen. (Note that I am not complaining in the least about his ability to do this. If anything I’m a little jealous.) [My apologies to Loren for misspelling his name in the original footnote.]

Update: I want to clarify that I meant it helps Marco’s app get initial interest, not that it guarantees success over the long-term.

[2] Are there App Store problems? Of course, and things Apple can do to fix them.

Victory Lap for Ask Patents

Joel Spolsky:

The America Invents Act changed the law to allow the public to submit examples of prior art while a patent application is being examined. And that’s why the USPTO asked us to set up Ask Patents, a Stack Exchange site where software developers like you can submit examples of prior art to stop crappy software patents even before they’re issued.

This is very interesting. There are a lot of very bizarre [1] patents that have been filed for software. As far as I’m concerned, I’d be okay if all software patents were disallowed. But this is a country run by lawyers who get big contributions from lawyers. It’s clearly time to take matters into our own hands, and luckily the government, along with Joel’s Stack Exchange company, are making this possible.

[1] Polite way of saying crappy.

For disclosure, I’ve filed a patent on some technology we are developing. While I’d hate to waste the money, I’d be happy anyway if software patents were eliminated.