iPhone plus keyboard

I hope the next iPhone revision will take a cue from the new iPad and also support bluetooth keyboards. When I travel, I often just want to write – email, journal, blog, whatever. For this longer-form writing I don’t need a screen any bigger than the iPhone, but I do need a physical keyboard because typing on the on-screen one is so painfully slow. (I’ve gotten faster over time on the iPhone, but still nowhere the 80 words per minute that I type on my laptop.)

Back in the day (not that long ago, really) I used to travel with a Handspring Visor (a relative of the Palm Pilot) and a physical keyboard that folded up into an amazingly small package about the size of an iPhone (but an inch thick). The combination took up very little space in my backpack and weighed a total of about half a pound. For many years, in fact, the only time I ever wrote in my journal was on airplanes. I’d just whip out the PDA and keyboard and start typing away.

I don’t think that fold-up keyboard manufacturer ever sold enough to be profitable. Maybe now that so many people have smartphones, it would be a different story. On the other hand, maybe Apple has little motivation to support external keyboards for iPhone, because then we’d have less reason to buy an iPad…

I found a similar blog post after Googling a bit.

A vision of educational technology

Ken brought to my attention a good article that at first glance falls under the category of Apple Tablet speculation, but is really just a very clear vision of the educational technology that teachers and students want. Ken found out about the article because the author emailed him to point out that many of his requirements could be met by tablet versions of existing Omni software.

Will the Apple Tablet Support or Hinder Users’ Cognitive Fitness?

Learning involves a lot of thinking, writing, drawing and communicating. Learning involves anticipating what the author will say, setting learning objectives, detecting knowledge gaps, writing comments on the document, drawing diagrams. Unfortunately, today’s computers do not make this an easy task.

One item of personal interest is:

And why not allow users to directly add dictionary entries to their self-testing database, so that they never have to look up the same word twice?

In fact, I implemented a web-based version of this about ten years ago…

Update (August 2010): Inkling, just released, is the first iPad app I’ve seen that begins to incorporate some of these ideas, such as writing comments on the text.

Career Stereotypes

When I was in college, a poll sent to faculty members found that only something like 3 out of 200 professors were Republican.

The first explanation that came to mind, of course, was that it’s because you have to be reasonably intelligent to be a professor.

A gentler explanation is discussed by a recent NY Times article (“Professor Is a Label That Leans to the Left“). It reviews sociological research arguing that because professors are seen as liberal, it’s a career choice that appeals to liberals — thus perpetuating the imbalance.

To Mr. Gross, accusations by conservatives of bias and student brainwashing are self-defeating. “The irony is that the more conservatives complain about academia’s liberalism,” he said, “the more likely it’s going to remain a bastion of liberalism.”

Another reason I thought this was interesting is that I’ve been arguing along these same lines for a long time as applied to the dearth of women in computer science. That is, computer science is seen as a community of nerdy boys, so the people attracted to the field tend to be more nerdy boys, plus those who are attracted to nerdy boys.

But I hadn’t quite made it to the logical conclusion that the more we emphasize the lack of women, the more we perpetuate the problem. No wonder the trend has been so difficult to reverse.

Illustrations on the Web

I’ve been ranting again about how hard it is to deal with images in web applications. I’ve touched on this topic before. It came up again because I wrote a blog post with five or six illustrations inline. It was easy enough to draft the blog post in the Mac desktop environment: I just copy/pasted or dragged the illustrations directly into my rich-text document.

When it came time to move this onto the web, however, there was no simple approach I could find. All methods involved individually uploading the illustration images and re-linking to them from within the text of the blog post. Sure, I can do that. But it’s sufficiently annoying to discourage me from using images in blog posts when at all possible.

If we are going to start meeting the needs of the half of the population who are primarily visual thinkers, we are going to have to start creating software that makes the web much more friendly towards end-user graphics.

(Does this software already exist? Let me know.)

A story of blog consolidation

For a while now I’ve been wanting to consolidate all of my blog entries into a blog system that runs in my own web space.  That way, I can customize the blog as much as I want, I can be confident that I’ll never have to pay extra for it (beyond what I already pay for web hosting), and I can give it a nice url like robinstewart.com/blog/.

The only problem was that the process of transferring my old blog entries into the new blog system turned out to be waaaay more time-consuming than I had hoped.  That is the moral of this story.  But if you’re interested in all the nerdy details, read on.

