Rss Feed
Tweeter button
Facebook button
Myspace button
Linkedin button
Delicious button
Digg button
Flickr button
Youtube button

Archive for » July 26th, 2007«

But why would you still teach the code?

Despite my upcoming classes on XHTML and CSS filling quickly, I still get funny looks from some when I tell them that in my classes I teach code, not tools like FrontPage or Dreamweaver. “It’s still necessary” I say rather unconvincingly despite my intentions since they don’t look convinced. Well, while reading Dreaming in Code by Scott Rosenberg I discovered “The Law of Leaky Abstractions“, first described by Joel Spolsky.

In his blog post Spolsky is talking about programming languages but I think it applies to almost any software tool. The basic point is that whenever you use a tool (Dreamweaver) to create something else for you (XHTML/CSS) the tool is an abstraction of what you’re you’re doing. Whenever you involve an abstraction, there’s always a chance of loosing something in the translation, a leak. The more level of abstractions you add, the more leaks and the more that’s lost in the translations.

Here’s the bit that was quoted in Dreaming in Code that’s relevant to why I teach code:

One reason the law of leaky abstractions is problematic is that it means that abstractions do not really simplify our lives as much as they were meant to….

The law of leaky abstractions means that whenever somebody comes up with a wizzy new code-generation tool that is supposed to make us all ever-so-efficient, you hear a lot of people saying “learn how to do it manually first, then use the wizzy tool to save time.” Code generation tools which pretend to abstract out something, like all abstractions, leak, and the only way to deal with the leaks competently is to learn about how the abstractions work and what they are abstracting. So the abstractions save us time working, but they don’t save us time learning.

And all this means that paradoxically, even as we have higher and higher level programming tools with better and better abstractions, becoming a proficient programmer is getting harder and harder.

This is exactly the point I try to make when I “explain” to folks why I teach code instead of the tools. Maybe the next time I need to defend my methods I’ll start by calling on The Law of Leaky Abstractions and see if that gets their attention.

Category: webdesign  4 Comments

Pick a color, any color

Click on the image, log in to flickr, and leave a note. Feel free to pick the same color as someone else.
Pick a color

Category: flickr  Leave a Comment

Do we not because we cannot? Would we if we could?

I need to learn to take better notes when I’m thinking about a “larger issue” blog post. The topic of this one has been percolating in my head for a few months now and it came up for the fourth time yesterday so I figured it was time to sit down and write my post. The trouble is, I can not only recall two of the four instances which illustrate my issue. Of well, I guess that’ll have to do.

The first time I started thinking about this issue was about two years ago when I was working for BCR. I was attempting to convince some folks there that maybe we should consider using wikis internally. I figured that our static-Web-page-based procedures would be a great first step. The benefits I saw were easier editing, revision tracking, editor tracking, and that in the future we would have the ability to go back and see how procedures have changed over time. The responses were as follows: we all know HTML so it’s already easy, only the folks involved in a particular procedure would change that procedure’s page so there’s no need to track who made the changes, and (this is the illustration of my point) we’ve never cared what the procedures used to be before, so why would we in the future. Needless to say, my idea was not implemented.

Yesterday I was in my department meeting and we ended up looking at our training portal, where folks can sign up for our workshops. I just happened to notice that a user could see the current month and click to see future months but could not click to see previous months. (I just tested this and it turns out there must have been a glitch yesterday because I can now click to see past months. Despite this, my illustration still holds.) I asked why can’t you look at past months? The response “why would you want to? No one’s ever asked for that feature in the past.

Here’s what I mean by the title of this post: In some cases do we not do things, not because we don’t want to, but because the ability to do them doesn’t exist? If the ability to do something did exist, might we then think “Hey, now I can do X or Y or Z instead of just A, B, or C!”

Can I actually come up with a reason why someone might want to see what procedures were 10 years ago? No. Can I tell you why someone might want to look up one of our class reregistration screens from two months ago? No again. But if those options are available to our us or our users, maybe someone will come up with a use for them that we could never have predicted.

I’m sure some of this comes out of my having taught two graduate-level courses in Knowledge Management technology. I’m also sure that reading Everything is Miscellaneous has a lot to do with my thoughts on this. But really, are we eliminating possibilities by making decisions based on either how we’ve “always done it” or by saying “why would anyone ever want to do that?”

Category: rant  2 Comments

More on Simplify Media

As I posted yesterday, Simplify Media allows you to share your iTunes library over the Internet with up to 30 of your closest friends. Now that I have it running on three out of four of my computers, here’s a few follow-up notes.

  • The software does not yet run on Vista. (Which is of course my personal laptop’s OS.) According to the company “a release for Windows Vista will be available shortly.”
  • One of my friends has reported that the software is “not reading the data from my external HD.” My main collection is not on my main drive but on a secondary internal drive so that seems to work. I have not yet tested sharing a folder on an external drive myself. I’ll report back if I receive any additional news on this issue.
  • Simplify Media only shares the contents of your “Music” category in iTunes. Items listed under “Podcasts” and “Audiobooks” will not be shared.
  • I claimed via Twitter that I’d making “a week” worth of Bowie tracks available. For the record, I’m sharing just four days, 1368 tracks, or Bowie. Sorry if that’s not enough for some of you ;-)

Just one additional comment: Simplify Media is a good company name but the software itself needs a name of its own. “Simplify Meida” just isn’t a great name (maybe it’s just me) for this program.)

Category: apple, itunes, music  6 Comments