September 14, 2009: 7:29 pm: DanProgramming, Software Tools

A few months ago, technology publisher O’Reilly began selling some of their books as iPhone apps [iTunes link] for a surprisingly low price — generally just $5.  These are the full versions of the books, not just an extract.  The apps come bundled with Lexcyle’s Stanza e-reader, which is feature-rich, fast, and stable.  All things considered, these books are quite a bargain.

There is a catch, of course:  for some books, and many humans, the iPhone isn’t the best reading platform.   Books about software development and tools are generally most useful when you are working hands-on at your computer.  Switching from the iPhone to the PC is rather awkward, and copying and pasting code fragments from the iPhone to your computer is pretty much impossible.  (Stanza, unlike Kindle, does support copy and paste of text by way of their annotation feature, but getting that copied text onto your computer is a byzantine  procedure).

Fortunately, O’Reilly chose to package their e-books using the open ePub standard, without ePub’s optional DRM (Digital Rights Management) encryption.  This means that it’s relatively easy to extract the ePub document from the iPhone app, at which point you can read it on whichever platform you choose.  The number of software and hardware e-readers that support ePub is rapidly expanding (with one notable holdout), and it is widely expected that ePub will eventually replace today’s myriad incompatible formats.

The following method for extracting the ePub document from one of O’Reilly’s iPhone apps is based on an article on the excellent TeleRead site.  The packaging of the apps has changed a little since that article was written, so a couple of extra steps are required.  I use a Windows PC, but I’m sure a similar approach would work on a Mac since the only software tool required is one that can read and write .zip files.

  1. Locate the iPhone app file.  The easiest way to do this is to right-click on the app in iTunes, then select “Open in Windows Explorer”.  The example I’m working with is the wonderful Coding4Fun book (which costs $32 when bought as an eBook right now), and its app file is named Code4Fun 1.0.ipa.  Copy the .ipa file to another folder so that you won’t confuse iTunes with the following steps.
  2. Extract the contents of the .ipa file.  Despite the extension, this is a zip-compressed file.  Most zip extraction tools (like 7-Zip in the following screenshot) are quite happy to take a whack at opening the file without knowing what an .ipa is, but if necessary you can rename the file to Code4Fun.zip first.

    A zip in app's clothing
    A zip in app's clothing
  3. The contents of the app should consist of a couple of files and a folder named “Payload”.  If you open Payload you’ll find another folder named Code4Fun.app. Another level down is a folder named “book”, as shown in the following screenshot.  (Incidentally, the parent folder of “book” also contains a file named default.pub.  This is actually a bonus ePub book: The Time Machine by H.G. Wells.  I don’t think you can get at this book from within the Code4Fun iPhone app – it presumably is there as part of the Stanza packaging).

    In the book, is a book
    In the book, is a book
  4. Select the contents of the “book” folder (2 folders and a file) and add them to a new .zip file, as shown below.

    A ePub in zip's clothing
    A ePub in zip's clothing
  5. That .zip file is actually your ePub document, so rename it to something more suitable like Code4Fun.pub.  At this point you should be able to open the .pub file in Adobe Digital Editions, or MobiPocket Reader, or Stanza Reader.  (Mobipocket and Stanza are generally used on mobile devices, such as Blackberry or Windows Mobile smartphones, but both offer a  desktop reader).  My own preference is to keep things simple and flexible by using the browser-based Bookwork reader.

Enjoy, but please, please don’t pass along the .pub file to your friends (or, worse, a Torrent site).  O’Reilly is doing us a great favour by selling these ebooks at such a low price and supporting the open ePub standard.

I’m pretty sure that O’Reilly is OK with you extracting the .pub file for your own use — it was an article on an O’Reilly site where I first came across this procedure.  Other companies would have you believe that DRM-encrusted proprietary standards are the only way to prevent the unwashed masses from pirating ebooks.   Please don’t help them to prove their point.

September 9, 2009: 4:56 pm: DanSoftware Tools

I recently switched browser preferences from Firefox to Google Chrome.  I was forced to make the change by a lack of RAM — the software development tools I use eats up most of my RAM, and Firefox has become so bloated over time that it wants 300M of its own to display a few tabs.

It was hard to give up all of the Firefox plug-ins that I had grown accustomed to, especially XMarks and, ironically, the Google Toolbar.  However, I love the fact that Chrome opens in seconds and uses about 1/3 the RAM of Firefox.  I’ve yet to come across any web pages that Chrome can’t render, and it has never crashed.  I like the concept: a relatively thin, fast and stable platform for web content.

However, having decided to commit to Chrome as my browser I was surprised to find Chrome wouldn’t accept me!  When I tried to set Chrome as my default browser, I saw the following: no “Default Browser” button.

OK.  Now what?
OK. Now what?

