Categories
Uncategorized

At Last, a Truly Impressive “I’m a PC” Ad

First, there were the bewildering Gates/Seinfeld TV spots, “Shoes and Churros” and the extended-length “Living with an Ordinary Family”. Then came the “I’m a PC” spots, which were half-decent, but still not a good enough foil to Apple’s very effective ads. But in classic Microsoft style, the Empire’s ad agency, Crispin Porter + Bogusky, seems to have gotten it right with version 3.0. Take a look:

<a href="http://video.msn.com/?mkt=en-US&amp;playlist=videoByUuids:uuids:0bb6a07c-c829-4562-8375-49e6693810c7&amp;showPlaylist=true&amp;from=msnvideo" target="_new" title="Laptop Hunters $1000 – Lauren Gets an HP Pavilion">Video: Laptop Hunters $1000 – Lauren Gets an HP Pavilion</a>

It works. Instead of featuring famous comedians and techies-turned-philanthropists or framing the ad in terms of Apple’s ads, this one gets it right by featuring a story and a character that the audience can relate to.

In the ad, “Lauren”, a cute young woman, is driving around town, trying to get a 17” laptop that’s fast, has a comfortable keyboard and sells for under $1000. She first goes to the Mac store but finds the only $1000 model is the 13” MacBook. She’d have to double her budget to get a 17” model. There’s a great moment when she sarcastically remarks as she drives that “I’m just not cool enough to be a Mac person”.

(Cue howls of derision from Mac fanboy/pegboy Jon Gruber on Daring Fireball in 3…2…1…)

In the end, she goes to Best Buy and marvels at the selection of laptops that meet her criteria. She finds one and squeaks with delight. The camera zooms in on the cash register’s display, which shows the before-tax price of her laptop: $699.99. When asked how she’s going to pay for it, she looks at the camera and says this with great satisfaction: “Cash”. This is the sort of message that will really hit home for a lot of people, given the state of the economy.

Kudos to Crispin Porter + Bogusky for being clever in making these ads. They put ads on Craigslist and similar sites, offering people between USD$700 and USD$2000 to go buy a new computer. They were told that they could keep any money that was left over, which provided them an incentive to look for the best deals they could get. It’s good countermarketing: if Apple is using actors, go with real people.

(And Apple used real people in the “Switch” ad series – remember the series of ads which included “stoner chick” Ellen Feiss? Maybe Lauren is Microsoft’s Janie Porche.)

I’m interested to see what the other ads in this series – assuming it’s a series – look like.

Categories
Uncategorized

Road Warrior Office of the Day: London, Ontario

This article was originally published in Canadian Developer Connection.

I’m currently in London, Ontario at the Delta Armouries London hotel, where my coworkers Rodney Buike and Qixing Zheng will be doing a presentation for EnergizeIT later tonight. We’re spending the day polishing our presentations and getting the usual administrivial stuff done.

We didn’t want to spend our day cooped up in our hotel rooms, so we asked one of the hotel staff where the business center was. I didn’t relish the thought of hanging out in a business center all day; although they usually have more table space than your typical hotel room, they’re usually some small windowless cave.

We were told that the business center, which used to be located in the basement had since closed. “We got a lot of complaints from women who didn’t feel safe going to get some work done in a basement room late at night,” he said, “so we set up a computer with a printer in the lobby, and another one up in the lounge, where you can work.”

He pointed in the direction of lounge, where we saw this:

Entrance to the Cantata Lounge at the Delta Armouries London Hotel

Well, that’s several steps up from a business center!

(In case you wondering about the architecture of the hotel, it used to be an actual armoury where soldiers were trained during the two World Wars.)

Here’s what the lounge looks like. There’s a bar in the corner, which isn’t open as I write this (around noon). Qixing and I are the only ones here at the moment; I suppose it gets a little busier in the late afternoon:

Canata Lounge, as seen from the far end

Canata Lounge, as seen from the bar

Here’s something most business centers don’t offer – but should! I may have to sample some of their wares later tonight. It’s business research, you know:

Banner on brick wall: "Classic Malts of Scotland: Glenkinchie, Dalwhinnie, Cragganmore, Oban, Talisker, Lagavulin"

And instead of the windowless caves that most business centers are, we have this view:

The lobby as seen from the Cantata Lounge

