Like an inflatable hammer: Unusable software and its origins

We use software to get things done. We hope these products will help make our lives better, and that's why it's such a blessing to be a software engineer and startup founder. There are an infinite number of things we can make that potentially make things better. Yet as software creators, we fail — over and over and over again. 

Just in the past day, two big brands failed me in major ways through poor software engineering. Last night I bought an Xbox One game and tried to play it. I let it try to install overnight. The software is stuck now — complaining the installer hit network connection issues and won't continue, even though clearly the Xbox One can connect to the Internet. There's no retry button. I'm in a broken state and I don't know how to resolve it. This is a pretty basic use case that is completely broken. 

This morning, I tried to use Silicon Valley Bank's new deposit-by-mail feature. First off, it took me over a week and two emails sent in order for them to enable it on my account. I shouldn't need emails to enable a feature like that, let alone wait a week. Then, when they finally did enable the feature, it didn't work at all for the handwritten checks I needed to deposit. The error? "The amount doesn't match the check image." The engineers probably used some off-the-shelf OCR system that barfed on handwriting. There's no workaround. Yet handwritten checks are a pretty core reason why someone would use a mobile phone app to deposit a check. The core use case is completely broken. 

This is the inflatable hammer problem in a nutshell — too often, we are given tools that cannot be used for their described purpose. They're broken in fundamental ways. 

In the end, SVB and Microsoft suffer from broken product and engineering organizations. These organizations have plenty of resources to make these simple core scenarios work. But it's not a resource issue. These failings usually happen because designers and engineers who actually make the software are divorced from the management organization that sets the deadlines. There's no sense of ownership — merely hitting milestones and knocking off items on a to-do list. I hit my goals — ship it and let's get a beer. 

Large orgs also make the mistake of insulating their product and engineering people from the people who actually experience the pain. There are layers of engineers and management and emails go to account managers who can't do anything about it and don't know anyone who possibly could. When I was a PM at Microsoft, the only interaction I had with end users was reviewing Windows Mobile help newsgroups once a quarter. It was like wading through an ocean of pain. It was so sad and ugly to look at, and that was the software we were making — that was the pain we were inflicting on our users.

Silicon Valley is obsessed with the auteur-CEO for good reason. When MobileMe shipped crap, it wasn't OK with Steve Jobs and clear action was taken. When idiotic product decisions are made, it takes someone with power to lay the smack down and enforce a culture in which that kind of thing isn't acceptable. 

Startups don't have a creaky old dumb organization yet — it's just founders, right? Yet startups ship bad software all the time. Why? Well, founders have limited time, and the advice to ship-fast/fail-fast is a strong driver. We ship software when the basic case works at all. This is probably still the right thing for people do. But then founders forget to fix things that are broken. The moment your software works at all feels like you're 80% of the way there, but you're really at 20%. A great product is made, not born. 

Startups have an even greater chance of success at products because they can listen to users. You don't have many, so you can actually read and answer every email you get. Take a page from Wufoo, who made their engineers and designers do support every single day. This is the best thing you could possibly do. Connect with the pain of your users, and fix the papercuts, no matter how small. That's how you get to a great product. 

Don't make the same mistake the big orgs make. If it sucks, cut scope or slip the schedule. Don't cut quality and don't strand your users in frustrating bugs in core scenarios. Fix it and make it better. Listen to users. Fix it. Repeat. 

SVB and Microsoft can endure a lot of failure before it affects their bottom line. They've got a lot more things going for them — one is a bank, and the other has a few durable monopolies that have decades of life on them still. But for startups, all you've got is whether the damn thing works. So ship it and make it better. 

Tenth Grade Tech Trends, 2014 Edition: Snapchat usage up 3X — 39% of teens use it regularly

In early 2013, I posted results from Survata that indicated that teens really did use Snapchat, Instagram and Tumblr. About one year later, Survata ran the survey again, and this is what they found. 

A year ago, only 13% of teens used Snapchat at least several times a week. That has since increased to an incredible 39% as of January 2014. These are very impressive numbers alongside social media stalwarts Facebook, Instagram, and Twitter. 