This doesn’t seem to be a widespread problem.  I found a reference to a long-fixed incompatibility with Vista (one of the smart things about Chrome is is automatically updates to the latest version), and a suggestion to run Chrome as an administrator if the Default Browser button wasn’t displayed.   However, I am an administrator, and I run XP.   Freaky.

I still don’t know what the problem is, but I stumbled across a solution.  It seems that the Default Browser button is there somewhere, lurking off screen.  You can’t get to it by clicking, but you can by tabbing.  So:

  1. Click the Default search combo so that it has the focus (i.e. it is highlighted in blue, as in the screenshot below).
  2. Press Tab.  The focus should move onto the Manage button.
  3. Press Tab again.  The focus highlight will seemingly disappear.  It’s actually on the Default Browser button.
  4. Press Enter. This will trigger the off-screen button, and you should see the message change to “The default browser is currently Google Chrome”.
Together at last
Together at last

Talk about playing hard to get!

August 10, 2009: 7:32 pm: DanGadgets

This book is a top notch implementation of a questionable concept.  Like a shiny new sports car on a dealer’s lot, it looks and performs great right now, but its value will fall as time goes by.

The problem is that a book of iPhone app recommendations is similar to the “best of the Internet” books that appeared in the 90s – they were out-of-date within a year of their publication.

This book was published just last month (July 2009), but there are many excellent apps that were released after the book was written: Camera Zoom, Ragdoll Blaster, Comixology’s Comics.

Also, the book was written just before the release of the iPhone’s OS 3.0.  The new operating system made some entirely new types of app models possible, such as in-app purchases (the aforementioned Comics app) and augmented reality (Nearest Tube), while rendering some of the book’s picks inoperable (Darkroom) or considerably less valuable (Quickoffice – the first, and last, app to offer custom copy-and-paste support).

Having said all that, anyone wading into the iPhone App Store badly needs a guide of some sort, since the App Store is notoriously difficult to navigate when you are looking for the best rated apps of a specific type.

At present, you have two options: sort through the multitude of web sites that contain app reviews, or read a book like this.  For the time being, the only book like this is this (though I’m sure that will soon change too).

I found this book’s recommendations and reviews of apps I’m familiar with to be fair and accurate. In many cases I had already come across the same apps through other sources, but there were several instances where I switched app loyalties based on the book’s recommendation. The book really shines in the breadth of categories that it covers.  I discovered many apps, and quite a few categories, that I had no idea existed but now use regularly, such as Instapaper and Last.fm.

In addition to soon becoming out-of-date, the book has a couple of other drawbacks that are admittedly unavoidable for this type of publication. At least half of the app categories were ones that I have no interest in and skipped right past, making this a very short read. Also, a lot of the apps are either unavailable in Canada or of no use to people outside the US, but the book’s reviews clearly identify most of these instances.

I should mention that O’Reilly has also established a companion “Best iPhone Apps” web site.  Currently, the site only contains some abbreviated reviews of the same apps covered by the book, but hopefully they will cover new apps in the future.  At this point, the site isn’t an alternative to the book, or even a better alternative to the many other sites that publish iPhone app reviews.

The bottom line: although only a fraction of the apps covered in this book were of interest to me, I ended up using about 10 of those apps, all of them new discoveries for me. I didn’t find any of the book’s recommendations to be outright clunkers. This made the book a worthwhile investment to me. Those who are completely new to iPhone apps, or who love trying new things, will find this book to be particularly valuable.

Together with David Pogue’s iPhone: The Missing Manual, The Best iPhone Apps could be considered “iPhone 101″.  (Grad students can advance to yet another O’Reilly publication, iPhone Hacks, a book which truly lives up to the promise of “Hacks”).

August 5, 2009: 5:32 pm: DanGadgets

