Categories
Uncategorized

Apple, Windows Phone 7 and Burning the Boats (or: Why I Think Windows Phone 7 Doesn’t Have Copy and Paste)

Replica Spanish galleon on fire

Sometimes, you have to do more than just start from scratch. Sometimes, you have to burn the boats.

“Burning the boats” is an expression that comes from a story – some say legend — about Cortes, the Spanish Conquistador (and yes, the subject of Neil Young’s Cortez the Killer). Wishing to guarantee that his men would stay in Veracruz (which he’d just taken over from the Governor of Cuba) and only move forward into terra incognita without retreat, he ordered them to burn the ships that brought them to the New World. It was an extreme measure, but without the distraction of a way home, they committed themselves completely to business of exploring and conquering.

The Original Mac: No Arrow Keys

Bruce “Tog” Tognazzini, former user interface guy at Apple and the company formerly known as Sun, and now member of the Nielsen/Norman Group, wrote about how Apple burned the boats back when they released the original Macintosh in his 1992 book Tog on Interface and more recently in an article on his blog, AskTog.

Original IBM PC and Apple // computers

In 1984, the Macintosh represented a break from the dominant paradigm at the time: the command-line interface. Back then, you’d issue commands to a program these ways:

  • Typing them in
  • Using control-key combinations
  • Using function keys
  • Using the arrow keys to navigate

Software developers at the time had little experience developing for GUIs, which meant that there would be great temptation for them to simply develop apps for the Mac the way they did for other platforms. The software they’d end up writing would be a command-line app that just happened to run on the Mac.

Steve Jobs and Apple’s Macintosh team, an unconventional bunch who were said to have nary a classical computer science degree among them, thought that existing software sucked. I was 16 at the time, and I’d have to agree. In order to prevent straight ports of existing software to the Mac, they decided to “burn the boats” and make it difficult for developers to “go home” and simply rely on the UI techniques from the Old World. The first Mac keyboards didn’t just omit the function keys, they also left out the arrow keys:

Original 128K Macintosh. "See? No arrow, function or control keys."

Tog writes:

That was a big deal. Almost every application then in existence depended on the arrow keys (then called cursor keys) for navigation. With that one stroke, Steve reduced the number of apps that could be easily ported to the Mac from tens of thousands to zero, ensuring that this new computer would have a long and painful childhood.

It’s counterintuitive to want to have your creation go through a long and painful childhood, but there was a method to their madness. In “burning the boats” by getting rid of the function and arrow keys on which developers relied and taking away their “way home”, they forced developers to redesign and rewrite their applications to fit a mouse-driven graphical interface rather than a keyboard-driven command-line interface.

They eventually brought back the arrow keys about a year and a half later. By that point, developers had grown used to developing GUI apps that took advantage of the UI controls and mouse that we’ve come to know and love. The return of the arrow keys at that point would now be a welcome addition and convenience, rather than a dangerous temptation to return to “the old ways”.

It was a bold move, but when you’re making radical changes to the way things are done, bold moves are often required.

Windows Phone 7: No Copy and Paste

Copy and Paste icons

There’s been some talk about Windows Phone 7’s lack of copy and paste. It’s similar to the hue and cry about the original iPhone’s lack of copy and paste, and having been reminded by Tog’s article about the design decisions made for the original Mac, I can see the method to Microsoft’s madness.

“Copy and paste already exists in Windows,” people have said, “why not Windows Phone 7?”

The answer is simple: because Windows Phone 7 apps aren’t supposed to be like Windows apps. For non-enterprise, non-industrial use, the “Windows, but scaled down” approach of previous versions of Windows for phones, which goes under the name Windows Mobile, didn’t catch on (Windows Mobile still rules the roost for compact devices used in enterprises and industries, and will be supported for years to come). Hence Albert Shum’s completely different-from-the-desktop, and even different-from-other-phones Windows Phone 7 interface, which went by the codename “Metro”.

Windows Phone 7 hubs: music+video, people, pictures, office, games

