So, you’ve created a kickass web app.
People are using it. People find it useful. But it’s not quite convenient enough to become an integral part of their day-to-day lives. What’s a developer to do?
When I started using Backpack, I used to use it for EVERYTHING. Then it seemed that I couldn’t quite get ALL the info I wanted into it, so my use dwindled heavily. The biggest reason, I’d say, is that there was no offline component. If I wasn’t connected, I couldn’t use Backpack—even if I was in a super-boring meeting that would be perfect for life organization. (Yes, contrary to what the 37signals folks think, there really is a need for an offline component. In my case, I’m the only Mac in an office with 110 Windows machine. I can tap into the wifi but the AUTHENTICATION is Windows-only. Boooooo….)
Enough about Backpack… what should you do if your app falls into this “sweet but not quite as convenient as I would hope” category. Tara Hunt writes about what Twitter did in an excellent post.
You can quit and build something different. You can pile on more features that you hope are either (a) worth whatever trouble caused the hangup before or (b) add up to a whole that is worth using. Or, as Tara points out, you can provide more onramps.
Twitter (then twttr) had a great service. But it needed something to take it to the next level? Did they add photo-, audio-, or video-twittering? No. Did they allow more than 140 characters? No. Did they bloat it? Absolutely not.
They added data onramps such as Jabber integration, a custom web interface to see just your friends’ tweets, and—most importantly—an API. With the API, other developers could create more onramps for your service for you.
So, this takes your wonderful but slightly inconvenient service and makes it wonderful and all kinds of convenient. So, what are some examples of onramps I can think of off the top of my head?
- An API, of course. This opens all sorts of possibilities beyond what I could ever write in a post here.
- An offline component. Apollo can let you use the app’s functionality offline and sync when connected.
- A Dashboard widget. For those that live in Dashboard (not me), they can quickly throw data into the app.
- IM, SMS, etc. If your app is a buddy in your IM list or a contact on your phone, you can throw data at it that way.
- An activity crawler. I don’t have to type in all the music that I listen to when using last.fm. I install a little desktop utility that monitors iTunes and submis my listening habits to their servers.
- RSS. Though this is a “pull” technology, it can be incredibly useful in letting you know what other users are inputting (especially in a collaborative tool).