Manning Deal of the Day: “Natural User Interfaces in .NET” MEAP and Paper Book for $25

Cover of "Natural User Interfaces in .NET"It’s a work in progress, but it’s an important one: Manning Publications’ Natural User Interfaces in .NET, written by Joshua Blake. It’s a primer on creating natiral user interfaces — NUIs — using Microsoft technologies such as WPF 4, Surface 2 and Kinect.

Here’s an excerpt from the publisher’s description:

Natural User Interfaces in .NET is a hands-on guide that prepares you to create natural user interfaces (NUI) and great multi-touch experiences using the WPF and Silverlight multi-touch APIs. This book starts by introducing natural user interface (NUI) design concepts that everyone needs to know. It then quickly moves to the WPF Touch API and Surface Toolkit guiding the reader through a multitouch NUI application from concept to completion. Along the way, you’ll see where these concepts can be extended to Silverlight via its touch interface.

Today only — that’s May 16, 2011 — you can get the MEAP (Manning Early Access Program) preview PDFs, which are updated regularly and the final print edition of the book for a mere USD$25.00 (that’s $24.23 Canadian)! Just enter dotd0516 in the promotional code box when you check out at Manning’s site.


Maritime DevCon: June 18th in Moncton

martime dev con

If you’re a developer out in the Maritimes, you might want to check out Derek Hatchard’s Maritime Dev Con, which takes place on June 18th in Moncton. It’s a single-afternoon, two-track conference – which means you should be able to take time out to attend it – covering a number of topics including:

  • .NET and ASP.NET
  • Java
  • iPhone development
  • Ruby
  • Python
  • Groovy
  • NoSQL and MongoDB
  • “Rockstar Estimating Skills”

Maritime Dev Con has a registration fee that won’t hurt your wallet – it’s a mere CAD$19!

I’m a big fan of small, regional gatherings like Maritime Dev Con and its western counterpart Prairie DevCon. Each region has its own specializations and needs that a by-locals, for-locals conference can do a better job of serving, and the smaller size of these conferences allows for more back-and-forth between audience and presenter, and between attendees. Support your local conference!

This article also appears in Canadian Developer Connection.


Scenes from Toronto Code Camp 2010

The fifth annual Toronto Code Camp took place on Saturday at Seneca College’s Campus at York University. This was the most ambitious one by far, with the number of sessions increased from 25 to a whopping 40, arranged into 8 tracks.

For those of you unfamiliar with Code Camps, they’re software development conferences organized by the .NET community, featuring community-developed material, for the benefit of the community. Code Camps must be free-as-in-beer to attend, and the content and code in its presentations must be shared, free-as-in-speech style. While a number of business and organizations throw in sponsorship money and swag to help cover costs – The Empire included – Code Camps are powered by volunteers. From the organizer to the presenters to the staff, they do it for free, because they love what they do.

Want to see the full-resolution versions of my photos of Toronto Code Camp? I’ve posted them to this Flickr photoset.

The day opened with ObjectSharp’s Barry Gervin delivering the keynote. I was moving swag at the time, so I could catch all of it, the bits I did catch were pretty entertaining. I expect no less from Barry and the rest of the ObjectSharpies, all of who are top-notch presenters:

01 barry gervin keynote

Perhaps I’m wearing out this phrase from overuse, but let me say it just once more: Mark Arteaga of RedBit Development has forgotten more about mobile phone development that I will ever learn. He did the first session in the mobile track, providing an overview of developing apps for the upcoming Windows Phone 7:

02 mark arteaga windows phone 7

The Empire is quite serious about web development, which is why Internet Explorer’s Big Kahuna Dean Hachamovitch stated very clearly that yes, we believe HTML5 and all the goodies that go along with it are the future. One of those goodies is JavaScript, and nothing turbocharges Javascript quite like jQuery. We love jQuery, and Colin Bowern from ObjectSharp walked a full room through an introductory session:

03 colin bowern jquery

The “Rule of Two Feet” – that is, go the sessions you find interesting and bail from the ones you don’t – is proof that .NET developers care about web development. Here’s a shot of the jQuery session hall, which was standing room only:

04 colin bowern audience

Colin is truly dedicated to the craft; so dedicated, in fact, that he did this presentation even though he was getting married the next day! He’s resourceful too – he used his impeding nuptials as fodder for his presentation, using jQuery to build little mini wedding-planners. Congrats, Colin, on getting married and having a very understanding fiancee!

