Shameful engineering

Say you purchase a car. A really nice-looking car with lots of cool features and accessories. The first time you take it on the freeway you get the car up to 65 mph and switch on the windshield wipers. But much to your surprise the wipers stop working after a few minutes and can't be restarted until you slow down to 30. Wouldn't you have some choice words for the engineers who designed and tested the car? Wouldn't you wonder how such a problem could occur?

This parallels my experiences with my new Mac I wrote about last week. The response I got from you has been overwhelming!

There are those who sympathize and have no solution, and then three other groups which have thoughts about where the problem lies. The first group says the problem is my fault - I should have added the photos in batches. This is ridiculous.

If for some bizarre reason this was the root of the problem, why didn't the program say, "Sorry Mark, but I can only handle 8,000 image files at a time, try again"? Why would you build a program so it died rather than confessed its limitations? That would be shameful engineering.

The next group suggested: "Mark, you must be crazy to expect a consumer application like iPhoto to be capable of handling nearly 15,000 images."

This is similar to the first group, but now it isn't my fault. So let's consider the argument that iPhoto is somehow not the correct quality application for the number and volume of image files involved. Loosely wrapped I may be, but surely the design and engineering of a showpiece product should have good error handling. Or is that too much to hope for?

The number of files was frequently cited as a problem. So let's say iPhoto can handle only 8,000 photos happily. Are you telling me the software engineers at Apple didn't know their design had a file limit? If there is a known limit but no error handling for the limit being exceeded, it would be shameful engineering.

Many responses in this group suggested the problem might be a "bad" image file. I have no idea how bad an image file would have to be to crash halfway-decent code, but short of some kind of thermonuclear inclusion, it seems inconceivable that Apple wouldn't build in a routine to catch the problem.

OK, let's say the problem is an emergent attribute of the design; that is, it appears as a consequence of a number of implementation decisions and isn't something that can be identified in a code review. Then if they didn't have a built-in design limitation and couldn't identify it in a walk-through, surely the problem would be found in Quality Assurance.

If Apple's Quality Assurance testing didn't find the problem, again, it would be shameful engineering.

The third group suggested that my Mac needs more RAM. Back to the opening analogy: "Ah, sir, but if you want to run the windshield wiper at 65 you need a bigger engine." Sorry, that is just as crazy a justification as the others.

According to reader Chris Olson: "The fix, at present, is to use more than one iPhoto Library to store your images. . . . To do this, simply hold down the Option key on your keyboard then click the iPhoto icon in the Dock to start iPhoto. You will be greeted by a dialog asking you to create a new library or select one that's already been created. Using this little-known feature you can store photos in iPhoto until you run out of disk space."

If that is true (I haven't had time to test this one yet), it implies that there's a major conceptual design flaw, which is really surprising.

The problem is that until Mr. Jobs gets in touch and lets me know what the real reason is for iPhoto's problems, there's only one conclusion we can put it down to: shameful engineering.

Send your shameless feedback to Psst. Gearblog.

Learn more about this topic

Forum: Mark's iPhoto woes

Jump in with your suggestions and comments.

Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.

Copyright © 2005 IDG Communications, Inc.

IT Salary Survey: The results are in