I've heard some Valley insiders note that the growth and traction numbers for Snapchat would justify valuations of upwards of $20B if you used comparable metrics from valuations of Asia-based messaging services like Line. 

The attention economy continues to evolve, and not all the spots on the social media periodic table have been filled quite yet. An upstart with a unique model that taps real user behavior can still gain traction in an incredibly fast rate. 

As a side note, YC-backed Survata remains a really valuable tool to gain insights and run surveys against lots of Internet users quickly. See the full methodology for their teen social media study here.

The API-ization of everything

Everything that used to be fax machines, contracts, and invoices and purchase orders in triplicate are going away. What's replacing it? The API.

Before Stripe, you had to fill out a ton of forms and get approval to get a merchant account. Now you can sign up on a website and make simple REST API calls. Before Twilio you had to go through similar hoops just to be able to work with phone numbers. Once again, the API prevails, and whole new capabilities are unlocked. 

Recent YC company Lob is bringing this same kind of capability to print anything — on any kind of paper, any size, and mail it to anyone — all via a simple REST API. This is a big deal because paper is actually still the interface for the rest of the world — the rest of the world that still uses paper contracts, paper checks, and paper invoices. The company is already printing millions of dollars worth of checks!

Think about most of the bad customer interactions we end up having to have on a typical day — to do anything in business, really. We get on a phone and we get voicemail. We wait a few days for our purchase order to be approved. If software is eating every industry and every type of economic activity, then the force that is replacing it is actually software talking to other software. That's the API.

This world has been a long time coming. We've heard enough about e-business thanks to huge ad budgets by enterprise IT consultant behemoths! But rather than those huge wasteful IT firms, the people bringing it to us are the hacker-oriented dev-savvy API companies like Stripe, Twilio and Lob. Where there is paper to push, a call to answer, or a purchase to approve, there is an API coming to replace it. 

Fear is like fire

One of the first lessons Cus D'Amato taught Mike Tyson was about fear: 

“Fear is the greatest obstacle to learning. But fear is your best friend. Fear is like fire. If you learn to control it, you let it work for you. If you don’t learn to control it, it’ll destroy you and everything around you.

“You think you know the difference between a hero and a coward, Mike? Well, there is no difference between a hero and a coward in what they feel. It’s what they do that makes them different. The hero and the coward feel exactly the same, but you have to have the discipline to do what a hero does and to keep yourself from doing what the coward does.”

That fear exists in startups too. There is much to fear in every new endeavor. Are you shipping fast enough? Are you making things people actually want? Are there enough people who want what you have created? Can you reach them and sell to them? Is this going to work? Are you going to live?

There are some startups that raise so much money that the fear is gone. There is infinite tomorrow. This is a great problem to have, but a problem nonetheless. For them, the fear must come from elsewhere. There may be time, but not for this idea and this market. Competitors are coming and they're coming for you. Ah, there's the fear again... it's useful. Use it. Harness it. 

There are others, which is to say most, where the opposite is true — there are six months left. Three months left. Or less. Then there is an impenetrable 20 foot tall wall of fear. Death is around the corner. Again, this fear will focus you. Make you ship faster. Force you to ask the hard questions, and make the changes you knew you had to do. 

All startups feel the fear. Like Cus said, there's no difference between what a hero and a coward in what they feel. It's what they do that makes them different. 

I am Jack's desire for a ice cream cone: Your brain is 100 billion cells working together

Earlier this evening I was debating whether or not to eat a Drumstick, one of my favorite ice cream treats. I really wanted it, but some other part of my brain short circuited that decision and said nope, fatass, you're not having it. I felt viscerally torn. I had some desire that must have emerged from the neurons of my brain having to do with eating, and I had to override those desires using some sort of higher order logic around the fact that I lead mostly a sedentary existence and reallly don't need those calories at 2AM. 

Shortly after that internal debate was won, I happened on an interview with Tufts University Professor of Philosophy Daniel C. Dennett that pointed out perhaps those cells really are warring

Each neuron is imprisoned in your brain. I now think of these as cells within cells, as cells within prison cells. Realize that every neuron in your brain, every human cell in your body (leaving aside all the symbionts), is a direct descendent of eukaryotic cells that lived and fended for themselves for about a billion years as free-swimming, free-living little agents. They fended for themselves, and they survived.    