Qixing and I have set up office in one of the big round booths in the lounge. Here’s Qixing and our “road warrior” office setup:

Qixing and computers in one of the round booths at the Cantata Lounge

In case you’re wondering where the accordion is, it’s in my room. I’m bringing it out later tonight, when we’ll be speaking in the presentation room, whose entrance is pictured below:

Fountain in front of entrance to large ballroom at the Delta Armouries London

If you’re coming out to tonight’s EnergizeIT event in London (in the hotel’s ballroom named “The Gunnery”, it’s free and isn’t completely booked yet), we’ll see you there!

Categories
Uncategorized

Ignite Your Career #4: “How to Become a Great Leader”

Inspirational poster: "Captain James T. Kirk: I'm sorry, I can't hear you over the sound of how awesome I am."

This Week’s Webcast

How to Become a Great Leader is the topic of this week’s Ignite Your Career, Microsoft Canada’s and CIPS’ webcast series aimed at helping you further develop your career with opinions and advice from experts in Canada’s tech industry. Here’s the abstract for the webcast:

Being a great manager does not by default also mean you are a great leader. For some people, being a leader comes intuitively, for others it is something that requires both self awareness and leading by example. This session will focus on what a panel of Managers/Leaders has done in order to further their development of leader qualities. Topics in this area are wide ranging and based on webcast participation will include such as goal setting, importance of goal alignment, motivation techniques, nurturing trust, developing listening skills and coaching team members. Be sure to listen in and join the conversation with this panel of experts for what should be a very interesting wrap up to the Manager series.

The panelists for this webcast are:

stuart_crawford Stuart Crawford shares his experiences and serves the Calgary Small Business community in his role as the Vice President of Business Development for Bulletproof InfoTech, a leading Microsoft Small Business Partner with offices in Red Deer and Calgary.

barry_gervin Barry Gervin is a founding Partner of ObjectSharp. As a Principal Consultant, Barry provides technical leadership to his valued clients, staff, and the development community. Barry currently serves as a Microsoft Regional Director in Southern Ontario and has received the Microsoft MVP Award for Solutions Architecture for the past 3 years.

dana_epp Dana Epp researches software security and focuses on strong authentication and identity assurance solutions at Scorpion Software Corp. As a computer security software architect, Dana has spent the last 15 years focusing on software development with a particular emphasis on security engineering.

greg_lane Greg Lane is the current Chair of the Canadian Council of Information Technology Professionals (CCITP) of the Canadian Information Processing Society (CIPS). Greg is currently employed with Avanade as the Director Business Development Public Service for Canada.

The webcast will take place this Tuesday, March 24th, from 12:00 noon (Eastern) to 1:00 p.m.. Ignite Your Career webcasts are free of charge – all you have to do is register to listen using your Windows Live ID (which is also free).

Ignite Your Career isn’t about any specific technology or vendor; it’s about maximizing your potential at work and helping you come up with a career plan. No matter what platform or tools you work with, we’re sure that you’ll find this webcast series informative and helpful.

Previous Webcasts

All Ignite Your Career webcasts are recorded and archived so you can listen to them on demand. As with the live webcasts, there’s no charge to listen to them; you just have to register with a Windows Live ID.

The webcasts we’ve had so far in this series are:

  • Industry Insights and Trends
    The nature of technology is one of continual change; a fact of life for professionals in the ICT industry. As a result, you need to be on top of what is happening in the industry in order to position yourself and your organization to benefit from these trends. This panel discussion will arm you with the information you need from experts in the ICT industry in order to stay on top of your game.
    Speakers: Joel Semeniuk, Jeff Kempiners, Jay Payette and Paul Swinwood.
  • Discovering Your Trusted Resources
    Building a set of information sources and connecting with the community at-large are critical to your success in the ICT industry. This session brings successful community, technology, and information leaders together to share their experiences in discovering these resources. Our experts will help you learn how to identify credible sources and find the right tools, links and techniques to keep you up to date in a world of constant change.
    Speakers: Michael J. Sikorsky, Richard Campbell, and John Bristowe.
  • How to Establish and Maintain a Healthy Work/Life Balance
    With mobile technologies and our always-on culture, it’s imperative to establish and maintain a balance between work and life. If your only time to manage change in your environment is after hours, how can you maintain a healthy balance without burning out? How do you manage change so that you can develop your career and spend time with loved ones? This panel discussion will connect you to individuals who strive to establish and maintain this balance.
    Speakers: Mack Male, Cameron McKay, Paul Gossen, Mark Blevis
