Friday, February 29, 2008

Computer Comparisons and Excel Rant

I am the expectant owner of a new MacBook Pro - it's about time considering that I'm still stuck with a PowerBook G4.  While checking out the specifications of the new laptop, I became interested in how quickly the Macs I've used over the years have improved.  I put together some graphs going back to 1984 and the Mac 128K which indicate improvements in RAM, disk, CPU speed (not benchmark, just clock speed which doesn't really mean much), VRAM, and others.  The dates indicated are the Apple release dates to the nearest month.

The first graph shows how quickly the number of pixels available to me has grown.  For computers I've used which weren't laptops, I've just indicated the maximum resolution the computer could output.

More charts will come in a later post when I have more energy to fight with Excel.  It is honestly beyond me how companies can produce software such as Excel which is so phenomenally hard to use that it boggles the imagination.  Certainly it's not that bad for people who have learned all its quirks through everyday use, but for people who only occasionally need to use such software, it's a nightmare.  Aside from the graphs being impossible to select correctly (I'm always selecting the wrong component somehow), simple things like scrolling around with my trackpad don't even work correctly.  I gave up when my attempts to change the maximum range on the y axis failed miserably.  It would appear that this post has become more of a rant on Excel, but that's okay - software like this deserves rants.

Apple's "equivalent" called Numbers (part of the iWork suite) is definitely a breeze to use, but it can't do simple things like creating a chart with one axis based on dates (it spaces them all evenly).  The graph you see above was actually created in Numbers and then exported to Excel to plot the dates correctly.   The real question is why can't either of these companies get it right?  Microsoft's offering is cumbersome but fully featured; Apple's is pleasing to use but missing essential features.  Doh.

Tuesday, February 26, 2008

Smaller Boxes

The trend in packaging software is certainly towards online delivery, but in the meantime it's nice to see companies like Apple reducing their packaging waste (and shelf space for the consumer).  As an example of how far things have come in a couple of short years, compare the Aperture 1.5 retail box (2006) versus the Aperture 2.0 box I received last week.  An amazing transformation I'm sure you'll agree.  And yes, in case you were wondering, Aperture 2.0 is an incredible upgrade!  I'll try to post a review at some point in the future.

Thursday, February 14, 2008

TubeTV Notes

Happy Valentine's Day everyone!

In other news - the TubeTV 1.0 release is going well so far with only a few people reporting problems.  The problems people had have been solved by either (a) updating QuickTime/Mac OS X to the latest release, or (b) removing the TubeTV preferences file (com.chimoosoft.tubetv.plist) in the Preferences folder and re-launching TubeTV.

Another user wrote in about the x264 codec causing problems and said "if you have people contact you about blurry low bit-rate video, and they have x264 installed[,] let them know to update it."

Amazingly, TubeTV has been downloaded in the month of February at least 30,000 times!  Feel free to keep sending in your feature requests or ideas for future versions.

Monday, February 11, 2008

TubeTV on TUAW

Thanks to the people at the Unofficial Apple Weblog (TUAW) for their nice article on TubeTV 1.0 which appeared this morning; a pleasant surprise while drinking my coffee and browsing the news.  They mentioned one of the main benefits of TubeTV over competitors - the fact that it works with many websites in addition to YouTube, not only YouTube.

PS: Here's a screenshot showing one way to create a smart playlist in iTunes to find TubeTV converted videos for the iPhone.  If you use the TubeTV playlist (an option in the preferences), then you could filter for movies in that playlist instead of searching the comments for "TubeTV."

Saturday, February 9, 2008

TubeTV 1.0 Released

Finally!  TubeTV version 1.0 was released earlier today with nifty new features including bookmarking (favorites), history, utilization of flash caches to speed download, iTunes support, and a re-worked progress window!  Leopard is required for some of the new features, so if you fire it up in Tiger, you won't notice as many changes.

Thanks to Björn, Wolf-Jakob, Antoine, and Francisco for localizing this software into German, French, and Spanish respectively!

Head on over to the Chimoosoft Flickr site for some screenshots.

Friday, February 8, 2008

Objective-C Performance

Just came across this analysis of common Objective-C operations and their relative speeds in nano seconds.  Interesting to see how fast the Objective-C message send is - only 5 ns on a Mac Pro.

Thursday, February 7, 2008

iPhone Satisfaction

First of all, yes, I am obsessed with my iPhone, and I'd definitely give it high marks for customer satisfaction  ;-)

Just came across this interesting graphic showing customer satisfaction for various mobile phone vendors.  Surprise, surprise, Apple beats them all.  Unfortunately though, for most people I know who might be interested in getting an iPhone, it's not the phone's cost that's putting them off - it's the cost of the AT&T service plan which comes to about $65 a month after taxes.

Tuesday, February 5, 2008

Localizing Cocoa Software

Localizing software (the process of translating it to multiple languages) is an amazingly time intensive process.  Apple's bundle layout, bundle loading, and localizable strings files are all very helpful, but amazingly, things always manage to find a way to go south.  Today, for example, I switched all of the localized .lproj directories to use the ISO 639-1 two letter naming conventions.  Instead of the older "English," "French," and "Spanish," I now have "en," "fr," and "es."  Great, right?  Well, not quite.  Turns out I forgot to change the CFBundleDevelopmentRegion tag in the info.plist to "en" instead of "English," so any time a localization for a language was incomplete, the nibs failed to load or the localized strings files were ignored.  Oops.  You get the idea.  ;-)
Consider the process for localizing a single nib file (which a product like TubeTV contains about ten of).
1.  Look up command line options for "ibtool" since it's impossible to remember them exactly between run times.
2.  Run "ibtool" to extract the localizable strings from the nib.
2. (a) Optionally, delete about 90% of the strings ibtool extracts since they don't really need to be translated and make the translator's job more difficult.  Sorry to the current translators for TubeTV as I didn't realize this until after I sent you the files!  ;-)
3.  Submit files to people around the world (in different time zones) who have agreed to translate them for you.
4.  Wait for files to come back, look for portions which may have been missed, go back to step 3 if necessary.
5.  Look up different command line options for ibtool to import the translated strings into a new nib file making use of the English nib as a basis.
5. (a) If parse errors occur in the strings file (which they often do is the localizers missed a semicolon or quote), use the plutil command line tool to find them.  Correct and move back to step 5.
6.  Correct sizing on controls and GUI elements in the nib since translations are often longer than English.  This can be very time consuming depending on the layout and must be done every time you update anything.
7.  Test.
That was the procedure for one nib.  Multiply that by the number of nibs in the project, and additionally, by the nibs in any internally developed included frameworks (such as our version checking system).  Want to change anything in any of your nibs?  No problem, just change the English language nib, delete all the translated nibs, and go back to step 5!  Or you could opt to change each localized nib by hand!  Ouch.
Perhaps now you have a better understanding for why much of the freeware and shareware software for the Mac isn't localized: it's a huge time commitment and it makes creating future versions much more difficult.  It would be interesting to see if this process is easier or harder than the process on other platforms such as Windows (or Java).  Anyone who has experience with those, feel free to post something in the comments.

Friday, February 1, 2008

TubeTV Imminent

The next version (1.0) of TubeTV should be released in the near future.  If you'd like the link for beta testing, visit the Chimoosoft contact page and drop me a line.  Version 0.9.9 is now in the process of being localized and hopefully will be out for the public in a few days.   The screenshot either directly shows or hints at some of the upcoming features.