OK, so it’s not quite free for everybody, ya know. I’ve done dumb things before, but c’mon! It’s free to all Cedrus employees who have been with the company a year or more.
Why?
It’s simple, really. With all due to respect to Samsung’s Instinct and other iPhone wannabe recent offerings, the iPhone currently has no competition. Despite some bugs, the gap between it and the next closest competitor is so vast, it’s not even funny. Garmin’s Nuviphone and phones based on Google’s Android platform look promising. But until they ship, iPhone rules.
With Cedrus’ sharpened focus on design, does it make sense for our employees to use crapware? Hardly. No university teaches programming using pen and paper — you’ve got to cut your teeth on a real computer. Even something as basic as tying your shoes can’t be learned by listening to someone telling you how it’s done. You need to practice.
The same goes for design. You cannot develop a sharp sense of design unless you are using the absolute best examples of good design. Crapware, or even second best, will not cut it.
No Tolerance
And the last reason to offer free iPhones is this: the best developers and the best employees are those who have little tolerance for poorly designed stuff, software included. They didn’t know it at the time (they will now!), but that was one of the primary reasons why I switched the company from Windows back to Mac OS two years ago.
It is well known that Mac users expect better designed programs from developers. Mac developers will get lambasted for minor sins that their Windows counterparts regularly get away with. The same logic applies to iPhone users: the level of expectations is high and tolerance for poorly designed mobile apps is very, very low. If you don’t believe me, just see what happened to Stevens Creek Software when they ported their TripLog/1040 app from Palm OS to iPhone.
It’s a Computing Platform
If you have Windows developers who have never used a Mac, would you ask them to start developing a Mac application overnight? Even if, hypothetically, they come up to speed on Xcode, Interface Builder, and other Mc OS tools in an instant, they will still not be able to develop a great app because they have not previously been immersed in Macs and Mac OS culture.
With the release of the iPhone SDK and App Store, iPhone is set to become much more than a mere talking tool. It’s an emerging computing platform that will compete with handheld game devices and open new opportunities. When the day comes when Cedrus needs to develop an iPhone app, our developers must be already immersed in the iPhone culture. It takes time to “get it”.
Not Just for Developers
And last but not least, everyone at Cedrus gets a free iPhone instead of just developers, for two reasons. First, to avoid creating two classes of employees. Everyone’s contribution is important. The developers write code. But without the non-developers, we might as well pack and go home.
And second, being a small company everyone’s opinion is solicited on planned UI designs. The non-developers provide a different and very valuable point of view and will often pinpoint design problems that a developer would miss. Ignore the non-developers at your company at your own risk!

Between the time the iPhone was announced and when I finally got one last December, I happened to read Don Norman’s Emotional Design. Don Norman explains how the perfect product must excel at three levels: visceral, behavioral, and reflective.
OMG, It’s Gorgeous!
A visceral reaction is one that you cannot help. It happens at the most basic human level, e.g. the fear that you feel in some situations or the attraction towards that beautiful two legged human walking down the street. In my case, you can add the weakness in my knees when the waitress brings the dessert tray, but I digress.
The iPhone simply excels at the visceral level. There is no doubt about it. Its user interface and nearly all its apps are simply beautiful to look at. UI “beauty” is a soft concept that many engineers just don’t get. Lucky Apple.
What Else?
Whereas other manufacturers generally tried to adapt and squeeze the computer’s user interface into a phone, Apple was able to think outside the box and bring some true innovation. The pinch-zoom UI is such a natural even for my six year old daughter. We went into an Apple store once. While her twin brother wasted no time playing Stars Wars Legos, my daughter went to the iPhones on display trying the pinch and zoom gestures. She found it fun!
There are several other innovations in the iPhone’s UI. Edward Tufte provides a good overview. In the rest of this article, I’ll cover the shortcomings that I haven’t seen addressed much elsewhere.
Ma, What’s That Restore Button?
At first, I wondered why I’d ever want to restore anything on my iPhone. It felt perfect and acted perfect. Alas, that day came shortly after I updated it with version 1.1.2 of the software. Push email stopped working. When it did, the phone would not alert me — no sound. Hence my first experience with the Restore button.

My iPhone would start alerting me again when new mail arrived, but only for a day or two. I finally gave up on restoring and decided to wait for the next software revision which arrived shortly after Macworld 2008. It did indeed fix the problem.
Did I Tap In The Wrong Place?
No you didn’t. Yes, iPhone apps do crash. Most of the major ones, including most of the major ones. But Apple chose not to display an error message when this happens. I can’t blame them. Can you imagine the buzz on the Internet that this would cause? Or the print media anxious to find a chink in the iPhone’s armor with photos of “Your application has unexpectedly quit” messages?
An iPhone crash is a silent affair. The application just quits and takes you back to the home screen. You think at first that you tapped in the wrong place. But let me assure you: it’s a crash. I’ve had the following apps crash on me:
- Mail
- Maps
- iCal, just after launching it and tapping on “+” to enter a new event.
- Safari (while accessing the Apple store!)
- Camera, although this happened while trying to email a photo. So it could be the Mail app that failed to launch.
- iPod
Crashes are not the only problem. After the last time we updated our watches due to Daylight Savings, all my events in iCal have been showing up an hour early. No amount of restoring or restarting the iPhone has fixed this problem.
When Even The Restore Button Isn’t a Sure Thing
But the biggest issue that I ran into was iTunes’ refusal to sync with the iPhone:

