I almost made the same mistake again yesterday.
Years ago I made an app called dubfiler. It was for private music sharing (what SoundCloud is for public music sharing). I was learning to program, so I was very stuck worrying about features and how to make them work, technically. But more than that, all I could think about was the users getting their files into the system – uploading, encoding, adding fields, etc. I added sharing, but it wasn’t well implemented, and I didn’t worry about. Good enough.
Except, I realized years later, that sharing was the *only* important part. You’re a bedroom musician. You go to a show and end up meeting your rockstar. She says, “oh, you’re a musician? I’d love to hear your stuff”. You pull out your phone, and in 3 clicks, she’s got your song in her inbox, gchat, SMS, however she specified. How you got your song into the app just doesn’t matter – uploaded, copied from SoundCloud, ripped from a CD, who cares.
I almost went back and rebuilt the app, years later, just because I felt like I finally understood the actual problem.
Yesterday I met with a guy who’s drowning in administrative data, mostly stored in disconnected Google spreadsheets. For an hour, I dreamt up all the clever ways I was going to make it easy for him to collect and consolidate his data. “His life will be so much easier!”, I thought.
Then it occurred to me. I was going to make the same mistake! The problem was not that his data was all over the place. The problem was that the data was not available to him, conveniently, when he needed it! He actually mentioned a few times how when he was filling out forms online, he had to have 5 windows open to copy and paste everything.
Who cares if the data is stored in Google docs, if he could access all of it in one place. *That* is the key.