We all have our fair share of gripes about web usability.
There are those fields for credit card numbers that do not allow spaces or dashes, making what you type hard to read and verify.
And all because a lazy developer wouldn’t spend five minutes to take spaces and dashes out of a string.
How hard could it be?
Today, the target of my ire is those confirmation emails that you receive after placing an order.
Many of them include the password that you entered when creating an account.
The password, I tell ya!
Unbelievable. If a company is stupid enough to do that, it just makes me wonder if it understands the difference between hash function and hash browns. The password is not likely to be stored securely.
Others emails are disgracefully generic. Here is one that I received recently after subscribing to a magazine:
If you used a credit card for your purchase, please be aware that your statement will show “(Guess Which Magazine)” for this purchase and a receipt will be generated once your subscription is processed.
If you selected “Bill Me” for your subscription, an invoice will be sent to
you via email after your order has been processed.
What’s up with those “if you did this” and “if you did that” statements? I have just trusted you, the vendor, with my credit card information.
You know whether I used a credit card or not.
Is it that hard to send me a slightly more personalized confirmation email
?
The confirmation email above was sent by none other than Better Software magazine. How would you define “better”?
After my first day attending CES, I went back to my hotel room and checked out news coverage of the event by Engadget and other tech oriented sources.
This effusive Cool Hunting post caught my attention.
It described the new, not-yet-released Motorola ROKR E8 (the highlights in the quote are mine):
The latest in Motorola’s line of music phones, the ROKR E8, has a new feature that (believe it or not) rivals the iPhone. The innovation is a little piece of tech called “localized haptic feedback,” which makes pushing a button
on the touch screen feel like actually pressing a button. This is achieved by
a small vibration under the spot where you touch, and feels like
the solid surface
re ally is
a button. It’s a tactile capability that we at CH have often wished for and the experience of using it is nothing short of amazing—upon demoing it, I really thought it was a real button (and I’m not easily fooled).
I had already went by the Motorola booth at the Las Vegas Convention Center and had planned on spending my second day at CES’ other location, the Sands Expo. But this, I had to experience.
I had to feel a “real button”. So I went back to the Convention Center.
See, when I read the above, I expected that, as I use different apps like phone, music, or camera, that I’d feel different bumps on the surface, as described in the Apple patent:

But the ROKR E8 is nothing like that.
Essentially, the buttons portion of the phone is a single, solid plastic surface.
Different icons are illuminated depending on the app, as shown below:

When you press one of the illuminated icons, the entire plastic surface depresses and you feel a vibration.
No depression is felt when you press anything else (save for a bug that I reported to the Motorola rep).
I felt let down.
The Cool Hunting post was overly nice to this clunky phone.
Being able to control whether you feel a button depression or not is nothing new.
In fact, I had looked at using piezo switches 5-6 years ago for possible use in our response pads. Piezo switches let you vary the activation force that is needed.
All Motorola added was a sense of vibration when the plastic surface is depressed.
Big deal.
Welcome to 2008, and Happy New Year
to all.
I just finished reading Scott Berkun’s The Myths of Innovation. Scott does an excellent job of debunking a number of myths, explains how innovations are diffused, and describes the various obstacles that slow down their diffusion.
I won’ t provide a
thorough review — plenty of readers who are more qualified have already done so on Amazon.
But I would like to share my two most important lessons from the book. The second lesson is the one that’ s relevant to
software development.
The Apple Didn’t Do It
Scott demonstrates how the popular media likes stories of epiphanies. An example is the apple that fell on Newton’s head, providing him with the crucial insight into gravity.
Did an apple ever fal
l? Scott says that there is no proof.
But more importantly, the story of the fallen apple makes no mention of the twenty years of research that Newton had done. An apple fell: poof! Newton gets his epiphany.
Gravity is d
iscovered!
Not so, baby. Behind every apparent epiphany are usually years of research and thinking. “Eureka moments” h appen only
after a person has spent a lot of time thinking.
The Importance of Incubation
Scott provides the insight that early research and development is typically followed by a period of incubation, a lull during which ideas sink in.
This is something that I knew instinctively, but
I am grateful to Scott Berkun for highlighting it.
It is during those periods of incubation that Eureka moments typically strike, and they are a necessary part of the process of innovation.
I find that this applies to software development in a big way at the design stage. By design, I mean the process of developing
the specs for the software and its user interface. After this is completed, it is important to let the design sit idle for a little bit while you keep pondering it. This allows time to think through real world situations and see if the planned design helps address them.
A period of incubation is even more important if the design is for a new version where it is important to think about the problems that your customers had in the past and whether the new design helps.
If your company has online forums, visit them and review the complaints that your customers took the time to write about.
If you have spent some time writing code and debugging, then you probably understand the importance of stepping back every once in a while.
This is a form of incubation as well, although usually of much shorter duration.
It happened frequently to me: I would be trying to fix a bug unsuccessfully. Then I leave the office and go home. My “Eureka moment” would sometimes come before I even get home (my commute is all of two miles). You have probably experienced something similar in the past as well.
In the what-were-they-thinking department, here’s a quiz:
See this next Windows Vista screen.
In three
seconds or less, determine how many list items are selected:

