Q

Mashups and mobile: A match that makes sense

Mobile devices have become increasingly popular. Providing workers with access to enterprise applications from these devices is proving to be a rewarding challenge.

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).

 The technique that I prefer is to create new APIs against legacy apps using mashup tools. From there, you can use a tool like Appcelerator’s Titanium to build native applications that work on the iPhone, iPad, and Android platforms. These apps have full access to the native features of the device, but are written in a JavaScript look-alike. You communicate with your external services using SOAP or REST. Or you could build an app to leverage multiple RSS feeds you mash together. When you’re done, the app can be packaged and sold in its respective app store.

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

Dig deeper on Mobile application development

Pro+

Features

Enjoy the benefits of Pro+ membership, learn more and join.

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

0 comments

Oldest 

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

SearchSoftwareQuality

SearchCloudApplications

SearchAWS

TheServerSide

SearchWinDevelopment

Close