05 colin bowern

Colin Melia is a rock star. He did some great presentations and an Azure exercise for Techdays, wrote one of the demo apps we used in EnergizeIT and will be helping out at Make Web Not War. He also played to a very packed room at Code Camp with a session on Silverlight Essentials:

06 colin melia silverlight

Here’s Infusion’s Nickolas Landry doing a presentation on XNA development. He showed a Space Invaders game with an interesting twist – it was written as a 3D game rather than a 2D one, which opened up some interesting possibilities. I lent him my Xbox 360 controller, which I usually have in my knapsack, which he thought was a little bit weird (Is it? I don’t know any more):

07 nickolas landry silverlight

None of this would’ve happened without the dedicated efforts of MVP Chris Dufour, the heart and soul of Toronto Code Camp. Here he is, taking a small breather in the speakers’ lounge:

08 chris dufour

While wandering the halls of the building, I saw something that I thought looked familiar:

09 web not war 1

Upon closer inspection, it was indeed a familiar object – a “Make Web Not War” sticker, promoting Microsoft’s Web Platform Installer. As you can see, some puny Jedi attempted to remove the sticker, but his piddly powers were no match for the Dark Side!

10 web not war 2

Meanwhile, Bruce Johnson from ObjectSharp was showing the room his “OData face”…

11 bruce johnson odata

…and while that happened, Ryan was in the lunchroom, valiantly guarding the bag lunches prepared for attendees.

12 ryan lunches

Ever wondered what 400 bag lunches look like? Like this:

13 lunches

If there was an award for the best-attended session, we’d have to hand it to Telerik’s Todd Anglin, whose very well-attended presentation on Ajax was followed by an even-better attended presentation on HTML5. This one had people filling every seat, standing at the back and even sitting in the aisles:

15 todd anglin html5 1

Always controversial is the “Flash vs. Silverlight vs. HTML5 – how do they stack up?” question. Here’s Todd’s answer:

16 todd anglin html5 2

Here’s a close-up. Feel free to discuss this in the comments!

17 todd anglin html5 3

Here are the two closing slides from Todd’s presentation. The first was by Adobe’s CEO Shantanu Narayen:

The consumer should be able to decide which technologies they want to use, but a multi-platform world is definitely where the world is headed.

18 todd anglin html5 4

Followed by a quote from Dean Hachamovitch, who agrees with me that:

The future of the Web is HTML5.

19 todd anglin html5 5

I had a great time watching presentations and talking with people at Code Camp. It’s great to see the .NET community getting together like this, and I’d love to do it again. See you next year!

This article also appears in Canadian Developer Connection.


TWC9: MIX10, Tweets from Your TiVO, Touch UI Gesture Icons and More

Get Microsoft Silverlight
Don’t have Silverlight? Get it here or download the video in
MP4, WMA, WMV, WMV (High) or Zune format.

imageThis Week on Channel 9, or TWC9 for short, is a weekly digest show hosted by Microsoft’s Dan Fernandez and Brian Keller covering the developer community news they find most interesting after sifting through hundreds of blogs, videos and announcements. It’s aimed primarily at .NET developers, but if you have any geeky tendencies at all, chances are they’ll cover something that appeals to you!

In this week’s episode, they cover the following topics, summarized in the handy-dandy table below:

Topic What it is or why it’s interesting
Mike Swanson’s MIX10 Recap MIX10 is going to be big this year, especially with Windows Phone 7.

Coding4Fun: Tweevo, a free, open source application to have your TiVo tweet what you’re recording

It’s nice to know what your TiVo is doing while you’re at work.
LINQ to SQL Profiler It lets you see the SQL being generated by your LINQ queries.

Silverlight 4’s TCP Sockets Video It’s part of Mike Taulty’s 8-part series on networking with Silverlight.

S. Somasegar’s Key Software Development Trends
(I covered it in this article)
It’s interesting to see what Microsoft’s brain trust sees as important, and it’s also good to see testing treated as a first-class citizen.

Gesturecons, a set of free icons to describe touch gestures For touch interactions, a picture is worth a thousand words.

System.Uri For URIs, you really should be using System.Uri instead of strings.

Code Project: How to Automate Software Using WPF UI Automation An underused but incredibly handy feature that lets you automate testing an application’s UI.

