Can mashups make enterprise applications more available to remote workers?
Unless you’ve been hiding under an 80’s-era cell phone, you’re probably aware that the market for smartphones has exploded. Last year, for the first time in history, these devices outsold PCs. While convenience and portability are definitely among the driving forces behind these numbers, there is arguably more innovation in the mobile space than in the traditional desktop market.
In the past several years we’ve seen phones get touchscreens, GPS, accelerometers, compasses, and NFC (near field communication). During the same period, desktops have only made incremental improvements: faster hardware and updates to old operating systems. Less is Moore, if you’ll pardon the pun.
Mobile’s breakout can also be attributed to price. It’s easy to pick up a highly capable phone for under $100 (on contract of course). This puts the technology within reach of more people. But it’s not just the hardware that’s affordable. Mobile’s other advantage is the “app store”, famously pioneered by Apple. It’s emerged as an entirely new distribution channel for custom solutions. And like the phone itself, the apps aren’t expensive. You can get thousands of applications for next to nothing. Are traditional high-profit packaged software margins eroding? Of course; but look at the numbers – the volume of sales is increasing drastically. As the old saying goes, “The fast nickel is better than the slow dime”.
Let’s be realistic. The form-factor of a phone implicitly imposes some restrictions. You’re not going to write your next novel on one. People will still need thick-client desktop apps. But ask yourself this: Are there any parts of these apps that can be migrated to mobile? Can we unchain users from their desktops, even just for a little while?
The situation reminds me of firms’ rush to build intranet portals in the last decade. The thought was, why have users constantly task-switch between multiple applications, when you could give them generalized dashboards that would provide most of the information they needed at a glance? Then someone got the idea that adding personalization – the ability to tailor that summary-view to your own needs – would make people even more productive. So we took our internal applications, databases, and reports and turned them into portlets. And we built out intranets and deployed portal containers. But we never actually freed our users. They were still tied to their desks.
Now look at the mobile space. Today’s app store has effectively turned every smartphone into a portlet container. All those crazy new sensors let this “mobile portal” communicate things like location or orientation back to their apps. This then lets these highly functional, purpose-built apps further tailor their functionality to specific positions or circumstances. It’s like personalization on steroids.
This is where mashup technology comes into the picture. With mashups, you can take your existing applications and easily move them into the mobile world with minimal effort. There are two basic approaches.
The first is to dynamically clip sections of an existing Web-based app’s UI and alter the HTML and CSS dynamically to make the user interface more mobile-friendly. I’ve outlined the same approach in the past as a technique for portlet-izing a system or creating custom widgets. While this approach is quick, the disadvantage is that you’re not really creating a native app and you're definitely not linking multiple apps together. So in the strictest sense, this isn’t really a mashup (although well-known mashup products offer this ability).
While Apple set off a Big Bang in the mobile space with the iPhone and App Store, we are arguably now in the “expansion” phase as the market continues to expand and mature. Now is a great time to experiment in this space (I promise, that’s my last pun). Besides adding flexibility to your current apps, you might just decide to make mobile-enablement a key feature of your new projects.
This was first published in February 2011