Two things happened prior to this problem. I happened to visit Toronto where there is no AT&T service. But more likely, the cause of the problem is buying a new MacBook Pro and having all my apps and data transferred from my previous Mac.
Even the alert is misleading. It says that it cannot sync contacts whereas in fact it is not syncing iCal events, songs, or anything else. This problem took multiple attempts at restoring from iTunes and restarting the iPhone itself. I was close to giving up and heading to an Apple store for help before I was able to finally sync again
When Reception Is Not Loud And Clear
I ran into another strange bug when I took the kids to a park where the reception was weak and inconsistent. My wife called me, and unable to get through, left a voice mail. The iPhone beeped at one point to indicate that I had a voice mail, but this is how the home screen looked:

Notice how the red circle on the Phone icon does not show the number of voicemails. It’s empty! After tapping on the icon to access my voicemail, the same empty red circle appears with a message indicating that Visual Voicemail is not available — even after I moved to an area where the reception is excellent. It took a restart of the iPhone to clear this problem.
This bug should be hard to reproduce but I ran into it twice.
Will The Bugs Be Fixed?
It seems silly to ask this question and just exclaim “yes, of course!”. But I am not so sure, at least not for the owners of the current iPhone model.
My best guess is that a number of these bugs are due to limited RAM. After Apple unveiled the iPhone SDK, we now know that only one app can run at a time in the available 128MB of RAM. 128MB seems like a lot but it really isn’t when you consider that this space is shared by the memory hungry Mac OS and several processes that are always kept in memory to maintain phone, SMS, and email communication.
It is not in Apple’s DNA to worry about available RAM. This goes as far back as 1984 when John Warnock was worrying about how Adobe was going to make its new PostScript printer language work with 512KB of RAM. Steve Jobs’ advice at the time was to design PostScript for 1MB of RAM because, by the time Adobe is done working on PostScript, 1MB of RAM would become cheaper. He was right. And he continued to be right for the next 20 years until the iPhone came along. Suddenly, a major operating system designed without a RAM worry in the world had to fit in 128MB.
As of this writing, rumors are flying about a new iPhone about to be introduced with support for 3G data networks, perhaps even GPS, recording video, and what have you. To me, what I’ll be looking for is how much RAM the new model will have.
So back to the question: will the bugs be fixed? If my hunch is correct about RAM being the cause of many of them, the answer is yes: Apple will fix them either by streamlining the code or by throwing more RAM at the problem. In the latter case, owners of the current first generation iPhone will just have to live with the bugs.
Still Loving It
Don’t get me wrong. This article documents the bugs that I’ve ran into with my iPhone but the overall user experience is still excellent. The iPhone simply has no equivalent on the market at present. My prior phone was a Motorola RAZR. Its software drove me so mad that I walked into a Verizon Wireless store ready to shell out money for a different phone. To my horror, it turned out that the RAZR’s software was written by Verizon, not Motorola. Any other phone would run the same crappy Verizon software.
If you can afford an iPhone, run and get one. Despite its bugs, you will at least enjoy using it. I do.
What do Ethernet and the original graphical user interface (shown below) have in common?

Both were ignored by their company. They were invented at Xerox’ famous Palo Alto Research Center, or PARC. Xerox didn’t know what to do with them.
These examples illustrate a long standing dilemma of organizations, especially the large ones: how can researchers and innovators get the attention or even the championing of management? Managers face a different issue: when and how do they tell a brilliant researcher that his or her idea is too nutty, that way too much time and money has been wasted on it already?
Shake Up at HP Labs
HP Labs’ new director, Prith Banerjee, is trying to do things differently now. He reorganized HP’s 600-person research operation into 23 groups, each headed by a lab director. According to the March 17 issue of EE Times:
HP gave secret ballots to every researcher in its lab to choose the one lab director “out of 23” with whom he or she most prefers to work. In parallel, HP asked its lab directors to confidentially select their first and second choices among the 20 researchers they would most want on their team.
According to Banerjee, the confidential voting on both sides yielded an 80 percent match between lab directors and researchers.
This sounds simple but is very important for R&D organizations to function well. A research environment has less structure than a typical corporation; it is all about the free flow of ideas and team work. If the lab director does not champion it, a great idea will end up in the Great Graveyard of Great Ideas — or worse, it will be handed on a silver platter to another company, possibly a competitor.
[Full EE Times article “HP Labs braces for impact” and commentary “Will eHarmony work for R&D match-making?”]
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 really 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 fall? 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 discovered!
Not so, baby. Behind every apparent epiphany are usually years of research and thinking. “Eureka moments” happen 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 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!
« Previous Entries