I started writing occasional blog entries back in 2006. I originally used a blog provided through Williams College.  Then at some point I switched to a blog hosted by Blogger (but I left the old entries in the old blog).  Now that it has become easy to install WordPress on my own website, I did so.  But to really make the transition, I had to move all of the blog entries from the two old systems into the new system.  How hard could that be?

Well, the Williams blog was hosted in an extremely old, “multi-user” WordPress installation.  I made an attempt to upgrade that system to the latest version so that it would gain the “export” feature.  But after reading a lot of documentation, I decided that the process would be long, tedious, and fraught with peril (both because it is a “multi-user” version and would have to be upgraded through a series of new releases, one by one).  Instead, I ended up writing a PHP script that pulled my blog post information (title, text, date, author, etc) from the underlying MySQL database and exported it in the XML format that newer versions of WordPress can import.  After a few iterations of this script, I was able to successfully import the resulting file into my new WordPress system.  (Thankfully, the date/time format has not changed since the old WordPress version.)

The next step was to import my newer blog entries from Blogger.  The new WordPress has an option to do this import directly.  You provide your login information and it goes and automatically fetches all of the blog entries.  That import went smoothly, but the HTML underlying the blog entries I had created in Blogger were full of extra <div>s so that the entries didn’t render properly alongside normal, clean WordPress-generated blog entries.  I considered doing some CSS hacking to make the Blogger entries look ok, but after some experimenting to no avail I decided it would be a lot better to have clean HTML anyway.

To achieve that, I ended up exporting from my new WordPress system all of the blog entries that I had by now imported.  I opened the resulting XML export file in a text editor, and performed some judicious find-and-replace-all operations to get rid of those extraneous <div> tags (while keeping the important ones).  Then, I deleted all of the entries from WordPress and re-imported my edited XML file.  Unfortunately, this re-import didn’t quite work (the importer web page just hung indefinitely).  But I was eventually able to work around the problem by splitting up the XML file into about five different files, and importing them separately.

Finally, all of my old blog posts were in my new system, and in a way that looked fine without CSS hacks.  Whew!  It may have been faster to retype them all by hand.

Let My People Design Great Products

I finally read Let My People Go Surfing because Bill Buxton told me to. Actually, he told everyone at CHI 2008 during his keynote address. I actually wrote it down and found the reference later — personal information management for the win!

In his keynote, I remember Bill saying something like, “it’s a pity about the book’s title.” The author, Yvon Chouinard, is the founder of Patagonia (the outdoor clothing company). Let My People Go Surfing is the name of Patagonia’s employee benefits package, which is not all that exciting.

The reason Bill mentioned the book to an auditorium of human-computer interaction professionals is because of its incredibly compelling chapter on product design. Chouinard’s goal is to “make the best products.” But realizing how abstract and useless that phrase is by itself, he delves much deeper and lays out an insightful “philosophy” of product design standards. Below I’ve selected the ones that also apply to software, in my view.

  • Is it functional? (“Who needs it?”)
  • Is it multifunctional? (versatility. “Do I really need a new outfit to do yoga?”)
  • Is it durable? (“The poor can’t afford to buy cheap goods.”)
  • Is it as simple as possible?
  • Is the product line simple? (“The best restaurants in the world have set menus, and the best ski slopes have already decided which skis are best for your skill level.” “The best-performing firms make a narrow range of products very well.” “Fewer parts mean less to go wrong; quality comes built in.”)
  • Is it an innovation or an invention? (“It may take thirty years to come up with an invention, but within a few years or months there can be a thousand innovations spawned from that original idea.”)
  • Does it have added value? (“We treat customers with respect.”)Is it art? (“An illustrator becomes an artist when he or she can convey the same emotion with fewer brushstrokes.”)
  • Are we designing for our core customer? (the customers who “define the state of the art”)
  • Have we done our homework? (read: usability research. “You can minimize risk by doing your research and, most of all, by testing. Testing… needs to be included in every part of [the industrial design process].” “Measure twice, cut once.”)
  • Is it timely? (“To stay ahead of the competition, our ideas have to come from as close to the source as possible.”)
  • Does it cause any unnecessary harm? (ongoing environmental assessment)

It’s always useful to read a well-informed list like this one and try to apply its insights to my own product design work.