Categories
Uncategorized

First a Django Guy and Now a Microsoft Guy: “Thank You, Rails”

monkey-knife-fight Platform wars are like monkey knife fights: amusing at first, but regrettable and messy in the end.

You don’t see this very often, and it’s a shame: Jacob Kaplan-Moss, co-creator of Django, the Python-based MVC web application framework, wrote a great article titled Thank You, Rails. From the article’s opening paragraph:

It’s fashionable, or perhaps inevitable, for tech communities to trash their competition…We geeks make arguing over minor technical points into a kind of art.

The most important point in his essay is a few paragraphs down. He points out that while having a competitor often lends focus to a developer community and that a rivalry can often bring about excellence among all parties concerned, it can also bring bitterness and nastiness. He wants to counter those latter things, and so he writes:

I think it’s important to recognize that we in the web development community do in fact owe Rails and the Rails community a debt of gratitude. Rails helped reframe the way we think about web development, and even those who’ve never touched Rails nevertheless are probably reaping indirect benefits right now.

So I think we should all step back from our personal preferences and plainly say thank you, Rails, for all that you’ve done to move the state of web development forward.

Rails was a wake-up call to the web development world in so many ways. In the short time – a mere five years — that it’s been around, it’s been responsible for many changes in the world of web applications:

  • Popularizing MVC amongst web developers. Yes, it had been done before, but never quite as elegantly or explained so clearly.
  • Bringing concepts like DRY and Convention Over Configuration into the developer vernacular.
  • Proving that simplicity is a feature, whether it’s from the developer’s or end user’s point of view.
  • Pointing the spotlight at the Ruby programming language.
  • Driving a movement towards web applications with both beautiful and usable interfaces.
  • Reminding us that programming should be fun.
  • Reinforcing an important idea that we often forget: community matters. (If you’ve been to a RailsConf or better still, RubyFringe and FutureRuby, which takes the Ruby/Rails community camaraderie and turns the dials up to 11, you know what I mean.)

Speaking as a Microsoft guy, I too would like to say “Thank you, Rails”. While I can’t honestly classify myself as ever having been a serious Rails developer – it’s mostly noodling on personal projects and one major cancelled project at Toronto’s worst-run startup – I come from the periphery of the Rails community, having been an unofficial evangelist and occasional court jester, as evidenced in this performance from the evening keynotes at RailsConf 2007:

I take a lot of what I’ve learned from the community-building effort that made Rails what it is today and have applied it to my work at Microsoft. From what I’ve been hearing, it seems to be helping.

It’s not just the community aspects of Rails for which both Microsoft and I owe Rails a debt of gratitude — there are the technical aspects as well. I’m sure the event-driven desktop-style development metaphor behind ASP.NET makes a lot of developers happy, but it drove me bonkers – and also to PHP (and eventually, Rails) — back in 2002. The drive to create an MVC web application framework that treated the web like a first-class citizen instead of “like the desktop, but lamer” led to the creation of my preferred Microsoft web framework, ASP.NET MVC, and I cannot begin to convey how grateful I am for that. I love ASP.NET MVC, and a good chunk of the reasons why stem from the Rails-isms that found their way into it. I think ASP.NET MVC developers would benefit from getting to know Rails and taking it out for a spin – and I think the Rails developers would also gain something from giving ASP.NET MVC a try.

I once read a saying that has stuck with me all these years: “When you slice a blade of grass, you shake the universe.” Yeah, it’s a pretty drama-queeny way of saying that everything is interconnected, but it’s true in many respects, including human endeavour, which in turn includes software development. It’s an ecosystem, and different parts of it influence each other all the time. I think that the best participants in that ecosystem learn from other parts, and acknowledge those efforts that make the ecosystem a better place in which to live.

joey-devilla-on-accordion-at-railsconf-2007

So to echo a Django guy’s sentiment, here’s a Microsoft guy saying it: Thank you, Rails.

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

Halifax Coffee and Code This Afternoon – Just Us Cafe on Barrington

Just Us Cafe logoThis afternoon (Wednesday, November 4th) from 2:00 p.m. to 6:00 p.m. Atlantic time, I’ll be holding a Halifax edition of “Coffee and Code” at Just Us Cafe on Barrington (1678 Barrington). My coworkers Damir Bersinic and Rodney Buike will be joining me. Come on down and chat with us about Microsoft, the tech industry in general, the job market, accordions, whatever!

(If you’re a developer who’s interested in building a cloud computing-based application on Windows Azure, you might want to come down for this one, as I might have an offer that you might find difficult to resist. Just sayin’.)

There may be plans for dinner and accordion-and-beer-fueled mayhem this evening, so if you’re into that sort of thing, drop me a line.

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

The New Yorker’s Hallowe’en Cover and Why You Should Go to WinMoDevCamp

The New Yorker’s Hallowe’en Cover

I make sure to keep an eye on how technology pops up in mainstream non-geek culture because it’s a good way to gauge the techno-cultural zeitgeist and see how technologies are being received by the public at large. As techies, we’re all too happy to be early adopters and are willing to put up with usability problems, annoyances and extra work just to have the latest and greatest gear for its own sake. We have a tendency to forget that many non-techies don’t adopt technologies while they’re still new and need a techie mindset to use; they’ wait until technologies evolve to the point where the benefits outweigh the annoyances.

The current issue of The New Yorker has a Hallowe’en-themed cover that hints at how much smartphones have worked their way into everyday people’s lives:

New Yorker Halloween Cover

Here’s a closeup:

New Yorker Halloween Cover closeup

(I’ll bet that at least one of you went out Saturday night trick-or-treating and checked your smartphone.)