You can’ t figure i
t out? Hint: the answer is not three.
You still can’t figure it out
?
The answer is two. Yes, two. In the screen snapshot above, only “RoboHelp Office” and “SuperLab 4.0″ are selected. The first folder, “Merge Utility”, only happens to have the mouse cursor pointing at it.
But someone at Microsoft thought that it would be a great idea to have the selection and hover colors
be so similar.
Brilliant, huh?
70%How Addicted to Apple Are You
?
Click on the image above to get your own score.
ace=”0″ alt=”Curious Chap” title=”Curious Chap” />Shortly after I commented on The Two Types of Software Development ( application development vs.
consulting), Joel Spolsky posted the text of a talk th at he gave
at Yale. It largely agrees with my comments and it’s why I am firmly in the apps side and never want to go back to consult
ing.
Ever eloquent, Joel does not mince his words: it sucks to be an in house programmer. T he arguments
he makes largely overlap with mine.
He points that “a programmer is never going to rise to become CEO of Viacom, but you might well rise to become CEO of a tech company”:
And I could tell that no matter how critical it was for Viacom to get this internet thing right, when it came time to assign people to desks, the in-house programmers were stuck with 3 people per cubicle in a dark part
of the office with no line-of-sight to a window, and the “producers,” I don’t know what they did exactly but they were sort of the equivalent
of Turtle on Entourage, the producers had their own big windowed offices overlooking the Hudson River.
The text of the talk is published in three parts, but the part about in-house programmers is in part 2. It’s well worth the time to read at least that part.
e=”Curious Chap” />After my earlier post where the ultra thin Apple Keyboard was taken apart (Apple model number MB110LL/A), Ben FrantzDale wrote to ask if the “bump” where the USB connectors are found can be removed.
In other words, instead of this standard issue keyboard:

Ben would like:

I have an idea on how to accomplish this, though it’s non trivial. But first, here are more tear down photos.
I’ll start by highlighting one of the two ribbon connectors that link the keyboard matrix with the printed circuit board, or PCB:

See how the PCB is housed (click on photo for larger version):

The PCB sits right in that bump that Ben would like to remove.
Further, it is held in place by four screws, shown circled in red. They span the entire width of the keyboard, so one would need to take apart the entire keyboard.
Lots of bending metal is involved — no way to put th
is thing back together.
This next photo was taken for the sake of completeness.
It shows the PCB unscrewed and removed from its housing:

To Flatten or Not to Flatten
That is the question.
If it is possible to completely flatten the Apple Keyboard, the only way I can think of it is to use two keyboards: you get the PCB from the first one as illustrated in these photos, and you get the keys
from the second one, and connect the two parts with the ribbon connectors.
With the second one, you will need to grind the PCB housing part, but be very careful to leave the ribbon connectors completely untouched or else it’s a complete loss.
I’m not sure that it’s worth it.
If anyone attempts to do this, please let me know!
e=”Curious Chap” />My wife had a VCR tape converted to DVD-R.
The tape itself was converted from reel that was fil med
back in 1964!
She asked me to make copies of those precious 15 minutes of grainy video so that we can pass them out to family members. “Sure honey, no big deal”.

