A more strategic, high-level version of my normally more technical mobile apps talk. Slides themselves are pretty sparse, so check out the speaker notes for more detail.
20. Future of Mobile
• Unprecedented fragmentation
• Thin clients accessing cloud services
• Real-time data
Notas del editor
Hi I’m Jonathan Stark and I am obsessed with mobile computing :)
Probably stating the obvious, but I want to start with the big picture. Mobile is huge and its growth is accelerating:
- Cell phone subscriptions to hit 5 billion on 2010
- 15% of phones sold in 2009 were smart phones
- 56% of public Wi‑Fi connections in 2009 were from mobile devices
What’s significant about this is that in our lifetimes we’re going from virtually no one having access to information, to virtually everyone having access to the biggest repository of human knowledge that has ever existed.
As Google CEO Eric Schmidt says, “this is an enormous achievement for humanity.”
Unless you’re a telco or handset manufacturer, your entry point into the mobile space is apps.
There are three types of mobile apps that I think will remain relevant for a long time:
- Native apps (e.g. WebEx, SalesForce)
- Web apps (e.g. Gmail, Google Calendar)
- Command line apps (e.g. Google SMS, Twitter, Aardvark)
Developers love endlessly debating the pros and cons of each of these approaches, but ultimately, each has one glaring achilles heel.
The right one for you depends on your situation:
- Selling iPhone cases in U.S.? Native app
- Selling office supplies in North America? Web app
- Providing banking services in rural China? SMS app
I typically work with corporate clients who are trying to reach a really broad market with their apps. They want to be on iPhone, Android, and Blackberry at least.
- Platform is easy to learn, most orgs have web talent in house already.
- Web is a proven, stabile platform that works reasonably well across the widest range of devices.
- Host your app and email out the links.
- No approval process, no multiple app stores, no delay on bug fixes.
BOTTOM LINE:
It’s easier to produce quality content and services for the largest available market with web apps.
I want to drill down on a native vs web for a second because I know that there is a lot of confusion there.
Point out that web apps can run 100% offline using HTML5.
Actually, you don’t have to really pick between native and web. Single code base that can be deployed as a standalone web app AND deployed with addition functionality through the various app stores.
I think this is the most pragmatic development approach. If nothing else, it’s the most flexible. And the way things are growing at this point, flexibility is of the utmost importance.
Regardless of the development approach you take, you need to make a useful app.
Mobile apps must be:
- Fast: Useful in line at the ATM
- Launch fast
- Save state on quit
- Very responsive; lots of feedback
- Mirrors in the elevator story: The problem isn’t that your app is slow; the problem is that *people think* your app is slow. Solution is to make them think it’s fast, one way or another.
- Simple: Be laser focused on primary use case
- Tell the “large american office supply store RPF” story
- Smart: Leverage sensor data and personal info
- Basically a subset of Fast
- User input options are still pretty bad; try to minimize need for manual input
If you love your UI, set it free :)
Device fragmentation is necessitating custom interfaces. It doesn’t make sense to render content and services the same way on a phone, a tablet, a laptop, etc.
Not only are the form factors significantly different, but the context in which these devices are used varies widely.
Why is sync bad?
- It’s expensive to write
- It implies “occasional”
- There is no “expected behavior”
You need to be thinking real-time, all the time.
I am NOT a security expert, but I do want to call out some concerns specific to mobile computing.
It’s highly unlikely that one of your employees is going to accidentally leave his PC in a bar one night. As Steve Jobs knows all too well, the same is not true for mobile computing devices ;)
Despite their small size, the data on a smartphone is intensely sensitive. Gaining access to someone’s smartphone allows a hacker to easily impersonate you.
Think about what a hacker could do with access to your email account - it’s chilling.
Of course, this isn’t a security concern that is limited to mobile, but there are two things that exacerbate the issue:
- Phone is easier to lose than desktop
- Passwords are more annoying on phone than desktop
Side note on iPad not supporting multiple user accounts.
We are going to be inundated with internet-enabled, touchscreen interfaces of all shapes and sizes.
Clients will be thin and the heavy lifting will be done in the cloud.
Real-time, all the time.