Sunday, July 28, 2013

More ePUB (eBook) management options: Google drive + iTunes Symlink, upload to Google Play (Corrected)

I was a big fan of Google 1.0; Google 2.0 is bit of a rabid dog. Still, it has its uses.

I've previously noted that the Google Play Store is the best eBookStore for iBooks fans. Since then I've learned of two more Google eBook advantages:

  • I can put all my eBooks into Google Drive, then create Symlinks [2] that sit in iTunes. iTunes properly syncs my eBooks to my iPhone. Since the eBooks are in Google Drive, I can access them from work, etc.
  • I can upload all my non-DRMd ePUB files to Google Play. That means I can view them on any Mac using Chrome (or Safari) and the Google Play site. Even my ancient G5 iMac. No need to wait for Mavericks.

The second of these ought to embarrass Apple.

[1] I've used BookReader for OS X, but it doesn't render all books perfectly. Adobe Digital Editions does a bit better, except when it crashes on startup (Delete the Adobe folder in /Documents).

[2] We really need a version of "SymbolicLinker" for the App Store. The old version doesn't work with Gatekeeper; I think there's a ML bug with 'whitelist' services. I'm back to using 'ln -s'.

Update 8/7/2013: Three corrections.

  • There's no need to go crazy and create Symlinks. Turns out a regular old alias works at least as well if not better. So I put my ePubs in Google Drive so they can be accessed from any of my desktop machines, drag a Favorite on top of the Library Books icon in iTunes 10 (I'm resisting iTunes 11), and it's magically on my iPhone too. From Google Drive/Library I drag to my Kobo. I also put many on Google Play, though that's optional (and eventually I expect Google to unify Drive and Play).
  • If you want to keep only one copy of a file (what's 2-3MB nowadays?) you need to turn off "Copy files to iTunes Media when adding to Library".
  • If you do want a version of SymbolicLinker for OS X, just use AppleScript. jonn8n posted this script in 2006 and it works well on Mountain Lion. Since it's not signed code when compiled I had to choose 'Open' once from the context menu so it would work thereafter.

Update 8/7/2013b: More corrections

  • Even though I have "Copy files to iTunes Media when adding to Library" unchecked, iTunes 10 resolves the alias and copies the books anyway. Sigh. Looks like a bug, no idea if it's fixed in 11.

Update 8/9/13: I got iTunes 10 to use Aliases pointing to the file on Google Drive. Trick is to first create Alias on desktop, drag those to iTunes, then delete them from desktop.

Friday, July 26, 2013

Review: Maxell AirStash WiFi media server: iTunes movies to iPhones for long car trips

The Maxell AirStash Wireless 8GB Flash Drive [1] is designed to stream movies to kid's handheld devices on long car rides [3]. It probably has other uses, such as backing up photos or serving music, but I think movies is what everyone buys it for. That's why we bought it -- so we could stream iTunes purchased FairPlay DRMd .mv4 movies and television episodes to our 3 kids devices.

So, did it work?

Yes, but, unfortunately, not very well. I was able to stream The Avengers (iTunes SD) to two devices fairly well, but once I added a third device watching the same movie the stream became unreliable. The device is supposed to be able to stream 3 movies at once, but perhaps they mean 3 different movies. Or, more likely, it can't really stream 3 SD resolution movies at once. I suspect it can stream 1 HD movie, 2 SD movies, or 3 movies ripped to iPhone screen resolution [4].

Since we have 3 kids, this isn't a great solution. We might still consider using it, but the SanDisk Connect 64GB Wireless Media Drive Streaming is supposed to be available in the next 1-2 weeks. It is less expensive, has much higher starting capacity [2], and claims to stream a movie to up to 5 clients (so probably 3). We've processed an Amazon return on the AirStash, but we may still keep it if we can't get the SanDisk in time for our trip.

Beyond the disappointing, but not surprising, performance issues I'll quickly list a few observations:
  • It's a bit bigger than it looks in the Amazon photos, it can fill a good portion of an adult hand. It fit the chargers in our van, but for some USB chargers you'll need a USB extension cable.
  • Although it has an internal battery, it's clearly designed to run off a car USB charger. The manual suggests leaving it in the charger.
  • It's a pain to turn on/off. I'd kill for a simple switch instead of these quirky push buttons that require a manual to use. The indicator light is worthless when the device is charging, I found I had to unplug it to know it's power state.
  • It takes about 15 seconds to boot up, so be patient waiting for WiFi to appear.
  • The AirStash is controlled by the (WebDav client) iOS AirStash+ app configure settings. You can use this to rename it and play media. FairPlay DRMd media is passed to Safari [5], Safari in turn passes it to iOS QuickTime player (videos.app). As long as the DRM on the movie matches the iTunes account on the iOS device then the movie will play. There are no chapter controls, you can often move through the movie timeline but not always. For a single user movies play well.
  • I was able to lock up iOS AirStash+ fairly easily and had to kill and restart it several times.
  • On initial use I was told a firmware update was available. The installation directions were poorly worded, and, again, it's hard to see the power/firmware update status light when the device is charging. It worked after some fiddly.
  • I don't think you can stream a movie when it's connected to a computer. I'm not positive, but it didn't seem to work in my testing. It's fine when connected to a power supply.
  • You can put movies directly on the FAT32 formatted SD card or plug in the AirStash and it will mount. You can use Folders to organize your media.
  • It comes with a plastic cap that doesn't fit on the end of the AirStash. So it will get lost pretty quickly.
  • When I typed 'airstash.net' into my desktop Safari while connected to the WiFi I did not get anything back. It's supposed to show the file system, can't say why that didn't work. I didn't pursue further since I won't use the device that way.
  • I didn't test how it behaves under prolonged load, but I'd be sure to keep this near a cooling vent in the car. Heat dissipation must be a challenge and prolonged overheating destroys devices like this.
  • I was able to use a 64GB SONY SD Card with the AirStash, but I had to reformat it to FAT32 on my Mac. [6]
See also:
- fn -
[1] The AirStash ships with an 8GB SD card, which is really only practical for testing. You can buy a 16GB version, but obviously that's a waste of money. Most will buy the 8GB AirStash then get a 64GB to 2TB SDXC card - but see [6].
[2] 64GB internal, plus external slot available.
[3] It is perhaps not obvious why one would want this. It's a pain to put movies on/off iPhones when traveling, this way we could take our video library with us.
[4] I suspect the ideal use case would be someone who (illegally) rents Amazon DVDs and rips them to iPhone resolution, building a compact library that is streamable with a relatively low powered device.
[5] Safari is disabled on our kids phones as a minimally effective parental control measure.
[6] SD cards above 32GB come exFAT formatted, and the AirStash won't read Microsoft's patented exFAT. Which is how I learned that whereas Windows machines won't format FAT32 above 32GB, Mountain Lion will happily do at least 64GB and the (Linux powered?) AirStash will read it.

Update: My Amazon review (A minimally edited copy of this one). I'm going to test streaming from my MacBook Air.

Update 7/27/13: Ok, forget the SanDisk: "SanDisk’s drives don’t work with video content you buy from Apple’s iTunes Store at all". So they didn't figure out the Safari workaround AirStash uses. Guess we'll try to make the AirStash work after all.

Update 8/26/2013: We used the AirStash daily for two weeks and it worked quite well. Note we ONLY have SD movies and a lot of what the kids stream is animated and uses much less processing and bandwidth. Also, it was in practice rare for all 3 to stream video at the same time. So, despite failing my 3 stream test, it worked in practice. Kids had no trouble with the necessarily awkward viewing via Safari.

The biggest problem is that the AirStash, with its protruding USB and big body, is an accident waiting to happen. One child stepped on it and partly broke the plastic body. It continued to work, only insert with a flexible USB extension cable and making a protective container from a plastic "tupperware" dish.

The biggest annoyance is the on/off switch switch. I'd love a simple on/off slider. It was often hard to tell if the device was running.

Update 3/27/2014: You can use the AirStash to move files between iOS devices - including ePub files. It shows up as an option in the iOS share list in many apps; from AirStash.app use the copy function to move to AirStash device. Firmware updates are scary; if you plug it into a Mac you need to Eject before update will commence. Really, when doing firmware updates, plug it into a plain charger.

Saturday, July 13, 2013

EPUB and DeDRM: Why Google Play Store is the best eBookStore for iBooks fans. (Bonus: Fixing Adobe Digital Edition crash.)

KSM was waterboarded 183 times [1]. His case was unusual, but it explains why American prisons are widely admired by the wrong sort of people.

Why do I mention this? Because, under the DMCA, circumventing encryption can win an extended visit to a US prison [2]. Even describing encryption circumvention is illegal for Americans; so posts on the topic are either naive or a minor form of civil disobedience. [8]

So, if you are an American, you should read no further. We can read Apple Store EPUB [5] files on iBooks.app, but not on a Mac [3] or a Win desktop. 

If, however, you are a Mac user and a citizen of a civilized country, you can fix this. You can take advantage of Adobe's relatively weak ADEPT DRM [4], which means you can buy ePub formatted books from Google Play, Nook Store (for now, anyway), and Kobo, strip out the DRM, and use them with iBooks.app, BookReader for OS X, Adobe Digital Editions for Mac/Windows [6], and other eBook readers.

There may be other ways to strip DRM, but most of the appnetizens I know use Apprentice Alf's DeDRM plugin for Calibre, or his related DeDRM Application. Alas, I couldn't prove that DeDRM worked on my two purchased Google Play books -- they are both DRM free! I was able to download them [7] and display them in BookReader, iBooks.app, and Adobe Digital Edition. BookReader had character set issues with one of the ePubs, but both rendered correctly in Adobe Digital Edition and iBooks.app.

(Update 8/7/13: See Using Calibre and DeDRM Plug-In to remove Adobe DRM from Google Play .ascm ePUB files)

The next time I buy a DRMd book though, I'll get it from Google Play and test out DeDRM. With DeDRM and Google Play I'll have my EPUB books on iBooks.app and BookReader -- and I'll also be able to view them using Google's web interface to EPUB books. Not to mention Play Books.app!

PS. I keep my EPUB books in iTunes, so the simplest way to get at them from the Finder was to save a Spotlight search in iTunes Books folder for ".epub". From that view I can right click on a file to open in Adobe Digital Edition (when it doesn't crash, see below) or BookReader (preferred, though it has character set bugs).

 --

[1] But stayed sane, and was thereby made immune to prosecution and execution. So bit of a trade-off.

[2] One of the ways in which most Americans (or Brits) can be legally imprisoned at any time should the state choose to do so.

[3] Many of us have wondered why Amazon put an eBook reader on the Mac but Apple didn't. I don't know, but my best guess is publishers wouldn't give Apple permission. Maybe they felt DRM bypass would be easier on a Mac than on an iPhone, which is probably true. On the other hand thesesame publishers traded their future to Amazon for a bucket of glass beads and published on the broken Adobe Digital Editions platform. I think they're simply dumb as rocks. Jobs must have despised them, which may explain some of the trouble he got Apple into. iBook is supposed to come to Mavericks, but it hasn't shown up in the beta releases so far. Note BookReader will display ePub fairly well, but not FairPlay DRMd ePub.

[4] Why is it weak? I suspect because many of the devices that use it can't be updated. So fixing the DRM would make all of these devices useless, and cut off new sales. Apple can fix FairPlay because its software gets updated. Nobody remembers that Apple couldn't update DRM on the Motorola ROKR, so those phones lost the ability to play new music.

[5] Technically it's all caps EPUB, but I'll go with ePub.

[6] Now Flash free! In my testing BookReader had character set issues with one of the Google Play books, but Adobe Digital Edition and iBooks for iPhone did fine.

[7] Go to Google Play, then to book page, then "How to Read' then eReaders and other devices - click Download EPUB.

[8] I loathe the DMCA, but, I admire the genius of FairPlay for movies and apps on iOS and OS X. If we didn't have DRM we wouldn't have a vibrant app market, and we wouldn't be able to sync movies around our devices. If iBooks were available for Mac and Windows I'd probably tolerate it for books as well -- but it still feels like the wrong model. Books last a lot longer than most apps. The revised DRM model for music, whereby buyer identification is embedded in an otherwise standard file, might be the right balance for books.

See also:

Update 7/13/13: I dragged about a dozen ePub files onto Adobe Digital Edition and it crashed. On launch. Forever.. Deleting its preference file didn't help, but I found a Digital Editions folder in my Documents folder. Emptying that fixed the crashes. Adobe stupid.

Update 8/31/2013: Just go Kindle and forget iBook

I wrote a subsequent post on Using Calibre and DeDRM Plug-In to remove Adobe DRM from Google Play .ascm ePUB files. I was able to get the process to work, but at the end of the day I realized I'd gone a long way down a dead end road.

Apple (and/or Apple's publisher partners) blew it when they failed to get "iBook" (FairPlay ePUB) support out for OS X and Windows -- not to mention Android. That was a game changing failure in more ways than most of us realized at the time.

Amazon has won this war. They own the eBook world. I should have bought a Kindle.

Broken iPhone home button: App Switcher access via assistive touch

There are lots of pages that describe using Apple's Assistive Touch to work around the iPhone's defective-by-design home button [1]. Alas, none of the articles I read told me how to get to the App Switcher (multitasking screen). On my son's balky iPhone 4 I can get a single-click to work, but a double-click is hopeless. Changing the Home-click speed didn't work.

Fortunately it's pretty simple. On iOS 6.1.3, after you've enabled the assistive touch "hockey puck" and moved it to a good location on your screen, tap once to bring up the main screen with the Home button, favorites, etc. Now tap on Device then again on "More". Multitasking at bottom will bring up App Switcher (really, it should have been labeled App Switcher - bad Apple). Unfortunately you can't create a custom gesture for App Switcher on a non-jailbroken iPhone; the iPad four finger sideways swipe doesn't work.

You can also have the home button repaired, but iFixit rates repair as "difficult". That translates as "elvish complexity" - normal humans won't be able to do this on their first attempt.  Apple may replace an iPhone 4 for about $150, but Apple has been increasing replacement charges. FirstTech, a reputable independent repair shop in Minneapolis, charges $159 for a swap, but has no separate charge for home button repair. Note a device swap should include a very useful battery refresh - but do confirm that.

CNet's four ways to fix an unresponsive iPhone home button lists a connector bend and alcohol fix approach. Gentle connector bend had a minimal effect on my son's i4. I may try the alcohol fix. It's not worth paying $150 for a device swap as he's due to inherit a 4S when Emily goes to a 5S. His 4 will become a standby device.

[1] Apparently a flex cable problem, aggravated by bending of the power connector beneath the flex cable. Changes in the design of the iPhone 5 should make this much less likely.

See also:

Sunday, June 30, 2013

Airport network configuration: Finding Mac address to put into Timed Access Control

I'll get my rant of out the way. AirPort Utility 6 was the start of Apple's year of drifting downhill. The good news is that Mavericks is giving us some hope that Cook has a balanced approach to managing complexity.
 
Ok, rant over. You are reading this because you want to Control access to your wireless network - maybe because a local teenager is still learning the network access rules. Open Airport Express and search for "Control when a user can access your network". You'll get something like this:

... Click Network, select Enable Access Control, and then click Timed Access Control.
Click Add (+) and enter the MAC address and description or name of the computers you’re letting access the network...

What the directions don't tell you is that if you're in bridged mode (extend network) you need do this on the AirPort device that assigns IP addresses, typically the one connected to your DSL/Cable modem.
 
The UI is very unclear, but I think you can enter EITHER the MAC address (media access control address -- every ethernet device has one, whether wifi or wired - it's one way devices get traced. No relation to Macintosh.) or the "name of the device" [1]. But how do you find the MAC address for, say, an iPhone?
 
This way:
  1. Airport 5.6: wifi -Use AirPort 5.6 Advanced:Logging & Statistics:Logs & Statistics:DHCP Clients from the DHCP serving device (only device unless you have bridged network like mine). You can copy paste the MAC address.
  2. AirPort Utility 6.x: Find IP, Mac, and network name for WiFi (not ethernet) devices by holding option key, then double click on the AirPort advice providing DHCP services. You will see a new 'Summary' tab, click outline icon in wireless client list to see details. The MAC address is called a "Hardware Address". You can't copy paste it (insert sound of teeth grinding).
  3. AirPort Utility for iOS: (Best). Tap each device on your network that can have wifi clients. Tap "Wirless Clients" then tap name. See IP, Hardware address connection details. You can tap Hardware Address to copy it. Mail or otherwise share it to your Mac so you can set timed access; you can't configure Timed Access from an iOS device.

From the Mac address you can set timed access control.

- fn -

[1] For an iOS device the Name might appear in iTunes, but I think spaces get replaced with hyphens. Better to use the MAC address.

Friday, June 28, 2013

Beware Apple's Epson software update 2.14 (April 2013)

I just did a routine batch of software updates for my 27" Mac, including the April 2013 Epson update 2.14. This is labeled as a printer update, but it's a printer and scanner update.

After the install my Mac locked up on boot, just before it should show the mouse icon. I pulled the firewire 800 cable connected to my Epson Professional V700 scanner and the boot completed.

After some experiments showed that I couldn't boot as long as the scanner was connected I power cycled the scanner. It was behaving oddly, I had to pull the power cord. After that I was able to boot.

I'm not sure the problem is fixed, Apple's Discussion board has a number of complaints:
I'll update this post if the problem recurs, but for now the trick was to pull the firewire cable on restart and then try power cycling the scanner.

See also:
Update 10/21/2013
  • After four months of intermittent but increasingly odd boot behaviors followed by a few days of high frequency kernel panics the flat 400/800 adapter firewire cable connecting this scanner to my firewire chain split open. So, in retrospect, this may have been the start of the firewire cable failing. In future I'm going to do a routine restart before I do updates -- just to make sure things are working before I change software. There's a lesson here about the problems of complex configurations given the limited diagnostic capabilities of OS X.

Thursday, June 27, 2013

Indexing Freemind documents for Windows Search: just add extension as free text

There are a lot of software domains that disappoint me. It's a 'get off my lawn' kind of thing. Enormous excitement about cosmetic changes to iOS 7, but nobody cares about applications for knowledge visualization. Sob.

Sure, there are some good apps for OS X [1] (though even they lack innovation [2]), but my work day is spent in the software desert of Windows 7, a forgotten platform served only by minor vendors slowly degrading once half-decent products.

On the Windows 'mind mapping' front MindManager is expensive, increasingly slow and burdened by feature cruft, and locks data up in a proprietary format. I liked XMIND for a while, but then a software update slowed it to a crawl. It also seems to have been abandoned.

So, lately, I've turned to FreeMind. Not because it's open source and free, not because there's ongoing development, and definitely not because it's a Java app or "cross-platform". I've turned to Freemind because, despite being homely [3], slow to launch, and having an eclectic UI, it has users, performs quickly when it's running, and, above all, it has the closest thing to a standard file format in the industry. A file format that's plaintext.

More and more, I love plain text.

I think I can live with FreeMind -- but only if I can retrieve documents using Windows Search. I live and die by free text search. I took a look at the FreeMind IFilter ($20) for Windows Search, but I was unimpressed with the klunky install and configuration requirements. It had a bad smell.

Fortunately, there's a simple workaround. FreeMind .mm files are plain text (did I mention I love that?). All I had to do was tell Windows Search to index .mm files as free text:

That worked.

[1] I'd love to see OMNI Group enter this market, possibly building on OmniOutliner. I use MindNode on OS X.
[2] Rereading my 10/2011 idea for implementing a graph app atop simplenote nodes I'm sad nobody has done this. If I lose my job maybe I will.
[3] Worse than homely, FreeMind currently has a major usability problem. There's nothing in the UI to tell you that a node has collapsed children. It's quite weird.