Thursday 17 March 2011

A compendium of absolute randomness

The case for WebSockets when you think about delivery of data TO the web is a well known and well rehearsed use case. I talk about it a lot with customers, particularly those in the Financial Services and Gaming/Betting/Gambling space. However what I'm seeing around me are two big trends happening. The first is the move to Cloud, and the second is the proliferation of connected devices beyond that which are typically using the Web for connectivity today.

As the IT world starts to adopt the cloud wave, it's obvious that WebSockets plays a huge role in becoming the communication fabric between cloud connected entities. In a land before clouds this interconnectivity challenge was typically solved by the TCP protocol and vendors who implemented the fabric around that, predominantly Cisco. As that infrastructure moves to the cloud, TCP is no longer sufficient on it's own because the underlying communication mechanism is now the Web. This has lead to an amount of HTTP hackery in order to traverse with any success, and we're well aware of the limitations of that (latency, bandwidth, etc). In order to retain the benefits and value of always connected server and client elements in the back-office, what's needed is a "TCP for the Web", I believe that WebSockets fits that bill nicely. WebSockets provide the ideal open standards-based plumbing and the best architectural choice for connecting entities, both client-server and server-server, in the world within the cloud, and also between clouds.

Then I start to look at connected devices beyond what we see today on the Web. I've spoken many times in the past about the benefits WebSockets brings to the party for apps running on mobile phones, iPads, iPod's and various other wireless devices. But what about the huge number of other connected devices that don't necessary run those same apps, but are custom purpose and proliferating like wild fire in our lives. The Web is also the perfect communication mechanism for such devices because, whilst it's an implementation of the "Internet" for better communication purposes, it's also an ideal fabric for service consumption using ubiquitous client technology. So it makes perfect sense for my Sat Nav device to be connected to the Web (see previous blog post). Using WebSockets I can receive real-time mapping and routing data, real-time traffic updates, and in return (upstream) i contribute my location which goes back into the overall traffic situation. I can also use this device to locate friends and family who are also travelling and connected using a similar device. There are Sat Nav devices out there today that allow for social networking between users of like devices, and sharing of location data. Those devices, along with the one's already built into more expensive cars are going to want to start consuming other Web advertised services, such as nearest fuel stop, nearest food locations and real-time connectivity to rescue services for when breakdowns occur. BMW and Mercedes (amongst others) already offer "phone home" services when the vehicle is in distress and they will deploy servicemen to fix or tow the vehicle. Emergency services can be notified when you breakdown on a busy freeway and require immediate assistance, and other vehicles nearby could be instantly alerted to the fact that an incident has occurred, there is a vehicle stopped in a dangerous location, so either route you around the incident or warn you to slow down and take care. Road signs get alerted of the incident and start to display information and of course all the new traffic data is being fed back to the central system and distributed to other consumers of it, whether they are Sat Nav device users, web users or news readers. None of this is possible without a global interconnected mesh of services, of which the Web is the ideal carrier for, because it already does it today inside our businesses and out to users with browsers on their desktop or on their device.

Extend the concept to smart meters that report energy usage, monitor usage trends and notify consumers and providers of bizarre changes in trends. Imagine the reduction of cost of human meter readers, the increased accuracy of billing and the ability for consumers to be more in control of the energy they use, and perhaps the energy they contribute back to the grid through wind turbines or solar panels. Now think about the value of additional services to GPS enabled watches and bike-mounted devices that measure heartbeat, cadence, distance, location, speed, etc, and the ability to push that information into the cloud so that at a later point myself, my trainer, and maybe even my doctor can monitor it and make decisions based upon it.

I think the biggest wave yet to come relates to what i call "swarms". I think today we can all imagine the value of a million iPhones in the world. We have a million users of services, a million app users, a million people to send advertising banners to, perhaps based on where they are and what we know about them. But what we don't yet know is what added value can be attributed to those million users when they swarm. Fish and birds do it all the time to evade predators. I was watching some show the other day discussing how certain birds (I think they were swallows or skylarks) fly in formation, with each bird tracking exactly 7 other birds around it, knowing that if it coincides it's flight pattern to fit with those 7 other birds, then mathematically a swarm of any size is coherent and moves like a single entity. So what if those million iPhone users swarmed? What does that mean in terms of added value to the advertiser or vendors or products and services (think Groupon)? If they are all at a concert, an event, a location, what added value can be attributed to that scenario beyond just being a million iPhone users disseminated over an unknown area. Could we then target advertising to a far greater level of accuracy? Could social networking apps that brought them together then use the swarm data for crowd sourcing applications and mining of "like" data from people in the "same" place? I don't think we yet know what class of apps would evolve to take advantage of this sort of activity, but you can be sure that it's going to be highly interconnected. Not only will each iPhone user connect to the web to consume a myriad of services, but once those devices swarm, they can interconnect with each other directly, much like the birds do, and suddenly you've got a new age of peer-peer application and data sharing that makes all sorts of new things possible. Perhaps a restaurant offers a 50% off deal to a swarm of more than N people and so members of it start to flock and trend towards offers and items of interest. I can see a day when all this will seem the norm in our daily lives.

At the end of the day there are going to be millions of examples of connected and interconnected devices, and all of the need a means by which to communicate, advertise and consume services. We already do this today to a lesser degree using the Web. As the number of connected devices grows, we have an organically growing user base that needs to onramp to the these services. WebSockets is the ideal technology for making that happen. HTTP got us on the Web. WebSockets gets everything else around us connected in ways we can only imagine possible today. Let's make it happen.

No comments:

Post a Comment