Qixing’s Big Move

Good Luck, Qixing!

QIxing Zheng in her TechDays 2009 orange speaker shirt

We may be losing a User Experience Evangelist, but I think we’ll get a great Windows 8 in return. Qixing Zheng, who’s been with Microsoft Canada’s Developer and Platform Evangelism team for the past three years, is leaving to join the Windows UX Team as a Program Manager. While I saw firsthand that she enjoyed her work as a UX Evangelist, talking to developers and designers about building usable, comprehensible and beautiful applications, joining the Windows UX Team is the opportunity of a lifetime. After all, how often are you given the chance to design something that will get used all the time by millions of people, all over the world, at work, play and in their day-to-day lives?

Qixing’s been the sole writer for the Canadian UX Connection blog during her tenure. She posted her farewell article, A New Year and a New Beginning, on January 1st, but don’t think that’s the last you’ve seen of her online. She promises that she’ll be blogging soon – she’ll let us know where, and I’ll let you know in turn. In the meantime, you can follow her on Twitter, where her handle is @hundredflavour.

What About User Experience?

Windows 3.1, as seen using the garish yellow and red "Hot Dog Stand" colour scheme

While I’m glad that Qixing is going to be applying her skills and knowledge to Windows’ user interfaces, there remains the need for someone to help developers, designers and people who play both roles build useful, usable and beautiful interfaces, applications and experiences. This is becoming even more important as mainstream software development extends beyond the desktop OS to the web, mobile phones, tablets and even big-ass tables.

I’m planning to pick up some of the slack in the tech blogs where I write, Canadian Developer Connection and Global Nerdy. In addition to articles on programming, industry trends and reports from the field, I’ll also be posting articles about usability, user interface and user experience, as seen from the developer’s point of view. I’ve had some experience in this area, and where my skills and knowledge fall short, I can always call on my “friends in UI places” and bring their opinions and know-how to you.

Once again, congratulations Qixing, you’ve been a great teammate — and yes, we’ll keep evangelizing user experience!

This article also appears in Canadian Developer Connection.


11 Months as a Microsoft Man


While Kris Krug was taking photos of me for TechDays, his assistant Danielle was holding up a light reflector and remarking that I seemed to really love my job. I hadn’t yet told her that I really loved my job; I was just doing my thing, running my track of the conference, chatting up the attendees and missing most of the lunch break to play accordion and pose for a photo shoot. I’d been up since before sunrise on the morning of the first day of the first of seven conferences where I’m acting as track lead for the first time and she knew it – it’s hard to fake enthusiasm under those circumstances. I was “on” because I love my job.

As I write this — September 20th — it’s been exactly eleven months since my first day as a Developer Evangelist for Microsoft. I suppose I could have waited another month for the traditional anniversary to talk about my time with The Empire, and were I a little less enthusiastic about my job, I probably would have done just that. But I can’t wait, so why bother?

Inspirational poster: 'Unemployment: Sucks when your job gets blow'd up.' with sad stormtropper sitting on a subway train.

It hasn’t even been a year since I got laid off from my last job: that anniversary doesn’t happen until September 24th – this Thursday. The insult-added-to-injury of getting laid off on my own wedding anniversary (they didn’t know, but the layoff was still worse for it) makes the event a little more memorable. It also gave me the choice of viewing the days to follow as a trial or an adventure. You already know which one I chose.

Thanks to the help and referrals of a lot of a readers of both The Adventures of Accordion Guy in the 21st Century and Global Nerdy, I had a job interview or job-search-related meeting on nearly every day of the three weeks between my getting laid off and my signing the offer letter from Microsoft. These meetings were all quite different: I had a great interview with a great small company, an interview with a company that I thought would be great but turned out to be scatterbrained, and even an interview with a company I expected to be a Mickey Mouse outfit but turned out to have surprising depth. I also had interviews with Microsoft: six of them, in fact.

I'm a Mac, I'm UNIX, I'm Vista poster

I have to admit that I had some concerns about joining The Empire. After all, for the previous 6 years, I’d been using Python and PHP, and then working my way into becoming a Rubyist. I used open source tools to write software and either Mac OS X or Ubuntu in my day to day work. I was deep in the culture and the scene of the “I work on a Mac and deploy onto Linux” crowd. Could I work for Microsoft? And could I work in an office park out in the burbs?

