If you are a developer fragmentation is part of your life. Everywhere you look you find it:
- device fragmentation (devices running on different OSes, with different screens and capabilities – smartphones, personal computer, tablets, televisions, and so on),
- browsers fragmentation (you have desktop browsers and mobile browsers, as well as embedded device browsers like those found in televisions or other devices).
Judging fragmentation in terms of good or bad is counter productive. It is what it is, right? In the end it gives us more work which is not that bad :)
There is fragmentation and fragmentation
However, there is another type of fragmentation that is becoming more and more visible. And this version is quite annoying. It is about having all these devices like islands in a big ocean. And all these islands are not aware of each other and they don’t even know they are islands.
What am I talking about? Let’s take a look at a typical household. You’ll find devices like:
- personal computers
- console or media center
- television with Internet connectivity (like GoogleTV for example or Samsung SmartTV)
- air conditioning units
- automation devices (video cameras, remote controls for the main door or garage door)
And the simple truth is that all these devices are not aware of each other. Or in other words, if I have a smartphone and I’m home enjoying some TV time on the latest television set I don’t get any extra functionality on either device.
All together now
So what could we do to improve this simple scenario (a smart TV and a smartphone/tablet)? Well think of the “ultimate” remote control”. In a perfect world, when I want to find something interesting to watch at TV, I’d pull out my tablet (or smartphone) and open up the remote control app. This app will connect to television or set-top box and retrieve all the programs that are available.
Then it will present them in a useful way. Today, we think in terms of channels. You have x channels and you zip through them. Instead of this, this Remote Control app would display the available programs sorted on categories: SF movies, nature, cooking, news, fashion, sports, and so on. So with a quick flip through movie sections I could find easily an interesting movie. Or if I love football or tennis I can find what’s available right now.
Next, suppose that I select a tennis match (the US Open is coming by the way). While I’m watching the match I could choose the social section of the Remote Control app and I can check to see if my buddies are online. I could ping them to watch the match together and chat using text messages, VOIP, or video calls directly from the tablet device.
While enjoying the match together with my friends, my wife is on the way home. She has a smartphone as well and because of that I can get a notification on my smartphone or tablet that she is quite close to home. So I can go to the kitchen and start preparing the dinner. She could have left for me instructions for me (using her smartphone or personal computer) and I could check them on my device or using the fridge integrated tablet (did I mention the fridge has an integrated tablet?).
While cooking some delicious dishes somebody rings the doorbell. My tablet pop ups a notification and with one tap I can see who’s outside and decide to open the door or to ask him what he wants.
My wife wants a new couch and I start browsing for options using my laptop. Once I found something that looks great I choose to display the web site on my TV so we can see what it looks like. While the images are displayed on the TV I use my laptop to navigate, rotate, or zoom the images.
The next morning, as we are getting ready to leave the house I could check the car status on my phone: fuel level, service notifications, outside temperature. As I arrive at the office I realize that I forgot to program the air conditioning unit. I just fix this using my mobile phone.
Present or the land of opportunities
Now back to reality. Most of what I have described here is already possible. Of course there is no off- the-shelf solution but a smart developer can create software that makes different devices work together. I’ve been thinking about this a lot lately and also I’ve been talking to others smarter than me (fellow evangelist Mark Doherty has lots of idea about this cross device experience).
And the reason we don’t have off-the-shelf solutions (or solutions that do exist are very expensive) is that we don’t have a standard that is implemented by all the manufacturers who build smart devices. Manufacturers will have to expose some of the core functionality of their devices to third parties as well if we want to build software like my “Remote Control” example. Today it is pretty hard to come in as a third party developer/company and try to build in some interoperability.
How is this post related to what I’m usually talking about on my blog? Well, you can do many things with the Flash Platform since you can use it to build stuff for so many devices (personal computers, embedded devices, mobile devices, Arduino and Phidgets). Maybe we can start building cool prototypes and go after the big consumer electronics manufacturers and show them what is possible to do. This is one way to turn around this issue.
I don’t have enough insight into the consumer industry so what I’m about to say could be horribly wrong. I have the impression that many of the big players (companies who build TVs, cars, broadcasters and content providers) are just missing this. There is no doubt in my mind that one way or another we will end up talking about this type of fragmentation using the past tense. Until then, I wish you an amazing weekend and don’t forget to post a comment if you have something to share!
PS 1. Almost two years ago I wrote a post on a somehow related matter (augmented reality + always connected/synced). Back then I was pretty sure that in about two years we would have something like that available.
PS 2. There are some companies who are working in this direction (use your mobile device with your television, making home automation more accessible) but these examples are far too few.