The use of copy and paste implies a keyboard-centric user interface, which isn’t what Windows Phone 7 is about. People often use their smartphones one-handed, with only their thumb to access the touchscreen. Windows Phone 7’s interface takes this usage into account, which is why it’s sensor-centric, and applications, should get their information from touch, gestures, accelerometers, location and other sensors where possible. By not including copy and paste in the first release, the Windows Phone team is “burning the boats” and asking developers “How do you write apps so that they don’t need intricate more-suited-to-the-desktop operations like copy and paste?”

(And yes, copy and paste will eventually find its way into Windows Phone 7, just as the arrow keys, function keys and even right-clicking found their way into the Mac.)

The same could be said for many other things that were purposely excluded from Windows Phone 7, such as the compact edition of SQL Server that was part of Windows Mobile. If you think about it, this design decision forces you to build apps so they store and retrieve data from the network, which makes sense, since phones are devices that network with both cellular and wifi.

Windows Phone 7 represents a radical shift in the way Microsoft stuff works, from a very minimalistic look to its task-centric organization. In order to make sure that people built apps that fit it, the Windows Phone 7 team had to burn the boats. It’s a bold move, but it’s the right one.

Categories
Uncategorized

“Our Fine Tradition of Clumsy Names”

"Counting Down to Seven" badgeNice phone, shame about the name.

As I quipped in an earlier post, the name “Windows Phone 7 Series” is a bit long, and suggests that the people who do Microsoft’s branding get paid by the syllable. This is the sort of left-brain-lopsided mindset that has produced names like “Windows Server 2008 R2”.

My fellow Developer Evangelist John Bristowe pointed me to this Joy of Tech comic which attempts to ratiocinate the etymology of this unwieldy appellation:

"Joy of Tech" comic illustrating the meeting that led to the name "Windows Phone 7 Series"

Categories
Uncategorized

Albert Shum on Windows Phone 7

Albert Shum

"Counting Down to Seven" badgeWhenever Microsoft needs to make a radical change in the way they do things, they bring in a hip Asian guy. That’s why they’ve got me shaking things up on Microsoft Canada’s Tech Evangelism Team, and it’s also why Albert Shum is redefining the way Microsoft does mobile phones in his role as the Director of Microsoft’s Mobile Experience Design Team. True to my earlier statement that Canadian techies have been punching well above their weight class since Alexander Graham Bell, Albert studied engineering and architecture at the University of Waterloo.

Here’s a video featuring Albert talking about the design philosophies behind the completely reworked from-the-ground-up Windows Phone 7. It’s featured in the Microsoft News Centre article Windows Phone Designer Seeks the Right Balance.

I like what he says at the end of the video:

What will our users see first? I think hopefully they’ll see themselves in the phone. I think that’s a really key part of how we designed it. It’s really focused on making this phone your phone. We took the idea of making it personal, so that when you look at the start experience, it’s about your content. It’s about your people, it’s your pictures, it’s your music, it’s presented way up there.

My phone is going to be different than your phone, and I think that’s a really key part: that personalized way of navigating the thing that you care about, the things that you want to share, the things you want to listen to, and those are the key moments where we first present that it’s your phone.

If you’re thinking up ideas for applications to write for Windows Phone, keep what Albert says in mind: it’s not about feature lists; it’s all about the user and the user experience.

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

Lessons from the Other Side

Sheep Canada and Other Perspectives

Cover of "Sheep Canada" magazine

Every now and again, I make it a point to pick up some reading material on a field or industry that’s completely unrelated to my own. I find that it both satisfies my curiosity and helps me see things from a completely different perspective. In one particular case, when I found a copy of Sheep Canada lying abandoned on a subway seat, I enjoyed the puzzled and concerned looks from the other passengers as I read the magazine. Not only did I get a little entertainment, but I learned a little bit about what goes into making the lamb chops and sweaters I love.

