There’s so much excitement about real-time push technologies that quite often, in fact almost always, the benefits of using push are overlooked, forgotten, or simply not known. The technology excites programmers who want to use it, want to know how it works or want to write their own push framework, user experience (UX) professionals who understand how this paradigm shift will massively benefit users, general technologists who can see how the addition of such technology can improve an application or product and entrepreneurs who have the vision to see ground breaking ways of using push.
(More …)
Latest Updates: real-time data RSS
-
The benefits of Real-Time Push-Once
Phil Leggetter
-
Kwwika Silverlight API - Chat Example
Phil Leggetter
This video shows a chat application built using the Kwwika JavaScript API and a chat application built using the Kwwika Silverlight API. Both applications can communicate with each other in real-time using the Kwwika service.
We'll release the source code for both applications in the very near future. -
Defining the Kwwika API
Phil Leggetter
Update: Hang on a minute. You’ve not explained what Kwwika is!
In a really informative chat using Nurph, which has been really useful in getting feedback, it was pointed out to me by @rythie and @NeilCauldwell that I need to explain what problem Kwwika is trying to solve before asking what the API should look like.Why do we need Kwwika?
There are loads of real-time technologies available at the moment. Almost all of them have a reasonable learning curve and require a developer to sort out server infrastructure, perform installation, do all sort of configuration and then finally get around to writing an application. In the same way that a lot of developers or organisations have moved into managed hosting for their websites, or more recently moved a lot of their IT infrastructure into the Cloud, Kwwika offers a managed and scalable real-time infrastructure so you can concentrate on building your Real-Time Rich Internet Application.
The way I’m describing Kwwika at the moment is:
Kwwika is a real-time web data sharing platform with APIs in JavaScript, Silveright, .NET, Java and C.
An example of where Kwwika could be used
Martin Tyler recently wrote a blog post that provides a great example of where a service like Kwwika would have been really useful. In the situation described in the blog post CricInfo could simply publish their cricket updates to their defined topic in Kwwika, maybe /CRICINFO/GAMES/INDIA-SOUTHAFRICA/, from a single server. They would then add a small piece of script to their game web page that subscribes to this topic and updates that web page whenever any new data is available. Users would see the real-time in-page updates and would no longer continue to hit “Refresh” to see if the score had updated. Kwwika would instead take the hit of the data transfer and push the live updates to the web page. This would take a massive load off of the CricInfo server and clearly save them a lot of time and infrastructure costs.
How will I use Kwwika?
When we launch Kwwika all you’ll need to do to use the service is:
- Register for Kwwika via a sign up page
- Define your topics that you would like to publish data to in the Kwwika dashboard e.g. /PhilLeggetter/Kwwika
- Find some topics with information on that you are interested in using e.g. /BBC/NEWS/SPORT/FOOTBALL (doesn’t exist – just an example – but how cool would that be!)
- Embed the Kwwika <script> tag in your web application or download the API for your chosen technology
- Start developing your Real-Time Rich Internet Application
I think the great thing about this is that developers just use the Kwwika service and only ever need to care about developing their own application. Kwwika provides the server infrastructure so you don’t have to.
The Kwwika API
I’m in the middle of defining the Kwwika API and thought this would be a great opportunity to get some early feedback. We plan to have initial releases of the API for the following technologies:
- JavaScript
- Java
- .NET
- Silverlight
- C
The API is really simple. It has the following functionality:
- Connect
- Receive connection events
- Subscribe for data
- Receive subscription events such as errors and data updates
- Publish data
- Receive data publishing events (publish success or failure)
- Disconnect
At the moment we have two ways of thinking about the API. The following two examples are using the JavaScript API but we plan to make the APIs virtually identical between technologies with the only differences down to following the language specific standards.
(More …) -
Google have integrated Facebook fan page status messages into latest results
Phil Leggetter
According to this article by Read Write Web, Bing have exclusive access to the data created by Facebook user status updates and Google have access to the data from Facebook fan page updates. It’s interesting to see that this data is so highly valued that there is clearly a bidding war over access to certain types of data. Which is more valuable?
As of today, Facebook Fan Page status updates will begin appearing in Google search results, according to a tweet by Google. The announcement means that we will begin seeing results from the nearly 3 million fan pages, but not from the more than 400 million users.
-
Why Comet is key to the Truly Real-Time Web
Phil Leggetter
A lot of websites use HTTP Polling to update data on on their website or application without the need for the user refreshing the website. This is clearly better than a purely static page, but during the time between each poll the data on the page has the potential of being out of date (stale) so to make a decision based on the information on a potentially stale page can be a risky one.
The normal example given to show the benefits of using Comet to achieve full HTTP streaming and the importance of non-stale data is of a trader making a trade on an out of date price. Another example is given where a person places a bet using odds that are on screen but do not match up with the odds in the betting system.
I just read a post on Comet Daily about a company called Frozen Mountain who have just released a component that adds Comet Support for IIS. Along with this they’ve released a video which doesn’t cover the standard example.
(More …) -
Which Rich Internet Application Technology will dominate?
Phil Leggetter
I’ve been a member of the RIA Developers Group on LinkedIn for a short while now and the other day Patrick Bay posted a link to an interesting article on Computer Weekly about the prominence of RIAs. A few comments were posted and then Patrick questioned which RIAs would “bubble to the top”.
I think the UI revolution’s already here; now we see which ones bubble to the top!
This got me thinking about the criteria that may determine which RIA technology would be most successful.
I think there are a number of things that will determine which one will ultimately win, or at least become the dominant choice. At the moment I can think of three categories; Technology buy-in, Development environment and Data access capabilities and choice.
(More …) -
A Real Time Rich Internet Application (RTRIA) Example
Phil Leggetter
I’ve just had an article published in the latest UK MSDN Flash newsletter on How to consume real-time data in a Silverlight RIA. As part of writing up the article I developed a sample Real-Time Rich Internet Application (RTRIA) that consumes real-time data from the Twitter real-time data feed. I also put together my first ever screencast. So, you can start by getting hold of the code or watching the screencast.
The Code
First, and this is Important:
To get the sample application to stream real-time data from the Twitter real-time feed you will need to use Fiddler to trick Silverlight into allowing a crossdomain Web Request.Now that you are aware of that, you will also need the Silverlight development environment. You can get everything you need via the Silverlight Getting Started page.
You’ve now got everything you need to run the RTRIA example. To run the sample application you should set the MSDNFlashRTRIAExample.Web project as the startup project and the MSDNFlashRTRIAExampleTestPage.html page as the startup page.

