For those of you who aren’t familiar with Brookstone, a good way to describe it is “lifestyle gadget store”. A good portion of their catalog is devoted to “lifestyle electronics”: things like
and an assortment of digital photo albums like the “My Life” digital photo album pictured here. It holds up to 4000 photos and sports a 3.5 inch screen with 320 by 240 pixel resolution and will fit into a purse or jacket pocket. Sure, you can show off photos using your mobile phone, PDA, netbook or laptop, but there’s a considerable market for simple, single-use devices like this.
Brookstone is a great store, and whenever I’m in the U.S. and in a mall or Logan Airport, I can’t resist taking a peek inside.
My mom is also a big fan of Brookstone stuff, so when I was down in the U.S. for American Thanksgiving, I made it a point to get her something from them for Christmas. She loves carrying printouts of photos of the grandkids, so I got her a “My Life” digital photo album. I figured I’d pre-load it with family photos before wrapping it up.
I told my mother-in-law about my purchase and she said “I have one of those. They’re really nice, but I can’t figure out how to use the software.”
So, being the good son-in-law that I am, I decided to take a look at the software, which is called Photo Resizer. It worked just fine; the problem is that its interface could use some tweaking.
Here’s the first thing you see when you run the program:
I’m no psychic, but I can say with near-100% certainty that you probably don’t store photos in your Windows/system32 directory. So I used the rather old-school directory navigator to get to my Pictures directory and then to where I’d stored my photos from PDC 2008:
From there, you check the boxes corresponding the photos you want to transfer.
Once you’ve done that, it’s time to select which album you want to move the photos to. The digital album contains 4 internal albums, so you can group your photos by criteria – perhaps album 1 will hold your vacation photos, album 2 will have family photos, and so on. There’s a physical button for each album, so switching between albums is pretty quick.
You select the album you want to move the photos to by clicking the Browse button (it’s in the Save Photos panel), which makes a modal directory selector window appear:
…at which point you’d select the directory corresponding to album you want to move your photos to. Fortunately for the user, the default directory in this directory selector is ALBUM1 in the volume named PHOTOALBUM rather than Windows/system32. I suppose if I really wanted to, I could use the app for more than just transferring photos to the album, but as a quick utility for downsizing photos to 320 by 240 and saving them in the directory of my choice.
Once that’s done, one step remains: clicking the Resize button, which is the one button in the entire interface that doesn’t look like a button.
If you’re a reader of this blog, you probably could take a look at the interface and immediately understand what the program does and know what to do to get the photos on your your drives and camera cards into your photo album. But I’m willing to bet that many people in the target market for the photo album would find Photo Resizer’s user interface confounding. My mother-in-law did, and she’s probably not the only one.
Now don’t get me wrong – I actually like the Brookstone “My Life” digital photo album. The device itself is easy to use, and I know a lot of people who’d love one of these, and I’m sure you do too. I just think that there’s an opportunity for developers of Windows desktop apps here, and probably with a lot of consumer goods that hook up to people’s PCs.
What would it take to build a user-friendlier version of Photo Resizer?
Fortunately, we’re in the USB age, which means that as far as your computer is concerned, many USB devices “look” just like hard drives. Such is the case with the “My Life” photo album, which looks like a drive with the volume name PHOTOALBUM containing four directories, ALBUM1 through ALBUM4. Reduced to its essence, Photo Resizer simply does the following:
It asks the user to specify a set of photos
For each photo in the set, it creates a version reduced to 320 by 240 pixels at 96 dpi
It saves each of those reduced photos in a specified directory
On one level, it’s a reasonable hobby project. User interface and user experience gurus could have a field day dreaming up a revised user interface, and developers could use this as an opportunity to try developing an app using WPF.
On another level, it’s an opportunity. How many times have you used a very nice device that came with software for your computer that seemed like an afterthought? I can think of a number of devices that I own or have owned that fall into that category. Perhaps there’s a market for improved applications with beautiful, intuitive user interfaces for devices like the “My Life” photo album. Maybe they could be sold online for some small fee – I’m think 5 or 10 dollars. It could be a nice side business for a developer; at the very least, it’s another “feather in your cap” for your resume.
I told my mother-in-law that I’d write an easier-to-use app that she could use to transfer photos to her album. While I’m at it, I’ll post some articles covering what I did and maybe solicit your input. Once it’s done, I’ll post both the app and its code online for you to peruse.
Here’s the challenge for you: can you think of any opportunities to write improved applications for devices that hook up to computers? Can you write a better app for the “My Life” digital photo frame?
It’s easy to point to books on understanding and improving the inner workings of your code, the software and hardware platforms on which it runs and even the processes used in developing it. It’s much harder to find one on understanding and improving the programmer, or more specifically the programmer’s “wetware” – that is, the brain and mind. A few books aimed at programmers give a little space to the topic: Tog on Interface has a section and exercise on building your intuition, the first edition of Code Completedevotes a small chapter to character, and Cocoa Programming for Mac OS Xreminds the reader that getting extra sleep when learning new material is essential. For a whole book on the topic, we’ve had to wait until Andy “The Pragmatic Progammer” Hunt’sPragmatic Thinking & Learning: Refactor Your Wetware.
The first few chapters of PT&L form a quick introduction to the theories of cognition, learning and neuroscience on which the rest of the book is based. Among these are the Dreyfus Model, which explains how we progress from novice to expert and the steps along the way and a model of the brain in techie terms, shown below:
Once PT&L has laid out these foundations, it dives into the brain-refactoring, including:
Taking advantage of R-mode (often called the “right brain” in pop psychology), which often gets ignored because of its non-linear, non-linguistic, unpredictable and even “artsy” nature. It’s actually an amazing problem-solver, so much that PT&L suggests that you should “lead with R-mode and follow with L-mode”, or more colloquially, “write drunk; revise sober”.
Working around the bugs in your brain. And there are many, from the primitive “lizard brain” that likes to override our higher cognitive functions to cognitive biases to generational affinity.
Learning deliberately: what learning is and isn’t, how to plan to learn, figuring out what your learning style is and how to best take advantage of it, and harnessing mind maps, documentation and teaching in order to learn.
Gaining experience, which includes understanding the importance of fun and how pressure kills cognition, learning the “inner game” and why your mantra shouldn’t be “learn to build”, but “build to learn”.
Managing focus, a very important topic since there are so many things vying for it, from office interruptions to the siren song of the internet, with email, IM, Twitter, Digg, Reddit and LOLcats. One of my favourite bits in this section was some research whose results indicated that constantly checking your email lowers your effective IQ more than smoking a joint.
PT&L does a great job following its own advice by presenting its material in ways that best take advantage of how our brains work, reinforcing its with anecdotes, metaphors and visuals and using the enjoyable style for which Andy Hunt’s other projects, such as The Pragmatic Programmerand his various training sessions have become famous.
As with any book that proscribes a new way of doing or perceiving things – think of books on Agile programming or “Getting Things Done” methodologies – you’ll have to pick and choose which ideas and techniques work best for you. In his review, O’Reilly editor Nat Torkington found the section on generational affinity a little too “Malcolm Gladwell”-ish in the way that it treats anecdotes about generations as data (personally, I think there’s some truth to the generational affinity thing). I do agree with Nat that some of the exercises, such as “Morning Pages” that seem a bit too new-agey/hippie even for me – and I’m the kind of guy who’d go to Burning Man.
This is the only book of which I’m aware that covers how to improve the tool that really develops code: not your platform, language or editor, but your mind. It’s worthy of several readings, first straight through and subsequent dives into specific sections. I took it with me on my flight from Toronto to TechDays Calgary and found it both not only informative, but engaging and entertaining as well. Best of all, barring some quantum leap in cognitive science that invalidates what we know today, PT&L will probably have a much longer shelf life than most of the tech books in your library.
Would you be interested in hearing more from PT&L’s author, Andy Hunt, himself? Let me know either via email or the comments, and I’ll see what I can do about arranging an interview in some format with your questions!
It’s time for me to stop lurking and start posting on Canadian Developer Connection, the official blog of the Microsoft Canada’s Developer Evangelism team. I posted my first article there today: a quick introduction telling the readers who I am and what I’ll be doing over the next little while.
Of particular note is this paragraph in the article:
I don’t know if you’ve got this feeling, but I do: over the past few years, while Microsoft has continued to deliver its excellent developer tools, the outreach seems to be directed at the decision-makers — the people with the "buy/don’t buy" powers of approval — rather than at those of us who get our hands dirty with the code and make the stuff actually work. I call this the "Fourth-Party Developer Feeling", the sense that although you’re person who has to ultimately use our stuff, you’re not the one getting the love and attention. I think it’s time for that feeling to end.
As for good old Global Nerdy, I’ll still be publishing articles here, just as I did when I worked at Tucows and wrote tech articles for both The Farm and this blog. Right now, I have no formal process for deciding if an article belongs in Developer Connection or Global Nerdy, just a couple of guidelines:
What does my gut say?
Very Microsoft-specific? Developer Connection (with a possible cross-post to Global Nerdy).
General geek culture? Global Nerdy.
Speaking with my Microsoft hat on? Developer Connection. Speaking with it off? Global Nerdy.
Really long technical article with lots of example code and diagrams? Global Nerdy, and if it’s specific to Microsoft tech, a link to it from Developer Connection.
Click the screenshot to see the full version on its Flickr page.
Michael Arrington, you big girl’s blouse, they use the word “vagina” on prime time TV – for starters, on Family Guy. Also, thanks to Britney’s now legendary bad judgement and celebrity blogs, we’ve all seen said vagina anyway [link not safe for work!].
Here’s the unauthorized post on Rick Sanchez’ Twitter account:
Click the screenshot to see the full version on its Flickr page.
And my favourite, the unauthorized post on FOX News’ Twitter account that tells the shocking truth of about falafel-and-loofah fetishist and screaming head Bill O’Reilly:
Click the screenshot to see the full version on its Flickr page.
Anyhow, you might not be a celebrity, but it still might be a good idea to update your Twitter password if it’s something easily cracked, like a word that can be found in the dictionary.
Yes, I know that an F-35 Lightning II fighter plane has nothing at all to do with the article, but I loves me some fighters!
Captain David Faggard, Chief of Emerging Technology for the U.S. Air Force, sent me a revised version of their “rules of engagement” chart for responding to blogs and other online postings, and in PDF form to boot! You can find this chart at the original article, The Air Force’s Rules of Engagement for Blogging.
It’s because I always end up typing the wrong message in the wrong chat window. So far, I haven’t done anything as embarrassing as the ChaCha guide below, but I’m not going to tempt fate…
At the end of 1992, when the marriages of her children, Prince Charles, Prince Andrew and Princess Anne all dissolved and Windsor Castle caught fire, Queen Elizabeth II alluded to the title of John Dryden’s poem Annus Mirabilis (“Year of Miracles”) and referred to the year as an annus horribilis(“horrible year”).
As H.R.H. the Queen of England riffed on Dryden’s coinage, so shall I riff upon hers. If I had to summarize the year between 2008 in a quick soundbite, I would use the pseudo-Latin coinage Annus Assrocketis, as in “Year of Assrockets”.
Assrockets and Opportunities
A little bit over a year ago, I wrote an article titled Assrockets and Opportunities explaining why I was leaving my job as Tucows’ Technical Evangelist, a relatively safe, secure and cushy job – one that its CEO Elliot Noss said “fit me like a glove” — for a startup in the rather iffy social software space.
I had been feeling a little bit restless for a little while, but that restlessness alone wasn’t enough to make me take the leap. Strangely enough, it took a video of a guy sticking a bottle rocket up his butt and an observation made by Charles Follymacher in the blog The War on Folly. Assrockets and Opportunities summarized how the video and Follymacher’s blog entry inspired me to change jobs.
As a quick refresher, here’s the video. Be advised that it may not be safe to view at your workplace, as it shows a young man’s bare bottom and a bottle rocket stick being inserted into said bottom. It also has a lot of crude vernacular that young men are wont to use. That being said, I still think it’s one of the funniest internet home videos of all time and it still makes me laugh out loud, even after hundreds of viewings:
Still the funniest video of all time.
In response to this video, Follymacher, a person of colour (I myself prefer the term “force of darkness” – it has a little more oomph) wrote a hilarious and insightful observation titled why White people rule this age. The relevant excerpts appear below:
…I’m once again reminded why White people rule the globe. It’s not a new idea, just feeling compelled to state it once more, this time without feeling: they run the world because they have a much (much) higher percentage of folk who will do absolutely *anything.* any bloody, assinine [sic] thing at all. if you can name it, guaranteed it will be tried, if it hasn’t been already.
it is out of these absolutely stark, raving, barking mad experiments that new discoveries are made, which in turn lead to a fresh new batch of shit to fuck with. new answers urge new questions and all that, right?
…
us colored peoples of the world tend to leave well enough alone a lot more, not much for forcing Mother Nature’s hand. our ancient sciences are lost. that’s our bad. who knew? we didn’t ask. and now it may be too late to churn up that kind of insatiable hunger for knowledge.
a lot of White folk die off in these quests to discover and experience the unknowns, large or wtf. but some small percentage do manage to live to tell the tale and, wherever possible, wreak [sic] the profits.
I read the article in mid-October of last year and decided that it was high time I stuck a rocket up my ass, at least in the figurative sense. I put out a few feelers into the local tech job market.
Soon after that, I ran across an announcement of an open position at a startup looking for Ruby on Rails developers. The salary offered was a good deal better than my then-current one, and the opportunity to get back to writing code was very tempting. In five weeks, I went from replying to the offer to my first day on the job, the Monday after American Thanksgiving 2007.
Since that time, I have had three jobs.
The First Job (November 2007 – March 2008)
The startup I left Tucows to join – I don’t even like mentioning their name; you can look it up in this blog’s archives if you really must know – was building a Facebook-like web app for fraternities and sororities (“So you’re telling me that it’s like Facebook, but for students,” Cory Doctorow would say much later).
It might’ve stood a chance if it had these three missing ingredients:
A business plan. The original plan was to make money by advertising. The sales guy came up with a much better plan – selling that app as a way for fraternity and sorority chapters to collect dues and charging them on a per-member basis — but it was too little, too late. It wouldn’t have hurt for the founder to have actually written down his business plan, even his lame-o first one.
A product plan. The app was the result of “wouldn’t it be neat if this existed?” pipe-dreaming, and there wasn’t much thought or research put into it after that.
A CEO who wasn’t just in love with the idea of running his own “Web 2.0” business and the associated trappings. He was hooked on the idea of creating office spaces with cool custom furniture like Joel Spolsky’s Bionic Office, “20% projects” like Google’s and “Hero Training”, in which we’d take a full day off work to do personal development. He also had some kind of fanatical belief in Ruby on Rails’ ability to solve any problem, from rapid development to world peace, curing cancer and fixing erectile dysfunction.
Truth be told, having missing ingredient number 3 might’ve given us missing ingredients number 1 and 2.
Click the montage to see the Flickr photoset.
Perhaps I’ll write about it at length someday, but for now a quick summary of what happened to this startup will have to suffice. They burned through money irresponsibly in many ways, including:
Renting office space in a pricey office building in a posh boutique district of town. We were located between the Mont Blanc and Ports International stores and across the street from the downtown Four Seasons.
Hiring an interior decorator to do a custom design of the office space, with custom furniture. I’d have kept the decent chairs, but we would’ve been just as productive with folding tables as we were with the custom desks.
Purchasing two large flat-screen TVs, neither of which were ever used for business purposes. They were pretty great for Wii and Xbox 360 games, though.
The ice sculpture and oyster shucker at the office-warming party. The party was black tie optional for some reason that still eludes me. At least they scaled down their ice sculpture purchase; they originally wanted the Chrysler Building, but settled for the less complex (and less expensive) company logo instead.
The ice sculpture at the office-warming party.
Alarmed at the company’s burn rate and lack of income, the source of the startup’s funding threatened to cut off the money. We were then informed by the CEO that unless we accelerated the schedule unreasonably, we’d all have to take a 20% pay cut. He went on vacation to Hawaii with his girlfriend a couple of days after that because he always went on vacation to Hawaii with his girlfriend at that time of year, crisis at his own company be damned.
While he was away, the entire senior developer team, of which I was part, started circulating their resumes and putting out the word that they were looking for new jobs. Within six weeks, the senior team had left the company. Within six months, the company had all but vanished. The website for the software no longer works, and the website for the company is now a single page showing the startup logo and nothing more.
My job at the startup, which had gone from dream to nightmare, lasted three months and a few days. The name of the startup still gets mentioned from time to time at local geek gatherings, sometimes as a cautionary tale, sometimes as a joke.
The Second Job (March 2008 – September 2008)
While searching around for jobs, I noticed that b5media was looking for a technical project manager. “b5”, as they’re often called, is a local startup success story, having grown from a small core of five bloggers and an office in Mark Evans’ garage to a network of over 300 blogs. I also knew that they’d landed funding thanks to meeting VC Rick Segal at DemoCamp, a semi-regular “show and tell” event for the Toronto tech community that I help host.
I showed up at b5media for an interview at 11:00 a.m. on one cold day in February, expecting a one-hour interview. It turned into a seven-hour series of multiple interviews with various people at the company, mostly testing me for how well I fit in with the office’s culture. I pretty much landed the job that day, and a couple of weeks later, I had my first day on the job, which involved flying down to Austin, Texas to attend the South by Southwest Interactive Festival for a week. I’d have to say that it was the best first week on the job I’ve ever had.
Regular readers of this blog know what happened in the end: changes in the market and at the company left me with nearly nothing to do, and they let me go…on the day of my wedding anniversary (they didn’t know that, but their timing still left something to be desired). I hold no ill will towards them; paying me to warm a chair does neither b5 nor me any good. It was the right thing to do, and they treated me quite well during the process.
Still, I felt like this:
The Job Search
I decided to treat my getting laid off as an opportunity in disguise, a chance to explore all my options and do a little long-term career planning. At the same time, watching my old schoolmate Ali Velshi on CNN talking about the credit crunch and dealing with a worried wife meant that I should try to secure some income as quickly as I could.
I had one big thing working in my favour: nearly seven years’ worth of tech evangelism and seven years’ worth of blogging meant that I had a lot of what VC Howard Lindzon calls “social capital” in the bank. I did not have to go looking for job openings; they came looking for me. A number of people called, emailed, instant-messaged and tweeted me, asking if I’d be interested in working for their company and if I could make some time to meet them for an interview. The jobs ran the gamut from doing some development for an adult entertainment site to doing tech evangelism for some pretty high-profile companies. I did interviews with just about everyone who called me, which meant that I was actually busier as an unemployed man that I was during my last weeks at b5.
I even got a call from an editor at a very reputable book publisher in New York asking if I’d ever given any thought to writing a book. The answer, by the way, is “yes”, and as soon as an idea comes to me, I plan to fly down to Manhattan in a nice suit and do a pitch over cocktails, which if Mad Men is not lying to me, is how these things go.
Most of the companies who called were the type I’d always worked for: either startups or small operations where I’d have the ability to wear many hats, make a significant contribution and have a great degree of freedom. Medium to large companies were completely off my radar, but I’d have to say that it was mostly because I’d grown accustomed to thinking of myself as a small company man.
As a result, it seemed unreal when I got a number of calls from different people from the same organization, all asking variations on the same question:
“Have you ever considered joining The Empire?“
Imperial Considerations
I’ll be honest: I had some qualms about joining Microsoft.
Fear of “selling out” and working for a big company wasn’t even a factor. It probably should matter at 21, but not at 41. To borrow a saying often misattributed to Churchill: if you’re not at least a little liberal at 21, you have no heart; if you’re not at least a little conservative at 41, you have no brain.
There’s also the standing order from The Missus: “No more working for fucking under-30 CEOs!”
Finally, consider the great truth expressed in the comic below:
My qualms didn’t arise out of loyalty to Apple; they make some really nice machines and an excellent OS, but I’m not really one of those “It’s Apple or nothing” types. They also didn’t come from an “open source forever, Microsoft never!” feeling either. Open source has resulting in some great things happening, but once again, I’m not a “F/OSS or nothing” kind of guy, either.
My qualms came from the feeling that Microsoft had little to offer to me as a developer. Once upon a time, back when my friend Adam Smith and I had a little software development constancy, Microsoft was my friend. From the mid-1990s to the release of .NET 1.0, it felt as if they were constantly reaching out to developers. Then somewhere along the way, at around the same time as the rise of web applications, Apache, PHP and later things like Rails and Django, something happened. Microsoft had apparently switched their focus away from developers and towards the suits – the decision-makers who approved the tech purchases, rather than the people who actually had to live with the decisions. I’m sure that many developers felt the same way I did: Microsoft slowly faded from my radar because it seemed as if I’d faded from theirs.
I think that my friend Danny O’Brien expressed this best when he wrote:
One of my big bones with MS stuff is that it always makes me feel like I’m eating out of the trash bins outside a cubicle farm. All of their software is designed to help busy executives plan their lives. Everyone I know uses it to try and write birthday cards and chat with their friends. When people use Microsoft Office they use it anywhere but in an office. Microsoft knows this – but it also knows that the money comes from their corporate clients, so there’s a limit to how much it can bend its software toward a wider customer base. Ultimately when you use MS software, you’re not the end user MS perceives at all: we’re just living off the scraps Microsoft leaves out after feeding its big customers.
One thing that convinced me to join Microsoft was a small-seeming but important sense of a “sea change” at Microsoft.
Perhaps it was their hiring of some people I’d never expect:David Crow (I’ll admit that I was ready to bet some good money on his leaving within six months, saying “It’ll either end in tears…or gunfire”), Bryce Johnson, John Lam and Danah Boyd.
It might have been their willingness to even consider talking to me after my posting this graphic on my blog:
It might have been some very lengthy conversations I had with friends who worked at Microsoft.
What probably convinced me most was the opportunity to work for a couple of great people who believed in me, Mark Relph and John Oxley. They offered the combination of a lot of support and a great deal of latitude, the ability to work largely from the home office and most importantly, the freedom to inject my own personal style into the work I’d do. I think Mark’s line, “We enter as friends, we leave as friends”, struck a chord with me.
At the end of my sixth(!) interview, John said “We’d like to take you on. Are you interested?”
I replied “To quote Homer Simpson, I have only two questions: ‘How much?’ and ‘Give it to me!’”
In the end, I was unemployed for a grand total of three weeks. Considered the economic collapse taking place all ‘round, that’s not bad at all.
Fry-Kirk Syndrome (or: The Third Job; October 2008 – Present)
At the dawn of 2009, just over a year after leaving my tech evangelist job, I have escaped from one imploding company, been laid off from a downsizing one and finally ended up at a job that fits me like a glove. After this journey, I have become…a tech evangelist.
I feel like “Fry” from Space Pilot 3000, the premiere episode of Futurama. Fry, a p[izza delivery boy in 1999, is frozen on New Year’s Eve 1999 and revived a thousand ears later. In the year 3000, a computer determines that he is best-suited to being a delivery boy, and he spends much of the episode trying to escape this fate. In the end, he cheers as he finds work with a distant relative…as a delivery boy.
Captain Kirk had a similar experience: he always returned to his first, best destiny – being captain of the Enterprise. I feel that I’ve managed to do the same, and with the added bonus of not having a court martial, blowing up the ship, losing my son and getting demoted from Admiral.
Like the young man in the “Bottle Rocket” video near the start of this essay, I took some risks and got a little singed in the process. But as Charles Follymacher also pointed out, sometimes you “manage to live to tell the tale and, wherever possible, wreak [sic] the profits,” and that’s what happened to me in the end.
As any decent poker player will tell you, winning isn’t in the cards you’re dealt, but how you play them. In spite of all the craziness this year, I did quite well.