Looking Back at PDC 2009 – General Thoughts

November 23, 2009

So coming home from PDC turned out to be much different than expected…my wife has been bedridden with a cold since I stepped back into the house on Friday night. I was hoping to reflect a lot more on PDC over the weekend, but alas that was not to be (although it was nice to spend so much time with my daughter after being gone for a week.)

I got a lot out of PDC, but like a lot of things, it may not have been what was directly intended to be delivered, but rather what was between the lines that mattered. It was hard to get a solid track for session attendance – I tended to be all over the place…I think my next conference will have me going to a very narrow-focused set of sessions and then catching the videos for what I missed. Regardless, having the videos available is handy, and I’ve already watched several for sessions that I had to skip for one reason or another.

From a high-level, my thoughts are as follows:

Azure: Raymond Chen once blogged about the true measure of when a project is “real” being when stakeholders start talking more about what it won’t do than about what it will do. Azure seems to be there. A lot of the general-high-level functionality is in place, and they’ve managed to plugged some significant holes in very short-order (eg. single sign-on…) “Dallas” is big, and I think that once I am able to cobble together some demos, some people I know will find it irresistible. The general place where Azure lives and/or will live is in the ability to scale ASP.Net applications up to Azure (an interesting idea is to keep existing data centers, but use Azure for redundancy and for elastic scaling…) and soon to be able to revert Azure applications back down to ASP.Net and private data centers.

Silverlight: With the enhanced LOB features in SL4 (printing, right-click context menus, shared assemblies, etc.) and especially with the ability to run standalone SL with enhanced trust, the line between SL and WPF is getting incredibly blurry. Bottom line, Silverlight continues to be a platform worthy of the time spent becoming familiar with it.

Parallelism: The content here was not really new – Moore’s law seems to still be predicting 80 core machines in the not-too-distant future. The new .Net 4 support for parallelism builds nicely on top of what is already in the framework, but unfortunately there’s still nothing to replace the requisite “InvokeRequired” boilerplate checks at the presentation layer. This becomes problematic when a layer outside of the presentation layer gets refactored to use threading…the UI layer isn’t written expecting it, resulting in a runtime exception. Ideas involving an application-level attribute or other high-level approach to baking the thread marshaling code into the UI framework controls themselves would probably go a long way, and conversely, the absence thereof will probably stifle the extensive use of parallelism in real-world applications, due to the perceived complications that its inclusion introduce.

Data: Put simply – goodbye LINQ-to-SQL. With EF4, there’s really not much need anymore. The ability to come at data from either model-first, code-first, or database first is really helpful…from my perspective, when doing “Greenfield development“, the Model is My Truth, and both the code and the database are simply implementation artifacts.

What was missing: Ray Ozzie’s talk of “Three Screens and the Cloud” began to ring hollow when it became clear that Windows Mobile was taking a back-seat at this conference…no talk of WM7, Silverlight Mobile, etc. What happened to the “little screen?” Just saying “we don’t have it yet, but we’re working on it and just wait…it’s going to be awesome” would have gone a long way. Not mentioning it actually turned it into the 800-lb gorilla in the room.

Also, what happened to the Live Services story? What about Live Mesh? It looks like these topics are being taken back into the garage for a retune, and their inclusion in last year’s introduction of the Azure stack may have been inadvertent noise. I have found Mesh in particular to be a very useful tool, but its lack of any relationship whatsoever to SkyDrive is perplexing.

Finally, if this year is any indication (and it may not be), it looks like the PDC may be being positioned for a new identity. With other conferences like Mix, SQL-PASS, and SharePoint-specific conferences, among others, it may be time to make TechEd IT-specific and bring TechEd’s developer content into PDC. I felt the “split approach” taken by TechEd in 2008 (1 week for dev, 1 week for IT) worked out nicely. Time will tell…

As I said, it was a good conference for many reasons for me. In addition to the show contents, there were interesting networking experiences. I’ll be posting about individual technologies in the coming few days.


I’m Off to PDC (or Contracting Encephalitis)

November 15, 2009

I’m off to this year’s PDC event in Los Angeles. From the logo, it looks like attending this conference will result in horrific brain swelling. It’ll be several days of immersion into the latest and upcoming Microsoft development stack. This year, I’m particularly interested in Silverlight, SharePoint 14/2010, Azure, and what’s new in parallelism. I’m also looking forward to being able to engage with representatives from JetBrains, DevExpress, and RedGate (especially in regards to the exciting new things they are doing with Reflector Pro!) to discuss their productivity tools and their inclusion in Visual Studio 2010.