Setting up the solution to run the application
If you’d like to find out a bit more about the code then read on. If you’d rather jump straight into the code you can download it from the TweetStreamer Google Code project.
(More …) -
Using Fiddler to trick Silverlight into allowing a crossdomain Web Request
Phil Leggetter
If you are trying to make a web request from a Silverlight application the first thing the Silverlight runtime will do is request a security policy file (see Network Security Access Restrictions in Silverlight) from the root of the server you are making your web request to. This happens if you are making your request using the HttpWebRequest or WebClient class. If the Silverlight runtime fails to get a security policy file your web request will fail. If your Silverlight application relies on this web request then you are going to need to contact the server owner and get them to add a security file but until then you can use the Fiddler HTTP Proxy to trick the Silverlight runtime into believing that it does have permission to make the request.
(More …) -
Real-Time Rich Internet Applications (RTRIA)
Phil Leggetter
Real-Time Rich Internet Applications (RTRIAs) are RIAs that consume and display real-time data. They have all the characteristics of an RIA with the added feature that data is being pushed to them in real-time as soon as it becomes available. This is in contrast to the current polling solution employed by most RIAs or other web applications that display updating data.
I mentioned RTRIAs for the first time back in April 2009 in a post called “What is the real-time web” on the Caplin Systems Platformability blog, and since then there has been a real-time web explosion. The “real-time web” is now the buzz phrase around the Internet that everybody is jumping on. Back in April I set up a Google Alert for the term “real-time web”. Back then I got maybe one Google Alert a day for this term, probably less. Now, I get at least two dense emails a day from Google with people using the term for all sorts of things; real-time web stats, real-time analytics, real-time search, rssCloud, pubsubhubbub, the list goes on. This is not the real-time web! Whilst some of the things on this list will help the web become truly real-time (rssCloud and pubsubhubbub may even form the back bone), none of these things give the user a truly real-time web experience.













