By:
March 5, 2010

The iPad is being heralded as both a savior and enslaver for newspapers. It may finally provide the kind of futuristic, multimedia newspaper experience so often depicted in sci-fi. Unfortunately, playing with Apple carries heavy restrictions on what code can be used to build native applications, a significant revenue split, and serious, perhaps capricious, content restrictions.

For most news companies, getting a native app on the iPad will mean:

  • Hiring an outside firm to do the application development because nobody in-house works in the Objective-C language used on Apple devices
  • Giving away 30 percent of revenue
  • Not knowing if your application will be approved or approved and later removed
  • Ignoring the majority of smart phone (BlackBerry) owners

There is another way: Use the people and skills within the newsroom to build Web apps that mimic the look and functionality of native applications.

It depends on the platform, but you can deliver a experience comparable to native code by using a Web app paradigm and relying on HTML, CSS and JavaScript for the front end. The big difference is that the Web app will not be able to access the device’s hardware the same way a native app can. But with HTML5, Web apps can store data, share content via social networks and work offline similar to native apps.

If you build a Web app, the fundamental code stays the same across all devices, and it is relatively easy to customize the design and UI to mimic native applications.

“You have a single codebase. You can deploy across all those platforms reasonably well without going through any approval process,” said Jonathan Stark, a mobile and Web application consultant who (literally) wrote the book on building iPhone apps with HTML, CSS and JavaScript.

A perfect example is Google’s decision to release Google Voice as a Web app. When Apple would not approve a native Voice app, Google built one with HTML5 and released it outside the App Store. A user can visit the page via the iPhone’s Safari browser and bookmark the site to the home screen. From there, the user can launch the app from a cute icon that looks native and works very similar to a native app.

There is no compiling. It’s just a Web site — a Web site that can reach more users on more platforms, more easily, than a native app. “Do you want to have this beautiful [native] app that will only be on the iPad, or do you want to have [a Web] app that works really well on all of these different platforms?” Stark asked.

Fortunately, there are some interesting tools that can help you code for both worlds. PhoneGap is an open-source toolkit that allows developers to build Web apps with HTML, CSS and JavaScript and package them as native apps for specific devices. PhoneGap provides a similar wrapping process for BlackBerry and Android. (Palm’s webOS already uses HTML5, CSS and JavaScript and allows access to device hardware.)

PhoneGap’s packaging process allows the native app to tap into device hardware (which is not accessible via a straight Web app) and be sold in the App Store.

You can release the Web app while you’re waiting for Apple to approve the native app. The two versions share 90 percent of the same codebase; the additional code in native apps enable access to device hardware like accelerometers and cameras.

“You can put the app in the App Store, maybe sell it in the App Store for premium customers or people who want to have those extra warm and fuzzy features, and then maybe release it for free as a Web app,” Stark said.

With this approach, the development team can make quick changes to the Web app and then push a bunch of changes through the App Store approval process in a single update. If you are building a native app, even a small change like a typo might require another App Store approval.

A common misconception is that only native apps will give users an offline experience. Not true.

HTML5 enables a Web app to work offline through a combination of a local database and storing of static resources such as images, CSS and JavaScript. Although the HTML5 spec won’t reach full recommendation by the W3C for at least a decade, that hasn’t stopped the big browsers from implementing most of the core features. The built-in mobile Web browsers for Apple and Android support HTML5 today.

Spacer Spacer

And CSS3 enables transitions and animations that can be used to mimic the Apple-esque slides, spins and swipes.

No doubt, you will be able to deliver the best experience by using native code, but the costs and risks can be high. Web apps are a compelling alternative, providing much of the functionality and tapping into the skills newsroom developers already use.

Support high-integrity, independent journalism that serves democracy. Make a gift to Poynter today. The Poynter Institute is a nonpartisan, nonprofit organization, and your gift helps us make good journalism better.
Donate

More News

Back to News