Archive

I’ve been a big believer in Keynote since shortly after it came out – at first I didn’t see what all the fuss was about, but after using it for a few months, I had to create a presentation at work and I was reminded of how painful PowerPoint is. There was no going back, I was sold on Keynote. Like so many things in the Apple ecosystem, it isn’t any *one* feature that makes the difference, it’s a collection of little things, some of which you didn’t even know mattered until shown another way. Unlike it’s cousin from Microsoft, Keynote is designed to help you create slides that won’t make users yak and it’s particularly well suited for those that believe in the Lessig method (see his Free Culture talk for an example.) At this point, I can’t imagine using anything else for a real world talk.

Every year, we’re treated to a new version of Keynote (and the rest of its iWork brethren) which means we get a collection of new features: transitions, themes, better charts and now new ways of sharing our work with others. Keynote 09 is no exception, this year we’ve got magic move and you can even use your iPhone as a remote. Before this year’s conference series kicked off, I went ahead and upgraded and while I’m quite pleased I did run into one issue.

As I crafted one of my early decks, I noticed that one of my favorite transitions from Keynote 08 was gone – for example, I couldn’t find confetti.
It may seem strange for an unabashed promoter of Presentation Zen and slide:ology to be married to a transition, but I go out of my way to use them judiciously. A slew of Google searches later, I had my answer – some transitions were considered obsolete in Keynote 09. Enabling them is quite simple, simply go to the Keynote preferences and select “Include obsolete animations in choices.” Perhaps I should just accept the wisdom of Apple and, ah, transition to the new animations but I’ve just got to have my confetti!

The other big change I noticed was the vastly improved printing dialog. While nothing has fundamentally changed in the dialog, with 09, you get a handy preview of just what you’re going to print (or save as PDF – one of the unsung features of OS X.)
You can also change the page setup from within the print dialog, something that is very handy when you’re creating PDFs for handouts.
Oh and for those of you that like the black or gradient background, if you don’t want to kill an ink cartridge, select “Don’t print slide backgrounds or object fills.”
Keynote is an invaluable part of any presenter’s toolbox – if you think its just an Apple version of PowerPoint you’re wrong. If you haven’t tried it out, you owe it to yourself to use it for your next talk, it really does make a difference.

It isn’t just sports franchises that imitate each other and raid the winner’s coaching staff, no, companies do the same thing. From performing the same morale sapping rifs to utilizing the same bland beige decor, corporate entities love to ape one another. Even within an organization, the “successful*” (however that is defined) VPs will find their ways quickly copied.

While we should certainly ask ourselves what’s working and what’s not, we need to make sure we understand what actually is working. Take Arizona’s success for instance. It may make sense to look at their offensive approach (as well as their coaching staff) to see what gems one might find. However, it takes a great deal of effort to find the golden nugget and most won’t put in the time. No, many will take a shortcut and insist that the Cardinal’s owe their Cinderella year to the color of their uniforms or the fact that Kurt Warner wears a glove on is throwing hand. Not only is the superficial easier to find, it is far easier to implement. Uniforms can be changed in a few days, establishing a winning tradition can take years.

In the technology space, it’s tempting to just copy a specific technology stack and it’s certainly easier to just buy the same vendor supplied vaporware than to hire better developers. But chances are you won’t be capturing the true essence of their success, you’ll just change the color of your uniforms.

So before you run off and decide that all new software in your organization should be written in that awesome new CASE tool that’s Bob’s team uses, be sure that’s the real secret sauce and not an ancillary fact. Odds are if you dig a little deeper you might find something else, something actually worth replicating.
—
* Unlike the sports world where a win is a win, success in the corporate world can be defined and then redefined especially when someone’s bonus is involved. Worse, sometimes one area’s success comes at the cost of the overall organization.

I remember the first time I flew for business – I was working for a small consulting company and I was heading to Chicago for a few days of training. I was pretty excited to be on the road (and on expense account) but I was more than a little paranoid about loosing my laptop. Turns out I was right be be concerned: nearly a quarter million go missing each year. I’ve been traveling more then last couple of years but there’s still a little gulp when I put my silver beauty on the old conveyor belt – so far so good (knock on wood) but I just hate having to take my laptop out of my bag along with my oh so dangerous liquids.

Like pretty much any office with more than 3 people, we struggle with the ephemeral concept of knowledge management. Now, this takes the guise of everything from cultural lore to more basic issues like where is the latest version of the FooBaz document but the moral of the story is simple: we’re still trying to find the right approach. We have a corporate product that hardly anyone uses because it’s slow, the search is horrid, and it has very rigid ideas around who can post what where.

Recently, a number of teams have started to use a different product, one they are finding to be far more useful then the corporate standard. Though it isn’t officially supported, it’s gaining quite a bit of traction throughout the organization. Imagine my surprise when an IS wide email goes out saying, in essence, that everyone should STOP using the product that’s working and contact the head of the crappy product team immediately so they can “migrate you over” to the “standard.” In other words, cease doing the thing that’s working, not “wow, we’ll fast track the adoption of this new tool since it’s serving such a vital need.” Makes perfect sense.

As I was reading the email, I thought of St. John’s (Go Johnnies!). Anyway, around the time my father was in school, they built the tundradorms – named as such for the large open space between the bulk of campus and the dorms. Anyway, when they built the tundra dorms, they didn’t put in sidewalks right away, they waited until the students had worn paths and just paved those. Rather then guess what route residents would take, they let the property emerge. Needless to say, this approach worked pretty darn well.

The parallel here is pretty obvious – right or wrong, the “students” are wearing a path towards this new tool. Now I’m sure we can argue that the corporate standard can do “everything the new tool can do and so much more”, but the crowd has spoken. Instead of using scare tactics to keep people from using it, perhaps the bureaucracy would be better served by following the herd.

