8 ways to mobilize your web product
Here are my notes from this morning's presentation, in my standard 8-point format:
- Figure out how your product would be more useful if it wasn't computer-based.
This is different from guessing which part of your product would work best on a phone (which is how people usually go about things). Imagine yourself sitting at your computer holding your phone with your product open on both devices. Which feature would you prefer to use on your phone rather than your computer? (One prime example: make a phone call.)
- Figure out where the web/computer aspect of your service fails.
This is closely related to #1, but a bit more specific. Walk through the whole cycle of using your product and see where the user needs to stop using it to continue with their task. Driving Directions are a great example: The web product works perfectly, then the user prints out a map and leaves the house. With the map still sitting on the printer.
- Figure out what aspect of the mobile device makes that feature better.
The answer is often "mobility." It's nice to walk around the room talking on the phone, and it's good to have a friend's address in your pocket rather than on your computer. Other advantages of mobile devices are privacy and the ability to hold it up to your face.
- Design your mobile product around this small set of features.
The mobile product shouldn't do everything that the desktop version does (but see #7). It should have an extreme focus on activities that the user wants to do when they're mobile.
- Use the oldest technology possible to accomplish the task.
In the US text messaging is just reaching critical mass, and the technology is something like 20 years old. Some countries have crazy fancy mobile features, like watching TV or playing realtime location based games, but most phones are old phones. If your product will work via SMS, that should be your primary method. For most product mobilizations I recommend SMS and XHTML as the base; of course you can build fancy cool stuff on top of it for your high-end users.
- Work on as many phones as possible.
After spending a half dozen years designing global service delivery platforms I've learned this: global service delivery platforms are nearly impossible to build, and by the time you finish customizing for all the devices you'll have to start all over again. DON'T TRY TO CUSTOMIZE FOR SPECIFIC DEVICES.
Just pick the simplest code you possibly can, test it on your top 5-10 target devices (usually the ones your company staff uses), and get your customers to do the rest for you. Start a conversation with your users and ask them to write a version of your render code that works on their device. If the device is important somebody will step up, and it will save you lots of time and money.
- Back it up with a stripped down version of your desktop site.
There are some sophisticated mobile browsers out there (Opera, Nokia, Mozilla, IE) that can render big, complex pages. The best thing you can do is get out of their way by offering a stripped-down version of your CSS. It should not look pretty, but you might as well offer all your functionality just in case it works. For the time being these users will be pretty sophisticated, so you can let them try to use your site even if it breaks sometimes.
- Or just let others do it for you.
More phones are coming with built RSS readers, VOIP clients, syncing calendars, etc. Your best strategy might be to open up a really great API and let your users hack it until it works with the features on a specific device. There are (hopefully) more of them than there are of you, so they should be able to figure it out. If they have a profit motive it works even better. Free it up.