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 it 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.
Shortly after I commented on The Two Types of Software Development (application development vs. consulting), Joel Spolsky posted the text of a talk that 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 consulting.
Ever eloquent, Joel does not mince his words: it sucks to be an in house programmer. The 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.
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 this 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!
My wife had a VCR tape converted to DVD-R. The tape itself was converted from reel that was filmed 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 minutes 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 blissfully 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.
What 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 software 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 software 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 fault 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 team 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.
When Apple released the new iMacs with the new ultra slim keyboard a couple of months ago, I wondered right away: how did they put this thing together? how did they manage to screw the top and bottom parts parts together?
So I ordered one from Amazon. My impression: it’s no Moshi Celesta (my favorite keyboard) but it’s nice. I know the verdict is not unanimous, but I personally like the laptop style keys and I find them the way to go. I still dislike how close the function keys row is to the rest; I thought that somethinglike this would look and work better:

But I digress. I bought this keyboard to disassemble it and ended up taking it apart. Disassembly implies that you can reassemble it, but not this puppy. It can only be taken apart because the top and bottom parts are not screwed together as I had assumed: they are glued. The entire surface of the keyboard is glued, not just the edges. Somehow, I need to convince the accounting software that this keyboard is now an R&D expense instead of, err, an asset.
Miscellaneous notes:
- The top is a stamped or die cast aluminum, the bottom plastic.
- Inside, you will find sheets made of stamped metal and conductive rubber.
- The rubber feet are dropped in from the inside, not glued from the outside as is typical with most products.
- All the electronics is contained in the small PCB on the back and is connected to the keyboard matrix via a ribbon connector.
You can click on the images below for a larger version. Got other products that you want to peek inside?



As mature adults know, language matters. The question is: can you be a designer wanting to create beautiful things, and yet use crude language? Call me old fashioned, but I don’t think so.
I bring this up because of today’s talk by Richard Seymour at the Intersections Conference. As reported by core77.com, Mr. Seymour urges that you “get the best design brains on the hardest problems–no more f***ing cruets for Italian luxury goods companies, get off your arse”, and that “if you’re not an optimistic futurist in design, f*** off and do things a lot less damaging”.
I’m not a professional designer — merely a chap trying to figure out how to design better products — so I had to look up who Richard Seymour is. One site describes him and Dick Powell as “Europe’s best-known product design duo”. Great, so there are exceptions to every rule. But I still think that you cannot think crude, talk crude, then design not-so-crude. Or if you can, then at the very least you are making things more difficult for yourself.
Mr. Seymour aside, I have always wondered about the use of crude language by creative types such as painters, programmers, and architects. If a creative type person cannot come up with a non-crude expression, is he really creative? Or this is a warning flag that perhaps he is not happy in the current job or career?
Just wondering aloud…
When Apple released Safari for Windows, it wanted Windows users to experience their “superior” font rendering technology. Joel Spolsky disagrees with Apple and prefers Microsoft’s font rendering algorithm. And I respectfully disagree with Joel.
First, a bit of personal background. As someone who purchased the original Mac 128K back in February 1984, it’s easy to label me as an Apple “fanboy”. After all, only Steve Jobs and a tiny handful of Apple employees have owned Macs for longer than I did. Up until 1995, the Mac was my main computer whereas Windows remained the development one. Roles reversed when Windows 95 was introduced: Microsoft was doing a great job whereas Apple was slipping.
But there was one thing that I never liked about Windows: its font rendering. It always seemed to me that text looked out of focus. Things didn’t improve with Windows XP. In fact, one of the main reasons that I switched from Internet Explorer to Firefox 1.0 a few years back was this bug in IE: every once in a while (sometimes every day, sometimes every couple of weeks), IE would cause XP to revert to smoothing fonts. I was never able to find out what precisely caused this to happen, but it did and I couldn’t stand XP’s method of smoothing.
In 2005, it became increasingly clear to me that Apple was back in the saddle and racing ahead. I switched back to using Macs as a primary machine. One can argue all day long about the merits of one sub-pixel rendering algorithm versus the other, but to me, the Mac’s is clearly (no pun intended) superior to Windows’. I find Apple’s Preview program just amazing in its clarity of rendering font and lines.
« Previous Entries
» Next Entries