The Itch
In 2008, I was bitten by a bug when I was privileged to attend TechEd.
At TechEd I discovered what it was like to be surrounded by hundreds of other developers all taking part in several days of learning and having the opportunity to pose questions directly to the experts.
I tried scratching the itch since by attending TechDays Canada in 2009 and 2010.
I help out with the Moncton Developer User Group and attend other user groups in the local area but the itch remains.
In 2011 I started looking around to see if there would be some way that I could make it to one of these major events again (Visual Studio Live!, Build, or TechEd) but, with a young family, the funds were not available.
The Opportunity
In the evening of Tuesday, April 24th, 2012 I was browsing my twitter feed and noticed that there was a contest going on where it was possible to win a free pass to Visual Studio Live! in New York City.
I spent some of the evening researching the site to find out what was involved in the contest and to try and determine if it was legit.
The contest seemed straightforward and everything seemed to be on the level so the next day I informed my colleagues of the contest and then entered it myself.
On Monday, April 30th I was honored to discover that the SilverlightShow had awarded me with a free pass to Visual Studio Live! in New York City!
Arrival in New York City...
My wife and I flew out of Moncton, New Brunswick on Sunday morning, May 13th.
After a transfer in Montreal, Quebec we touched down at Newark International Airport that same afternoon.
We took the SkyTrain (free) from the Newark International Airport and jumped on a train going to Penn Station in Manhattan ($12.50 per ticket).
When we arrived at Penn Station, my wife and I each picked up a 7-day Metro pass ($29 each) for unlimited subway/bus rides in New York City. This pass would be our primary means of transportation while in town.
We then jumped on the subway and, with the help of some friendly people in the subway car, quickly determined that we were heading in the wrong direction. We got off at the next stop and then jumped on the subway train heading in the proper direction.
After a while we arrived at our desired subway stop and then hopped on a bus that brought us to within about 6 blocks of our hotel where we walked the rest of the way.
The Visual Studio Live! Conference...
Monday, May 14th was the Visual Studio Live! pre-conference workshops and I decided that the SQL session would be of the most benefit to me.
There was a lot of very good information presented during the SQL session including talk about a new tool called SQL Server Data Tools (SSDT).
SSDT is not intended to replace SQL Server Management Studio but will help developers in that it allows day-to-day SQL operations to be performed right in Visual Studio.
The SQL session included discussions on new and improved T-SQL functionality as well as talk about Business Intelligence.
The information presented was highly beneficial with some information that I can act on as soon as I get back and other information that I will need to dig into further.
Tuesday was the first day of the conference and I attended all the sessions that I could related to Windows 8 as I tried to grasp the technology that is upon us.
These sessions were very helpful in gaining an understanding of Windows 8 and especially how WinRT and the desktop mode fit together.
Some of the key takeaways were:
- A lot of the xaml objects (text boxes, etc) are not CLR objects anymore. They are now part of the Windows core which is why you can have the same objects regardless of the programming language used
- WinRT is a subset of .NET 4.5 (unlike Silverlight which was its own version of .NET)
- The WinRT components are found in the Windows.* namespace while the .NET components are found in the System.* namespace
- Anything that could take longer than 10 milliseconds to complete has been implemented in an asynchronous manner
- Metro apps get packaged into an .apx file (a renamed zip)
One of the bigger takeaways I received from this conference with respect to WinRT and Metro is that Metro is a set of style guidelines and not necessarily WinRT.
In another words, right now when you switch between the Metro UI version of Windows 8 and the desktop mode, it is usually a bit jarring because of the style differences of the two.
There will likely continue to be two modes in Windows (metro and desktop) for the foreseeable future but the theory (speculation) of some during the conference is that, as time goes by, software developers will modify their desktop apps to look more like metro apps.
On Wednesday and Thursday of the conference I explored various topics including Mono and Visual Studio 2012 / .NET 4.5.
Mono was an interesting talk where you can use C# / .NET to write iOS and Android apps.
These guys were responsible for bringing Silverlight (Moonlight) to Linux but the issue with that is that they would be given the finished version of Silverlight and then they would get started working on implementing those features in Moonlight. The problem with this approach is that Moonlight was always a year or so behind the features of Silverlight.
Now what they do with Mono is simply remove a .NET component, make sure everything still works and then they ship with support for the latest version of .NET / C#. When .NET / C# is ready to go, Mono will be able to support the most recent version very quickly.
Their approach with Mono is interesting...
Rather than write one API that targets all devices but have to take a lowest common denominator approach, they decided to write one API for each device (Monotouch for iOS, Monodroid for Android, etc).
If you want to target multiple devices, you write your UI specific logic with the API of the device you want to target and have the business logic shared between each codebase.
The following statement is my personal belief based on my experience as the technology around us keeps changing (e.g. Windows Forms to WPF to WinRT)...
The separation of UI from business logic is something I see as a need not just for for apps that will target various devices and operating systems but also for general apps allowing you to keep the business logic and simply upgrade the UI when the next technology comes along.
The separation of UI from business logic does not only save development time, and therefor money, but also leads to a faster turn around time allowing software to get to market faster to capitalize on opportunities.
When your project is compiled for the device, only the .NET libraries that are used in your project (including dependencies) will be included.
Mono seems to be interesting and is something that I’m going to look more into when I get back because it would be useful to leverage my C# skills and existing codebase.
From the Visual Studio 2012 / .NET 4.5 sessions, the added IntelliSense support in Visual Studio is nice (just watch out for the DocType you use because, based on what I saw during a demo, the IntelliSense is based on the DocType when editing an aspx file - just in case you’re looking for the HTML5 IntelliSense and not seeing it)
Other than that, the biggest takeaways were the added asynchronous support in .NET 4.5 via the async and await keywords and the WebSocket support that has been built into IIS 8.
Overall, I was very impressed with this conference and, unfortunately, like all good things it was over far too quickly.
The content delivered was high quality and the speakers very knowledgeable.
I highly recommend the Visual Studio Live! conference to other developers.
Our final day in New York City...
My wife and I had decided to take advantage of our time in the Big Apple and booked an extra night’s stay at our hotel so that we could do some sightseeing before heading back home.
On Friday my wife and I took the PATH train from Manhattan to New Jersey in search for Carlos Bakery (from the TV show The Cake Boss).
While waiting in line to get in the bakery, we met a very nice couple from Hong Kong who tried to convince us to go visit their city.
Buddy even drove by waving to the crowd but things happened so quick that I didn’t have a chance to take his picture. The following is a picture of the bakery:
After purchasing several goodies from Carlos Bakery we jumped on the train and headed back into Manhattan.
We originally intended to go up the Empire State building but when we found out how much it costs we decided to walk over to Grand Central Station to see it instead.
After Grand Central Station we jumped back on the subway to Lower Manhattan’s financial district. There was a long line of people in front of the bull to get their pictures taken so my wife and I decided to get our pictures from the other side :P
Conclusion
This was a very informative trip with a large amount of information to take in.
I will be digging deeper into the information learned for weeks to come :)
New York City proved to be a very nice city with friendly people and I hope to get back at some point in the future.
The itch to get back to a major developer conference has been scratched but I don’t think it’s going away. I will be looking for ways to attend future developer events at every given opportunity.
This trip would not have been possible for my wife and I without the SilverLightShow and Visual Studio Live!’s contest for a fee pass to Visual Studio Live! I appreciate it very much. Thank you!
My employer, DOVICO Software, has not only put up with me for almost 11 years now but was also very gracious and helped pay some of the costs of this trip (my plane ticket and 5 of the 6 days of the hotel stay). Thank you very much for your generosity!
Our friends, Jacques and Chantal, helped us out by looking after our girls while we ventured to the Big Apple. This was a huge benefit to us and we really appreciated it even though I did miss the girls terribly. Thank you very much guys :)
Finally, I want to give a special thanks to my wife for joining me on this trip and sharing in the experience with me. The trip wouldn’t have been the same without you.