I’ll be at the MSDev Booth on Wednesday from 12-12:45 as part of the Partner program, basically to let people know of my and Burntsand’s success stories with the Microsoft tools and products.


MaxiVista is back!

September 16, 2009

It always felt a little odd that a product called MaxiVista was (somewhat) incompatible with Microsoft’s Vista OS. However, after a bit of a wait, the folks at MaxiVista seem to have overcome their technical hurdles and the product is back with MaxiVista v4.

For those who may be unfamiliar, MaxiVista is a software application/driver that allows:

  • a remote PC to act as a second (or third, or fourth) monitor
  • remote control (K/M) of a second PC
  • clipboard sharing between PCs
  • display cloning between PCs

This all takes place over a regular LAN connection. In the past, I have used this software while traveling to allow me to use a low-end laptop to act as a secondary display to my main development PC, which is a lot more convenient than trying to travel with an actual display, LCD or otherwise. All you do is run a small Viewer application on the “slave machine” (no installer required) and the main PC can discover it and make use of it.

The product supports Windows Vista and Windows 7 in both 32 and 64-bit configurations (and of course still supports XP, 2003, 2000, etc.)

If you are as much of a fan of using multiple-monitors as I am, MaxiVista is definitely worth a look. They do offer a time and run-limited free trial version.


Vermont Code Camp Content

September 14, 2009

 

Yesterday was the Vermont .Net User Group’s first Code Camp. They put on one heck of an inaugural event. It was well organized, well attended, the facility (Kalkin Hall at the University of Vermont) was great, and they had great sponsorship. All in all, Julie Lerman and her team did a fantastic job.

Because there was so much interest, presenters were mostly limited to just one presentation, so I condensed my Silverlight for Business presentation so I could include new content for RIA Services. I have uploaded the presentation materials, and they are available here.

Again, many thanks to the event organizers and the sponsors!


Silverlight Research Links Updated

August 11, 2009

I have updated my collection of Silverlight Research materials that I have been using to back my Silverlight
presentations. The links (now the graphic makes sense, right?) have been categorized into “logical” groups (your mileage may vary) and a section has been added for several books that I consider good references on the topic. Anyway, the content can be found here. Enjoy!


New England VB Professionals Presentation Overview

August 7, 2009

I had another chance to get in front of a User Group – this time the New England Visual Basic Professionals to discuss Silverlight for Business. I changed up the presentation a bit, removing the discussion of Authentication and Membership and replacing it with a quick discussion/overview of .Net RIA Services. It also was my first opportunity to show some of the new features and tools available in the recently-released Silverlight 3.

I have posted the latest version of the presentation slides, code, and “script.” As usual, the script is an interactive PDF version of the mind-map that I use, and it includes hyperlinks to the references for the pertinent topics covered in the presentation. To use it, start at 1:00 and work through the topics in a clockwise rotation. The content is available here.

I went through a lot of research material getting ready for this presentation, and I will be updating and organizing the Silverlight Research section of my SkyDrive storage area to reflect that over the next couple of days.

Many thanks to NEVB’s Andrew Novick, as well as Dean Serrentino and Teresa DeLuca from the New England ASP.NET Professionals User Group for their help and hospitality.


NH.Net User Group Presentation Overview

April 17, 2009

I have to say that I had an absolute blast presenting at the NH .Net User Group last night. It was a good crowd that seemed genuinely interested in the topic and threw up some good questions. I only angered the “demo gods” once, but was able to dig out and keep to my plan for what I wanted to cover in the presentation. With the 2 hour format, I was actually able to cover more ground than I had elsewhere, stating with a bit of “Hello World” and running all the way through authentication and the HTML Bridge.

I have posted the latest version of the presentation slides, code, and “script.” As usual, the script is an interactive PDF version of the mind-map that I use, and it includes hyperlinks to the references for the pertinent topics covered in the presentation. To use it, start at 1:00 and work through the topics in a clockwise rotation. The content is available here.