In early December, I did something that, a mere year earlier, I thought was pretty darn strange. I spent a Saturday in the last month of the year on a plane. Travel you say? Gee, you’ve never, ever, ever written about that. Ever. No, this trip was different, this trip was special – I wasn’t going anywhere; this time I was just getting status. I flew from Minneapolis to Chicago, walked one gate over to take a flight to Detroit, bought some chocolate for my mother-in-law (at Gayle’s Chocolates you see!) and then retraced my steps back home. Since I’m not quite as frequent a traveler as Ted, Neal, Brian, Venkat or the rest of the gang, I needed a few more legs to put me over the top and spending a few hours in the air was the cure.

Of course I’m not the only one to do something like this – heck, the previous year a good friend of mine flew to Germany to retain her status. Yep, all the way to the land of Riesling where she spent a few hours in the airport only to return home. I thought she was crazy, but now I get it.

Anyway, I checked my mileage summary a month or so ago and noticed I’d only received credit for two of the four legs leaving me ever so short of my goal. Luckily, the website has a form one can use to request credit so I gave them a few bits of information and sat back. A couple of weeks later I still didn’t have the legs so I submitted the request again. Now, my miles program knows several ways to get in touch with me – they have my home address, a phone number and of course my email address. Yet I never received anything via any of these means explaining why my credit hadn’t shown up. So, after digging around the site for a few minutes I finally found a phone number.

Today I called. As you might expect, I faced off with an elaborate phone tree that mostly wanted to tell me things I either already knew or could easily find online. Saying “Help” didn’t, ah, help but pounding zero got the job done (should have used get human.) After explaining my situation to the very helpful (I mean it!) agent, she quickly diagnosed the problem. You see, the software had decided my flights were duplicates since they occurred on the same day. Huh.

Now, I’ll grant that what I did isn’t on the happy path and represents a bit of an edge case but lets reason through this a bit. Let’s imagine the query: select flights where date = whatever they entered on the form. OK, so if that returns multiple records we somehow decide some of those clearly are the same because, you know, they happened on the same day. Hmm, what *other* information might we be able to use to discriminate? Well, there’s the departure and destination airports and last I checked flying to Chicago from Minneapolis isn’t the same as flying to Minneapolis from Chicago. But, perhaps the system doesn’t check for locations – after all the form only asks for frequent flier number, date, and ticket number.

If we grant that the location information might not be that helpful we’re left to ponder…what else could we use to disambiguate these aberrational flights? How about flight number? Why yes, I think we’ve hit on something here! Each of these flights had a unique flight number. Wow, I can’t imagine how a software program could possibly tell the difference between flight 656 and 676 (or whatever the numbers might be.) Yeah, that right there is one of those unsolvable problems, maybe the X Prize Foundation can get involved.

The agent (again, she really was very nice) took care of the problem but oddly, she couldn’t just fix it for me. Nope – she had to send an email to a clerk and have them manually add my legs into the system (which apparently takes up to two weeks.) Boy, not only can’t the system correctly tell the difference between two, ah, different flights, they don’t even have an easy way for an agent to fix the problem. Sigh.

Ours is a very young profession – we don’t have hundreds or thousands of years of experience. But we are blessed with some amazing pioneers that did truly groundbreaking work – discovering things that are still amazingly powerful today. Sometimes I think we forget our history or at a minimum fail to understand it. When you think about the essential paradigm of mainframe computing, it isn’t that different from web applications, something I mentioned at Code Freeze (and something Douglas Crockford covers in his State of Ajax talk.)

Of course it isn’t just raw technology that echoes its past – no, our development languages do as well. Look at the features we are trying to add to mainstream languages today – despite what some developers think, these aren’t new ideas. Languages exist on a spectrum, and many believe Lisp, invented fifty years ago, is the most powerful language around (though it’s hard to get paid to write it.) Usually, things improve with time; I don’t think any of us would trade in our MacBook Airs for an Altair but apparently not so with languages – I’m not really sure what to make of that.

Anyway, back to history. On the way home from the Code Freeze speakers dinner the other night I was listening to the radio when I stumbled upon A Technical Camelot, the story of Jean Bartik whose first job was as a “computer.” Let me repeat that – her title was literally human computer (which makes more sense than some of the titles I’ve held frankly.) In the mid 40s, she found herself in the midst of history as one of the first programmers on the ENIAC and listening to her describe how she became a programmer and the kinds of things she was working on was quite something.

My point here is simple: history matters. With the advances in hardware, we’ve done some amazing things, but let’s not forget where we came from and the people that propelled us to where we are today.

In case you missed it, I just wanted to point out that Enso, a program launcher (though really, that description doesn’t do the product justice) is now free! I’ve been following Enso since Humanized announced it and I was really impressed by the things Aza was showing off at the Rich Web Experience. If you’ve ever seen Neal Ford‘s productive programmer talks, you know he’s a fan as well, and after using it for an afternoon, I already can’t imagine working on a Windows box without it. The user interface is remarkable – give it a try, you won’t regret it!

When I was in graduate school, one of my professors gave us a trip report on a conference he had attended. After class we started chatting and he told me that the goal was to travel enough that you wanted to start traveling less – needless to say, I now know exactly what he meant (see here, here and here for various tales of the glories of trips past…) For those of you that don’t fly much, the Jet Lagged blog’s A Userâ€™s Manual to Seat 21C pretty well covers the joy that is getting on an airplane these days. Of course some of my friends fly so much that they haven’t seen a seat past row 4 in years but even they have their own horror stories to share .