At IDF 2012 in San Francisco last month, Renee James, senior Vice President and General Manager of Intel’s Software Services Group gave a keynote address on what she called “transparent computing”. The basic idea behind this concept is simple: give developers just one basic platform on which to develop their apps, and make it possible for these apps to run on any other platform. It’s a revolutionary idea that could possibly change the face of developing as we know it right now.
The consumer’s perspective
Consumers, for the most part, don’t really care much about the hardware that they’re holding, the specs that hardware offers, or the process by which that particular piece of hardware came to be available. What they are really interested in what they can do with that hardware; i.e., what kind of programs they can run on it and what tasks they can accomplish. For example, ask any consumer what an Ultrabook might include as far as computing power, and most likely they'll be more interested in how long of a battery life it offers for their time in the coffee shop, rather than internal GPS and accelerometer sensors.
Perhaps you have a tablet, a notebook, a smartphone, and a desktop running in your home. Chances are high that each device requires separate proprietary programs, which throws software compatibility right out the window. Wouldn’t it be nice to have those devices be able to speak to one another instead – using a common platform to not only boost usability, but also to share data from one device platform to the other?
Data, software applications, and identity-related information moving from one device to the other in a seamless, intuitive way would open up a whole new realm of possibilities for both consumers and developers. It’s a glimpse at a completely new world of connected computing.
The developer’s perspective
Creating different apps for each platform out there is something that many developers find the least appealing part of their work; well, that along with monetization and marketing. According to James, 50% of the cost of just producing an app goes right into marketing and getting it out there. 76% of apps are only used for about three months, which makes all that work getting it out there a bit bittersweet. The goal behind transparent computing is to give developers the chance to develop their application just once, but then enable it to run on any mobile platform.
Platform diversity – choosing which one you want to move on – is a major issue as well. How do you choose what platform you want to work on? How do you cohesively port that application to another platform without losing too much time? Are you going to have to start over for every platform? What about the Ultrabook and all the new technology that's coming out with this device; will it by necessity have to be a semi-closed ecosystem for development?
Every developer wants to keep moving forward, keep innovating, and keep creating new apps that will make an impact. However, the problem with the current developer landscape is when you dedicate most of your time and energy to a single app, you really don’t have enough bandwidth left for porting and developing apps for all the platforms available out there. Developers need a way to code and launch apps out on every platform. This option will reduce the overall cost of development, the time it takes to get the app in front of consumers, and open up the app to a wider range of consumers.
Obviously, one of the most obvious benefits to this approach is simply time. There are just not enough hours in the day for developers to remain innovative and port their apps to all the different platforms available out there, simply so they can continue to make a living. With transparent computing, developers don’t necessarily have to choose between Platform A and Platform B in order to make money and get their programs out there. It will be one seamless process.
Tools that will help transparent computing become reality
Intel is definitely committed to making transparent computing less of a pie in the sky ideal and more of an everyday opportunity for the developer community. To that end, there are two main tools that Intel is standing behind: a cross-platform language (HTML5) and a company distribution network (Intel Developer Zone).
One of the most basic things you’ve got to have in place when talking about an environment in which developers can write for any operating system is a common language. HTML5 is the cross-platform language of choice, and while this flexible ecosystem has gotten a little bit of downplay from a certain large social networking company, it continues to be robust and innovative enough to be chosen as a unifying framework.
According to James’ keynote, 40% of app developers currently use HTML5, and another 40% are planning to start using it very soon. Using just one language for multiple platforms, developers don’t have to worry about switching between platforms to eke out profit, or switching between markets.
As proof of Intel’s commitment to HTML5 as a unifying language, they’re rolling out two new developer-focused tools. First, in addition to the communities already available to developers, Intel plans to add an HTML5-focused developer community later this year. Support for developers all the way through application deployment of apps on Tizen, Windows Phone, Android, and iOS will be featured. Second, Mozilla and Intel are collaborating on a native implementation of River Trail technology, making this available now for download as a plug-in. This will become native in Firefox in 2013, giving Web applications the ability to take advantage of parallel computing.
Intel Developer Zone
This one-stop-shopping hub for developers - including Ultrabook developers - is meant to be a single point of access, designed to support the developer community and transparent computing. Cross-platform development is a major focus here, as well as different paths to enhancing consumer experiences and connecting with new business opportunities.
All the communities, tools, and resources will be here for developers, focusing on such topics as touch screen enhancements, battery life issues, cloud accessibility, development resources, Ultrabook support, and data security. Developers can use this to find answers to questions, share their hard-earned wisdom with other developers, and keep a finger on the pulse of transparent computing as it continues to evolve.
Transparent computing: a win-win for developers and consumers
Whatever side of the table you might be on, the concept of transparent computing is definitely a win-win for both developers and consumers. On the consumer side, the ability to move data and applications from one device to the other, not worrying about compatibility, will free up end users to get tasks done more easily. On the developer side, instead of having to produce multiple apps for different platforms, developers will be able to focus their abilities on one great app that ports seamlessly from platform to platform. We’re just beginning to see the benefits of transparent computing, but as time moves on and adaptation becomes more universal, I believe that this concept will become as natural as any other great computing innovation we’ve seen historically.