Mercurial Integration with Visual Studio A step-by-step guide to using CodePlex’s Mercurial integration inside Visual Studio.

How to Use Selenium and NUnit Together Selenium’s a good, free option for web app testing.

60 .NET Libraries Every Developer Should Know What, you’d rather not know?

Silverlight Augmented Reality Toolkit Dude! Augmented reality!

This article also appears in Canadian Developer Connection.


Visual Studio 2010/.NET Framework 4.0 Beta 2 and Final

Microsoft Visual Studio new banner

The Beta: Available Now!

The newest beta, Beta 2 of Visual Studio 2010 and .NET Framework 4.0 is out! MSDN subscribers can download it right away, while everyone else can get their hands on it on Wednesday, October 21st (and don’t worry, I’ll remind you if you on Wednesday if you have to wait until then).

This new beta features a number of performance improvements and is your last chance to evaluate a pre-release version before we unleash the final version, so download it, take it out for a spin and give us your feedback!

Beta 2 also features the “Go Live” provision for developers who like living on the edge. What this means is that you’re licensed to download the beta and use it to build production software. If you do so, please drop me a line and let me know!

The Final: Available March 22, 2010!

The final version of Visual Studio 2010 and .NET Framework 4.0 will be available on March 22, 2010. Among the many new features in the final version is the fact that choosing which Visual Studio is right for you will be so much simpler. Instead of the confusing array of Visual Studio versions (I’ve joked about there being so many version that I wouldn’t be surprised if there was a “Visual Studio Tartar Control” or “Visual Studio for LOLcats”), the line has been pared down to three levels: Professional, Premium and Ultimate: 

3 levels of Visual Studio: Professional (with picture of burger), Premium (with picture of burger and fries) and Ultimate (with picture of burger, fries and shake)

Visual Studio can be bought bundled with an MSDN subscription. I recommend getting the subscription , as it gives you first crack at a lot of tools, access to E-Learning and the Special Offers portal for discounts from Microsoft partners, and – most importantly, as far as I’m concerned – a lot of compute time on the Azure cloud platform.

There’s a goodie called the “Ultimate Offer” that’s available for a limited time: buy or renew your MSDN subscription now, and you’ll get the next-level-up version of Visual Studio when we hit the final release date. For example, if you get an MSDN subscription and you have a version of Visual Studio 2008 eligible for upgrade to Visual Studio 2010 Professional, you’ll get Visual Studio 2010 Premium in March (and if you’re eligible for upgrade to Premium, you’ll get Ultimate).

What’s in .NET 4?

A lot. To borrow a line from Scott Hanselman, this isn’t “.NET 3.6”, and it’s not just a bunch of features piled onto the current .NET 3.5. This is a .NET that’s been revised based on your feedback. To quote Hanselman again, it’s about “making the Legos the right size”, “about tightening screws as it is about adding new features.”

