Anil Dash recently wrote an article on what he calls the Pushbutton Web, a catch-all term not dissimilar to AJAX that describes the popular concept of technology initiatives related to the real-time web. The assertion is that open protocols like PubSubHubbub are the future means by which we’ll get real-time updates, that is, the real-time web will no longer be the exclusive domain of semi-proprietary protocols like those used with Twitter and Friendfeed.
PubSubHubbub sets out a way for subscribers to be directly notified when there’s an update to a providers RSS or Atom feed. Here’s how it works:
- Firstly, the content provider (Any RSS source such as FeedBurner) requests a selected hub to respond to future notification pings about updated content (1);
- When a subscriber (choose your RSS reader) asks for content (2), the response (3) contains not only the newest articles but also some metadata informing the client that there is one or more hub that can be used for notifications;
- Subscribers subscribe to content updates by asking the designated hub for updates (4);
- As updates come in (5), they’re broadcast to interested subscribers (6).
Something key that I haven’t mentioned about the diagram above is that the lines represent HTTP requests and responses (blue are requests, green are responses). The dotted lines represent the “push” part of the protocol. Something that’s noticeable to anyone who’s ever had to do any networking or administration of a firewall is a rather naive assumption about the connectivity between the hub and the Subscriber. Now, if by “Subscriber” we’re talking about your typical Internet-connected workstation, then there’s something missing in this picture. That’s because the vast majority of Internet connected workstations connect via a firewall or a NAT device.
In practice, this translates to:
And trying to hunt down a response by the designers to this little snag reveals:
"I’m behind a NAT. Can I subscribe to a Hub? The hub can’t connect to me."AnonymousNo, PSHB is a server-to-server protocol. If you’re behind NAT, you’re not really a server. While we’ve kicked around ideas for optional PSHB extensions to do hanging gets ("long polling") and/or messagebox polling for such clients, it’s not in the core spec. The core spec is server-to-server only.
Looks like the final word on the matter. PSHB is not intended to be used by Internet connected workstation subscribers. How then does PSHB help us get closer to an open-standard Twitter or Friendfeed? In the short term, at least, it doesn’t.
So, to conclude, for all practical purposes, our “real-time-web” world is going to be one of piggy-backing the HTTP response, in it’s various incarnations. To the purist, this spells “hack” and PSHB clearly hasn’t compromised on this one. Hopefully firewall vendors out there will build in the ability to respect and forward incoming PSHB notifications at some point. Until then though, the Internet will use what’s simple, available and works—that one I will agree with Anil on.
Today is the penultimate day of my three day stint at Africa’s premiere Microsoft event. Things have improved significantly from the dull-and-wet environs that I stepped out of the plane into two days ago, to a very pleasant, warm and cloudless tropical playground. Too bad I haven’t had a chance to do any “fun in the sun”.
The event itself has been very well organised thus far, starting with a cool, hip and happening keynote and intro party on Sunday evening. Being the staid geek that I am though, and despite the extremely enticing party hats and masks, I left early.
Monday was a mad-rush to make very efficient use of my time, and not a moment was wasted on anything but sessions … one after another with on average, less than 20 minutes between each one. From sunrise to sunset, no time for lunch (lunch packs were provided for those whose information appetite overshadowed their gastric cravings). Sadly, my eagerness has since waned.
Let’s do a walk-through to date:
Monday, August 3rd
Starting the day, Brian Noyes told us about new tools and controls for WPF. Brian is clearly very sussed when it comes to the relatively new “dub-effs”, namely WF, WCF and WPF (anyone know what happened to CardSpace?) and I’m quite sure it doesn’t stop there. This demo-driven talk was thorough, and correct, and aimed just right re the audience. Problem is … I found myself nodding off. That may of course be an indication of my generally poor ability to focus—I’m going to give Brian the benefit of the doubt here.
Next up was Bart de Smet, with a talk on how to deal with the inevitable paradigm shift from Hertz to cores. I subscribe to Barts blog, but I have to admit that I usually set aside half a day to read any new entries, since it’s not exactly light reading. This guy is super-bright; we’re talking a young Richard Feynman with a sense of humour to match. In any case, a very technical subject was dealt with deftly, and we got to hear about all the various incarnations of Microsoft’s attempt to give us a developers a way of “spreading out” to multiple cores. The principle message here being that there’s no silver bullet (meh).
Ahmed Salijee then gave us a fairly comprehensive overview of what’s new in .NET 4.0. Apart from the new WF stuff, there wasn’t anything that I hadn’t already gleaned from a rather old PDC Anders intro that I’d watched quite some time ago. Ahmed was our first South African presenter, and held the flag high. I would say though that the pre-arranged code snippets made things a little difficult to follow, but given the huge amount he got through in the relatively short amount of time, it was a noble effort. At least everything worked!
Now jQuery is just so super-cool that I couldn’t resist the session by Hilton Giesenow on the same. Hilton is made for speaking and there wasn’t a moment where I found myself distracted. Everything was demo’d using the awesome Firebug to such an extent that at one point I was wondering if jQuery’s glory hadn’t been stolen by Firebug. Of course, all the demos happened in Firefox which made the presentation all the more satisfying. Hilton has awesome potential, but wow … things went pear-shaped. The little bits of code that he demo’d were hand-written, and well … didn’t work. There were regular appeals to the audience of “can someone see the problem here?”. Just a little bit of prep can make a world of difference, Hilton.
Tuesday, 4th August
I was scheduled to attend Brian Noyes’ talk on developing service oriented workflows, but since I’d forgotten my caffeine tablets at the hotel, I opted to try out Jayesh Mowjee’s non-dev talk. Jayesh endeavoured to inspire us with a Windows 7 security overview. Jayesh is a seriously dynamic speaker and could probably do some stand-up moonlighting; he’s that confident. He also knows his stuff. Being a dev at heart, I can’t say I was inspired to preach his message from mountain-tops—let that be no reflection on his abilities though. So what’s new in Windows 7 security? Erm … lots of cool audit trails that’ll keep your annually visiting Delloitte and Touche droids happy as pigs in the proverbial.
Up next: John deVadoss on Windows Azure and the Cloud. It’s funny how a small glitch in someone’s talk can ruin the whole thing—like not being able to connect to your box at Redmond so that you can do your key demo—the demo that makes or breaks your session. Someone should have told John that we have a virtual telecoms monopoly in South Africa that on Monday just so happened to be the victim of a wage strike. So do an rdesktop with 24-bit colour at high resolution over that thar Internet connection … at your peril. The content? I forget … still having flashes of embarrassment on Johns behalf, as his presentation went into an unrecoverable tail-spin.
After an extended break I attended Donald Farmers talk on a groundbreaking initiative, namely Gemini. This presentation was stellar. Donald went to great lengths to prepare a novel presentation for us—completely different from the somewhat tired bullet-point infested standard PowerPoint slide-set. He used a great metaphor of the evolution of a bicycle for everyone’s workhorse … Excel. Tandem bicycles represented Excel extended for workgroups, bicycles with shoe-spoked wheels talked to Excel being used as a square peg being pushed into a round hole, an envious kid looking on as friends ride their shiny new bikes past, communicated how everyone wants the latest-and-greatest incarnation of Excel. All in a retro setting, for effect … a great, fresh, unexpected approach.
Oh, and the content was good too. I got excited by this stuff because it promises to address a pervasive issue that’s close to home. It’s the story of how in any organisation, the systems story doesn’t end at those systems that are looked after by us IT people. There are a myriad systems out there that we don’t know about. They may be mentioned idly in conversation—if we’re lucky. They may be mentioned when they fail, and, unbeknownst to any IT staff, just happen to support a critical function in the business. They live inside Excel, on a business-persons desktop. Gemini promises to address this issue—make it maintainable, sustainable and monitor it. Instead of chastising business for building un-maintainable spreadsheets, it supports this practice, but fills in the gaps, by providing an interactive OLAP-like experience, right inside Excel, and by tracking data that’s used by business through integration with Reporting Services. An emphatic thumbs-up to Donald for what I’m sure we will see become the next killer app. Excel hasn’t seen an enhancement this momentous to date.
Now, that’s not really everyone, it’s just everyone who made an impression on me. I do get the impression though that TechEd Africa is seen as kind of a presenters sandbox. This is because, in general, there was somewhat of a lackadaisical approach to presentation from the overseas presenters (that is, except for Donald and Bart)—almost as if it didn’t matter too much if there were screw-ups … it’s Africa after all. The basics just weren’t covered—like doing a little research into the nature of Internet connectivity in South Africa (it’s nothing like what one gets in the States), and not hinging the better part of your presentation on an RDP session to some server at Redmond without testing it beforehand. That’s just plain unprofessional.
In general there was also a disparity in quality of presentation between overseas presenters and local presenters—for that reason I tended to favour the Americans when choosing sessions. Eben de Wit and his entourage could have geared up the pre-keynote prep before inflicting numerous demo failures on the audience. I didn’t appreciate the anti-Linux gag when demo’ing the systems management stuff either, everything about Microsoft’s recent culture shift says that we’ve all moved on from juvenile sniping.
Is there anyone I haven’t managed to slag off yet? Seriously though, all-in-all a pretty well organised affair, even though the general quality of presentations could be upped a notch. Apart from Donald’s talk I can’t really say that I learned anything earth-shatteringly new … well … I did get to read about booting VHD’s from Windows 7 on Scott Hanselman’s blog during an inter-session break :). In fairness, the jury isn’t out—perhaps today I’ll be completely blown away by some newfangled technology that allows you to remote to a Windows server over a flaky 54kbps connection using 10000:1 fractal compression whilst making things seem like you’re on the LAN … but I doubt it.
UPDATE: The ending keynote by Arthur Goldstuck was definitely worthwhile, otherwise Lynn Langits talk on migrating applications to Windows 7 was enlightening. Morne Blakes “level 400″ talk “Case of the Unexplained 3″ (Mimicing Mark Russinovich’s notable series) left a whole lot to be desired and definitely wasn’t as advanced as it promised to be (pretty much everything he said I already knew).