Categories
Uncategorized

Silverlight 3 and Expression Blend 3 Betas Now Available!

This article originally appeared in Canadian Developer Connection.

Microsoft Silverlight logo

Silverlight 3 Beta

Today at the MIX ‘09 conference, we rolled out the beta for Silverlight 3, the next iteration of our rich internet application platform. Version 3 adds a lot of new features including:

  • Out of Browser Capabilities. Silverlight 3 applications aren’t just confined to the browser. Users can install and run them from their desktops – either Windows or Mac OS – and without having to download any additional runtimes or plugins. Better still, these desktop Sliverlight apps can detect whether the machine is connected to the internet and can also auto-update.
  • Richer Graphics. There’s support for perspective 3-D graphics, pixel shader effects, a bitmap API, bitmap caching of vectors, text and controls, support for themed applications, new animation effects, enhanced control skinning and improved text rendering and font support.
  • HD Video and Audio. Support for H.264/AAC, 720p+ live and on-demand streaming, true HD playback in fullscreen mode and support for third-party codecs.
  • Better application features, including:
    • New GUI controls, including their source code
    • Support for “deep linking”: it’s now possible to bookmark a page contained within a Silverlight app
    • SEO tools: The content of your Silverlight apps can be mirrored into HTML so your app can be indexed by search engines
    • Enhanced data support
    • Improved performance

Expression Blend 3 Preview

Microsoft Expression Blend Also available is the preview version of Expression Blend 3, the “designer/developer workflow tool” for building interfaces for Silverlight and WPF projects. As with Silverlight 3, Expression Blend 3 adds a lot of new features including:

  • Sketchflow: a tool that lets you tool for quickly creating application prototypes, complete with interactivity.
  • Behaviors, which let you add interactivity to an application without having to write code
  • Photoshop and Illustrator file import
  • Improved design and development experience

An Important Note for People Currently Building Silverlight 2 Apps

Do not install Silverlight 3 development tools on a machine that you’re using to build Silverlight 2 apps! Visual Studio doesn’t support targeting multiple versions of Silverlight; if you install Silverlight 3 tools, you won’t be able to build Silverlight 2 apps anymore!

My recommendation is:

  • If you’re going to be working on Silverlight 2 projects, install Silverlight 3 tools on a machine that you’re not using for Silverlight 2 production.
  • If you’re like me and not doing any work on Silverlight apps at the moment and want to get started, go ahead and grab the beta.

Finding Out More About Silverlight 3 Beta and Expression Blend 3

You can find out more about both on the Silverlight 3 Beta page.

Getting Silverlight 3 Beta and Expression Blend 3 Preview

Both are available at the Silverlight 3 Beta download page. You can also follow the links below:

Categories
Uncategorized

Ignite Your Career #3: “How to Establish and Maintain a Healthy Work/Life Balance”

This article originally appeared in Canadian Developer Connection.

A balancing rock in the desert

This Week’s Topic

This week’s topic for Ignite Your Career – our webcast series featuring experts from the Canadian tech industry and aimed at supporting your career development – is one that’s on a lot of people’s minds: How to Establish and Maintain a Healthy Work/Life Balance. Here’s the abstract:

With mobile technologies and our always-on culture, it’s imperative to establish and maintain a balance between work and life. If your only time to manage change in your environment is after hours, how can you maintain a healthy balance without burning out? How do you manage change so that you can develop your career and spend time with loved ones? This panel discussion will connect you to individuals who strive to establish and maintain this balance.

This webcast’s panelists are:

Mack Male

Mack Male
Mack is a software developer, entrepreneur, and social media guy. During the day he works for Questionmark Computing. Most of the rest of the time, he’s keeping up-to-date on the latest trends and technologies, and loves sharing what he learns with others. Mack is particularly passionate about his hometown, Edmonton, and does his best to expose everything it has to offer.

Cameron McKay

Cameron McKay
Cameron works for McKesson Canada, one of the largest Healthcare companies in the world as the Team Leader of the Infrastructure and Support Services Group in Toronto. An expert in Virtualization and Green IT, Cameron enjoys sharing his knowledge with the IT community through speaking engagements, blogs, and webcasts.

