I’ve just returned to the UK after a week in Silicon Valley at a Microsoft event. The event was called SocialFest 2010, and was a competition designed to show the new capabilities of Sharepoint 2010. Seven teams from around the world were invited to take part, and to produce a solution atop Sharepoint 2010.
After a week of 14 hour days, more sugar and caffeine than is strictly healthy, one trip to the emergency room, and a metric ton of tobacco, we came out on top and brought home the silverware.
Our entry was an over-ambitious and unwieldy affair: we wanted to synchronise content between different instances of Sharepoint, each behind their own corporate firewall, using the collaboration features of Huddle to provide the heavy lifting and identity federation.
The hack was a success, and we now have a gorgeous proof-of-concept showing how content in Sharepoint can be displayed on LinkedIn, Xing, Ning, Huddle, the iPhone, and whatever other platforms we decide to target while maintaining enterprise auditing, compliance, and identity management. It’s kinda shiny.
Alt.Net Has The Edge
So how did we manage to pull it all off in such a short space of time? We cheated, and used open-source, lightweight tools that get out of the way and let us focus on creating something cool.
OAuth WRAP > SAML
OAuth WRAP is a draft standard, backed by MicroGooHooBook, for secure-token based authentication. It’s a lot like OAuth without the layers of cleverness that make OAuth such a pain.
It allows for arbitrary claims to be presented as part of a token, so we can build claims-based systems on simple web technologies, in a format that you can grok in about 5 minutes. I expect WRAP to make huge strides this year, and we’re betting heavily on it in-house. In fact, we’re replacing all our existing authentication schemes with WRAP tokens.
Mesh4N > Sync Framework
The Microsoft Sync Framework is a lovely piece of engineering that will fry your brains if you spend more than an hour playing with it. We spent four days trying to get a demo working before the event, and then gave up. Mesh4N is an open-source framework that implements the feed-sync protocol. Development seems to have halted on mesh4n in mid-2006, but we’ve fixed a couple of bugs, and we’ll be actively contributing back to the project as soon as we’ve tidied up our code and figured out the right design for our extensions.
OpenRasta > WCF
Seriously, dude. It turns out that automated tasks in Sharepoint (Custom timer jobs) can’t have XML config, so WCF’s point-and-click service references fail hard. We thought about writing all the config by hand, then we came to our senses and used OpenRasta instead. OpenRasta literally saved the project in a tight moment. I’ll say it again: OpenRasta is the *only* tool worth considering if you need to build a lightweight RESTful web service on the .Net platform.
jtp and his pneumonia
Sharepoint 2010 is teh shiny
That said, I had a much better experience with Sharepoint than I had expected. SharePoint development, like BizTalk dev, is famously awful – there is an elite cadre of battle-scarred veterans who work on such things, and they don’t talk about their experiences in the light of day.
2010 seems to have fixed a lot of the issues that made development a nightmare – Visual Studio now supports one-click deploy and debug; there’s been a lot of thought put into packaging and managing extensions; you can now develop web-parts entirely in Silverlight for extra whizz-bangery; and so on, and so forth.
In summation, the event was a hoot, though stressful. I’d like to thank the people at Microsoft who invited us out there in the first place, particularly Lynda Ting for organising the whole thing, and for taking Jimmy Tight Pants to hospital when he nearly died from pneumonia; and Rob Howard – program manager for Sharepoint – who was one of the most knowlegeable and down-to-earth Microsofties I’ve ever met.
What’s next for our hack? You will have to ask our marketing team, email@example.com. Apparently, it’s all very hush-hush, but you can see us at the Enterprise 2.0 conference hawking our wares.