Archive for the ‘Programming’ Category

Geek Gang Signs

Saturday, May 31st, 2008

Geek Gang Signs

Going to Barcamp Boston?

Wednesday, May 14th, 2008

Going to Barcamp Boston?

Great day to be a Bostonian

Saturday, February 2nd, 2008

If you like commercials…I mean football, databases and politics and live in the greater Boston area this week is like Christmas, New Years and…well…Super Bowl Sunday back to back to back. I’m looking forward Super Bowl as is most of New England (and wherever that other team is from) though as usual more for the food and commercials. I do hear it is supposed to be a decent game as well. Monday brings the very first Database Day at MIT including talks from Dave DeWitt, and some recent database technology developments. And on Tuesday Massachusetts sees its first significant Democratic primary in over 20 years (and notably the first primary in which I feel compelled to vote). This week is shaping up to be an exciting week!

Problem Solving

Tuesday, January 22nd, 2008

In an article by James Maguire, Robert Dewar rebuts criticism to his claim that Java is the root of all evil…I mean, is a symptom of the complacency exhibited by universities when it comes to training intelligent and skilled computer scientists (some of whom become quality programmers and software engineers). I’ll grant he may have some conceptual troubles understanding causality (note that I said symptom of where he says responsible for). Semantics aside, Dr. Dewar comes close to yet does not explicitly state the core problem. Good engineers enjoy solving systems problems (as opposed to social problems). Instead of designing courses to be generally appealing, universities should be optimizing for attracting and training problem solvers. This may mean adopting more esoteric approaches that do not readily make sense to companies looking for “java developers” and instead training problem solvers who can learn the tactical skills necessary to solve industry problems.

An (illegal) Waste

Friday, May 12th, 2006

Defense Tech has a brief discussion about why the NSA’s massive collection of call records is a completely waste of time.

Why E-mail is Good

Monday, April 10th, 2006

Isaac Garcia explores the Good in E-mail. I am going to dig a little deeper to try and understand why people consistently choose to use e-mail. Taking a hint from Greg Raiz I will take a cognitive load approach to under sanding what’s so good about e-mail. I don’t have the bandwidth to compare these use cases using the many different collaborative suits that are out there but I would encourage their developers to do so.

Persona Alex: para-legal
Use case: Write a memo
Steps to write a memo:
1) Click New
2) Type recipient’s name
3) Type subject
4) Type memo
5) Click Send

Overhead: Steps 1 and 5

Persona Jamie: lawyer
Use case: Read and reply to memo
Steps to read and reply to memo:
1) Click on bold subject
2) Read memo
3) Click Reply
4) Edit response
5) Click Send

Overhead Steps 3 and 5.

Even if there’s no room to remove any steps collaboration software should take no more that five per person to carry on a conversation. Any software that takes more than five steps has complexity working against it. With this use case in mind it is clear that Alex is focused on step 4 while Jamie is focused on steps 2 and 4. The faster they can get there and finish, the more attractive the software is from a cognitive load perspective. The original Palm Pilot managed to skip step 1 in the calendaring application by allowing you to just click on the time you wanted to start an activity and just start writing. An e-mail program might have an empty e-mail ready to go at the top or bottom of the screen. When you start typing it expands and lets to proceed directly to steps 2-4. I am not aware of an easy way to get rid of step 5.

It is important to note that Alex chose to initiate the process. If some collaborative suite could reduce just Alex’s load he might be more inclined to use an alternative to e-mail. This thinking goes directly against systems that require tagging or filing new documents. Shifting the burden of organizing content to the creator is a sure way to guarantee that no one uses the software. Barring corporate mandate Alex will take the path of least resistance and send Jamie an e-mail.

Also note that, as Isaac puts it, “Email is in your face.” Jamie will probably respond using whatever mechanism is easiest. If Alex sends an e-mail with a link to a document on a website or a wiki page, Jamie might be more inclined to respond in that manner. And a wiki, for example, may only take four steps if the link Alex sends is to an editing page: click, read, edit, save.

Although ninety percent of collaboration is between Alex and Jamie many collaboration suites focus on the ability to find information. So for completeness sake here is a look at search. Typically there are two types of e-mail organization: folders and the in-box. People who are very organized spend time moving their incoming mail into folders based on various topics: sender’s affiliation, project, customer, etc. People who don’t organize are forced to search: sort by sender, sort by subject, sort by date or keyword search.

