As I alluded to in the intro, the excitement and attention around the mobile market must mean the governance bodies that control browser standards have been evolving rapidly to keep up. Let's take a look at some of the standards that are Mobile development specific and see where they stand in capabilities and progress.
You can't pick up a glossy at the local newsstand without reading about the emergence of the Internet Of Things, a combination of interconnected home devices, Wearables and Web sites. There is one exciting W3C specification that I feel directly relates, that of the suggested Network Service Discovery (NSD) API.
This specification enables Web pages to communicate with Local-networked Services provided over HTTP. Purpose? Well imagine a permitted Health Web site being able to communicate directly with a wearable activity tracker, exercise equipment sensors, and sleep activity monitors in a home. Likewise, a privately-deployed in-home app could communicate with all networked lighting, home appliances, security and safety devices (across proprietary brands) using this open-API.
Want to code a battery app that can remind a home owner what batteries have expired and need changing in a fire alarm? This API would allow exactly that kind of communication. The API covers discovery and playback of content available to those devices as well, allowing for pass-through of broadcast media such as syndicated content from Cable for instance. In other words, this was one disruptive piece of the pie, and alludes to a very exciting device interconnection paradigm in the future for Mobile Web development.
However, all is not rosy at the moment. There have been issues in estimating network bandwidth, and information gathering for the standards body, as devices with these kind of broadcast HTTP services are just now emerging. This is the kind of early Standards work that make the HTML process seem so long, as they are ahead of the market. Work on the specification has changed to building use cases, requirements and approach according the W3C.
The good news is there are other Mobile-centric APIs that have made their way to us relatively intact. Device integration has gained traction, with a Web standard for Mobile device vibration control that can alert and notify within Web pages, and a Battery Status API that allows for querying a device's battery status and possibly varying computation and tasks on this information. When plugged in it's full steam ahead, and network traffic can be polled often, when in a low battery condition, hold off on network traffic and it can be bundled into 1/2 hour packages, making the user experience understand the limitations of a transient mobile physical device.
Another great example of the W3C's regard for user experience is the Ambient Light Event API. When we get into a car, a dash board typically changes brightness and color tone based on day and night. This new API allows for changing the styling, size and behavior of a Web application depending on a mobile device's light sensors. User Experience of a desktop computer in controlled lighting can be primarily statically designed for hue, chroma and lightness, but being able to understand the environment a Mobile Web user is interacting from is going to lead to some very interesting dynamic interfaces. Double size text in bright-washed out light on the beach, to high-contrast red text during telescope viewing sessions as to not disturb pupil dilation.
There are further HTML5 changes that allow Mobile devices to share video and audio streams with Web pages. An internal communication Portal can allow direct voice to voice chat over LAN, or direct from mobile video stream uploads can be sent to a Website for warranty or insurance claims.
The way we use devices within the family unit is evolving to include those within a circle of trust; such as Government services, favorite brands, and allowed retail resources, and it all seems to be driven from mobile device capabilities. More changes are being made to support an in-transit/in hand user experience than for the benefit of desktop screen real-estate.
Mobile development managers have often looked at the Web vs Native development choice in determining the best course of action. Native has always had stronger hardware integration, but the standards have evolved for the Web, and this gap is narrowing everyday. Next time we'll look at Facebook's answer to the issue of Web tech performance, and how their drive to open source internal tech might be a strong solution for getting closer to the panacea of write once and deliver everywhere.