I had used Roxio’s Toast several years ago and liked it, so I went ahead and ordered Popcorn 3 directly from their site.
The ordering process was smooth, but that’s where “smooth” ended. I expected to see a web page with download instructions, but instead was advised that I’ll be receiving an email.
An hour later (an hour, I tell ya!), the email arrived.
It contained a link to what looked like an FAQs page. Try as I may, I found no valid download link on that page.
I went in circles for over 15 m
inutes to no avail.
Then I tried to “login” to my account.
I never really created one, but why not try
? After that failed, I requested that the password that
I never provided be emailed to me.
That turned out to be the same as the order number, but the original email never bothered saying so — and for good reason it turns out: that didn’t work either!
Then I signed up for an account at Roxio’s site, hoping that the download link will magically reveal itself.
I didn’t happen, not even after I entered the “CD key”, you know, the one that Roxio had just given me and is bl
issfully unaware of it.
The rub in all this is that I could have ordered Popcorn 3 from Amazon.com and saved $10. It would have had to wait a few days before the physical package arrived but saved myself a lot of aggravation.
After more than an hour of frustration and surfing their site, I ran into the toll free number for requesting refunds
. It’s 1-800-656-5443 for those of you sufferers having trouble finding it.
After an additional 29 minutes on hold, I got my refund.
Now I’m trying to decide if I should trust Roxio at all and order Popcorn 3 from Amazon.com or whether I should look into other DVD copying software.
I’d appreciate your suggestions.
I’ve been thinking for a while about the difference between application development versus contract programming, a.k.a. consulting. I have done both and clearly prefer application development.
Wh at
spurred me to ink my thoughts is Ben Collins-Sussman’s recent Version Control and “the 80%” post where he separates developers into two groups: the 20% alpha geeks and the 80% folks. Ben, one of Subversion’s developers, dares to write:
There are two “classes” of programmers in the world of software development: I’m going to call them the 20% and the 80%.
The 20% folks are what many would call “alpha” programmers — the leaders, trailblazers, trendsetters, the kind of folks that places like Google and Fog Creek s
oftware are obsessed with hiring.
These folks were the first ones to install Linux at home in the 90’s; the people who write lisp compilers and learn Haskell on weekends “just for fun”; they actively participate in open source projects; they’re always aware of the latest, coolest new trends in programming and tools.
The 80% folks make up the bulk of the s
oftware development industry.
They’re not stupid; they’re merely vocational. They went to school, learned just enough Java/C#/C++, then got a job writing internal apps for banks, governments, travel firms, law firms, etc. The world usually never sees their software.
They use whatever tools Microsoft hands down to them — usually VS.NET if they’re doing C++, or maybe a GUI IDE like Eclipse or IntelliJ for Java development.
They’ve never used Linux, and aren’t very interested in it anyway. Many have never even used version control.
If they have, it’s only whatever tool shipped in the Microsoft box (like SourceSafe), or some ancient thing handed down to them. They know exactly enough to get their job done, then go home on the weekend and forget about computers.
I agree. I also realize now one of the reasons why I moved away from consulting in 1994 and never looked back: most of the alpha geeks are not
there. They are in application development. There are several reasons why application development attracts alpha geeks while consulting repels them.
Disclaimer: I’m sure many consulting outfits do a great job; no offense is meant to anyone.
The Feedback Loop
In application development, a developer receives a lot of feedback.
This could be in the shape of email, forum posts, phone, or by meeting customers face to face at a convention or trade show. The developers also receives critical feedback from the technical support folks; this helps them identify bugs or weaknesses in the app and challenge them to do better. The feedback often includes feature suggestions and sometimes even an entirely new product idea.
There is nothing more rewarding for a developer than to hear a customer rave about how much he or she loves the product.
This feedback loop is not usually found in consulting. In 1992-1993, I worked on a software project for monitoring a nuclear reactor after a f
ault has occurred. Pretty serious stuff, but no one other than the CEO at the time ever met the customer! He was not a developer, didn’t understand developers, and didn’t care much for them other than how many hours the customer could be billed. There was no direct input to the developers before the project started and no feedback after delivery.
Geeks Are Not Just Coders
Alpha geeks like to develop, not just code. There is a huge difference between the two.
A developer has the opportunity to be creative and help shape the product. At consulting companies, coders rarely have this opportunity.
Any creativity is limited to implementation details.
Who’s In The Driver’s Seat?
In application development, developers are in the driver’s seat along with managers, helping build quality products that customers will love.
Their own interests are usually aligned with that of management. If the product’s quality is not up to par, the free market will take care of weeding it out.
In consulting, the dynamic is completely different.
MBAs are usually in the driver’s seat. Billing is the primary motivation and it often conflicts directly with the goal of quality.
Imagine the following scenario: Mr. MBA convinces Mr. Client that adding database replication would be a spiffy idea. Mr. MBA rushes to the computer lab and informs Ms.
Lead that replication needs to be implemented.
Ms. Lead and her colleagues warn Mr. MBA about the delays the new feature would cause, the complexity that it would add, and that the project might collapse under its own weight.
Seriously folks, do you think that Mr.
MBA cares? He’s only thinking about how much more he’s going to be able to charge the client. Perhaps the firm will even make him a partner. Imagine that!
What I just described is one of the reasons why the FBI’s $170 million Virtual Case File (VCF) project failed. According to the Washington Post, the FBI didn’t manage the project well and the contractor, SAIC, “knew the FBI’s plans were going awry but did not insist on changes because the bureau continued to pay the bills as the work piled up.”
Geeks Like to Work With Geeks
If most alpha geeks are found in the application development area, that’s where budding alpha geeks will want to be. It’s as simple as that.
I use three Mac OS browsers: Safari,
Firefox, and Opera. And none is “perfect”. I used Firefox on the PC for at least a couple of years prior to switching to a Mac, so it was one of the first programs that I downloaded for Mac OS.
I tried to use it as my main browser but was turned off by its non-Mac feel. Mozilla seems serious about giving Firefox a native look and feel on each platform, as evidenced by Alex Faaborg’s post,
The Shape of Things to Come
?
.
Firefox Look
The iconic look that the Mozilla te am
is considering for Firefox 3.0 is brilliant: it gives Firefox a unique shape while using color to sport a native look. The following icons are of the Back and Forward buttons, with the Back button made larger because it is used so much more frequently:

As pointed out by Leonardo Damian, the idea of a larger Back button is not Mozilla’s invention — it was introduced by one of the Longhorn (Windows) builds. But still, the Mozilla icons have a unique and original iconic shape whereas Longhorn used just two
circles
, one larger than the other.
Firefox Feel
But what kept me away from using Firefox as my primary browser was not the look, but the feel.
After all, I could have easily downloaded a Mac styled theme just as I did during my PC days.
See, I am a heavy keyboard user.
I love my mouse but find using the keyboard a lot faster once I’ ve learned a few shortcuts.
When editing a text line, one of my favorite shortcuts on the Mac is using the Up arrow key to move the blinking cursor to the start of the line, and the Down arrow to move it to the end of line. And lest you think that this was done on purpose in order to list previously visited pages
, press Cmd-F to use the Find feature: it doesn’t work there either.
There are a few other keyboard shortcuts that could make a Mac user’s life easier if added, e.g. Shift-Cmd-] and Shift-Cmd-[ to move between tabs.
These would be in addition to the existing Ctrl-Tab and Shift-Ctrl-Tab so that other users are not disrupted.
These suggestions are trivial to implement but would make life easier for people like me who use more than one browser.
BTW, stay away from the Firefox 3.0 Beta 1 that was released yesterday. It remembered all my bookmarks and browser history, but it couldn’t open any previously visited page. I had to Force Quit the program. You will also not find the new icons described in Alex’s blog post.
You Had Me at Find!
If I had to name the one feature that had me switching in a hurry from Internet Explorer to Firefox 1.0, it would be the Find in This Page feature. I liked that it was non-intrusive (no dialog coming in your face). And I loved the Highlight all feature. Safari 3.0 plays catch up; after using both browsers, I am still not sure which implementation I like better:

It’s easier to spot found items in Safari initially; but clicking anywhere on the page removes the highlights. The implementation feels modal: you are either in find mode or you aren’t. On the other hand, it’s harder to spot the initial target in Firefox, but I find that the Highlight all feature flows better than in Safari.
Safari Isn’t Perfect Either
IMHO, Safari’s biggest weakness is its failure to save a list of opened web pages in case of a crash.
To Apple’s credit, I have rarely had a crash in Safari 3.0.3 — they were much more frequent before, especially when it came to Ajax applications like FogBugz 5.0. But I’ve still had a crash or two. Fortunately, the nifty Saft utility remedies this.
Another gripe with Safari is its memory usage, in my case almost never less than 300MB of real memory! It’s just a browser, for Heaven’s sake.
Opera
As for Opera, it suffers from similar non-native feel on the Mac when using the keyboard.
But more than that, it reminds me of the super nice guy that you cannot really say that there is anything wrong with him, but he doesn’t quite really fit in the circle of friends.
Perhaps it’s because Opera uses the Qt cross platform toolkit (what does Firefox use?). Three years ago, I spent two full weeks carefully evaluating Qt versus wxWidgets for using it in our own software.
I decided against Qt because of its use of non-native controls on Windows.
And the find feature in Opera is so 1990s.
« Previous Entries
» Next Entries