(The last time I interviewed for a job in an office park in the burbs, this happened.)

You already know the answer, but you might not know the reasoning behind the answer. “It’s the money!” is everyone’s first guess, and it’s a good one – just not the right one. Yes, a company like Microsoft would be able to give its workers decent salaries. It certainly played a factor in my decision, but a couple of the other potential jobs were offering roughly the same number of ducats. However, if money were the primary factor in my career choices, I’d have gone for one of the programming jobs at a bank or insurance company that were available to me right out of school instead of starting at $12.50 an hour at a CD-ROM company run by art school grads. But I suspect that you wouldn’t be reading this blog – probably because I’d be neck deep in a mid-life crisis.


For starters, the job isn’t out in the burbs. In fact, I haven’t worked in a situation as flexible as this one since I was a self-employed consultant. The field people in Microsoft’s Developer and Platform Evangelism (DPE) team are classified as mobile workers and most work out of their home offices, with occasional visits to the office for meetings. I split my time between the home office, cafes (where I’m surprisingly productive), the Hacklab (a “hackerspace” in Kensington Market to which I have 24/7 access) and the Microsoft office out in the burbs, where I show up to gain access to the most important network: not the corporate one, but face-to-face contact with my non-remote coworkers in various departments.


Another perk of the job: considerably more control over my own destiny than one might expect. A Microsoft evangelist’s role is pretty broadly defined, specifying the what of what we do. The how part is defined in our commitments, a document where each of us writes how we’ll fulfill our role, on both an individual and team level and then gets agreed upon with our managers. I happen to report to John Oxley, an exceptionally understanding manager, so when I threw away the suggested “hows”, wrote my own from scratch and set a couple of rather ambitious goals, he approved them.


I wouldn’t have joined Microsoft had I not seen the signs of some course corrections, the cumulative effect of which I like to refer to as “The Sea Change”. There are lots of factors, including an increasing willingness to “play well with others” – embracing standards, an emphasis on interoperability, participation in community events, the hires of unlikely people including my friend David Crow, and a lot of good tech, ranging from great developer tools to platforms like Silverlight and XNA, to the then-upcoming technologies like “Red Dog” (which became Azure) and ASP.NET MVC (still in beta back then) to the fact that they were starting to look at what an open source approach could do for them. Yes, the company still is a bit hung up on desktop computing and its old  approaches – it’s hard to walk away from the goose the laid the golden egg for two decades – but there are signs that change is afoot.


Finally, there’s the challenge. Evangelizing at Microsoft means reaching out to a larger body of developers and techies than I ever could anywhere else, working with a platform than spans embedded systems to high-performance machines to data centers spread throughout the world – and doing so for a company facing the challenges of its size, its competitors and its own past.

To put it a little more simply: Any fool can evangelize Apple or Google. It takes a rock star, ninja and Jedi master all rolled into one to be an evangelist for Microsoft. It’s not that there’s nothing from Microsoft to evangelize – it’s just that there are lot of factors that make the job something that not just anyone can do.

I view my job as so much more than winning techies’ hearts and minds on behalf of The Empire. It’s about making big changes: changing the company, the culture of high tech, the field of software development and yes, the world. It’s a bold, audacious, chutzpah-riffic set of goals and it won’t be easy – but the most rewarding work rarely is.


So here I am, eleven months later. The work has been exciting, rewarding and challenging. I believe I’d started to make my mark on the company and hopefully someday, the industry. Every day, I get the opportunity to do the things I love to do: write code, talk to people and come up with new ideas, often in the surroundings of my choosing. I feel like equal parts Don Draper and Don Box!

It’s been great so far. I’m going stick around for a little while.

I can’t close this article without a few thank-yous:

  • To my manager John Oxley, for hiring me, trusting that I would temper my wacky ideas with solid judgement, giving me the freedom to operate in the way that lets me work my magic and for making sure the higher-ups were aware of my work.
  • To David Crow, for being one of the guys to recommend to DPE that they hire me as soon as he heard I’d been laid off.
  • To my fellow Developer Evangelist John Bristowe, for mentoring me through my freshman year at Microsoft and for being the other guy to recommend to DPE that they hire me.
  • To my former VP Mark Relph, for his support.
  • To the rest of my team, who are too numerous to name, but whom I hold in the highest esteem.
  • To the other groups within The Empire with whom I work: CSI/Interoperability, Windows Phone, Open Source and our event organizers Maritz – I hope to keep on working with you folks!