It's an interesting thought experiment. At some point, single celled organisms started banding together. Oh, you know, about 1 billion years ago (clipped from an amazing infographic recently at waitbutwhy.com)

After about 400 million years, those few early multi-cellular lifeforms got progressively more advanced, resulting in the first fish about 500M years ago, then insects 400M years, then reptiles 300M years ago, then mammals about 200M years ago.

So that's a lot of years for things to progress from just a few cells going on a date to now about 50 trillion cells coordinated in unison in any given human body! Though perhaps the most important part, the brain, consists of somewhere around 100 billion of them. 

So that's wild. The experience of one human being, my experience, and your experience, seems to be the product of 100 billion neurons working together — fighting, debating, forming alliances, and ultimately making decisions. 

That gives me some hope for humanity overall, then. If 100 billion in-it-for-themselves descendants of selfish eukaryotes can work together for the greater good, whatever it is you choose it to be — then perhaps 7 billion people can do the same for the humankind. 

Lost to history

Kansas City sportswriter Martin Manley committed suicide yesterday at the age of 60. Before his death, he posted a website explaining why he did it. He still had his health, his mind, and felt that he had contributed everything he could to society at that point. 

On why he posted his website, he writes

It’s incredible what is lost to history. Even one generation back, so little is really known about the vast, vast majority of people. It’s a shame - especially considering existing technology has enabled us to store everything ever said, done or thought by every person on earth a thousand times over. There is no reason lives have to continue to be forever forgotten. Everyone can be remembered if they put in the effort to be remembered in some concrete form rather than simply being dependent upon fading memories of those who knew the deceased person.

From beyond the grave, it is a particularly striking thought. The technology exists to store everything ever said or done, and the cost is coming down all the time. I hope that's what Posthaven can be. It'd be nice to leave something behind. But there is much left to do to make that happen.

Goldman Sachs sent a brilliant computer scientist to jail over 8MB of modified open source code uploaded to an SVN repo

In 2009, a brilliant software engineer Sergey Aleynikov was arrested by the FBI at Newark Liberty International Airport. The allegation? He stole Goldman Sachs source code, about 8 megabytes of it. But it wasn't purely GS code — It was open source code mixed with Goldman Sachs proprietary code. If anything, if the source code was LGPL or a similar license (common among open source projects), Goldman Sachs was actually supposed to release this code back out to the community.  (Clarification: If the binary is distributed, it must be released back. Not required legally in this case.)

In Vanity Fair, Michael Lewis writes:

Serge quickly discovered, to his surprise, that Goldman had a one-way relationship with open source. They took huge amounts of free software off the Web, but they did not return it after he had modified it, even when his modifications were very slight and of general rather than financial use. “Once I took some open-source components, repackaged them to come up with a component that was not even used at Goldman Sachs,” he says. “It was basically a way to make two computers look like one, so if one went down the other could jump in and perform the task.” He described the pleasure of his innovation this way: “It created something out of chaos. When you create something out of chaos, essentially, you reduce the entropy in the world.” He went to his boss, a fellow named Adam Schlesinger, and asked if he could release it back into open source, as was his inclination. “He said it was now Goldman’s property,” recalls Serge. “He was quite tense. When I mentioned it, it was very close to bonus time. And he didn’t want any disturbances.”

Open source was an idea that depended on collaboration and sharing, and Serge had a long history of contributing to it. He didn’t fully understand how Goldman could think it was O.K. to benefit so greatly from the work of others and then behave so selfishly toward them. “You don’t create intellectual property,” he said. “You create a program that does something.” But from then on, on instructions from Schlesinger, he treated everything on Goldman Sachs’s servers, even if it had just been transferred there from open source, as Goldman Sachs’s property. (At Serge’s trial Kevin Marino, his lawyer, flashed two pages of computer code: the original, with its open-source license on top, and a replica, with the open-source license stripped off and replaced by the Goldman Sachs license.)

Aleynikov decided to take another job, but in the meantime he stayed on at Goldman to help out. That's where it got sticky for him:

