Windows API Code Pack for .NET Framework Released

Windows 7 logo and Microsoft .NET logoUntil now, taking advantage of the UI improvements in Windows 7 (and even some features in Vista) took a fair bit of work – there was a lot of stuff that wasn’t available through the .NET Framework. You’d have to either switch to C++ or resort to hacks in order to access these goodies.

That’s all changed with the newly-released Windows API Code Pack for Microsoft .NET Framework. Written in C# – with some DirectX stuff written in C++ – this library acts as a wrapper that gives managed code access to features including:

  • 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 Direct2D/Direct3D interoperability
  • Support for typography and font enumeration DirectWrite APIs

The system requirements are:

We’ll cover the Windows API Code Pack for Microsoft .NET Framework over the next little while in a couple of places – certainly on this blog, as well as at the TechDays 2009 cross-Canada conference in the Optimizing Your Apps for the Windows 7 Experience session.

Down arrow

Download Windows API Code Pack for Microsoft .NET Framework (v1.0)


This article also appears in Canadian Developer Connection.


Edmonton Code Camp 2009: September 26th!

Edmonton skyline, with North Saskatchewan River in foreground.

Edmonton is holding a Code Camp on September 26th, 2009! It’s going to take place at Grant MacEwan College’s downtown campus. There’s a call for speakers – if you’ve got a topic that you’d like to present, now’s the time to let them know. You can find out more at the Edmonton Code Camp site and the YEGCodeCamp Twitter account.


“Make Web Not War” in Toronto This Wednesday!

Make Web Not War: Toronto - Wednesday, June 10th

About Make Web Not War

If you’re interested in web design and development, you should attend Wednesday’s Make Web Not War conference. It’s being presented by Microsoft Canada and is about the how open source tools like PHP and Microsoft technologies like IIS and SQL Server 2008 can be used together to make great web sites and applications. No matter how much (or how little) Microsoft technology you use in your web development, there’s a lot to see at Make Web Not War!

Who’s Speaking?

We’ve got a number of speakers, each talking about some different aspect of the interoperability between Microsoft and open source technologies, as well as their experiences and lessons learned working in the web industry:

David Crow

David Crow, Microsoft

