Recap: Node.js & Windows Azure Mobile Services Workshop and Hackathon

CINNUG had an event this past weekend and from what I heard from feedback it was a resounding success.  Glenn Block, Senior Program Manager at Microsoft for the Windows Azure SDK and Command Line Tools, came all the way out from Washington to teach us the fundamentals of Node.js and Windows Azure Mobile Services.  I have to admit the topic of the event was somewhat selfish on my part.  I’ve been wanting to learn more about Node.js and how it can be used with Windows Azure, so why not invite one of the folks driving that to come teach me, err… I mean us?

Glenn teaching at Node EventI really liked the approach that Glenn took with the workshop.  I’ll definitely being stealing imitating the style with events in the future.  In the past at some of the “hands on” events we have done, as well as the Windows Azure Boot Camps I’ve given, the approach we have taken as been one of give a presentation, show a demo and then let people loose on a lab.  As the the presenter you’d walk around the room and help out where needed.  Glenn’s approach was all coding all the time (well, not quite that, but close enough!).  Glenn had set up some notes hosted at GitHub that everyone could use to follow along.  As we went through the fundamentals we used small snippets of code we pulled direct from the notes and pasted into our text editors to run.  As he talked through how the code worked, or pointed out finer points of what made it unique to Node.js the attendees were right there with him running the code.  From time to time he’d say, “take a few minutes and play with that code and try different things” which gave us a chance to understand the code by playing with it rather than just knowing what he had provided ran.

Glenn even had some challenges where we were asked to take 20-30 minutes and produce something with Node.js using what we had learned.  These were pretty straight forward in that all the code you needed was something we had worked on already, but you had to understand how you could put them together to get the result he was asking for.

A captivated audience

This approach was great because it kept the attendees really engaged in what was going on.  When we do eyes front stuff for 40-50 minutes, then break for labs you can lose people to email or Words with Friends, but if everyone is working along side each other I think you get a lot more out of the event.  Several attendees remarked that this was one of our best special events yet!

Glenn went through some of the fundamentals of Node.js, starting with getting it installed.  We moved on to creating a web server (like two lines of code) and continuing on to working with files, event emitters and more.  We learned about the basics of NPM and using Express.  All of these were meant to get us comfortable with playing with Node code and give us starting points to continue our knowledge gathering after the event.

Glenn then gave a demo of Windows Azure web sites and how you can use the Windows Azure Commandline tools to create and manage the websites, along with hooking up continuous integration and pushes to your Windows Azure Website by pushing to a Git repository.  At the end of the workshop Glenn gave a quick demo of Windows Azure Mobile Services and how it is using Node.js on the server to allow developers to create a quick backend to their client and mobile applications.

We ended the day with a hackathon.  A few teams stayed after the official end of the workshop to use what they had learned.  One team worked on incorporating Mobile Services into their existing application as a proof of concept and another team started a Node.js application that could track the winners of ping pong games.  A few other folks tried things like hooking up a stream for currency exchange information, adding a Mobile Services score history to their Android game and creating a tic tack toe game with Node.js.  All pretty cool stuff!

I’d like to thank the folks who helped with the event: Phil Japikse, Charlie Retzler, Ben Von Handorf, Michael Collier and Parag Joshi.  I’d also like to thank the annual sponsors of CINNUG who donate to us so that we can give these events: Telerik, Cardinal, Cohesion, and Centric Consulting.  This event GitHub sponsored an AR Parrott Drone for our raffle, which was awesome!  The images above were taking by Michael Levy.

I’d most like to thank Glenn for coming out.  I’d started talking to Glenn about a trip out to Cincinnati many years ago and it was great to get him here.  The attendees that I spoke to all loved the event, so, thanks Glenn!

CINNUG is always looking for other ideas for special events, so if you have an idea of a technology you’d like to learn more about, please contact the directors with your ideas.