Sr. Director, Product Research, Epicor Software

Software Architecture

This blog is not associated with my employer.

Monday, June 01, 2009

The iPhone Post

I use a notebook computer at work, but all my off-hours-computing gets done using an iPhone which, ironically, is paid-for by my employer. The iPhone – like David Ing describes – isn’t just a phone that plays my iTunes (which is what attracted me). Safari, the AppStore, and Exchange compatibility makes the iPhone the most heavily-used thing I own (surpassing the margarita shaker). It’s most annoying and yet most ingenious feature, at least for us ex-Blackberry users, is the lack of a blinking light to indicate new information has arrived.

Finally, I’m weaned from those Pavlovian sneaky peeks to see if that little light is flashing while others – often significant others – are speaking to me. Yet in every dead, in-between-type moment – like waiting for take-out food, waiting at traffic lights, waiting out a design review, and especially waiting for the quarterly employee meeting to end – my hand involuntarily grasps presciousss (you know what I mean) and in the same move my thumb deftly swipes away standby mode. Password protection is such a waste of time. On the Blackberry, I surf email. On the iPhone, I surf the world.

The iPhone is one hell of a head start from a company that I repeatedly declare I’m done giving money to. In my house we have one Mac and one PC. I don’t really compare them because they both annoy me. I like how the PC has much cheaper and open hardware and how I can do parts of my day job at home. I don’t like how I have to do more tech support when the kids use the PC. I like how the Mac makes my family happy. But I hate the fact that the cost to repair an Apple device is about 104% the cost of a new one.

But nothing is going to catch the iPhone for quite some time. Like David mentions, it’s amazing to me how Microsoft (and practically everyone else) completely missed the point about mobile computing. Microsoft has spent multi-millions to make mobile development work for .NET programmers but has no market penetration beyond bar code readers. They have completely ignored improving the browser, falling into the tabbed browsing trap which is pure
unnovation. Mozilla totally gets it – tabbed browsing sucks. And in Microsoft’s obsession to go after Flash, they completely missed the importance of JavaScript running, well, fast.

But the biggest miss of them all? The Cloud. Believing every morsel of some apparent manifest destiny driving the Cloudrush, Microsoft is expanding its server capacity much faster than it can resolve any business model that will generate income. But they haven’t yet figured out that the first commercial apps (that matter) will target mobile users. They haven’t realized that practically all apps in the future will target mobile users. They haven’t realized how VERY few people run apps built on a native Windows Mobile stack. Mobile users are now the swing voters in deciding what and who succeeds in technology.

It didn’t help that the Connected Systems Division, the SQL Server guys, and God knows who else started building Cloud bits without even comparing notes. They threw overlapping Azure bits at a wall to see what would stick. Of course, their customers and partners were standing against that wall at the time. Shoot-outs like that – born from CYA – are a troubling sign of indecision. Someone is either too involved in other things to own the strategy or unwilling to choose winners and losers in order to get to market. Eventually, the conflicting bits were factored out and the SQL Team has come through with better features. But missing from the entire effort is any recognition that mobile use matters.

The Microsoft stack is fighting itself – too much time being spent making it look easy to do a handful complex things while making it harder to do simple things (WCF & Geneva come to mind). It’s time for Microsoft to stop wagging RAD toolkits at IT shops. Put the money into giving first-movers, shops rebooting their efforts for a mobile world, and innovators a chance to be successful. The technology needs are well-known: Microsoft needs a competitive mobile browser, development tools that target many devices (browsers and native), an SSO that work across cellular platforms, and a connectivity model that puts openness ahead of code expedience (yes, I mean REST).

But most importantly, Microsoft needs to exploit the collision of enterprise IT and the consumer world. My ERP application is learning a lot from how people use Twitter and World of Warcraft. Maybe the iPhone’s head start is too great for Microsoft to seriously challenge. But even if Microsoft can’t deliver the device platforms that people crave as much as the iPhone, they ought to at least create tools for building the best apps for any device – connected securely to (what should be) the best cloud-based services.