Paul Gossen

Paul Gossen
After 30 years as a successful serial entrepreneur and business leadership innovator Paul Gossen is well known for his credibility and high impact results in corporate coaching, team productivity and organizational transformation

 

Mark Blevis

Mark Blevis
Mark Blevis is an energetic public speaker, social media strategist, community leader, independent media producer and self-proclaimed Content Paleontologist. He is considered a thought-leader on social media and its potential and is regularly interviewed on radio and television.

Catching This Webcast

This webcast will first be broadcast this Tuesday, March 17th at 12:00 p.m. Eastern time (9:00 a.m. Pacific) and will be an hour long. It costs nothing to catch an Ignite Your Career webcast – all you have to do is register online with your Windows Live ID (which is also free).

Ignite Your Career is about maximizing your potential at work and helping you come up with a career plan in these difficult economic times. It’s not tied to any technology or vendor, so no matter what platform or tools you work with, we’re sure that you’ll find this webcast series informative and helpful.

Previous Ignite Your Career Webcasts

In case your missed the other two webcasts in this series, worry not – we’ve got them archived! Once again, they’re free to listen to – all you have to do is register online with your Windows Live ID.

The webcasts we’ve had so far in this series are:

  • Industry Insights and Trends
    The nature of technology is one of continual change; a fact of life for professionals in the ICT industry. As a result, you need to be on top of what is happening in the industry in order to position yourself and your organization to benefit from these trends. This panel discussion will arm you with the information you need from experts in the ICT industry in order to stay on top of your game.
    Speakers: Joel Semeniuk, Jeff Kempiners, Jay Payette and Paul Swinwood.
  • Discovering Your Trusted Resources
    Building a set of information sources and connecting with the community at-large are critical to your success in the ICT industry. This session brings successful community, technology, and information leaders together to share their experiences in discovering these resources. Our experts will help you learn how to identify credible sources and find the right tools, links and techniques to keep you up to date in a world of constant change.
    Speakers: Michael J. Sikorsky, Richard Campbell, and John Bristowe.

[Creative Commons photo by "Cpt. Spock".]

Categories
Uncategorized

Default and Named Parameters in C# 4.0 / Sith Lord in Training

Round Trip

sith_lord_in_training Back when I was working for OpenCola (from January 2000 through January 2002), the start-up cofounded by Cory Doctorow, I was doing a lot of work using beta versions of C# to build prototype peer-to-peer applications that got demoed to some large companies, including Microsoft, who were kind enough to provide us with betas of Visual Studio .NET and Windows XP.

I graduated to the 1.0 version when it came out. Even during the year after I left OpenCola (or more accurately, got the boot), I continued to write applications in C#, from things like a sales app for people who were selling practice certification tests to a trivia game for a company that was pitching it to Maxim. I do manage to land some interesting jobs from time to time.

That changed on Bastille Day 2003, my first day as Tucows’ Technical Evangelist, or as the title originally read, “Technical Community Development Coordinator”. Tucows’ client base were people who wanted to resell things like domain names and email, and as such were largely hosting companies. This in turn meant that they were using languages that you might consider “webbier”: open source dynamically-typed languages like Perl, PHP, Python and Ruby. I did what I could to stay away from Perl, I’d coded in PHP and Python for work before, and I picked up Ruby along the way.

Feeling a bit restless, I left Tucows in late 2007 to do Ruby on Rails development at what turned out to be Toronto’s worst-run startup, possibly ever. After that, it was project management at b5media, where I used Ruby to implement some “housekeeping” scripts. Although I hit up Microsoft Evangelist David Crow for a copy of Visual Studio so I could try out XNA, I really didn’t pay too much attention to C#. I installed it on my machine, wrote a lazy “Hello, World” app – a single WinForm with a button that displayed a MessageBox with the word “poop” when you clicked it – and promptly forgot about it.

The situation changed when I got laid off in September and then got hired as a Developer Evangelist for “The Empire” in October. Suddenly, I’m back in a world with a three-versions-later Visual Studio and a two-and-a-bit-versions-later of C# and .NET. I’ve got the programming know-how and the language basics down cold; it’s the changes in the language and library – generics, LINQ and a bunch of 2- and 3-letter acronyms beginning with “W” – that keep catching me by surprise.