Some of the goodies in .NET 4, once again courtesy of Hanselman, include:

  • Quicker to Install – A smaller Client Profile with a much smaller initial download (down to 0.8 megs from 2.8) for bootstrapping .NET client apps faster than ever)
  • Side by Side – .NET 4 is a side-by-side release that doesn’t auto-promote, meaning you won’t break existing apps and you can have .NET 2.0, 3.5 and 4 apps on the same machine, happily.
    • Side-by-side CLR support for managed add-ins inside of apps like Explorer or Outlook. Again, new and existing apps in the same process, chillin’.
    • For more details on Application Compatibilty, check out the AppCompat Walkthrough for .NET 4 on MSDN.
  • Dynamic Language Support – The DLR (Dynamic language runtime) ships built-in with .NET 4 so you can mix-and-match your solutions and pick the best language (or languages) amongst C# and VB.NET as well as F#, IronPython and IronRuby. This includes better support for COM (yes, COM! People do use COM and it’s even easier with the new dynamic keyword in C# these days.)
  • More Web Standards Support – Better support for WS-* and REST making interop easier.
  • Plugins Galore – Visual Studio 2010 uses MEF and WPF to enable a whole new world of clean managed extensions as well as an Online Gallery (there’s an extension for that!)
  • Multi-Framework Multi-targeting – You can’t really overestimate how useful this is, but a picture is worth a thousand words. You can code all your apps in all your organization’s frameworks with the same IDE:
    Drop-down menu showing the .NET Frameworks that Visual Studio 2010 can target

    New Look, New Feel for MSDN

    And finally, both Visual Studio and MSDN got a new look. Here’s the new look for MSDN Canada:

    Screenshot of the "new look" MSDN Canada
    The changes are more than skin-deep. MSDN was redesigned to make it easier for you to find what you need, whether it’s tools, downloads, resources, documentation or people. The MSDN library will also get much faster at loading and easier to read, because the “lightweight” look is going to be the standard look:

    Screen shot of the "new look" MSDN Library

    Keep an eye on this blog – I’m going to start covering development with Visual Studio 2010 and the .NET Framework 4.0 in the coming weeks!

    This article also appears in Canadian Developer Connection.

  • Categories

    Who’s Got .NET Framework 3.5?

    Alexander McCabe wanted to know the adoption rates of the various .NET runtimes, from .NET 1.0 up to the current .NET 3.5. He took the data from the logs for the website for his quiz-building software, Question Writer, augmented it by including figures published in Joel Spolsky’s Business of Software forum in March 2008, and turned it into the chart below (click on it to see it at full size):

    Chart showing .NET Runtime Versions Used by Visitors to the Question Writer Site, March 2008 and May 2009 - October 2009

    According to the chart, usage of .NET 3.5 among visitors to the Question Writer site has been growing in leaps and bounds since the spring, from just under 22% in May of this year to the current 52%.

    Naturally, this data comes with all sorts of caveats:

    • The October 2009 data is based on the first 12 days of October.
    • Only Internet Explorer reliably reports .NET version information in the user-agent string.
    • McCabe has a couple of contradictory explanations:
      • IE users may be more likely to have .NET installed because they use Microsoft software.
      • IE users may be less likely to have .NET installed because they may be less likely to install software and therefore might be less likely to have .NET installed.
    • Question Writer uses the .NET runtime and its site’s visitors may have .NET installed.
    • There were a few users using .NET 4.0; McCabe counted them as .NET 3.5 users.

    I should try the same exercise using the logs for Global Nerdy, which has a rather mixed audience of open source, Mac and Microsoft types. I wonder how different the results would be.

    This article also appears in Canadian Developer Connection.


    TechDays: Anthony Vranic on Optimizing Your Application for the Windows 7 User Experience

    Anthony Vranic doing his presentation at TechDays

    My photos from Anthony Vranic’s session at TechDays, Optimizing Your Application for the Windows 7 User Experience, are a bit dark because I used a different camera; my main camera was on video recording duty. I’m including them anyway, because I’m trying to keep a complete record of TechDays.

    Anthony Vranic doing his presentation at TechDays

    The original version of this presentation from TechEd North America is somewhat different – its target audience was C++ developers, and TechDays is more of a managed code audience. Since the original TechEd presentation, Microsoft released the Windows API Code Pack for the .NET Framework, and Anthony added it to his presentation.

    The Windows API Code Pack for .NET gives managed code access to a lot of features, including some new ones introduced in Windows 7, such as:

    • Windows 7 Taskbar Jump Lists, Icon Overlay, Progress Bar, Tabbed Thumbnails, and Thumbnail Toolbars
    • Windows 7 Libraries, Known Folders, non-file system containers
    • Windows Shell Search API support, a hierarchy of Shell Namespace entities, and Drag and Drop functionality for Shell Objects
    • Explorer Browser Control
    • Shell property system
    • Windows Vista and Windows 7 Common File Dialogs, including custom controls
    • Windows Vista and Windows 7 Task Dialogs
    • Direct3D 11.0, Direct3D 10.1/10.0, DXGI 1.0/1.1, Direct2D 1.0, DirectWrite, Windows Imaging Component (WIC) APIs — (DirectWrite and WIC have partial support)
    • Sensor Platform APIs
    • Extended Linguistic Services APIs
    • Power Management APIs
    • Application Restart and Recovery APIs
    • Network List Manager APIs
    • Command Link control and System defined Shell icons
    • Shell Search API support
    • Drag and Drop functionality for Shell objects
    • Support for Direct3D and Direct2D interoperability
    • Support for Typography and Font enumeration DirectWrite APIs

    Anthony Vranic doing his presentation at TechDays

    Watch this blog – I’ll posting some example code for the Windows API Code Pack for .NET in the coming weeks!

    This article also appears in Canadian Developer Connection.