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.

Wednesday 16 March 2011

Be the traffic

I was chatting with someone late last year about my vision for Web-connected in-car GPS devices. I figured that if all these devices used the Web to report location back to a central server, then given you ARE the traffic, all that data from all those devices would constitute a real-time picture of the traffic situation along our busy roads.

Today we use these GPS devices in a one-way fashion; to receive signals from satellites deployed for the purposes of Global Positioning, geo-coded to represent your current location and then overlayed on mapping data held in the device. You use it to get from A to B, with the odd detour via unexpected river C.

I can see a day when those devices become far more important in the data they send rather than what they receive. These devices are starting to become Internet connected, so today you can download traffic data and services (such a fuel, food, etc) available nearby. However I think there's more value to these devices when they start to report your location and the location of other devices nearby. Using that data means it's possible to build up a profile of traffic in the area on a real-time basis. Oh the value of the "swarm".

Then today I read this: http://www.engadget.com/2011/03/16/tomtom-puts-its-hd-traffic-service-data-in-a-browser-lets-every/

Looks like we're close to a better connected world in the car. However, I'd like to see this sort of interface being richer, more dynamic and more interactive. If we can get the device in your car, and the car next to yours reporting location and telemetry in real-time, then using the same technology, there's no reason why we can't also view it in real-time in the browser. How? Well, using WebSockets and the Web as the communication mechanism between you, the server and every other GPS device user on the road, we have an efficient communication mesh that is up to the task, with no barriers to use. Bring it on!

Online Grocery Shopping Revolution

I see a day when how we do our weekly grocery shopping on the Web will be radically different to how we do it today.

Today you probably have a list of items you bought last week, most likely stored online with your supermarket of choice. It's probably the first thing you bring up when it's time to conduct this weeks shop. The very vast majority of the items on that list are ideally staples that you will buy most weeks, perhaps afterwards scanning the "Specials" tab to see if there's anything on there enticing you to spend a few extra dollars.

I think WebSockets is radically going to change online grocery shopping in 3 special ways.

(1) It's a well known fact that you spend more money in-store than you do on-line. Why? Because of the advantage of visual stimulus, and retailers love it. There's a good reason why the milk and bread is at the back of the store, meaning you have to navigate past the impulse items to get to it. Retailers spent a lot of marketing dollars optimising their store layout and product placement to ensure they extract the maximum impulse shopping dollars from your wallet. Or perhaps hoping to visually remind you of an item you wanted but didn't have on your list as you walk past it.

This is an experience the retailers don't yet offer when you shop online. Online shopping today consists of a list of products, descriptions of each, pricing and perhaps a small thumbnail. You search for an item you want, check the price, and add it to your shopping basket. Or you let the system add it for you automatically based on last week's shop. So from the retailers perspective, how do they get back to capturing your impulse dollars? 

Well I can see a day when, using WebSockets for efficient delivery of data to the Web application you're using to conduct your weekly shop, you'll be immersed in a very real visualisation of an actual shopping aisle. You'll be able to "virtually" push your trolley down the aisle and see items you want to buy. At the same time the retailer can offer promotions and specials based on your past shopping habits, your current virtual aisle location, and your personal preferences. Retailers hold a lot of valuable data about loyalty card holders, and being able to leverage that with what you're currently "seeing" on the shelves is very powerful. WebSockets is going to drive this real-time interaction between you the customer, and the retailers desire for you to buy more as you shop.

(2) Imagine now you're the retailer and the day came when you had real-time visibility into exact inventory status and sales, the moment they are conducted. I can see a day when using a Web browser, the boss of Tesco or Wal-Mart will get a very real, very rich, very dynamic view into exactly what items are being sold in what stores and when. Forget overnight batch updates from stores. Forget clunky old terminals and old technology for viewing stock status per store, per town, per country. The time will come when Web technology will drive highly interactive, rich dashboards that provide everything the store bosses need to know, now. WebSockets can make that happen.

(3) Supply chain. RFID is starting to take off in terms of being able to track everything, everywhere across the retail landscape. That's a lot of information being shoveled around. Aggregating all that data via the Web and delivering it in another rich Web-based application provides a brilliant mechanism by which a stock controller can track all aspects of the supply chain. I can see a day when WebSockets will constitute the best technology choice for bringing together RFID tag readers as stock leaves the warehouse, gets trucked to the store, and is placed on local inventory.

Fancy that, the Web making tomorrow's grocery shopping experience richer for you, and more lucrative for the retailer. WebSockets are up to the task today.


Latency sucks

If you're at all like me, you hate waiting. When I get onto the train platform and the sign says the next train is in 6 minutes and not 1, I sigh. Whole minutes lost. When I get finally board, if the train is held at a red signal, I sigh, along with everyone else. We're talking seconds now. But it feels like forever.

If there is one thing that epitomises an intolerance to latency, it's market data, and your customers' appetite for it.

Getting market data to your customer in an efficient, low latency manner defines your business. Having to navigate all the technology obstacles between you and your customer makes the goal difficult. Proxy servers, firewalls, the Web, old client browser technologies; they're all there to make getting your business injected into your customers' business tough. Latency in your market data means risk. But at who's cost? Yours? Your customers? Do you risk having stale data on the market, at the risk of your own customers taking advantage of it and you? Or do you widen the spread to cover yourself, and risk now being uncompetitive?

What if you could stream your market data to your customer across the Web in real-time, with all these obstacles becoming transparent and no longer holding you back? What if you could do it not for only one customer, but hundreds of thousands, or even millions at a time? Using the browser they already have, traversing the same old Web, navigating obstacles already in place, for thousands of messages per second. What if this meant you could tighten the spread, knowing latency was lower, your risk lower, and your customers no longer had to wait? What if this made you more competitive in the market place? What if this was what redefined your business?

What if.....

Ponderings.....

I see a day when how we, and everything around us, interacts with the Web will be radically different to what we see and do today. I can see a time when things we thought impossible today, soon become tomorrow's reality. The Web is undergoing a revolution in terms of what's possible, and I wanted to share with you a little about what i see coming down the line.

HTTP served us well for close on 20 years, but the appetite for richer, more dynamic, real-time Internet applications means it's time the Web had a new superhero. Technology needs to advance to allow the Web to continue to keep pace with change. I believe that HTML5 is the technology that will pave tomorrow's Web, and nothing could be more important than the underlying communication fabric itself; WebSockets.

Given I work for a pioneer in HTML5 (specifically WebSocket) technology, I spend a great deal of my time evangelising the "what if" scenarios; the new things that organisations could now do to better connect their business with their customers, via the Web. Some of the ideas we throw around I am starting to see come to fruition today with early adopters within their respective markets. Other ideas, well, they are destined for a slightly more distant future.

Yet they're all still valid ideas. Ideas that maybe your closest competitor is going to jump on first. So I wanted to share a few with you via this blog, just so you had a head start.  :)