I also like asking people questions about their work, especially if it’s in field different from my own. It probably stems from the fact that everyone in my immediate family is in medicine; I’m the “black sheep” who went into computer programming. I often chat with my wife and her co-workers at the University of Toronto’s Mark S. Bonham Centre for Sexual Diversity Studies (a fascinating line of work, by the bye), my father-in-law about that branch of the insurance industry that concerns itself with executive benefits, friends who work in the television and movie industries, and so on. I love hearing their stories and find that seeing their perspectives broadens my own.

I’ve even taken on little non-developer side jobs just to get a different perspective. I’ve moved an entire warehouse of high-end dresses, had a fair bit of success as a street musician, gotten ink-stained at an old school print shop and even had a stint as an accordion-playing go-go dancer at a Toronto nightclub.

You Go Hither and I’ll Go Thither

It’s this “wanderlust of the mind” that probably led me, a guy who was actually quite happy in the “develop on the Mac, deploy on Linux” world, to becoming a Developer Evangelist with Microsoft. Each world has its own history, culture, customer base and approach to technology, and each offers lessons to the other. As I’ve said before, technology is a great big smorgasbord, where there are enough seats and dishes for everyone and every taste. Wouldn’t it be a waste if you stuck only with the dishes you knew?

I’ve spent the last year getting reacquainted with the Microsoft development world, and it’s different in many ways. There’s the obvious stuff such as operating systems, programming languages and tools. There’s also the more subtle stuff: conference demographics and what people do in the hallways at conference, the sort of apps that get written, what people do in their spare time and so on.

Don Dodge

Don Dodge is experiencing the same thing…just in reverse. Just as I’ve gone from being a Mac guy to running Windows 7 as my primary operating system, he’s crossed over from Windows to the Mac OS and writing about his experiences with the transition in an article titled From MSFT Evangelist to Mac Enthusiast – The Other Side of the Road.

There are some lessons to be learned from Don’s observations, a fact that wasn’t lost on Todd Bishop. In his article on Don’s “switching” experience, he writes:

This sentence, in particular, caught my attention: "After years of defending Microsoft against the Apple fanatics I decided to go to the other side of the road to see for myself," Dodge writes.

Good for him, but the fact that he hadn’t seen the other side of the road as a Microsoft employee is a symptom of a larger problem at the Redmond company. Loyalty to and appreciation for your own products is nice, to a point, but after interacting with people at Microsoft for the better part of the past decade, I’ve never quite understood, logically, why it’s taboo for its employees to use competing products.

…think what would happen if Microsoft employees experienced and saw around them, every day, a true reflection of the competitive landscape — including Microsoft products and rival technologies. My hunch is that they’d come away with a better understanding of what motivates specific consumer actions, and how they might be able to get consumers to pick Microsoft products instead.

Todd, you took the words right out of my mouth. It’s right along the lines of my own philosophy, which I wrote about in the article Evangelist, Immigrant and Shaman:

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.

Awkward family photo featuring family in the Sunday best with one boy in biker leather.

It’s the style in which I do my work. Yes, I devote a lot of time and effort to Microsoft’s tools and technologies, but I make sure that they’re not the only things I look at. I try to keep abreast of things like the IDE conventions in XCode, what’s happening in the worlds of the iPhone and Android, non-Microsoft languages and frameworks such as PHP, Python and Django, Ruby and Rails, templating systems like HAML and Sass and the NoSQL movement. Each has lessons (the Microsoft term is “learnings”, which I refuse to use, since I consider it a non-word) that can be incorporated into the Microsoft world, just as I’m sure that we too have lessons to offer to these other worlds. And in the end, we’ll all get better tools and technologies for our work, life and play.

It’s something you should try as well. Try using some tool or technology that you wouldn’t normally use. Hang out with developers from “the other side”. Pick up a copy of Sheep Canada. Broaden your perspective and see what you’ll learn!

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

Microsoft’s Open Source Party in Montreal

Here’s a little hint: if you ever get an invitation to a Microsoft party from High Road Communications – they’re Microsoft Canada’s PR firm – accept it. They’re always in great places, have great tapas and drinks and they always invite interesting people. You’re guaranteed to have fun, and that guarantee is doubled if I’m there.

