Can anyone shed any light on why the time estimates in file copying dialog boxes in Microsoft Windows are so ridiculously inaccurate? Is this a difficult problem to solve? I know BeOS handled it remarkably well. What about other operating systems? Mac OS (classic or X), the linux GUIs, etc?
Web Standards and the Meaning of Life: You have to believe it to see it
Tonight, I feel as though I’ve stumbled across a personally significant discovery: For many things in life, you have to believe it to see it. Bear with me as I leap from profound meaning-of-life examples to mundane gadget examples.
A little over a year ago, I posted an open question to the web development community here on this website: Why should I redesign my site with Cascading Style Sheets? At the time, I was struggling to convert my brain from old-school HTML-quirks-expert mode to new-school XHTML/CSS standards mode. I wondered, given the number and complexity of browser incompatibilities, if it was worth the trouble.
The volume of the response was impressive, but no-one convinced me. Some strong arguments were presented, but none really told me what I didn’t already know. I was directed to Owen Briggs’ now well-known Design Rant. I understood his arguments, but it wasn’t enough.
As I stated at the time, I made the decision to learn more about XHTML, CSS, and web standards in general, mostly out of the feeling that it was inevitable (I also have a well-documented irrational and interminable need to upgrade). Here, a year later, I’m swimming in XHTML. I’m still often confused and frustrated CSS, but I’m pushing the adoption of web standards in all of my web work.
What changed? Not much. Netscape 4 is less of an issue than it once was (fewer and fewer people are using it and I’m now content to have sites look different, as long as their accessible in the old browser). However, when I read Owen Briggs’ Design Rant today, it rings true, whereas it was hollow and distant to me last year.
The most significant change in that time is that I have jumped in with both feet and learned. While I still feel like I only know 10% of what I should about CSS and XHTML, I know an order of magnitude more than I did last year. In learning these technologies, I have come to understand their benefits.
The most significant immediate benefit, for me, is the way in which the structure of XHTML forces you to produce cleaner and more logical code. However, I don’t expect this benefit to convince a naysayer. That’s the whole point. I couldn’t be convinced – I had to try and learn before I could understand.
This realization, that I need to explore and experience in order to understand, dawned on me as I read C.S. Lewis’ classic Mere Christianity. In discussing how the theological differences between the various denominations are relatively insignificant to the core of the religion, Lewis states that “A man can eat his dinner without understanding exactly how food nourished him.” Lewis goes on to argue that you need not necessarily understand in order to believe. Understanding is beneficial, of course, but not necessary.
I believe this idea can be generalized, however inelegantly (if I haven’t already done so by stretching it from web standards to religion), to something like: you have to try it to get it. You can not wait for understanding to justify experience. Rather, the experience will produce its own justification.
Leo Tolstoy’s A Confession is a powerful account of how Tolstoy found, after painfully and diligently searching for the meaning of life through much of his adulthood that the meaning of life wasn’t something he could learn from a book (read the excerpt with Tolstoy’s account of his dream of a bed over a chasm to hear this in his own words).
I’ve also seen this principle (yeah, it’s a principle now) in practice in other situations. A few simple examples:
- When a co-worker showed me his wireless network connection in his laptop last year, I thought it was cool, but didn’t see the great need (I was at my desk with my computer all day where a wired Ethernet connection is available anyhow). However, when I first tried WiFi for myself I immediately understood that it would change the way I use my computer.
- Having only driven cars with an automatic transmission, I could never understand the appeal of a manual transmission. Friends pointed out the better feel for the car, the improved fuel economy, and most of all that it was “fun”. As with the other examples, I could understand their points, but only in that I knew what they were saying. Until an offer of a free vintage Volvo station-wagon forced me to learn to drive a stick-shift, I didn’t really understand what they meant.
- After occasionally using Apple computers over the years, last month I spent a week working on a Mac in hopes of figuring out what the attraction was. I think I got it.
- Dean Kamen (the Segway guy, among other things) said in a presentation at the WinHEC conference that innovation is like love: “Everybody wants it – everybody feels good when they have it – but nobody knows what it is.”
I’m not sure where this leads me. Perhaps the only true education comes from experience. A friend told me once that no Atheist could read the entire Bible and be unchanged. I believe that is probably true – though it may not be the contents of the book, but the act of reading it that would prove to be the true agent of change.
The Ffoeg Illustrations: Day 5
The last in a series of Illustrations by Geoff Gibson:
The Ffoeg Illustrations: Day 4
The fourth in a series of Illustrations by Geoff Gibson:
What Microsoft is getting right in Athens
Microsoft and Hewlett-Packard are developing a concept computer code-named Athens to demonstrate technologies to be included in future products (serveral high-res photos are available). There isn’t much in this prototype that’s actually new and it’s more of a marketing tool than a technology demo. However, having putting a lot of simple and smart features together, they are on to something.
-
Screen real-estate
The demo model includes a $2000+ 20″ LCD (photo). The presented awknowledges that this is unrealistically expensive for the average business or home user, but cites a report that predicts that the same size screen will run about $400 in 2004 (presumably the end of 2004). Jakob Nielsen has been telling us this for years: large screens are not just for designers. There is a significant productivity gain from moving a typical user from a 15″ to a 17″ or 19″ display. -
Presence
A Microsoft researcher commented that a urinal can know when you walk away, but your PC can’t. I’ve written before about how user-presence should be done at the system (rather than application) level. This demo includes some nice moves on that front. Say I’m showing a small group a video or presentation on my PC. On hardware button (Do Not Disturb), and all of my communication systems are notified to leave me alone (incoming phone calls are diverted to voice mail, though callerID is available, and instant messaging status is set to “away”). -
PC as docking station
I’m now a full time laptop user, though I do plug in a mouse when at my desk. The Athens prototype is a docking station for a laptop as well as a PC. -
Unified Inbox
With telephony (the most hilarious word ever) technology built into the system, voicemail and caller ID can be easily incorporated into the universal inbox along with email and instant messaging. -
Smart sleep
Many systems do this well already, but the Athens PC ads a few nice touches, including fast wake-up and light indicators on the top of the screen that alert you of email, voicemail or alerts, even when the system is asleep (photo). -
Hardware controls
Many try and most fail to add useful hardware buttons to PCs and laptops. My ThinkPad has useful volume controls that let me easily mute or adjust my volume regardless of what application I’m using. If the phone rings while I’m playing I can always quickly kill the sound (though the Athens PC does this for you). The Athens PC includes hardware controls for presence (Do Not Disturb, etc.) and hardware indicators for email, voicemail, and reminders (as lights on the top of the screen). Microsoft’s enormous size could help them establish a simple convention that hardware manufacturers could support. After all, these people did add a new key to our keyboards.
For more details on the Athens PC, Microsoft has a Word Document with all of the details (695Kb). They are really hitting on some key points, demanding “Appliance-Like Availability” and quiet operation. Microsoft is in a strong position to dictate these types of moves to hardware manufacturers they have proven themselves in a similar program. In 2000, I wrote about Microsoft’s similar announcement of the TabletPC. Two years later, you could buy one. They did the same with their Media Center PC.
News.com has video of the Athens introduction (link only works in Internet Explorer thanks to News.com’s craptacular pop-up window video display).
Spare me the line about how your computer did some of these things back in 1995. I’m not claiming that these are innovative. Rather, it’s the combination of a lot of smart features (regardless of how innovative) that make this an attractive PC.
The Ffoeg Illustrations: Day 3
The third in a series of Illustrations by Geoff Gibson:
The Ffoeg Illustrations: Day 2
The second in a series of Illustrations by Geoff Gibson:
The gap between User and Programmer
A sharp distinction is often drawn between “using a computer” and “programming”. Using a computer might involve a simple action, like opening a web browser and reading the news. Programming might involved something like creating the web browser itself.
These seem like two different worlds. Clearly there is a significant difference in accessibility and learning curve. However, I wonder if this difference is only one of scale and magnitude or is there some more profound separation between using a computer and programming a computer.
We occasionally see features in mainstream applications that put the ordinary user in a role closer to that of a programmer.
- Macros in word processors, for example, are a (sometimes) simple programming language. A spreadsheet program like Microsoft Excel can be seen as an entire development platform alone (I have a theory that if we could have somehow invented Excel 50 years ago, we’d be living on Mars and we’d have a cure for cancer).
- Rules in email program. Outlook or other email programs allow users to setup simple conditionals to file or perform other actions on email. This relatively simple set of rules turns out to be quite powerful.
I wonder if we may be pushing this distinction too far. I’m not suggesting that my parents should be learning C++. They are quite content with email, web browsing, and word processing. Still, I worry about the unforeseen repercussions that may arise from the idea we have burned into our minds that programmers are programmers, users are users, and never the twain shall meet.
Are we building our systems in such a way that re-enforces the gap between users and programmers? Are we building systems that have a bias that makes it difficult or impossible for users to create their own functionality?
I don’t expect all Joe Hotmail to start writing device drivers. However, there are technologies that have been biased in the other direction: where the user is often the creator. HTML, for example was a simple-enough language that, even if it didn’t make it all the way to the average end user, it did enable a far larger circle than “programmers” to do interesting and creative things.
DOS batch files were simple enough that a lot of users who would not consider themselves to be “programmers” could do all kinds of powerful things (though it may have been out of cruel necessity). I remember an old high-school friend wrote a simple batch file that ran off a floppy disk on our school network. It displayed a prompt that looked exactly like the real network login screen. When an unsuspecting user typed in their username and password, it would output a realistic looking error message, and write the username/password to the disk (a “floppy-in-the-middle“ attack?). The confused user would move on to another machine, and my friend would come collect his disk full of network passwords at the end of the day. The key point is that this was possible with very little understanding of “programming”.
Here are a few tasks that someone might want to perform:
- Notify me when the Canadian/American currency exchange rate drops below a certain points. How would you do this? Excel can grab the exchange rate from a variety of web sources. Now we need a way to check this regularly and pass on the info to a notification of some kind (IM or email).
- Take all of those emails I get from my old-school co-worker with WordPerfect 5.1 attachments and convert them into Rich Text Format documents. How would you do this? Get all WordPerfect attachments from that particular sender, open them, and save them as RTF files with the same name in a destination directory.
- Have the top 5 New York Times front page stories print off at 6am.
These are a few examples of relatively simple tasks that would be difficult or impossible for most people to setup. Is it possible to put this kind of power in the hands of novice computer users? The individual components of these example tasks are all relatively simple with common applications. It’s the glue to tie them together that’s too difficult.
Is this a case of professionals conspiring to keep common-folk from trampling their sacred realm, or is it just hard to do well?
On a related note, Alan Kay gave a talk at the recent Emerging Tech conference that included video of children “programming” simple physics behaviour for learning purposes (QuickTime video of the presentation is available).
UPDATE: Soon after I made this post, I came across Matt Jones’ post on the topic.
The Ffoeg Illustrations: A Web Exhibition – Day 1
A friend of mind since before I was cool, Geoff Gibson (a.k.a. ffoeg) has always been a talented fellow. This week, he graciously shares a series of his illustrations with Acts of Volition. Each day this week (Monday through Friday), a new illustration will be posted.
This first of 5 illustrations to be posted this week:
Sharing Music on CBC
Just came from the CBC Radio offices here in Charlottetown where I recorded a quick piece with Matt Rainnie for a series on the local afternoon show, Mainstreet. He’s been bringing in people to share some of their favourite music. It seems I’m in good company as other geeks-with-taste who have done the show include Stephan McLeod and Peter Rukavina.
We chatted for a few minutes and Matt teed me up for a plug for my long-defunct-but-always-awsome high-school band, Horton’s Choice. Nice.
The piece will air tomorrow (Tuesday, May 6) after 4:30PM on CBC Radio PEI (96.1FM). I brought along Adam Again’s song Worldwide from their 1992 album, Dig: the two greatest musical minutes I’ve ever heard. Fine spring driving music.
Listen to a sample of Worldwide (realaudio). Since the song is only 2 minutes long, this 1 minute sample is pretty good.




