Sign up now to get free exclusive access to reports, research and invitation only events.
From the car to the living room, technologies and markets are quickly evolving to offer lucrative possibilities for programming pioneers
Beyond the smartphone: Emerging platforms developers should target next
A long time ago in a mindset far away, programming your phone seemed like science fiction. The millions of ways people would reprogram smartphones just a few short years later was beyond comprehension.
So when we say you may soon be targeting apps at users’ shirt pockets, not what they put in them, you may think us daft. But all it takes is a market. The technology is there, at least sort of.
To help you get a jump on these platforms, we poked around some unlikely places. In many cases, raw APIs already exist. Scratch the surface, and the potential for porting apps beyond the smartphone becomes evident. The following is a look at what we found.
Photo Credit: Ho New / Reuters
Emerging dev platform: Your car
The computers buried in your car are better platforms for developing software than your smartphone. While car batteries do run down and cars do run out of gas, they're still more reliable sources of electricity than that tiny battery in your smartphone. The dashboard is already engineered to be at the driver's fingertips and much of the car is already accepting digital commands through the OBD-II (On-Board Diagnostics) interface built into all new cars. And though you can forget your smartphone when you go on a car trip, you can’t forget your car. Cars are made for apps, and their manufacturers know it.
Car app development caveats
Safety is among car builders’ greatest detractions in opening up their platforms. While people can change radio stations while driving, changing a CD isn’t nearly as safe. Some argue even the best-designed hands-free interfaces can't solve the cognitive limitations of the human brain. The driver's brain should put driving first; even talking on a hands-free phones can be suspect.
Programmers aren't known for building crash-free products, and in the auto business, "crash" has ominous overtones. It's one thing to let the curious programmer monkey around with OBD-II to suck down stats about the efficiency of the engine, but what if the programmer stumbles onto a switch that changes an important setting irrevocably? It only takes a few high-profile mistakes to sully the platform.
Car app development opportunity: OBD-II
All cars built since Jan. 1, 1996, have been built with OBD-II (On-Board Diagnostic II) systems in place. Data provided by OBD-II can be used to diagnose malfunctions and assess the overall health of your car. Previously, hobbyists have been prevented from working with OBD-II data due to the cost and complexity of the equipment required to access it. Now, hook up an OBD-II connector to your iPhone, and off you go. DashCommand is one iOS app providing car enthusiasts with access to engine data.
Car app development opportunity: Ford Sync
Safety may be one reason why Ford is moving slowly in opening up its Sync platform for developers, but early adopters are already exploring what can be accomplished with Sync. You can download apps for interacting with Twitter (OpenBeak) or Pandora, but you won't find thousands of choices. Most of the few on hand revolve around the radio, and they're just introducing Roximity, an app for identifying location-dependent daily deals that might have been named by Scooby-Doo.
Car app development opportunity: GM OnStar API
General Motors is opening up an API for its OnStar service, a wireless tool that can track your car, unlock it, and even start it remotely. They've already introduced an iPhone app, RemoteLink, and all this power could be yours if you're accepted into the program (just write to firstname.lastname@example.org to apply). The most commonly cited application is RelayRides.com, a company that helps you rent out your car when you're not using it.
Car app development future
The car as the next great platform for application developers will only expand as car manufacturers become more confident and users become more welcoming to the idea of apps in automobiles. It doesn't hurt that a number of robot-driven cars are appearing, leaving all the humans in the car free to monkey around with the latest apps.
Emerging dev platform: Your TV
The Internet may rule the world during the day when people are connected to laptops, but it fades when people retire to the living room. Streaming services like Netflix and Hulu are making inroads, but they're still just showing unadorned video. We're still a long way from something that's compellingly interactive.
TV app development opportunity: Google TV
The most ambitious incursion of developers into the living room may be along a path paved by Google, which has had only limited success pushing its Google TV box to people on couches. Logitech and Sony manufacture Google TVs, and the API offers several paths to get your code in front of people's eyes.
TV app development opportunity: Web apps
The simplest way to the TV may be the Web app. Google TV’s browser is a relatively new version of Linux Chrome, the Webkit browser that also handles Flash 10.1. There are small changes you can detect by looking at the UserAgent string. Geolocation, for instance, isn't available. If your website works well on Chrome, it can work on the TV. The main challenge is screen size and UI. While many modern TVs show 1080p signals, not many eyes can make out the small differences. You can't pack text with the same density as you can on a monitor that sits 20-some inches from a face. Google offers TV optimized UI templates to developers interested in targeting the TV.
TV app development opportunity: Android apps
Google is not limiting itself to HTML5 applications. Android developers will be able to target the living room in the future by just including a separate layout. Google suggests targeting the size of "large" tablets because the "apparent size of the Google TV screen turns out to be only slightly different from a mobile phone's screen."
TV app development opportunity: XBMC
XBMC is a great open source distribution meant to turn a PC into a television command center. Its core is written in C++, but many of the add-on scripts are written in Python. Perhaps the easiest way to develop content is to create a website that delivers the content in a format that's easy for XBMC to scrape.
TV app development opportunity: Samsung and Yahoo
Other TVs offer something simpler. For example, Samsung has an API that accepts HTML5 content. It's like building a Web page, but on a bigger screen for someone who is farther away. It's available on some TVs and Blu-Ray players. Yahoo offers something similar, complete with a widget marketplace where people can buy your wares.
TV app development opportunity: Apple TV
Not all platforms are as open. Apple TV, for instance, is willing to accept encrypted content that mirrors your iPad screen via AirPlay. It's not the same thing as writing your own code, but maybe someday they'll open up an Apple TV App Store.
TV app development opportunity: Nexus Q
Google used this year's Google I/O to announce a slew of products, including Nexus Q, a social streaming device targeted at entertainment systems, including the TV. Whether the device will catch on remains to be seen, but the vanguard is already hacking the device to run Android apps and games, and it seems likely that Google will want to continue to curry favor with developers by easing the ability to target the device.
Emerging dev platform: Your clothing
It may be made of cloth today, but there's no reason why your clothing can't be one of the next great development platforms. We take our clothes everywhere, and electronics are now small enough to be sewn in without being noticeable.
Clothing app dev example: Scott eVests and Jackets
There are already some early experiments in garment hacking. Scott eVests and Jackets are prized because they were designed to hide wires. You can put your iPod in a pocket and the wires carrying your earbuds are threaded through channels so they pop out of the cloth right near your ears. They're not constantly getting tangled or misplaced. Well, unless you misplace your jacket.
Clothing app dev example: Hammacher Schlemer
One jacket from Hammacher Schlemer has "five button control system woven into the outer sleeve" so you can change tracks without taking off your gloves or taking your iPod out of your pocket. The buttons lock up after a few seconds to prevent an errant bump from changing things.
Clothing app development opportunity: Anduino and LilyPad
The simplest way to experiment may be with one of the Anduino chips embraced by the Maker community. The LilyPad chipset is already designed to be sewn into clothes. Just add LEDs and software.
The first adopters may be people who want to program their clothes to change color or patterns to music, mood, or, say, a command sent by an ad company that purchased space on your sweatshirt. These apps will communicate with people near us, and they will enable a whole new twist to the fashion industry, with artists uploading new patterns and wearers swapping them. People wouldn't ask where you bought that shirt; they would just download the pattern from you right there. Heck, you might even get a commission.
Emerging dev platform: The electical grid
In much of the Western world, electricity is so stable that it's boring. Plug your device into the wall and it works. A month later you get a bill, and after you pay it -- as they say in the country music business -- the circuit remains unbroken.
There is no reason why we can't enjoy a much richer, more sophisticated electrical grid with flexible pricing, self-healing circuits, and an app market full of opportunities.
Filtrete, for instance, offers a programmable thermostat that is Wi-fi-enabled and ready for remote access.
Appliance app development opportunity: X10
Many appliances are already integrated. The X10 standard has been widely used for home automation for some time, and libraries for languages like Java are common. Some controllers, such as Insteon, have built in Web servers that let you interact with devices by POSTing data to the URLs.
Appliance app development opportunity: ZigBee
There are more elaborate APIs. The ZigBee standard is growing more common because it offers a more elaborate, energy-savvy API (PDF) for making decisions about energy use. The specification allows developers to add intelligent features that improve the efficiency, safety, security, reliability, and convenience of appliances and home electical networks, ranging from keeping consumers informed about power consumption to the automated re-scheduling of power-hungry activities into off-peak hours.
Emerging dev platform: Retail
The movie "Minority Report" already gave us a glimpse of digital advertisements that adjust themselves as people walk by. There are some companies that are building smart billboards that use cameras to guess the age or gender of pedestrians, and there are others that use Microsoft's Kinect platform to let people interact with the screen. A company called After-Mouse married the Kinect with Windows API to build a retail platform. The Kinect's infrared sensors work through many forms of glass, making it possible to set up the displays behind shop windows. They interact even when the store is closed, a feature that might be used to take orders.
Retail app development opportunity: In-store geolocation
The devices don't need to be limited to ads. One simple application can help guide humans to what they want to buy. Already some warehouses have LEDs that flash to guide the humans packing orders. A store can have a similar system that interacts with any app to help people find products without searching and searching.
It's important to recognize that the retail API does not need to interact with the human. Smartphones are constantly broadcasting their ID numbers in the clear and some stores are tracking customers to help plan store layouts. A savvy API might simply detect and identify the human from the smartphone signals and then reconfigure the store experience.