The W’s “Extreme Wow” Suite

On Thursday, right after the end of Day 2 of TechDays Montreal, my fellow developer evangelist Christian Beauclair and I made our way from Centre Mont-Royal (the TechDays Montreal venue) to the W Hotel. That’s where we were holding a little party to which we invited a number of local open source developers, some of who were at the previous night’s Career Demo Camp Montreal.

w hotel montreal

Montreal’s W hotel is a building that has undergone a radical personality change. It used to be the Banque du Canada building, the home of one of our federal government’s most stuffy, buttoned-down organizations. W hotels tend to be the exact opposite: everything about them suggests that they were designed by people who usually design nightclubs, what with DJ booths in their lobbies, electronica and funk music piped into every nook and cranny, dimly-lit hallways with lighting straight out of Blade Runner and other little touches that make it seem as if you’ve somehow managed to get into one of those secret clubs in New York City’s Meat Packing District. Simply put, it’s a pretty good place to hold a swanky cocktail party,

Christian and I followed the directions to the “Extreme Wow” suite that High Road had booked for the party. Here’s what we saw when we entered the room:

01 empty suite 1

The suite was located on the top floor of the W. It was one large room with a 20 foot-high ceiling and an equally high set of windows revealing a balcony looking out onto Square Victoria and a good chunk of Montreal’s skyline. I had a sense of deja vu and soon realized that the place reminded me a little bit of Tony Prince’s swanky condo in the videogame The Ballad of Gay Tony, minus the mobsters to whom Tony owed money and wanted him dead.

02 empty suite 2

Near the back of the suite was the bathroom, which in the spirit of open source, was itself open concept and had nothing to hide. Rather than being tucked into a separate room, the shower, tub and sinks were poised on a split level four or five steps above the rest of the room, with the shower stall being a glass-and-brick enclosure in the middle of it all, looking like the monolith from 2001. The tub was recessed into the floor beside it and covered with a sheet of plywood for the party, either in order to prevent people from falling into it or to prevent me from attempting to start a party hot tub:

03 shower

(Thankfully, the toilet had its own separate “water closet” room, just off to the side.)

The room had been rearranged to better suite a party than overnight guests. The bed had been removed and replaced with a hybrid couch/chaise lounge:

04 shower and chaise

Just about everything in the room could be commanded via the master remote control, which Christian found. It controlled lights, the TV, sound system and even the curtains and skylight blinds (which could be opened and closed via remote-controlled servos):

05 christian and remote

Here’s a view of Square Victoria from the balcony:

06 view from balcony

Christian also found a table centrepiece that reminded him of an M.C. Escher image that I had used in my slide presentation at Career Demo Camp Montreal:

07a christian

For reference, here’s that M.C. Escher piece:

07b escher

Having checked out the place and taken my first set of photos, I did what I always do in such a setting: I got got a drink from the bar and made myself comfortable.

The Presentations

It wasn’t just cocktails and conversations at the party. We had some presentations as well, starting with Nik Garkusha, part of Microsoft Canada’s Open Source Strategy team. He talked about how Microsoft views open source, as well as the work we’re doing in order to make Microsoft and open source work better together.

I split his presentation into two videos. Here’s the first…

…and here’s the second:

Brendan “Digibomb” Sera-Shriar, developer with Optimal Payments, WordPress evangelist, founder of PHP Toronto and WordCamp Toronto and organizer of WordCamp Montreal, talked about his experience working with The Empire: “They’re actually doing open source!”, his use of Windows and the Windows Platform Installer and how open source and Windows can work together:

Yann Larrivee, developer, founder of PHP Quebec, FooLab and the upcoming ConFoo conference, spoke next. He talked about how he enjoyed Make Web Not War 2009, the importance of “playing well with others” both inside and outside the world of open source and how Microsoft is participating in ConFoo:

Marc Laporte, developer of TikiWiki, and among other things, talked about PHP running under IIS. It’s in French, and if anyone would like to give me a hand translating, I would appreciate it greatly!

The Party

As nice as the photos of the suite above are, the place looks far better when it’s filled with guests:

08 full suite 1

09 full suite 2

10 full suite 3

11 full suite 4

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

Career Demo Camp Montreal

career demo camp montreal

On Wednesday, a mere hour or so after the end of Day 1 of TechDays Montreal, came Career Demo Camp Montreal, a community event that combined presentations on job-hunting and career-building with demos of projects by Montreal-area developers.

What’s With All These “Demo” and “Camp” Events and Techdays?

techdays canada For this year’s edition of TechDays, we decided to try something new. TechDays is a two-day cross-Canada conference taking place in seven cities – Vancouver, Toronto, Halifax, Calgary, Montreal, Ottawa and Winnipeg – and all the conference events take place during the day. There are no events scheduled for after 5 p.m., which means that on the evening of Day 1, the venues are ours – and unused. Since they’re already set up for presentations and it costs relatively nothing to hire an A/V tech for a few extra hours, we decided to make our venues open to local developer community events. We even lent a hand in helping put the events together.

This year, we opened our space to four such community events:

The Career Portion

People started milling in at around 6:00 p.m.:

02 audience

The evening began with Alex Kovalenko, Director of Operations at the tech recruiting company Kovasys. His presentation was all about what smart job hunters do, how to write a good tech resume, and the elements of a successful tech interview.

01 alex kovalenko

Alex was joined by a couple of his coworkers at Kovasys for the Q&A session, which included the question “What kind of salary can a PHP developer command in Montreal and Toronto? If I recall correctly, their answer what that in Montreal, they’ve seen a range of CDN$55k for starters to CDN $90k for leads. Salaries are 15% higher in Toronto, but with that comes a commensurate increase in the cost of living.

03 kovasys

Next came my presentation, Better Living Through Blogging, in which I talked about how having a blog has improved my life in a number of way, not the least of which was to help land me the last four of my jobs.

04 yann and joey

Blogs, I argued, were probably the most effective way for you to have control of your online identity and therefore to put your best foot forward to potential employers and customers. Among that stats and opinions I cited in the presentation were:

  • 77% of recruiters surveyed by ExecuNet said that they use search engines to check out job candidates.
  • According to CareerBuilder.com, 1 in 4 hiring managers say that they use search engines to research potential employees.
  • SearchEngineWatch.com reports that there may have been up to 50 million proper-name searches in 2006.
  • Tim Bray, Director of Web Technologies at Sun: “If someone came looking for a senior-level job and had left no mark on the Internet, I’d see that as a big negative.”

goku and vegeta

That was followed by a quick presentation by my coworker at Microsoft, Open Source Strategy guy Arun Kirupananthan, who used Dragon Ball Z as a metaphor for Microsoft (as Vegeta) and Open Source (as Goku) and how they can work together and talked about the Make Web Not War conference, which will take place in Montreal in May 2010.

The Demo Portion

The first demo was by Brendan “DigiBomb” Sera-Shriar, who presented WPTouch.

05 brendan 01

“With a single click,” he said, “WPTouch transforms your WordPress blog into an iPhone application-style theme, complete with Ajax-based article loading and effects when viewed from an iPhone, iPod Touch, Android or Blackberry.”

06 brendan 02

Next up: Patrick Lafontaine, MySQL developer and DBA:

07 christian and patrick

His presentation was on how to back up your MySQL databases effectively and for free-as-in-beer.

(I have to give Christian Beauclair kudos for volunteering to be his mic stand. It’s not easy holding a mic in a single position for ten minutes!)

08 patrick

Then came Sylvain Carle of Praized:

09 sylvain 1

Sylvain talked about the Praized API, which lets you harness their “white label” local search platform fro finding people and services in your local community.

10 sylvain 2

After Sylvain came Marc Laporte demoing TikiWiki, a Full-featured open source multilingual all-in-one wiki with content management and groupware features, written in PHP. It’s our plan to make TikiWiki one of the apps included in Microsoft’s Web Platform Installer:

11 marc