Persona Zack: client
Use case: Review documents from lawyers
Steps to review documents sent by e-mail
1) Click on “Documents from Lawyers” folder
2) Scan subjects
3) Click to read e-mail
4) Click again to read attachment

Overhead: Step 4

or
1) Sort by sender
2) Scan subject
3) Click to read e-mail
4) Click again to read attachment

Overhead: Step 4

or
1) Click Find
2) Type keywords
3) Click Search
4) Scan subjects
5) Click to read e-mail
6) Click again to read attachment

Overhead: Steps 1, 3 and 6

To use organized search the user has to indicate some method of search such as a folder or an attribute. Clicking to read the attachment is a hassle - especially programs that prompt you after you’ve clicked the attachment as to whether you really want to open this attachment. The reasoning is that you may accidentally click on spyware but you’re just as likely to get in the habit of clicking OK and launch it anyways. Personally I’d like to see attachment displayed in-line wherever possible so I can skip step 4 completely.

In the last case is simpler in Apple Mail and Mozilla Thunderbird. Both have a search box into which you can start typing and it will automatically search for matching messages. Neither searches attachments thought and Thunderbird requires that you hit enter after typing in your search phrase.

Big Numbers

Wednesday, March 15th, 2006

This is going to take a while to internalize: Who Can Name the Bigger Number?

UI non-sequitor

Friday, January 20th, 2006

Why does Excel default to three sheets in every new file? Do most people use three sheets when they open a new spreadsheet?

Lose Everything

Tuesday, January 10th, 2006

Cory over a Boing Boing has an a-ha moment after reading John Battelle’s The Search. If I follow Cory’s thinking, at some point it must become cheaper to lose what you’ve finished using instead of filing and keeping it When you need it later you just search.

In the real world you give away or sell your books, music, videos and when you want one, just search and buy it again. If the cost of acquisition means you don’t need the square footage to keep it then the only question is “how long do you have to wait between wanting it and getting it?”

In the virtual world, storage means hard drive space or maintaining your folders and backups. If you found something you like on-line use it and delete it - or keep it in a bin, but don’t bother categorizing it and backing it up. When you need it again, just search. Better yet, just add it to Greg’s Group Networked Backup and you’ll never have to keep track of anything ever again.

Bad UI

Saturday, December 17th, 2005

I regularly read a couple of UI related blocks (Greg’s Head and flow|state) and thought I might weight in with my own pet peeve: dialog boxes. I have never seen a single dialog box that I believe was justified. Almost all dialog boxes in UI are the result of a poorly designed interface. An interface developer (or more likely a programmer who is not an interface developer) who did not think through the user experience enough to realize that there is always a better way to inform or prompt the user.

The worst side effect of dialog boxes that that applications launch them with complete disregard for the user’s focus. If I’m not looking at the application’s window, the dialog box is distracting and therefore annoying. I know the application can’t continue until I confirm or deny it’s problem, but it’s a computer program, it can wait.

Firefox is a great example of how simply thinking through the user experience means you can get rid of the dialog box. It used to be that if firefox couldn’t load your webpage it would flash a dialog box. If you sit and stare at the blank screen while the page tries to load then it doesn’t really matter. But if you load a couple pages then go e-mail and come back to them, it can get bothersome. As of version 1.5, they’ve replaced the dialog box with a simple webpage that says that the website you were looking for cannot be found. I shouldn’t give the firefox team all the credit, Microsoft has been doing this with Internet Explorer for at least the past two versions.

So, if you’re a developer and you write applications that have a user interface, please, grep -i your code for “dialog”, put yourself in your user’s shoes and figure out a simple way to inform them. Your users will be much appreciative.

Greg’s Head

Wednesday, November 30th, 2005

I had the opportunity last night to preview Gregory Raiz’s presentation on the state of Linux based software for the Desktop. He raises some very important points about easing adoption, encouraging new developers and ensuring compatibility. I hope he will make the presentation and notes available. Perhaps with some encouragement he will even turn it into a whitepaper.

Entries (RSS)