My one glitch occurred during the Authentication segment – to date the most fragile piece of the whole event. I got aggressive and uncommented too much out of the web.config too early. The result was that I had set things up for Forms Authentication, with Anonymous access disabled. When I went to add the web service reference from the Silverlight Client project, the tool failed to obtain information about the service (because it was trying to request information from the server anonymously.) Once I commented out the anonymous restriction and recompiled, things were working fine.

Now it is time to set things up for Silverlight 3 – I hope to do something at the upcoming Connecticut Code Camp on June 13, which is likely to be my next presentation opportunity.

Many thanks to the audience and especially to Pat Tormey who runs the NH group.

 


New Hampshire .Net User Group

April 4, 2009

At the Boston Code Camp last week I got to talking with Pat Tormey who runs the NH .Net User Group and he asked if I could bring my Silverlight talk to their April meeting. After he sat through the presentation he was still interested, so it looks like I’ll be holding off on changing the presentation content to Silverlight 3 for a couple more weeks.

I’m really looking forward to this talk. My introduction to the User Group Communities came through the NH .Net User group, back before my daughter was born and when it was meeting in Tyngsboro, MA. I saw some great presentations there, and I think I owe Sam Gentile an apology or two as I asked him about any potential impact to video playback that could be caused by the unpredictable timing of the .Net framework’s GC collections. I got to see some really good speakers talk about a wide range of topics dating back to the beginnings of .Net. It is a great opportunity to try to give something back to this group.

I’ll be presenting on Wednesday, April 15th at 6:30 PM at the Eaton Richmond Center at Daniel Webster College in Nashua (directions.) There’s usually a gathering at Shorty’s off of Exit 6 (next to the Home Depot) in Nashua following these events.


Framework Design Guidelines Second Edition Released

December 1, 2008


 

Not exactly breaking news, but the second edition of Krzysztof Cwalina and Brad AbramsFramework Design Guidelines book has been released by Addison-Wesley Professional. This book falls into the “must read” category for any .Net developer, whether they are a member of a large or small team, working on client or server code.

The Guidelines have evolved over time as Microsoft itself has been laying out the .Net Framework, its assemblies, namespaces, classes and other such material. As such, it serves on several levels. First, it provides valuable insight into how and why things are organized the way they are in the .Net framework. Second, it provides invaluable guidance to .Net developers based on lessons learned “in the real world” as to how to approach the layout and content of your own code, not only for intra-team collaboration and external publication, but also for future understanding and reuse of your own code. Not many developers get to work on projects with the size and scope of the .Net framework, so this kind of insight and transparency is rare and extremely valuable.

The book is well written and includes advice in the form of Do, Don’t, Consider, Avoid, etc. with examples mostly in C# but also some VB.Net and other languages mixed in. Also notable are sidebars from various prominent members of the development community adding to the explanation of a presented topic.

My only criticism of the second edition is that the editing process was not thorough enough. Several section references and “later content” descriptions are built around the layout of the first edition of the book (the technical content itself appears complete and accurate.) If you are reading it and appear to have gotten lost when looking for some referenced content, consult the TOC or the Index and the correct information should be easy enough to locate.

The book can be ordered here.


Visual Studio Modeling PowerToys Addin

November 7, 2008

Until the release of Visual Studio 2010 and the Oslo Modeling platform, dealing with your code visually is either the province of 3rd party tools or you can choose to use the Class Diagram tool in the current edition of Visual Studio.

Until recently I had been favoring the latter approach. Technically, I still am, but I just stumbled into an addin that greatly extends the reach of the tool. PowerToys for the Class Designer and Distributed System Designer is freely available from CodePlex.

After installation, the Class Diagram tool is enhanced with several new features, including:

  • Pan/Zoom window for the Class Diagram (similar to Visio and other applications)
  • Find in diagram search
  • Use the Windows Forms designer/layout commands to align modeling elements
  • Floating property grid for your class
  • IE-like mouse scrolling
  • Double-click to create comments in the diagram
  • Optionally display a positioning-grid in the designer
  • Export diagram for the web
  • Documentation tool window (for XML Documentation)
  • Content Filtering
  • Highlight all members of an interface displayed on the lollipop
  • Drag inheritance and association lines from one diagram item to another
  • More…

Overall, the features provided greatly enhance the functionality provided by the Class Designer. Click here to download or learn more about the tool.

A couple of screenshots taken from the product’s documentation:

Figure 1- Floating Properties Window

Figure 2- Pan & Zoom Window