Monday 12 September 2011

Wednesday 11 May 2011

WebSockets to plumb your TV

Cisco look to be taking on Google (and others) with the launch of their Videoscape offering. Fantastic to see that it supports WebSockets too! Makes a lot of sense if you are after an efficient, standards based way to deliver real-time content from the Cloud and across the Web.

I can see a day when TVs are all IP based, resulting in much richer content, and a richer, more immersive experience than you're used to today. A time will soon come when you can watch TV programs on demand, see content and context aware ads targeting to you (no longer just generic ads splatter-gunned to the whole audience and hope a small percentage find it relevant) and perhaps even be able to conduct e-commerce at the same time. 

You could be watching prime time, get an ad displayed for a product that is related to the show, targeted to your profile, of real interest to you, with real-time reviews appearing alongside, coupled with a crowd-sourced sentiment for not only the show you're watching, but the product being advertised as well. Embedded will be an ability to click-to-purchase, knowing the purchased item is on it's way to you for delivery tomorrow morning. 

No reason to leave the sofa.


Thanks Krakow!

Slides from a recent talk I gave at the 33rd Degree Java Masters Conference in Krakow can be found here.

Wednesday 27 April 2011

Be the traffic - Part 2

http://www.engadget.com/2011/04/27/apple-officially-answers-questions-on-location-tracking-says-it/


"One of Apple's answers seems to disclose an extra bit of new information: "Apple is now collecting anonymous traffic data to build a crowd-sourced traffic database with the goal of providing iPhone users an improved traffic service in the next couple of years." 


Think I blogged about this concept a while ago. Fantastic to see crowd-sourced traffic data becoming a reality.

Tuesday 19 April 2011

Who cares...

I believe that the applicability for HTML5 WebSockets is very broad. Whilst today we're seeing considerable uptake in the next generation of RIAs being built, I can see a day very soon when WebSockets will be leveraged in a myriad of ways that we couldn't imagine with yesterday's Web.

So here is a random list of large software and infrastructure companies, beyond just the browser vendors, that I believe do (or should) care about HTML5 WebSockets in a big way, and why.

Google: The Google view of your world is everything on their servers, and your online life lived through the Chrome browser, Chromium (on a laptop), or Android (on a phone/tablet). Everything Google provides is essentially Web or Cloud based. Search, GMail, Google Docs, Maps, Latitude, Wave (before it was canned), Picasa, etc. If your Google life is to be lived within the browser, then surely WebSockets constitutes the best communication fabric to connect you with your data and your rich, dynamic, online collection of life tools. The reduction in network bandwidth and latency resulting from moving from HTTP polling to WebSockets means huge savings for the likes of Google hosting these sorts of apps. The ability to do data and application aggregation directly in the browser (or mobile device) rather than at a Portal server simplifies the architecture.

Apple: With the proliferation of iOS devices, and a dislike of Adobe Flash, Apple are making big noises in the HTML5 movement, with good reason. Connecting your iOS device with iTunes, MobileMe and onboard apps with associated data requires low latency, efficient, bi-directional connectivity. Whether you're tethered, WiFi or cellular, WebSockets is ideal for providing Web connectivity for these devices. Apple built a massive new data centre for a reason; to host a lot of your online world there.

Cisco: For two reasons. Because they own technologies like WebEx that would benefit from using HTML5 technologies to provide a rich in-browser experience without the need for plugins. And also because I believe WebSockets are "TCP for the Web". So if you're the biggest player in TCP infrastructure in town, you'd care about owning that space in and across the Cloud.

Messaging Vendors: Business (or Enterprise) Messaging for the Web is the next big thing for these guys. Being able to extend the reach of critical business messaging technologies out across the Web and across the Cloud will drive a new wave of business applications that provide a broad reach of business-to-business connectivity. Some or all of these vendors have already highlighted the fact that messaging for the Web is their new hot topic. The likes of Tibco, Informatica (29West), IBM and Solace could benefit from using WebSockets to extend the reach of their existing messaging systems to the Web and across the Cloud in a real-time, efficient manner. No more de-coupling at the web middleware layer and relying on HTTP. Reduced latency, reduced bandwidth, increased proliferation of vital business data.

Citrix: Extending the reach of business applications is big business. Doing it securely and across the Web is hard. It requires special software, plugins, client-side bits and pieces and lots of security configuration. Secure WebSockets extends the reach of any business application and it's associated communication protocol across the Web seamlessly, no plugins required. Drive those apps in-browser or on Desktop and let WebSockets be the technology that "placeshifts" the app and it's data to where you are, securely. Bye bye VPN, bye bye heavy thick client installs.

Microsoft: From a heritage of pushing back against adoption for open standards (I know, I used to work at Netscape during the first browser war), to a modern Microsoft who have one of the better HTML5 enabled browsers in IE9 and (preview) IE10. The dinosaur uses it's weight to drive forward an important new standard. If future generations of Office are going to be cloud-based, subscription models, driven through IE, then WebSockets will be the best piece of tarmac between you and your next Word doc or Powerpoint preso.

Social Networking: Don't even get me started on the amount of infrastructure Facebook, Twitter, Zynga, etc could all save if they moved to WebSockets. The dramatically improved, richer user experience they could deliver by sending all their data over WebSockets is just a bonus.

The list goes on. Those are just a few examples. However one constant fact remains; HTML5 WebSockets are going to be doing things on the Web that will revolutionise how we communicate tomorrow.

I believe the future for WebSockets is very bright, and it's happening now.

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.  :)