He agreed to hang around for six weeks and teach other Goldman people everything he knew, so they could continue to find and fix the broken bands in their gigantic rubber ball. Four times in the course of those last weeks he mailed himself source code he was working on. (He’d later be accused of sending himself 32 megabytes of code, but what he sent was essentially the same 8 megabytes of code four times over.) The files contained a lot of open-source code he had worked with, and modified, over the past two years, mingled together with code that wasn’t open source but proprietary to Goldman Sachs. As he would later try and fail to explain to an F.B.I. agent, he hoped to disentangle the one from the other, in case he needed to remind himself how he had done what he had done with the open-source code, in the event he might need to do it again. He sent these files the same way he had sent himself files nearly every week, since his first month on the job at Goldman. “No one had ever said a word to me about it,” he says. He pulled up his browser and typed into it the words: Free Subversion Repository. Up popped a list of places that stored code, for free, and in a convenient fashion. He clicked the first link on the list. The entire process took about eight seconds. And then he did what he had always done since he first started programming computers: he deleted his bash history. To access the computer he was required to type his password. If he didn’t delete his bash history, his password would be there to see, for anyone who had access to the system.

...

The story the F.B.I. found so unconvincing—that Serge had taken the files because he thought he might later like to parse the open-source code contained within—made complete sense to the new jurors. As Goldman hadn’t permitted him to release his debugged or improved code back to the public—possibly in violation of the original free licenses, which often stated that improvements must be publicly shared—the only way to get his hands on these was to take the Goldman code. That he had taken, in the bargain, some code that wasn’t open source, which happened to be contained in the same files as the open-source code, surprised no one. Grabbing a bunch of files that contained both open-source and non-open-source code was an efficient, quick, and dirty way to collect the open-source code, even if the open-source code was the only part that interested him.
And so this case is disturbing to me, because a software engineer like any of us is assailed by one of the more infamous financial institutions in the world. He violated confidentiality, but 8 years of jail, really? He's spent 11 months in prison already. He didn't steal the crown jewels or the secret sauce— his acquittal was on the basis that the code saved to SVN wasn't the proprietary trading strategies at all, and it was extensions to open source software that he wrote himself. 

Yet Goldman Sachs pursued criminal charges against him anyway. And continues to pursue him. 

I'd love to know what specific pieces of software they were. Software engineers would be able to tell what was kosher and what was not. It scares me that a jury of non software engineers (truly, not a jury of Aleynikov's peers) will likely be responsible for deciding his fate. (Edit: Note, 8 megabytes is actually a good deal of code. But that's why what code it is matters so much. There's little transparency in this case here, so we are left to speculate.)

Serge was acquitted via the 2nd Circuit Court of Appeals, and released in February of 2012. (photo above) He has since been re-arrested and is being tried by the state of New York. In the United States we have a thing called double jeopardy — you can't be tried for the same thing twice. Somehow that doesn't apply here. Not when Goldman is after you. 

Sergey Aleynikov faces two felony counts in New York. 

David Brooks doesn't know technology, which is why we shouldn't listen to him when it comes to his opinion on surveillance

From a recent PBS transcript, David Brooks has been very publicly engaging in ad hominem attacks on Snowden. That's just fine — you can tell his case is weak because he's resorting to the weakest of all arguments: the ad hominem attack. But the justification for mass data sweeps makes no sense. He says:

He betrayed the cause of liberty, because, if you don't have mass data sweeps, well, then these agencies are going to want to go back to the old-fashioned eavesdropping, which is a lot more intrusive.

This statement is plainly false. "Old fashioned" eavesdropping is actually far less intrusive than what we're talking about today. Eavesdropping on a telephone conversation on an analog telephone (e.g. back in the day when J Edgar Hoover wiretapped Martin Luther King Jr.) required a court order, and actual people to record and listen in on specific conversations in realtime. 

You could only eavesdrop on a specific person at one time. Now there's infinite lookback on anything you've written, who you've talked to, and any email, text message, or IM for your entire life. That was one of the most important topics of Laura Poitras's NY Times mini-documentary "The Program", with NSA whistleblower William Binney. A 32-year old NSA insider turned whistleblower, William Binney describes the actual goal of NSA surveillance:

