Sunday, March 15, 2015

Can the mobile Web win back developers from iOS, Android?

BARCELONA -- Dominique Hazaël-Massieux is on the front lines of a struggle that will determine whether you'll get your next app by visiting a website or by heading to an Apple or Google app store.
Hazaël-Massieux comes down on the Web side of the divide. For the last seven years he's led mobile-Web work at the World Wide Web Consortium (W3C), an organization that Web founder Tim Berners-Lee established to chart the Web's future.
You might not care about where your smartphone's software comes from as long as it works well. But it matters: the better the Web fares, the easier it is for programmers to write software that's not locked down to a particular operating system and its associated services. That, in turn, makes it easier for you to switch between Apple's iOS and Google's Android mobile software or to move to whatever alternative arises down the line.
The problem for Hazaël-Massieux is that he's mostly been on the losing side: The Web has lagged when it comes to convenience, features and performance, and programmers have instead leaned toward building native iOS and Android apps. He's not discouraged, though. He's seen the mobile Web grow from awful to workable as browsers embraced new Web standards, and now he's working on the next step, making Web technology competitive.
"Seven years ago, the challenge was having it work at all," Hazaël-Massieux said. "The experience was so bad nobody wanted to use it at all. Now everybody does -- but not as much as I wish they would."
The Web is hardly in danger of being squeezed out of people's digital lives. But the explosive success of mobile devices has hobbled the Web's prospects by shifting power toward Google and Apple. When new abilities like electronic payments arrive in the mobile world, these two companies often hold control over how it happens.
There are about 1.5 million iOS apps and 1.8 million Android apps available today, said Sameer Singh, senior industry analysis manager with app analytics firm App Annie. That's a formidable presence -- and downloads are increasing every year. It's no wonder programmers are concentrating there given that 1.2 billion smartphones shipped in 2014, about quadruple the number of PCs. The centerpiece of Hazaël-Massieux's work at the W3C is a project called Application Foundations to endow Web apps with the abilities of native apps.
"The goal is to put in place a framework that makes [the technologies] more understandable to developers and to drive the technology based on developers' needs," he said in an interview here earlier in March at Mobile World Congress, a mammoth technology show where smartphones hold center stage.

Loss of universality

The World Wide Web, now 26 years old, transformed the computing industry. Every operating system requires a browser, so the Web lets programmers bridge across previously separate realms. When Facebook was getting started, its developers didn't have to worry whether its members were on Windows or Mac computers, and updating the service happened automatically when users loaded Facebook's page in their browser.
But the rise of iOS and Android has reversed some of that trend toward universality. Apps written for one don't work with the other. If you want to buy a phone using a nondominant operating system -- Windows Phone, Firefox OS, Tizen, Sailfish, BlackBerry OS and Ubuntu to name some of today's struggling contenders -- you'll likely struggle to get all the apps you want.
The clout of Apple and Google also let them extend their power to new domains -- iCloud and Google Drive for storing files, for example, or Facetime and Hangouts for communication. It's enough to make Microsoft's dominance with Windows and Office in the 1990s pale in comparison.
There are reasons programmers yielded control -- and 30 percent of their sales revenue -- to Google and Apple. Programming tools for iOS and Android are better than they are for the Web, apps are faster and can use more smartphone features, a payment system is in place when it's time to sell an app, and innovation is faster than with the multicompany cooperative process that produces Web standards. Even Web-first companies like Facebook opted instead to write apps that run natively on iOS and Android.

New standards

Web allies are working to make up for lost time. The Application Foundations effort, announced in October 2014, adds new heft to existing work to improve standards. It emphasizes a collection of priorities like video chat, cryptography, typography, responsiveness and streaming media.
"There are challenges around performance, around making apps work offline and outside the browser," Hazaël-Massieux said. One big part of the fixes is a standard called Service Workers that dramatically remakes Web apps' deeper workings. Service Workers are programs that run in the background, letting Web apps work even if there's no network connection and enabling things like push notifications. With Service Workers, those notifications could come through even if a person is using another app.
"A component provided by the browser registers itself with the operating system. When the OS receives a notification, it knows it should wake up the browser, and the browser wakes up the Web application," Hazaël-Massieux said. "Service Workers are about getting the Web to live also outside the browser. That opens up interesting opportunities."
Another feature he's excited about is payments provided with an interface that would take Apple and Google out of the loop, letting the programmer choose what payment mechanisms to offer. That could help when somebody wants to embrace something new like the Bitcoin electronic currency or offer payments that are put on phone bills in countries where credit cards aren't common.
"The way the Web has disintermediated so many -- we think the Web can do that for payments, too," he said.
When industry standards work, hardware and software engineers can concentrate on higher-level innovation rather than grinding low-level details. But creating standards everyone likes is slow work.
Web apps can use smartphones' accelerometers to orient a screen properly, the GPS system to find location, the camera for taking photos, and buzzers so phones will vibrate for typing feedback. Video and audio chat with a technology called WebRTC is arriving, and hardware-accelerated 3D graphics for games is a possibility with WebGL. On the other hand, work to allow use of near-field communications (NFC), the technology that Apple has embraced for its mobile payment system, has only begun, and phones' barometers remain off limits for those who'd like to gauge a user's altitude.

Pointer Events pain

One current example covers what might seem to be among the most basic parts of using a smartphone or tablet: people's use of touch screens.
One interface, called Touch Events, got an early start here, but Microsoft -- with a rekindled interest in Web standards -- offered another, called Pointer Events. Microsoft's standard offered a broader perspective based on its Windows experience, handling not just touch screens but also mice and styli. That means programmers would have an easier time writing websites and apps that spanned multiple devices, and the W3C was pleased when it completed the last stage of standardization in February.
"We think it's the right technology for the Web and brings new advantages," Hazaël-Massieux said, mentioning not only the range of input types but also features like pressure sensitivity.
One problem, though: Apple, whose Safari browser on iOS helped kick the modern mobile Web into gear, has expressed no enthusiasm. That had a ripple effect when, in 2014, Google Chrome team member Rick Byers said Google therefore didn't plan to support Pointer Events, either. "Since Touch Events are here to stay, supporting another largely redundant input model has a high long-term complexity cost on the Web platform," Byers said.
After Pointer Events was standardized, Apple faced the wrath of those who wanted it to succeed. "We need to stop letting Apple stifle the work of browser vendors and standards bodies," said Scott Gonzalez of the influential jQuery project whose software is widely used in building Web apps and pages. Peter-Paul Koch, who has worked for years helping programmers grapple with browser differences, piled on as well, urging developers to pressure Google to support Pointer Events and thereby force Apple to make the same change. Apple didn't respond to a request for comment.
Google's Byers in March said the issue isn't settled: "We're still watching this space."
Hazaël-Massieux knows the process can be grueling. But in the end, it lets programmers reach any device, and he's optimistic the Web will succeed for mobile devices.
"It could be used as an alternative replacing most native apps," he said. "All the advantages that come with the Web -- sharability, addressability, openness, a completely nonproprietary system -- all these are available to mobile app developers."
Post a Comment