Luckily, management is cool with my first year being a “learning journey”. They’re really interested in how I mix my schmoozing and community-building skills with a love of technology and programming and don’t mind that my first year is a “learning journey”. They especially don’t mind if I share what I learn along the way, which is what this series of articles, Sith Lord in Training, is all about. As I learn more about C# and the .NET framework, both present versions and the upcoming 4.0 versions, I’ll write about them here.

Default Parameters in C# 4.0

Suppose that you’ve got a method that takes a single boolean argument. Here’s how the argument affects what the method does":

  • If the argument is anything other than true or if no argument is provided, the method performs its normal task.
  • If the argument is true, the method performs its task, plus some additional stuff.

Here’s the Ruby implementation:

# Ruby

def myMethod(doSomethingOptional = false)
    puts "Doing my regular thing."
    if doSomethingOptional
        puts "Doing the optional thing."
    end
end

doSomethingOptional is a parameter with a default value. If myMethod is called without any parameters, doSomethingOptional is given the default value of false.

Unfortunately, the current 3.0 version of C# doesn’t support parameter defaults. The way to emulate this behaviour is to use method overloading:

  • One method to handle cases where no parameter is given
  • Another method to handle cases where a parameter is given

Here’s the implementation in C# 3.0:

// C# 3.0

public void MyMethod()
{
    MyMethod(false);
}

public void MyMethod(bool doSomethingOptional)
{
   Console.WriteLine("Doing my regular thing.");
   if (doSomethingOptional)
   {
       Console.WriteLine("Doing the optional thing.");
   }
}

That’s a bit long-winded for something that should be pretty simple. Luckily, this has been fixed in C# 4.0:

// C# 4.0

public void MyMethod(bool doSomethingOptional = false)
{
   Console.WriteLine("Doing my regular thing.");
   if (doSomethingOptional)
   {
       Console.WriteLine("Doing the optional thing.");
   }
}

And with that, the long-winded (and unnecessary, at least to my mind) method overloading workaround vanishes. Yay!

Named Parameters in C# 4.0

Named parameters make the meaning of the parameters explicit, as long as the parameter names themselves are pretty meaningful. Contrast the following call:

drawCircle(100, 200, 200, "yellow")

with this, which is supported in Python:

drawCircle(radius = 100, x = 200, y = 200, color = "yellow")

C# 3.0 doesn’t support named parameters, but C# 4.0 does. Here’s how you’d call MyMethod in C# 4.0 using them:

myMethod(doSomethingOptional: true)

As for the Python drawCircle method in the example above. here’s how you’d call it in C# 4.0:

DrawCircle(radius: 100, x: 200, y: 200, color: "yellow")

If this syntax is giving you some deja vu, it might be because it’s reminding you of Objective-C, where the call would look something like this:

[someObject drawCircleWithRadius:100 x:200 y:200 color:"yellow"]

See the Video

If you’d like to see more about default and named parameters in C# 4.0, there’s a video on the Chanel 9 site that covers them quite extensively. Go check it out!

Categories
Uncategorized

Windows Mobile Gets Widgets!

This article originally appeared in Canadian Developer Connection.

There’s been quite a bit of good news on the Windows Mobile front lately. First, there’s the considerably improved user interface coming with Windows 6.5, including the “hexagon” menu (the rationale for which is explained quite well by Long Zheng). There’s also the upcoming Mobile Incubation Week, where startups are invited to come down to The Empire’s Silicon Valley Campus and workshop Windows Mobile 6.5 apps.

There’s even more good news, as shown in the photo below:

Various Windows Mobile screens showing widgets in action

They’re widgets: little web applications that run within IE Mobile 6 with the “chrome” (that is, the standard browser controls) removed. They’re HTML/CSS/JavaScript-based web applications in the same spirit of the desktop/sidebar gadgets in Windows, Dashboard widgets in Mac OS, or web apps on the iPhone (which aren’t getting as much love now that native apps are all the rage).

This is a very important development for Windows Mobile. You don’t need Visual Studio Pro (as far as I can tell, the Pro edition is the lowest-level version of Visual Studio that supports mobile development) to make widgets for Windows phones; all you need is your favourite web development tool set. At long last, Windows Mobile development will be open to just about everybody, regardless of their platform.