by Joey deVilla on November 10, 2009
Facebook has announced official support for the just-released 3.0 version of Microsoft’s Facebook SDK (also known as the Facebook Developer Toolkit). The kit was written with one goal in mind: to make it easier for .NET developers to write applications that integrate with Facebook.
I’ll leave it to the Facebook SDK Overview to do the talking:
The main entry point is the API (Facebook.Rest.Api) class in the Facebook.dll assembly. This class wraps the Facebook REST API and provides an easy to use interface for calling the different methods currently available in the Facebook API. We’ve also provided samples and tools for helping develop Facebook applications in the various .NET platforms including: ASP.NET, Silverlight, WPF and WinForms. Additionally, we’ve provided all the source code for the API, components, controls, and samples for you to explore.
The toolkit is comprised of the following core assemblies:
- Facebook.dll: This is the main assembly that will be used by all applications. This has all the logic to handle communication with the Facebook application. This assembly also has specific support of XAML applications (Silverlight and WPF) to enhance the Facebook platform to make databinding and data caching easier.
- Facebook.Silverlight.dll: This is the Silverlight version of the main assembly that will be used by all Silverlight applications. This has all the logic to handle communication with the Facebook application. This assembly also has specific support of XAML applications to enhance the Facebook platform to make databinding and data caching easier. The REST API in this assembly is Asynchronous only.
- Facebook.Web.dll: This assembly should be used by Canvas applications. The main functionality supported in this assembly is to encapsulate the handshake between the Facebook application and a canvas application (both FBML and IFrame)
- Facebook.Web.Mvc.dll: Provide a support building canvas applications using ASP.NET MVC. Separated from Facebook.Web.dll to avoid all developers from needing to install the MVC bits.
- Facebook.Winforms.dll: This assembly provides support for writing Facebook applications using Winform technology. This provides a Component that wraps the API to make it easier to use from Winforms. This also contains some user controls to help display Facebook data easily.
To get started, download the SDK, then consult these docs:
If you create any Facebook apps using the SDK, let me know by dropping me a line. I’d love to feature it here!
This article also appears in Canadian Developer Connection.
Tagged as:
Facebook,
SDKs,
Social Software
by Joey deVilla on September 8, 2009
by Joey deVilla on August 10, 2009
This article also appears in Canadian Developer Connection.
The Incident
I live in Toronto’s High Park neighbourhood, which puts me at that magical distance where biking downtown takes a half-hour, about as long as public transit. If weather isn’t downright terrible and I don’t have too much to carry – say, laptop, change of clothes and even an accordion — I tend to take my bike.
Cycling is much easier with a pair of properly-inflated tires, so I often make use of the air pump at the gas station near my house:

Gas stations used to give you air for free, but these days, you have to pay to use an air pump – presumably to cover the cost of their upkeep. At the gas station near my house, a dollar gets you enough time to inflate all the tires on a car, which is plenty of time for a bike’s tires. You can use either a loonie (that’s “dollar coin” to you readers outside Canada) or four quarters.
Take a look at the coin slots for the air pump at the gas station near my house:

Although the left and right coin slots are identical in size and appearance, they are for different types of coins:
- The left slot is marked “dollar coin” and is for loonies (that’s “dollar coins” to you non-Canadian readers) only.
- The right slot is marked “4 quarters” and is for quarters only.
It’s the worst combination of usability factors: identical slots that serve different purposes.
I reached into my pocket and pulled out some quarters. Without thinking, I put quarter in the dollar coin slot, realizing my mistake a little too late. The machine accepted the coin and didn’t route it to the “coin return” compartment. In fact, the machine didn’t even have a coin return compartment.
I wondered what would happen if I put three more quarters in the dollar coin slot. After all, the sticker might be wrong.. It wasn’t – I put in the remaining quarters and the air pump remained off. Luckily, I had four more quarters. I put those in the quarter slot and the machine came to life, providing compressed air for my tires.
Out of principle, I went to the gas station attendant and asked for the dollar I’d lost to the air pump back. He was resistant at first, but as soon as I said “Geez, you guys are a rip-off. I should post that on Twitter,” he quickly capitulated and reimbursed me.
The Lessons
Because I am in the business of talking about software development and design, I was inspired to turn the experience into a blog article (eight years of blogging will do that). I took photos of the air pump and derived two lessons.
Lesson One: Interface Matters!
If two things expect different input, they should appear different. The coin slots on the air pump are the same size. Although the sticker on the machine has markings that say that the left slot is for loonies and the right slot is for quarters, those markings are almost identical. Possible solutions include:
- Differently-sized coin slots: a larger slot for loonies, a smaller slot for quarters. Older coin-operated machines made use of these:

- A new sticker, perhaps with some colour coding to make it very clear that each coin slot expects very different kinds of coins.
Be forgiving of user mistakes:
- Both slots should accept either loonies or quarters. This solution is even better than differently-size coin slots or a new sticker. The constraint that one slot is for loonies and the other for quarters is a convenience for the manufacturer, not the user. Go the extra mile – after all, coin recognition technology isn’t anything new or hard to get.
Most coin-operated machines that provide more than one coin slot, such as videogames and pinball machines at arcades, don’t “care” which one you use. Either coin slot will do, as long as you provide enough coins:

- There should be a coin return slot. The current design simply takes your money and doesn’t let you cancel the transaction.
Simplify! Once you put in a coin slot that accepts loonies and quarters, there’s no need for a second coin slot – a single one will do.
The lesson of “interface matters” doesn’t just apply to user interface; they’re just as applicable to application interfaces, from method signatures to whole APIs. It pays to be clear and comprehensible.
Lesson Two: Social Software Matters (at least to some people)
The second lesson? Never underestimate the power of social networking software. The gas station attendant wouldn’t budge, but I saw him constantly checking his smartphone and guessed that he might be into Twitter.
Tagged as:
Social Software,
user interface
by Joey deVilla on January 19, 2009
If you were born in the 1990s, you fall into the “youth” demographic and are considered to be part of the “Generation Y” or “Millennial” generation (a classification applied to people born in the 80s and 90s). Chances are that you don’t remember a world without commonplace desktop computers, the world wide web and mobile phones – lucky you!
You’re also the generation that Microsoft Research’s danah boyd has been observing for the past couple of years. She’s been studying how youth use social networks, or “networked publics”, as she likes to refer to them. She completed her Ph.D. last year and in fulfillment of her promise, she posted her dissertation on her blog this past weekend. It’s titled Taken Out of Context: American Teen Sociality in Networked Publics.
Teens use social media and social networking software to do these things:
- To present themselves to the world
- To interact with their peers
- To understand and navigate through adult society
If you want to understand how and why teens’ use of technology to do these things, danah’s dissertation is your must-read document.
Be warned that a dissertation isn’t a blog entry or magazine article; Taken Out of Context spans a whopping 406 pages. Although it’s quite comprehensible to someone not versed in sociology or ethnography, it’s still a lot to read. You might find my notes from her My Friends, MySpace presentation that I took back in the summer of 2007 a reasonable overview – perhaps even a “cheat sheet” — for her dissertation.
Tagged as:
danah boyd,
ethnography,
generation y,
millennials,
Social Software,
teens,
youth