David Crow is an emerging technology and start-up advocate. At Microsoft Canada, he is responsible for helping Canadian start-ups through programs like BizSpark (details at David helps companies understand emerging technology and design practices for creating compelling digital experiences. David focuses on helping companies to extend their customers’ reach with next generation technology for the desktop, digital devices, standards based applications for the Web, and rich media applications. He has been named Toronto’s Best Web and Tech Evangelist for his efforts in DemoCamp, BarCampToronto, Founders & Funders and StartupEmpire.

Mano Kulasingam

Mano Kulasingam, Digiflare

Mano Kulasingam is a founding partner and principal interactive designer /developer with Digiflare, focusing on presentation layer technologies like Microsoft Silverlight, Windows Presentation Foundation and SharePoint 2007. He also has several years of experience developing B2B and B2C eCommerce and Content Management Web applications using ASP.NET (2.0 and 3.5) and Visual C#. His design skills include working with the latest professional design tools including Microsoft Expression Studio 2, which has earned him a Microsoft Expression MVP nod. He is a co-founder and host of the Toronto Silverlight User Group.

Brendan Sera-Shriar

Brendan Sera-Shriar,

Brendan is a prominent member of FlashinTO, PHUG – Open Source Culture, has taught web design at Long Island University Brooklyn campus, and has been a professor at Seneca College in the School of Communication Arts for over 7 years. Brendan currently owns and operates BackSpaceStudios, a web company specializing in WordPress development, social media applications. He is also the founder of PHUG, an open source community for designers and developers with currently over 4000 members, faculty at Seneca College, and organizer for WordCamp Toronto 2009. Brendan has contributed to many open source projects including papervision3D, red5, Firefox, WordPress, and Drupal, just to name a few.

Stephen Nichols

Stephen Nichols, Softcom

Under the brand we offer Shared and Virtual Web Hosting as well as Exchange 2007 and WSS hosting to customers around the world.

Stephen is Vice President of Sales at Softcom, a Gold certified Microsoft Partner based in Toronto and specializing in transactional hosting with a focus on the SMB market. His key role is to oversee the customer life cycle experience and drive new sales opportunities through the direct, affiliate and partner channels.

Yann Larivee

Yann Larivee, PHP Quebec

Yann Larrivée has been developing web applications for over 7 years and is currently offering PHP consulting services. In the past he has worked in many position from, project manager for a Linux consulting company to web architect for a well know company in the gaming industry. He also founded the PHP Quebec community in 2003 and organizes an international PHP conferences and an IT JobFair.

Get Windows Server 2008 R2 for Free!

Windows Server 2008 R2 logo

Windows Server 2008 R2 is a great server operating system, and this is your chance to take it out for a spin! Bring a machine to the Make Web Not War Installfest – it could be a server, desktop or even a laptop – and we’ll walk you through the process of installing your own free copy (which is good for a year). Space is limited – we’ve only got room for 100 people, so sign up soon!

See the Utltimate FTW! Throwdown

The Ultimate FTW! Throwdown was a challenge pitting student developers against professionals to develop a new PHP-on-Windows app or port an existing PHP-on-LAMP app to run on Windows Server with IIS. There were even bonus points for apps that made use of SQL Server as their database!

We took in a bunch of submissions, and the judges have narrowed it down to two finalists, one student, one professional:

Dac Chartrand In the professional corner is Dac Chartrand, whose submission is Sux0r, a content-management system incorporating blogging, RSS aggregation, bookmark repository and photo publishing, all with a focus on naive Bayesian categorization and probabilistic content. The extra Bayesian/probabilistic goodies allow Sux0r to auto-categorize its content and users to train it to categorize better.

Casron Lam His student opponent, Carson Lam, submitted Transit DB, which aims to transform the way commuters interact with public transit information system. The application is Carson’s answer to the question “How can we provide a modern, clean and user-friendly interface for transit data in cities?” The current version covers public transit for the Metro Vancouver region.

Dac and Carson will be competing for bragging rights and cold hard cash – may the best project win!

(For more details about the Ultimate FTW! Throwdown, see its page on


Telav audience device

We don’t want to do all the talking at Make Web Not War, we also want to hear from you!

That’s why, when you arrive at the event, one of the first things we’ll do is hand you an AVW-TELAV audience response doohickey. It’s a microphone for the Q&A sessions at the end of each presentation, but it’s also an instant audience polling device for quick surveys that we’ll have throughout the day.

Chill Out

All work and no play makes you a dull and burned-out web designer or developer, which is why we’ve also got a lounge where you can just hang out, meet the speakers, ask me questions about Microsoft’s web tools and tech and play XBox games.

Win prizes

We’ve got all sorts of prizes that you can win throughout the day, from software to books to trainign courses to Zune media players to XBox games to a brand new laptop.

Get Fed

Yup, we’re providing breakfast and lunch. You can’t conference on an empty stomach!

Okay, How Much to Attend?

Around this much:

Canadian $10 bill

Instead of charging a standard admission, we’re charging a “Donate what you can” rate, with all proceeds going to, an anti-bullying group. The suggested donation is a mere $10.

When and Where?

Once again, Make Web Not War takes place this Wednesday, June 10th and runs from 8:30 a.m. to 5:00 p.m..  It’s happening in Toronto at Ryerson University’s Ted Rogers School of Management (55 Dundas Street West – that’s Dundas between Bay and Yonge, right by the Best Buy and Canadian Tire). There’s parking aplenty in the area, and it’s right by Dundas Station on the Yonge/University/Spadina subway line.

Map picture


How Do I Register?

Visit the Make Web Not War registration page and fill out your details, and we’ll see you there on Wednesday!


The “Make Web Not War” Accordion Video

This article also appears in Canadian Developer Connection.

The Make Web Not War event in Toronto takes place in exactly one week! We’ve been spreading the word about the event and I thought I’d do my part by helping out with a video, accordion-style:

MAKE WEB NOT WAR – VIDEO FOUR – TORONTO from The Biz Media on Vimeo.

There’s only one mistake in the video – “accordion” is misspelled. If you’d like the follow me on Twitter, the correct ID is AccordionGuy, not AccordianGuy.

For more details about Make Web Not War, see:


The “FTW!” Ultimate PHP App Throwdown

For the Win! For the Web! FTW: Ultimate App Throwdown -- Professionals vs. Students

This article also appears in Canadian Developer Connection.

Wait a Minute…Microsoft and PHP?

You probably wouldn’t be surprised that Microsoft is holding a development contest that pits professional developers against student developers. You might be surprised that Microsoft is holding a development contest where the challenge is to build a PHP application.

You read that right: PHP. Microsoft’s web server, IIS (Internet Information Services) can run PHP as well as ASP.NET; in fact, it can even run both on the same site at the same time, so you can have apps like WordPress along with your ASP.NET-based apps.

Think of ASP.NET and PHP running on the same server as the great jam session with Spock and the space hippie from that old Star Trek “hippies in space” episode.

Spock and a space hippie, jamming on their instrumentsSee? We’re not Herbert!

Even more unexpected is that the beta for the 2.0 version of the Microsoft Web Platform Installer doesn’t do a “couple-of-clicks” installation of the expected stuff like IIS and SQL Server 2008 Express, it also provides a “couple-of-clicks” installation of PHP and WordPress.

The FTW! Throwdown

"Goopymart" comic of a dog holding a trophy: "FTW!"

That’s “FTW!” as in “For the Win” or “For the Web”, by the way.

The contest is pretty simple: the idea is to show the best application written in PHP and deployed on Windows. The app can be either:

  • A new application developed by you in PHP and running on IIS in Windows
  • An existing application or framework written in PHP and ported by you to run on IIS in Windows

That’s right: if you’re pressed for ideas or time to make a new application, it’s all right – you can take a PHP application that already exists, make the necessary changes so that it’ll run on IIS (and hey, for bonus points, make it tie into SQL Server instead of MySQL), and submit that as your contest entry!

Students vs. Professionals

Another twist to the FTW! Throwdown is that we’re getting student developers and professional developers to challenge each other. The pros have experience and resources on their side; students have youthful energy and fewer distractions going for them. Not since “Pirates vs. Ninjas” has there been a challenge like this!

One application developed or ported by students and one application developed or ported by professionals will be chosen from the submissions for the Ultimate Challenge, which will be a final bout at Microsoft’s Make Web, Not War conference. In that last match, it “Two apps enter! One app leaves!”. Simply put, one of the apps – either the student one or the professional one – will be declared the Ultimate Champion.

As they said in Highlander: “There can be…only one!”

The Booty

Stuffed animal prizes at a carnival

We want to reward the best contestants for their efforts in the FTW! Throwdown, and we plan to do so with some pretty nice prizes, which include:

  • The grand prize: $5000 for the winning entrant.
  • The runner-up prize: $3000 for the runner-up.
  • The SQL Server prize: $3000 for the finalist whose app showcases the best use of PHP with a Microsoft SQL Server database.
  • The PHP/.NET Mash-Up prize: $2000 for the finalist whose app showcases the best of PHP with .NET-based code working together in a single application.
  • The student finalist prize: The student developer who makes it to the last match will also get an interview and resume critique from Microsoft and a $200 Petro-Canada gas card.
  • The professional finalist prize: The professional developer who makes it to the last match will also get a chance for a published case study, enrollment in the MAPS or EMPOWER program and a $200 Petro-Canada gas card.

Hosting Options

Naturally, the apps that you submit for the FTW! Throwdown need a place to live. If you don’t already have IIS hosting, our partners at myhosting and RackForce are offering a 60-day free hosting promotion.

Deadlines and Details

The deadline for entering the FTW! Throwdown is Wednesday, June 3rd, 2009. Finalists will be announced on Friday, June 5th, 2009, and the main event where the student finalist faces off against the professional finalist happens on Wednesday June 10th, 2009.

If you’d like to know more about the FTW! Throwdown, visit the FTW! Throwdown site. I’ll be posting regular bulletins about the FTW! Throwdown on this blog, and you can follow the FTW! team on Twitter as the user @PHPOnWindows and the hashtag #FTW09.


Colin Bowern at the Metro Toronto .NET User Group: Authentication Alternatives for ASP.NET

This article also appears in Canadian Developer Connection.

Slide: Passwords are like pants (with picture of boxer shorts): You shouldn't leave them out where people can see them, you should change them regularly and you shouldn't loan them out to strangers!Click the photo to see it at full size.
(And yes, he’s using the word “pants” in the British English sense, as in “underpants”.)

On Thursday evening, I caught Colin Bowern’s presentation, Authentication Alternatives for ASP.NET at the monthly gathering of the Metro Toronto .NET User Group. Here’s the abstract:

Asking someone to create another username and password is presents risk. Most people use the same password across sites, or worse yet they write it down! The good news is there are smart people thinking about how to solve this problem and for web developers there are easy ways to take advantage of their hard work. In this session we will take a look at the credential management from a user perspective. We will dig into the efforts made in Active Directory, Windows Live ID, OpenID, OAuth, and Facebook Connect and how you can take advantage of them in your application.

He covered Windows Live ID, OpenID and OAuth. Not only did he show the theory, but he also presented some reasonably easy-to-follow code and showed it in action. Colin’s got a good presentation style; perhaps he picked up a thing or two at the speaker’s workshop we had a week ago as part of EnergizeIT!

Here’s the “Call to Action” slide from his presentation:

Colin Bowern's "Call to Action" slide

…which says:

    1. Stop requiring users to create more identities
    2. Leverage OpenID for authentication – see the DotNetOpenID project at Google Code
    3. Investigate OAuth for delegated resource access
    4. For apps targeting corporate scenarios, read up on the Geneva product set – see items on Channel 9 tagged “identity”

Afterwards, I joined Colin, Metro Toronto .NET User Group President Graham Marko and a few others for some post-presentation Guinness at the nearby pub The Spotted Dick and told them I’d catch them at the Toronto Code Camp in a couple of weeks.

Next Presentation: Yours Truly on ASP.NET MVC

Metro Toronto .Net user Group logo I was invited to present at the Metro Toronto .NET User Group meeting. Graham said I could present on any topic I wanted, so I asked if anyone had done one on ASP.NET MVC yet. No one had, so I figured I’d cover it. I’ve been looking into it casually for the past little bit and I’ll be diving into it over the next month, with my experience using another MVC web framework, Ruby on Rails, as my guide. I promise I’ll be informative and entertaining! You might want to come even if you’re not a .NET developer.

The next meeting will take place on Thursday, May 28th from 6:00 p.m. to 9:00 p.m. at the North Tower of the Manulife Financial Offices (200 Bloor Street East, on the north side, between Church and Jarvis). Yes, the meetings take place around dinner, but they provide some pizza and pop, and there’s always an opportunity for post-session nachos at the nearby pub.


Toronto Code Camp: Saturday, April 25th

Toronto Code Camp logoWhether you’re an old hand at developing for Microsoft’s platforms or completely new to The Ways of The Empire, you’ll find the upcoming Toronto Code Camp to be a great way to get some deep information on .NET development as well as a way to meet some of the most active and engaged members of the local Microsoft developer community. It takes place at the Manulife Building (200 Bloor Street East, on the north side between Church and Jarvis) and runs from 8:00 a.m. to 5:00 p.m., and registration is free.

Toronto Code Camp will have 5 tracks in its agenda:

  1. ASP.NET: Covering Active Server Pages technology, which includes Virtual Earth and the new ASP.NET MVC framework, which gives you the goodness of frameworks like Rails and Django and the speed and libraries of .NET. The ASP.NET MVC: Beyond the Basics presentation by Richard Obuhowich is definitely on my own “must-see” list.
  2. Data / Architecture: SQL Server, plus ADO.NET, LINQ and the Microsoft Sync Framework.
  3. .NET Framework: This is a really broad topic, and this year, the sessions will be on building installers with WiX, building extensions to Office and Visual Studio, building SharePoint apps, and a fast introduction to Windows Mobile development by Mark Arteaga that I intend to catch.
  4. Silverlight / WPF: The track for people who want to build rich multimedia interfaces for the web (Silverlight) and Windows (WPF, short for Windows Presentation Foundation). I’m thinking of seeing Robert Burke’s Silverlight from 2 to 3 – or, Silverlight Beyond MIX09 presentation, which is supposed to be PowerPoint-free!
  5. Future / Other: A catch-all track for topics about upcoming developer tools and tech, as well as things that don’t quite fit in the other tracks. There are presentations on the F# programming language (an OCaml-like .NET language), the Azure cloud computing platform, upcoming goodies like the .NET 4.0 framework and VB10 plus a session titled 2D XNA Game Programming for Fun and Profit by Josef Rogosky.

For more details about all the sessions and when they’ll take place, see the Toronto Code Camp agenda.

I’m going to be there, attending as both a developer looking to learn as well as a Sith Lord representing the Empire. I’m going to take notes, snap photos and perhaps even shoot a little video; I’m also going to see what I can do about bringing some swag to give away.

The registrations are coming in fast and furious, so if you want to come, make sure you register now!