I saw a rumour (not rumor!) over at iPhoneInCanada.ca.  They say that us Canadians can get our filthy mitts on those delectable Amazon Kindle books by doing the following:

  1. Mmmm, forbidden fruit
    Mmmm, forbidden fruit

    Get an iPhone or iPod Touch.  (I suppose you could also try to get an actual Kindle, but that’s a different rumour).   If you’re on a budget then a 1st generation iPod Touch is the least expensive option, and you should be able to find one for about $150 on eBay.   Apple.ca occasionally sells refurbished 1st gens for about $180, and they currently have refurbished 2nd generation iPod Touches for $200.

  2. Download and install iTunes as usual.  Sign up using your true Canadian address and credit card – you’ll need to do so to get your iPhone/iPod up and running.
  3. Purchase a Mastercard gift card.  These are sold at Shopper’s Drug Mart and, perhaps, other retailers.  The key is that it must be a “Vanilla” brand Mastercard, which apparently does not appear to be a Canadian credit card to iTunes.  Accept no substitutes – the Visa gift card, for example, does not do the trick.
  4. Follow the steps on iTunesInCanada to add a 2nd user-ID to iTunes, this time an American one. (Hint – don’t use a Canadian domain like sympatico.ca – Apple probably isn’t that stupid).   It appears that the billing address doesn’t matter, so long as it’s somewhere in America.
  5. Log into the iTunes App Store using your new American user-ID.  Take a look around – there’s a lot more than Kindle to be found.  For example, they have a Last.FM client for streaming audio – banned in the Canadian App Store for no apparent reason.  They also have its main competitor, Pandora.  They have all 6 seasons of Aqua Teen Hunger Force, which is 6 more than us poor Canadians are offered!  With all of these new entertainment options available, do you still have time to read books?  If not, you can stop here.
  6. Mmmmm, forbidden fast food
    Mmmmm, forbidden fast food

    Download and install the Kindle app from iTunes.  Surprisingly, considering how difficult Apple makes it to sync your iPhone/iPod to another computer, syncing  to another account is seamless – you won’t lose any of the apps or media currently on your device.

  7. Run the Kindle app and use it to create a new Amazon user-ID.  (Note that this is Amazon.com, not .ca, so your Amazon.ca login won’t work).  Again, use a new e-mail address that doesn’t have a Canadian domain, like Gmail or Hotmail.
  8. Now here’s the tricky part — things appear to have changed since the iPhonesInCanada article was written.   The Vanilla Mastercard trick no longer works at Amazon – hopefully Apple won’t catch on too!   However, since you won’t get very far without a billing address, go ahead and add your Vanilla Mastercard.  To do so, click on the Your Account link, then “Add A Credit Card”.  Be sure to enter an American billing address – the same one as you’re using on iTunes should work.
  9. Logout of Amazon.com.  Then, log back in to Amazon.com using a Canadian user-ID.  If you’ve already bought from Amazon.com in the past, use that user-ID.  Otherwise, you’ll have to create yet another new user-ID, and add your Canadian credit card (not the Vanilla Mastercard) to this one, with your correct Canadian billing address.
  10. Loonie Launderer
    Loonie Launderer

    While logged in with you Canadian user-ID, buy a Gift Card.  Select the “E-mail a Gift Card” option, and enter the e-mail address of your American Amazon user-ID.

  11. You should find that your American e-mail account receives the gift card within minutes.  Log into Amazon.com with your American user-ID, then go to the “Your Account” page. Delete the Vanilla Mastercard from your account (click on “Manage Payment Options”, then the delete button).  Then, from the “My Account” page, click on “Apply a Gift Certificate/Card to Your Account” and enter the code that you received in the e-mail.
  12. And you’re done!  Go to any Kindle book’s page (best to experiment with a free one first) and click the “Buy Now with Click Once” link.  It should work, and the next time you run the Kindle app it will automatically download the book to your iPhone/iPod.
  13. As you purchase Kindle books you will, of course, need to replenish your Amazon account from time to time, using additional gift certificates.

Now, don’t get me wrong, I’m not suggesting you go and do all this.   There are many good reasons why you shouldn’t.

Apple is becoming increasingly aggressive about enforcing the rules of the App Store, so they might close this loophole at any time.  Amazon has been known to make their Kindle books magically disappear when a publisher raises a licensing issue. Perhaps the best reason is that you don’t have to: there are plenty of other e-book retailers, including a home-grown one, who are quite happy to do business with us.

And, after all, it’s just a rumour!

July 28, 2009: 7:56 pm: DanGadgets

Shipping included.  Seriously!

I bought one of these to protect my multi-thousand dollar (including data plan) iPhone 3Gs.  The photo pretty accurately reflects the styling (meh), but it doesn’t do justice to the fit.

The phone sits snugly in the case, which sits nicely in my shirt pocket.  The front flap has a hard (presumably plastic) insert that does a decent job of protecting the iPhone’s screen, and there is a hidden magnetic clasp that causes the flap to close tightly with a satisfying thwack.

Yeah, I know, I sound like the ghost of Billy Mays.  But wait, there’s more!  The case has holes for the camera, headphone jack and USB cable.  The flap does a reasonable job of holding the screen upright for watching videos.  Cell phone usage is fine when the iPhone’s sitting in the case – I can hear and be heard without any problems.

Things are little tight when trying to poke at the left and rightmost parts of the virtual keyboard, but otherwise I haven’t been tempted to remove the iPhone from the case.

Eventually I’ll probably give in to my iPhone’s whining about wanting to look cooooool, and buy it one of these sexy Proporta outfits — almost 10 times the price, shipping not included, but they do throw in a teabag.  (Seriously!).  I once stepped on my iPod Touch while it was protected by a similar Proporta case, and it survived without so much as a screen smudge.  But a lesser klutz could probably get by with the $4.38 knockoff.

While you’re at DealExtreme (the geek’s dollar store), you might want to fish out some change to buy their no-name versions of  the iPhone USB charger ($3.04) and cable ($1.77).  I own both and they’re surprisingly well made.  Together, with the case it will be the best ten bucks you ever spent.

Next Page »