Think of a domain as an activity. A specific type of activity. Phone calls. Banking is another. If you think of graphing each domain, and then each graph turn it in the third dimension... pulling together all the attributes that any individual has in every domain, so that now I can pull your entire life together from all those domains and map it out and show your entire life over time.

This is the shift. Now we live in an age of infinite storage! We are only now capable of keeping every aspect of our lives accessible at any time, within milliseconds. We find great utility in it, and we entrust our greatest tech companies in the world with our data: Facebook, Twitter, and Google. 

We use these services believing that they are personal, for ourselves. Yet this is the same capability that now, via PRISM, the government can potentially have, all through secret courts and little oversight. All the things you do, and everybody you talk to, and down to the very thoughts you care to put down in both private and public communications. 

Temporally, that means this new surveillance (what David Brooks dismisses as merely mass data sweeps) is actually past and present. Whereas the "old-fashioned" form of surveillance could only be one the present. It's a capability not even touched upon by Orwell when he wrote 1984. It's not enough to be clean, sober, free and clear right now. You've got to be spotless and perfect over the course of your entire life. 

To dismiss mass data sweeps as less intrusive than old fashioned wiretaps is either ignorance, or a deliberate attempt to mislead the public. David Brooks isn't an engineer, and doesn't seem to understand the technical differences between the old regime and the new, so I'm willing to give him the benefit of the doubt. 

Rageskitching Facebook 2013 Edition: 3px of padding makes all the difference in the world

I'm sorry for rageskitching about Facebook, but I can't help it. I've seen this bug too many times and I would really like someone with commit access to the Facebook CSS to fix it. 

It's a matter of 3 pixels, but it matters. Here's what it looks like right now live:

And here's what it would look like fixed. 

Can you see how much more crowded the text is in the unfixed version, and how much more balanced it could be?

I also couldn't help myself and fixed the bottom area of the comment addable extra too— that stuff needs just a tiny little bit of love. I can't stand uneven padding. A site that fixes these problems is a site is being taken care of with the loving attention to detail of someone who can see the difference.

3px means a lot more for a site like Facebook than the pixels themselves. 

Bitcoin is not a toy - it has the potential to disrupt credit cards and banks and make payments zero-fee. That's the real deal.

I spoke with Michael Copeland of Wired recently for his piece on Bitcoin businesses, What’s Riskier Than Bitcoins? Bitcoin Companies

Y Combinator Partner Garry Tan is making the bet that Bitcoin succeeds with his investment in digital wallet startup Coinbase. He agrees that having some Bitcoin squirreled away is wise (and you can bet the craftiest VCs are leveraging up their own Bitcoin caches by investing in companies that takes a whack at improving the Bitcoin ecosystem).

“I have done some of that,” Tan says laughing. “But the buy and hold thing, that is not interesting to me.” What is interesting to Tan is backing companies like Coinbase that he believes can help Bitcoin make the transition from speculative “toy” that people horde like gold rather than spending, to something that people can actually use.

Tan’s vision for Bitcoin is as a universal currency that will make money transfers easy and cheap from any person or business to any other person or business across the globe. In that scenario Coinbase becomes a far-cheaper version of Visa. “Bitcoin has the potential to destroy credit cards and banks as we know it, maybe that is a good thing or a bad thing,” Tan says. “But I like the idea that if someone needs to remit payments they can do it without being gouged.”

If Bitcoin starts to become a widely used digital currency, something that people actually spend on products and services, Tan’s vision, and that of every Bitcoin economy startup and their investors, begins to make sense. 

Read the full article on Wired

Anything that has the potential to break Visa/Mastercard/American Express's stranglehold on 2% of every consumer transaction is awesome in my book. It's an absurd relic of the past and should not continue to exist, yet it does.

In my conversation with Michael, I did say that it felt to me that Bitcoin has established itself at this point -- barring a major technical flaw, I think Bitcoin is probably the right currency and others that come along will find itself like Beta in a world where VHS has already established itself. He cleverly inverted it in his conclusion. It's an open question who is right as yet -- but as investments go, Peter Thiel is widely known now for saying that the most disruptive revolutions start with a simple idea where everyone says I believe X, but the founders believe NOT X. 

Bitcoin hasn't won the world over yet, but that's OK. This is one NOT X that I think is right.