This article also appears in The Adventures of Accordion Guy in the 21st Century.


Silicon Alley Insider on the King of the Apple Geeks

Screenshot of the "Daing Fireball" blog Silicon Alley Insider states the obvious – at least it’s obvious to Macintosh fans: John Gruber is King of the Apple Geeks.

On the off chance that you hadn’t heard of John before, he’s the one-man force behind Daring Fireball, one of the must-read sites for fans, followers – and yes, even evangelists for the competition — of Apple. He’s been writing the blog since the summer of 2002 and over time has acquired a legion of readers that includes higher-ups at Apple, Inc. His recent article about how Ninjawords, an iPhone dictionary and the latest app to get rejected by Apple’s Kafkaesque approval process was not just spot-on; it also got linked to by a large number of influential tech sites and managed to garner a response from Apple senior VP Phil Schiller, which he published as a follow-up article.

As with any site created by an Apple True Believer, Daring Fireball devotes a number of electrons to taking on The Empire, the most recent set being Microsoft’s Long, Slow Decline, a long but interesting (and also much-linked-to) article on the company’s current state and the challenges it faces. Whereas  lesser, more rabid fanboys — Daniel Eran Dilger of Roughly Drafted, I’m lookin’ right at you – would’ve been content to prematurely dance on the company’s grave, John enumerates the company’s missteps with solid reasoning and soberly (well, mostly soberly – hey, I’m not going to deny him his little bit of glee on behalf of his team). Even when he’s pummelling the organization for whom I work, I have to credit him for going beyond mere tribalism and penning some of the best-thought-out tech articles on the web today.

Why do I read him?

  • For starters, he’s good. I’m working on becoming one of the web’s best writers, and it pays to learn from the pros.
  • It’s also partly out of habit; I was a Mac user prior to my hire as a Microsoft Developer Evangelist.
  • It’s also my job. I do both Microsoft and its customers a disservice by not looking (and learning) outside Microsoft’s walls, especially since I was hired for my outsider’s perspective.
  • It helps me with my job. His blog is practically a laundry list of things I need to focus on.

Here’s a question for which I can’t easily come up with an answer: is there a Jon Gruber analogue in the Windows world? If not an analogue, any close approximations? Let me know in the comments.


Microsoft Canada Wants to Pick Your Brain!

Microsoft Canada’s Audience Marketing Team wants to pick your brain!

Zombie picture: "I can has brains?"

If you’re a reader of this blog, Global Nerdy, chances are that you write software, manage computer systems or do some kind of work in the realms of software, IT or the internet. If that’s the case, the folks on my team at Microsoft – the Technical Audience Team – would like to hear your opinions.

Cat with cheese slice on its face: "Cheez: You're doin' it wrong"

The reason we want to pick your brain is simple: we want to be able to avoid a “Cheez Cat” kind of situation like the one pictured above. We’d like to be able to correctly identify the kind of opportunities – things like conferences, events, workshops and other things for developers and IT pros – that you’d be interested in. We’d also like to know whether you’d be willing to share your insights, or participate in activities that we’re putting together and with the developer community.

"Toothpaste for Dinner" comic on surveys

And now, it’s time to cut to the chase: yes, I’m asking you to fill out a survey. Yes, I know that there are things you’d rather do – maybe someone’s made a new Keyboard Cat video – but this survey is a chance for you to steer “The Empire”. We try to make sure that we’ve got hard data to back up the decisions we make, and surveys like this one are where we get the hard data from. We’d rather you tell us how to connect with you in a way that best fits your working style, skills, interests and passion than make what we call a S.W.A.G. (Silly Wild-Ass Guess).

Modified "Uncle Sam" poster: "I want fill out the survey"

If you’re based in Canada and you either write software (for the desktop, web or mobile) or manage computer systems, I’m asking you to fill out the survey. The official notes for the survey say that it takes about 15 minutes to fill, but you’ve probably guessed that you can fill it out in less time.