Bruno of DokDok did the next demo. DokDok is a way to share, track and version files of any size, and it’s done using an interface that everyone understands: email.

12 bruno

Then came Marc-André Cournoyer and Gary Haran of Talker. I liked the Ruby pseudocode that they displayed on the big screen:

13 talker

Talker is a group chat application that is particularly good for collaborative work. I may have to give it a try soon.

14 marc-andre and gary 1

Testatoo – I think it’s a pun on “tests à tout”, or “tests for everything” – was the next presentation, which was given by David Avenante.

16 david

Here’s a closer look at Testatoo in action:

17 testatoo

The final demo was Pierre-Luc Beaudoin’s L’Agenda du Libre du Quebec:

18 pierre-luc

L’Agenda du Libre is an online calendar of Free Software events in Quebec and was implemented in Django in under 30 hours:

19 agenda du libre

The Aftermath

stewie griffin

This was the first DemoCamp-style event where the presentations were some presentations were done in English while others were done in French. I felt like a Family Guy character listening to Stewie Griffin during the French presentations: I got the general gist, but missed out on the subtleties. Guess I’m going to have to work on my French!

With the demos done, all that was left to do was to award an XBox 360 Arcade to the presentation that the audience liked most, based on their applause. Marc-Andre and Gary of Talker won, and in a very generous move, decided to donate it to the Salvation Army so that some kids who’d otherwise never get the chance would get a video game console this Christmas. Nicely done, gentlemen!

No DemoCamp-style event is complete without a trip to the pub afterwards, so about 35 of us moseyed down to the 3 Brasseurs on Avenue McGill College and St-Catherine, where Microsoft bought the first round of pitchers.

21 3 brasseurs 2

A few brave souls, Arun and I kept the party going at Benelux where we continued to chat and drink until 2 in the morning, after which I had to scurry back to the hotel in order to get some shut-eye for Day 2 of TechDays Montreal.

I’d like to thank the following people for Career Demo Camp Montreal a success:

  • All the presenters, for putting in the time and giving great presentations. It’s not possible without you!
  • Jean-Luc San Cartier and Yann Larrivee for helping us put it together on the Montreal community end.
  • Christian Beauclair for his invaluable assistance with the A/V setup.
  • Matthew the TelAV A/V guy for his work and for staying late.
  • TechDays head honcho Damir Bersinic for giving me the latitude to use TechDays’ space for community events.
  • Microsoft’s Open Source Strategy team of Nik Garkusha and Arun Kirupananthan for helping to put this thing together on the Microsoft end.

(By the way, if you’ve got an open source project and are wondering what Microsoft can do for you, you’d do well to get in touch with Nik and Arun, shown below!)

20 3 brasseurs 1

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

Me and Steve B.

I bought a fuzzy “Cat in the Hat”-style raver hat with a Canadian flag pattern on a whim earlier this year, thinking that I’d probably find a pretty good use for it some day. That day, it turns out, was yesterday, where I turned it into what I believe was yesterday’s only Steve Ballmer photo-op with a non-management Microsoft Canada employee:

Joey deVilla and Steve Ballmer, wearing Joey's Canadian flag raver hatPhoto by Barnaby Jeans.

Yesterday was a busy day at the Harbour Castle Convention Centre, where we had an all-day Steve Ballmer-rama. In the morning, Steve keynoted an event showcasing Windows 7, Windows Server 2008 R2 and Exchange Server 2010 for the media, key customers and partners. This was followed by an employees-only “town hall” where Steve did a short presentation followed by a Q&A session. On a whim similar to the one that led me to buy it, I took the hat (along with the accordion) along with me.

Following a suggestion from my co-worker Damir, I arrived very early for the town hall, grabbed a seat by the stage and donned the hat. When Steve made his appearance, he did so in classic Ballmer style, running and whooping, high-fiving people as he made his way to the stage. As soon as he saw me, he yelled “Hey!”, put the hat on and posed with me for the photo above.

I’d made a decent splash at Microsoft in my first year, and I’d been wondering if I could match it in my second, which began on Monday. This isn’t a bad start.

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