The practical upshot of all this: the mobile platform is in your future. It’s the one that people take everywhere and it’s growing in power in leaps and bounds the way desktop (and later, laptop) computers did in the ‘80s and ‘90s.

WinMoDevCamp

WinMoDevCamp banner

Speaking of mobile platforms, we’re holding a full-day workshop on Windows Phone development called WinMoDevCamp Toronto next Wednesday, November 11th  from noon to 9 p.m. at the Microsoft Mississauga offices (1950 Meadowvale Boulevard). It’s free of charge and your chance to learn how to develop applications for Windows Phone.

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

One-Handed Computing

Yes, you probably went here as soon as you saw the phrase “One-Handed Computing”:

"Successories" style poster featuring a woman gasping as a man shows her something on his computer: "Your Porn Collection. Probably best kept to yourself."

But in this case, I’m talking about what Jason Kottke is talking about — those times when you use mobile technology while your other hand isn’t free because you’re:

  • Eating
  • Drinking
  • Carrying or feeding a baby
  • Walking the dog
  • Carrying groceries
  • “Straphanging” on a train or bus
  • Getting by with a broken arm

In the cases above – and I’m sure you can think of many more – you’re accessing computing resources in a very undesktop-like way: with only one hand, and even then, a limited portion of that hand since most of your fingers are busy holding that phone. You’re likely using only your thumb, as shown below:

windows mobile 6.5 and thumb

There are lots of times when users are stuck in “one-thumb mode”. If you’re building mobile applications, you should keep that in mind and make sure you design your user interfaces accordingly. You might need to consider things like:

  • The size of touchscreen controls: make them too small and they’re not thumb-friendly.
  • The number of controls on the screen; the maximum number is dictated by their size.
  • Navigation in your app. Hierarchical arrangements make sense to developers, but lots of user experience people will tell you that ordinary people don’t get hierarchies.
  • Which functions will your users use most often? You should make those very easily accessible. Which functions will your users use less often? You might be able to put them on a secondary or tertiary screen.
  • Can you get information without making the user enter it? For example, can you infer information based on the user’s location, which you can grab from GPS instead of asking for him/her to enter it? Can your application remember your user’s most often-used data?
  • Can you get other kinds of one-handed input, such as from the camera, accelerometer, magnetometer or other sensors?

That’s a fair bit to think about, and I might have to present some ideas at the upcoming Toronto WinMoDevCamp (and yes, I’ll also blog them).

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

TechDays Halifax / Halifax Coffee and Code Next Week!

halifaxTechDays, Microsoft’s cross-Canada conference for developers and IT pros took a break in October, but returns in November to complete its tour of the five remaining cities, starting in Halifax!

I, along with the rest of the TechDays team will be in Halifax and places nearby starting this weekend and for most of next week:

  • We’ll be around on the weekend doing setup and rehearsals for the TechDays conference
  • The TechDays conference itself will take place on Monday, November 2nd and Tuesday, November 3rd at the World Trade Convention Centre Halifax.
  • On Wednesday, November 4th, I’ll be hosting a Coffee and Code event at the Just Us Cafe (1678 Barrington Street) from 2 to 6 p.m.. That means I’ll be working from that cafe – drop by and chat!

And don’t forget that TechDays Canada is also visiting these cities:

  • Calgary: November 17th and 18th
  • Montreal: December 2nd and 3rd
  • Ottawa: December 9th and 10th
  • Winnipeg: December 15th and 16th

Tickets are a still available for these cities.

In case you’ve forgotten the TechDays formula, here it is again:

TechDays = Content from premium conferences far, far away + Delivered by local speakers at venues close to home + Extra events and goodies for you to enjoy

See you in Halifax!

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

WinMoDevCamp Toronto: Wednesday November 11th at Microsoft’s Mississauga Office

winmodevcamp

WinMoDevCamp, the worldwide series of development workshops for Windows-based mobile phones, is coming to Toronto on Wednesday, November 11th! If you want to learn how to develop applications for Windows Phone (the mobile operating system formerly known as Windows Mobile), this full-day workshop will give you the opportunity to get some hands-on training and experience. We’ll have all kinds of people speaking and attending, including:

  • Mobile developers
  • Web developers
  • .NET developers
  • UI/WX specialists
  • Software testers
  • Device manufacturers
  • Canadian mobile carriers

…all at this workshop, all working – either solo or in teams – on a Windows Phone project. (While you can choose to work solo, you’ll miss out on the brainpower, business and social opportunities that teaming up will provide).

At the event, you will:

  • Create a new application for the Windows Phone platform and mobile apps that support Windows enterprise applications
  • Meet and work side-by-side team members from the Microsoft Mobile Developer Experience team
  • Get help porting your existing iPhone, BlackBerry and Palm Pre apps to the Windows platform
  • Interact with reps from a number of Canadian mobile carriers, including Bell, Telus, Rogers and WIND

This free event will take place on Wednesday, November 11th at Microsoft Canada’s headquarters in Mississauga (1950 Meadowvale Boulevard, just off Mississauga Road north of the 401) from 1:00 p.m. to 9:00 p.m.. We’ll serve snacks and dinner, so you won’t starve while you create mobile apps. And yes, I’ll be there, helping out and even writing code.

If you’d like to attend WinMoDevCamp Toronto, all you have to do is register! (And if you need a lift out to Mississauga, drop me a line and I can give you a lift from High Park subway station to Microsoft and back.)

Clik to register for winmodevcamp

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

Azure/Silverlight Hallowe’en App

archetype pumpkin carver

Archetype have put together a cute little Hallowe’en pumpkin-carving application built with Silverlight and hosted on Azure. It lets you “carve” a pumpkin, complete with backlit glow from the candle, and send the resulting image to a friend. Give it a try!

This article also appears in Canadian Developer Connection.