Big red arrow: "Click here to TAKE THE SURVEY"

To take the survey, you can either click the giant red arrow above, or you can click this link. If you’ve already taken the survey, I’d like to thank you for doing so!

If you know a developer or it pro whom you think should take this survey, please forward a link to this article to them!


Mental Models, Mantras and My Mission

Mental Models and Bill Buxton’s “Draw a Computer” Exercise

Bill Buxton

In the mid 1990s, well before he was Microsoft’s user interface guru, Bill Buxton often asked people to carry out a simple little exercise: draw a picture of a computer. Most, if not all, of the people he asked would draw something that fit the common mental model of the desktop computer of the era: cathode ray tube-type monitor, keyboard, mouse and that box housing the motherboard and drives that many people mistakenly refer to as “the CPU”.

If Buxton were to ask the question today, the drawings of computers might look like these:

Four computers from the 2000s - a laptop, a couple of all-in-one-desktops and a desktop with a "box" -- all with flat screens

If he asked the question in the mid-to-late 1980s, the drawings might’ve looked like these:

80s-era computers: Apple ][, Commodore 64, TRS-80 and IBM PC

And had he asked the question in the mid-60s, the drawings might’ve looked like this:

The classic fake "home computer as envisioned by RAND" photo

Buxton likes to point out that the changes in computers from the 60s onwards are largely in the implementation technology, processing power and outward appearance. When most people draw computers, he said, they’re merely drawing their mental model, which is based on the outer packaging.

However, if you use the mental model of a technologist, computers have been essentially the same instruction/ALU/storage/input-output boxes whether they’ve occupied whole rooms or fit in your pocket. They’ve been pretty much the same at their core, in the same way that fancy tech and hybrid engine aside, there really isn’t too much that separates a present-day Toyota Prius from a Model T Ford.

If Bill Buxton could approach Microsoft Corporation as a person — and hey, that’s the way the law treats corporations, so why not? – and asked him/her to draw a computer, I suspect that s/he would draw something based on mental model of a souped-up circa 2000 computer: a desktop computer with a nice flatscreen monitor, running Windows XP and having a somewhat limited connection to the ‘net.

I think that this is a problem. I also think that the source of this problem is Microsoft’s success.

Microsoft’s Company Mantras

“A PC on every desk and in every home” was Microsoft’s longest-lived slogan and the company mantra for the first 24 years of existence. Like the best slogans, it succinctly summarized the company’s goal. The problem is that the goal has pretty much been reached. In most parts of the first world, a good chunk of the second world and even a sizeable fraction of the third world, you can easily find a desktop computer, and it’s quite likely that it’s running some sort of Microsoft software.

Since 1999, the company mantra – I really hesitate the use the phrase “vision statement” — has been a little more vague. The company’s been thrashing between them a little more frequently, as you can see in this list of mantras taken from chapter 1 of How We Test Software at Microsoft:

  • 1975 – 1999: “A PC on every desk and in every home.”
  • 1999 – 2002: “Empowering people through great software – any time, any place and on any device.”
  • 2002 – 2008: “To enable people and businesses throughout the world to realize their full potential.”
  • 2008 – present: “Create experiences that combine the magic of software with the power of internet services across the world of devices.”

The post-1999 mantra all seem a little limp in comparison to the original. Reading them, I cannot help but think of a quote attributed to web design guru Jeffrey Zeldman:

"…provide value added solutions" is not a mission. "Destroy All Monsters." That is a fucking mission statement.

Because the old mantra lasted for so long and the new mantras just don’t have the same straightforwardness and gravitas (How We test Sofware at Microsoft quotes Ballmer as saying that we may never again have a clear statement like the original to guide the company), the original remains quite firmly etched in the company culture and mindset.

I think it’s holding us back.

The Desktop as the Goose That Laid the Golden Egg

Altair 8800 computer on display at Microsoft's Building 92 gallery

The original mantra doesn’t just focus on the desktop, it actually mentions it by name. In 1975, when computers were room-filling behemoths that you could access either via batch or time-share, the concept of a desktop computer was downright radical. If you think the iPhone is impressive (and yes, it is), imagine how mind-blowing the Altair 8800, the first commercially-available desktop computer, must have been to a geek back in the Bad Old Days. It was the platform on which Microsoft’s first product – a little programming language called Altair BASIC – was launched, and it was BASIC that in turn launched the company.

In his book Outliers, Malcolm Gladwell talks about how the Altair 8800 was a golden opportunity for Bill Gates and his buddies at his fledgling company, then called “Micro-Soft”. Unlike a lot of other companies at the time, they took the desktop computer seriously. Even when IBM got into the desktop computer game in 1981, it was a product of their Entry-Level Systems division, a clear indication that they thought the PC was a machine you bought until you were ready to graduate to a real computer. I don’t think that this philosophy ended up serving them well.

An Applesoft BASIC cassette featuring a sticker that says "Copyright Microsoft, 1977"

Since the big boys were paying no mind to the desktop computer, upstarts like Microsoft had a big empty field in which to play, and they thrived. Crack open just about any late 70s/early 80s computer that had BASIC built in – even Apple machines — and you’ll see a row of ROM chips with a Microsoft copyright notice. It was Microsoft that swooped in with PC-DOS when a deal with Digital Research for a PC version of CP/M was slow in coming (and this is despite the fact that Gates recommended that IBM go to Digital for an OS). A lot of people’s experience with desktop computers (and Microsoft revenue) is defined by circa-1995 Microsoft thanks to Windows 95 and the results of Bill Gates’ memo titled The Internet Tidal Wave, both of whose influences are still felt to this day.

Once upon a time, it used to be unusual to walk into someone’s home or office and see a computer. These days, it’s unusual to walk into someone’s home or office and not see a computer, and Microsoft’s focus on the desktop had a lot to do with that.

The Desktop as Albatross

Albatross, shot with a sucker-dart arrow, falls on the head of a Disney-esque cartoon character

When electric motors first became available, engineers envisioned factories and eventually houses being equipped with a single electric motor. They imagined that the central motor would, through a series of gears and drive belts, be connected to whatever machines in the house or factory had to be driven by it. What happened in the end is that rather than relying on some central motor, electric motors “disappeared” into the devices that used them. Here’s an exercise to try: go and count the electric motors in your house or apartment right now. The number should be a couple dozen, and if you can’t find them, this article might help.

When big, room-filling computers first became available, engineers envisioned businesses being equipped with a single computer in a manner roughly analogous to the aforementioned big central motor. We know what happened in the end – while many businesses do make use of big datacenters, a lot of the computing power got spread out into desktop computers.

I have a theory that comes in two parts:

  1. Just as electrical motors disappeared into the devices that needed their work, and just as computing power got spread out from big mainframes into desktop machines, computing power is now both disappearing and spreading out into mobile devices and the web/cloud.
  2. Microsoft, with its desktop-centric approach, at least outwardly appears to be missing out on this migration of computing power.

Most of the company’s attention, at least to an outside observer, seems to be focused on Windows 7. Yes, chances are that with computer sales being what they are, Windows 7 will probably end up on more of laptops and netbooks than desktops, but I consider those devices to simply be the desktop computer in a more portable form. It worries me that there have been more concrete announcements about Windows 7 on netbooks than upcoming versions of Windows Mobile, despite the iPhone and BlackBerry-driven evidence that the real mobile action is in smartphones.

(Tomorrow, I’ll post an article in which I argue that netbooks are a dangerous red herring pulling away our attention from devices like smartphones.)

Microsoft ASP.NET

Even when the company reaches out beyond desktop development, there’s no escaping the desktop “gravity well”. Consider ASP.NET (that is, the “traditional” ASP.NET, not the recently-released ASP.NET MVC). To my mind, as well as the minds of a lot of other web developers, it’s a web framework that tries really hard to pretend that the web doesn’t exist. It makes use of a whole lot of tomfoolery like ViewState to create a veneer of desktop app-like statefulness over the inherently stateless nature of the web and a programming model that tries to mimic the way you’d write a desktop application. It’s almost as if it were designed with the mantra “the web is like the desktop, but lamer” instead of “the web is like the desktop, but everywhere”. Although the framework works just fine and there are a number of great sites and web apps built on it, I think a lot of developers sensed this design philosophy and went elsewhere for web development.

(An aside: My old boss at OpenCola in late 2001 told me that he’d been meeting with Microsoft people and suspected that Internet Explorer 6 would be the final version of their browser. The expectation that web pages and web applications would be replaced by Windows client applications pushed over the net, a prediction similar to one made by the Java folks a few years prior.)

Windows Mobile logo

The same situation exists with Windows Mobile’s current user interface, which is basically a subset of Windows’ standard UI controls for the desktop, scaled down to fit smaller screens, and with a stylus standing in for the mouse. It’s almost as if it were designed with the mantra “mobile computing is like desktop computing, but lamer” instead of “mobile computing is like a mobile phone plus PDA and an MP3 player, but cooler.” If the ASP.NET design mantra is a whisper, the Windows Mobile mantra is a scream.

I suspect that the reason the XBox 360 didn’t fall into a similar kind of trap — “set-top boxes are like desktop computers, but lamer and only for games” – is that the XBox team is situated off the Microsoft Campus and less susceptible to the desktop influence.

My Mission

Stick figure, chained to desk, breaking the chain

At my most recent one-on-one meeting with my manager John Oxley, we talked about a need for each member of our Evangelism team to define his or her area of focus. The Microsoft platform is a vast, nerdy expanse spanning the range from embedded computing all the way to Cray supercomputers; no single person can hope to cover it all.

He already had a good idea of what I wanted to focus on, and by now, I guess you do as well. I feel that just as computing expanded beyond the big computer rooms and onto our desktops, computing is expanding beyond our desktops into all sorts of different places:

  • Invisibly, into the web and cloud in the form of web applications and services
  • Visibly, into our pockets and living rooms, and embedded into all sorts of real-world things

While I believe that Windows 7 is a necessary part of the Microsoft platform, I’m not too worried about focusing on it – there are more than enough people at the company to promote and evangelize it. I want to focus on the platforms that I feel that Microsoft hasn’t given enough love and attention: the non-desktop platforms of the web, mobile and gaming, as well where they intersect.

It’s a big area to cover, but I think Microsoft needs to be active in this area if it wants to be true to its forward-looking roots. I even have a mantra for it: “To help web, mobile and game developers using Microsoft tools go from zero to awesome in 60 minutes.” I want to give developers both that rush when getting started with a new technology as well as the sustained passion to keep working with it, in the same way that Ruby on Rails and the iPhone got developers with an initial flash of excitement and turned it into long-term passion. It’s an ambitious, audacious mission, but no more so than the one coined by a bunch of scruffy nerds in New Mexico in the the 1970s: “A PC on every desk and in every home.”

Joey deVilla with cardboard cutouts of Microsoft's 1978 team


Evangelist, Immigrant and Shaman

This week, Microsoft Canada’s Developer and Platform Evangelism team is getting together to do its planning for the upcoming financial year, which runs from July to June in The Empire. There’s a lot to talk about, especially in a year that combines the Credit Crunch, the releases of new versions of Windows, Windows Mobile, Visual Studio and who-knows-what-else and a company looking to establish its place in an increasingly web- and mobile-driven world.

A good place to start might be to think about the roles that we, as individual members of the Evangelism team, play.


Old colorized photo of a boy evangelist with the title "I've got a message!"

Unlike Anil Dash and Jeff Atwood, I never had any reservations about the job title “Evangelist”. The religious connotations never bothered me. It might have had something to do with spending eight years in a Catholic school — it didn’t do me any harm, and it didn’t seem to hurt Keanu, who went to the same school around the same time. It might also have something to do with the fact that like Atwood, I think that “Software development is a religion, and any programmer worth his or her salt is the scarred veteran of a thousand religious wars.” I could never be happy with only programming; I need to mix it with sharing the knowledge and passion for the craft through writing, speaking, schmoozing, performing and entertaining.

Like evangelism of the religious kind, being a technical evangelist isn’t a job that you can do “on autopilot”. There are some jobs that you can do and even excel even though you hate them and the work is of no interest to you. No doubt you’ve seen or know people who do their jobs “on autopilot”, functioning well enough to perform the tasks required of them. Evangelism isn’t one of them. As the title implies, if you don’t have the believe in what you’re talking about, if you don’t have faith – you can’t get the job done. Evangelism is about winning hearts and minds, and people just know when you’re faking it, and once they know, they’ll never listen to you again.

Guy Kawasaki

I’ve wanted be a technical evangelist ever since I learned about Guy Kawasaki, who held the title at Apple in the mid 1980s. He may not have invented the title or the position – credit for that has to go to Mike Boich, Guy’s buddy at Apple – but he popularized the term and set the standard. The job engages both what we colloquially refer to as the “left brain” and the “right brain”; it requires you to tap into your rational and creative sides, often simultaneously. It’s the sort of work that I can really sink my teeth into. It is my dream job.

Nobody questions my suitability as an evangelist. People have asked about my suitability as an evangelist for Microsoft. How can a guy who’s been working largely in the open source world for the past seven or so years, mostly on a Mac, be an evangelist for The Empire?


Immigrant family on Ellis Island looking at the Statue of Liberty in the distance

I came to appreciate Microsoft’s tools after leaving my first job. In 1997, my friend Adam P.W. Smith and I left multimedia development at a shop called Mackerel, to go try my hand at building “real” applications at our own little consultancy. We wanted to graduate from building multimedia apps for marketing and entertainment purposes – software you might run once or twice and then discard — and start building applications that people would use in their everyday work to get things done.

Despite being Mac guys at heart, we chose the Windows platform since that’s what our customers were using, and opted to use Visual Basic to build our apps. Although it was considered “the Rodney Dangerfield of programming tools”, Visual Basic in the pre-.NET era was the best tool for producing great applications in a timely fashion that both we (and our customers, since they got the source code) could easily maintain. Our longest-lived application, a database of every mall in America written for National Research Bureau in Chicago, was first written in 1998 and its codebase lived on until a couple of years ago. In today’s world of ephemeral Web 2.0 apps, that’s an Old Testament lifetime.

Splash screens for "HPS Training System" and "Shopping Center Directory on CD-ROM"

Just as the best immigrants bring a little bit of their home culture and add it to the mix in their newly-adopted country, we decided to bring Macintosh user interface and workflow culture to the Windows world. We took care to write user-friendly error messages and also structured our applications so that you wouldn’t see them often. Our layout was consistent and everything was clearly labelled so you never felt lost in the application. And yes, we sweated over aesthetics because we felt that beautiful tools lead to better work.

Here’s the original application that we were given as a guide:

Original crappy SCD screen 

…and here’s our rewritten-and-redesigned-from-the-ground-up app that we built for National Research Bureau:

New and improved SCD main screen

(For more on what we did, visit the page where we showcase our work.)

A decade later, I find myself an immigrant in the world of Windows development, and once again, I want to bring a bit of the cultures from which I came and add it to the mix. This time, that culture is from Build-on-Mac-Deploy-on-Linux-istan, a cultural crossroads which blends a strong design aesthetic with the focus on the web, mobile applications, unit testing, distributed version control, sharing code and a scrappy startup work ethic and spirit. At the same time, I see the potential in my new Microsoft homeland, with its expansive reach into just about every level of computing, from embedded systems to giant enterprise datacentres, its excellent IDEs and frameworks and its large developer base. As an “immigrant” Microsoft evangelist, I see the chance for me to ply my trade in a new land that needs my skills, energy and outside perspective, and earn a fair reward for my efforts.


Shaman holding a Windows 7 logo

I’ve been trying to take how I see my role at Microsoft and distill it into a single idea, perhaps even a single word. The term “Change Agent”, which appeared all over the place in early issues of Fast Company captures a lot of what I’m trying to express, but it feels sort of clumsy and doesn’t have that summarize-a-big-concept-in-a-single-word oomph that “Evangelist” has.

Luckily for me, my friend Andrew Burke was reading an editorial in Penny Arcade which had the perfect word:

What Microsoft needs badly is a shaman. They need somebody who is situated physically within their culture, but outside it spiritually. This isn’t a person who hates Microsoft, but it’s a person who can actually see it. I can do this for you. Give me a hut in your parking lot. I will eat mushrooms, roll around in your cafeteria, and tell you the Goddamned truth.

That’s not bad. There are a number of ways in which “shaman” might be more applicable than “evangelist”.

Family photo where everyone except one kid is dressed in their Sunday best; one kid us dressed like a biker/metal dude.

For starters, I am situated physically within Microsoft’s culture, but in many ways I’m outside it spiritually. This is thanks to the fact that I’m a mobile worker and don’t have a cubicle within Microsoft’s offices and to my manager John Oxley’s efforts to keep me from getting too deeply entrenched within the culture. I was hired partly for my outsider’s perspective, and for me to be effective, I need to maintain some of my “outsideness”. This perspective makes me able to do or see things that a hardcore Microsoftie might not consider (such as Coffee and Code) or perceive (such as the rise of the iPhone, while Steve Ballmer said that “There’s no chance that the iPhone is going to get any significant market share”).

"Mediator" photo: guy in suit acting as a referee for two guys in suits arm-wrestling

Unlike religious evangelists, shamen are mediators. While an evangelist’s communication is typically one-way, from the supernatural to the people, the shaman not only speaks on behalf of the supernatural to the people to influence them, but also on behalf of people to the supernatural to influence it back. If I am only evangelizing to developers on behalf of Microsoft, I’m only doing half my job. I also need to evangelize to Microsoft on behalf of the developer community.

When I joined Microsoft, a number of my friends suggested that I’d be good at changing the company from the inside. I think that that task is better left to the people who either develop its technologies or strategy; as an Evangelist – er, Shaman – I am better positioned to change the company from the outside. Think about it: a good chunk of what makes a platform is its developer community; without it, it’s just sits there. Without their developer communities, Windows wouldn’t have become the dominant desktop system, Linux wouldn’t have become the dominant web OS and the iPhone would be another Nokia N-Gage. Developers shape the platform just as much as the platform vendor, and they do it best when they have a conduit to their platform vendor – a shaman.

Package for the Nintendo game "Captain Planet and the Planeteers"

For some religions, the position of shaman is also an ecological one, and as a developer evangelist so is mine. According to Wikipedia, some shamen “have a leading role in this ecological management, actively restricting hunting and fishing”. I am charged with making sure that Canada’s developer ecology is a healthy one; in fact, when I was hired, I was told that I was hired “for Canada first, and Microsoft second.”

A healthy, thriving developer ecosystem is good for the field, which in turn is good for Microsoft. As a developer who likes to participate in the community, I have an active interest in keeping the ecosystem healthy, and a Microsoft that contributes positively to that ecosystem is a good thing. The nurturing of ecosystems isn’t covered by evangelism, but it certainly falls under a shaman’s list of tasks.

Wide-eyed LOLcat hiding: "Bad trip kitteh wishes furniture would just stay in one place."

And finally, the idea of eating mushrooms and rolling around the Microsoft cafeteria is intriguing. I doubt that they’d tolerate me playing my accordion while high as a kite, wearing nothing but body paint and assless chaps, rolling all over the salad bar and smothering myself with cottage cheese. It is an amusing idea, though.


Where Should I Hold My “Coffee and Code” Days?

Guy in a cafe using a laptop

From 1998 to 2000, I was self-employed. Lacking the funds to rent office space, I ended up working outside the boundaries of cubicle-land or even anything that looked like an office. I worked out of my kitchen, my business partner Adam’s living room and often by the bar at the old location of the Queen Street cafe known as Tequila Bookworm. Being a gregarious and social guy, I enjoyed working at “The ‘Worm”, mixing work with mingling with both the people who came to the cafe and the people who worked there (which led to a story I call Worst Date Ever, which was actually a lot of fun, even back then).

Today, I’m a Sith Lord – er, Developer Evangelist — at Microsoft. In addition to the cool red lightsaber and the ability to hurl lightning bolts, I also have the benefit of being a remote worker, which means I can choose where I work. I’ve got a nice home office setup and I can go hang out at the Evangelist Corner at the Mississauga office, but neither of these locations puts me anywhere where you can come up and talk to me.

That’s why I plan have a “Coffee and Code” day at least once a week. On these days, I plan to work from a wifi-equipped cafe, where you can walk right up to me and talk.

This brings me to my question: Where should I set up? A better way of putting this question might be “Where should I set up so that it’s convenient for you to drop by and have a word with me?” As long as it’s got wifi and it’s somewhere in Toronto, if it’s at a place that’s convenient for a lot of developers and techies, that’s where I want to be.

If you have any suggestions, please let me know in the comments!