iNik.net Blog
Sync Hole
Syncing the iPhone is a mess. Apple really dropped the ball by not providing a generalized sync framework to support third party apps.
Every time I want to take my iPhone out on the road with me, I need to go through and sync up every application individually: Here’s the song and dance for a full sync:
Open up 1Password on my Mac and on my iPhone, choose Sync from the iPhone, and wait for it to complete. (Sometimes I need to click through some password errors, too.
Open TextGuru on my iPhone and the TextGuru server application on my Mac and copy over any text files I’d like to share between the devices.
Open up Stanza on both my Mac and my phone and then open each book I want to carry with me and send it to the phone; one-by-one.
Load any files I want to take with me into FileMagnet uploader, open the app on my iPhone, and send them over. (Or, if I’m using Briefcase, turn on remote login on my Mac and browse it — I’ll cover file viewers/transfer apps in a later post.)
Open up SpeakEasy Connect to grab any recordings I want on my Mac from my phone.
Sync OmniFocus to .me (and then when I open it on the iPhone, it syncs up, so that’s something at least!)
Open up ByLine to pick up my Google Reader RSS feeds.
Likewise with Instapaper.
Did I mention I don’t use Safari as my main browser? So that’s a trip to BookDog to sync up my bookmarks from OmniWeb to Safari so that I’ll have ‘em on the phone.
Finally I’m ready to sync with iTunes, but to be sure I get the most out of this sync, I’ll check for new podcasts and application updates.
Dangit! I’m out of space for all my new files on my iPhone. Time to trim playlists, swap out movies, etc. I sure wish I could autofill the thing like I could on a shuffle!
And that’s if I happen to be on an available wifi network. Otherwise I also have to deal with Internet Sharing on my Mac!
Yeah, this is a worst-case scenario, of course. I don’t necessarily need to pick up new files or books, and I don’t always need to grab recordings. But if I intend to spend some time on an airplane or otherwise need to keep everything updated, this whole rigamarole can take as much as half an hour of fidding.
But because this is so time consuming, it’s not uncommon for my iPhone to be out of date, so I don’t have my latest passwords from 1Password, or I don’t have the movie I just rented from iTunes or eBook I’ve downloaded. (since I have to transfer it to the one device it lives on — grr!) Likewise, my Mac’s out of date from files I have on my phone. What a drag!
Some of these applications use Mobile Me or some other online service as an intermediary, so that I can sync asynchronously from my Mac or iPhone to a central server. Or ByLine syncs directly with Google Reader, so it acts like a normal RSS reader that way. But if I intend to be outside of wifi range, I have to remember to sync.
Compare this to my Palm handheld (recently retired in favor of my iPhone). I put it in the cradle and pressed the “sync” button. Any e-books or files waiting for transfer would transfer, passwords would be updated, content on the device would push back to my Mac. One click, and I was done. Palm provided a standard framework that developers could use to sync their applications’ data with my Mac and its programs.
Apple has done the same thing in the past, through iSync and Mobile Me/.Mac. However, they failed to extend this to the iPhone. Instead, every developer needs to build their own synchronization solution, with no standards whatsoever. Additionally, since there’s no background processing, there’s no method to keep the desktop and the phone in sync without forcing a manual process of opening every syncing program and doing your business, one program at a time.
Obviously there’s an underlying sync framework in iTunes, which can handle multiple content types (music, photos, email, contacts and calendars) from multiple data sources (Outlook on the PC; iPhoto, Mail, Address Book and iCal on the Mac; Google and Yahoo hosted services; and, of course, video and music through iTunes). And that’s all in addition to the built-in Mobile Me and IMAP services!
Apple dropped the ball on syncing with the iPhone. They need to build a synchronization API for developers, and they need to build it quickly before more programming time goes down the drain building half-assed custom sync solutions.
Fix for Software Update "Update could not be saved" error
I’ve occasionally had an error when installing software that goes something like “The update could not be saved… You do not have appropriate access privileges.” I’ve tried deleting the software update caches, fixing permissions, etc., all to no avail.
Well, this Apple discussion thread had the answer. You just have to delete a folder with the same name as your update from /Library/Updates. Or just delete everything, I suppose.
I had to delete the offending folder from the terminal using “sudo” for some reason. I guess it was set as root-owned or something. Weird.
Who says print is dead?
Well, I may be leaving Penton just in time. On-demand printing has hit the publishing business. Hello, MagCloud.
Or then again, maybe not. A single issue of Windows IT Pro, published via MagCloud, would cost a subscriber $18.20! (84 pages, including front/back cover, at 20¢ per page and $1.40 shipping) And that’s with no markup/profit for the publisher.
Still, it’s a full color magazine, printed on an HP Indigo, so it is probably quite high quality. Full color, and I’m guessing that it’s printed on better paper than the toilet paper most magazines are printed on these days. (We can’t all be National Geographic)
Could be just the ticket for a quarterly journal or other high value publication. But for the low-budget ‘zine-type publisher, you’re still better off investing in a copy machine and a saddle stapler.
Cha Cha Cha!
Wouldn’t you like to have Google at your fingertips wherever you go? Wouldn’t it be even cooler if you had a friend standing by to search Google for you, so that you don’t have to spend the time typing on the go? What if it was a complete stranger working for pennies on behalf of a very cool service named ChaCha?
Here’s what you do: Dial 1-800-2CHACHA (or 1-800-224-2242, if you prefer). A friendly automaton will prompt you to ask a question. Ask away, and then resume your daily business. In a minute or two, you’ll get an SMS message with an answer to your question. Pretty darn slick.
There are a few GotChas with ChaCha: Real humans are finding your answers, and they’re paid for their answers in dimes. (But they make it up in volume, I imagine) So don’t expect the sort of service you’d get from a skilled reference librarian with lots of answers at their disposal. Instead you’ll get a reasonably skilled Google/Wikipedia searcher who will be about as accurate as the same sources.
So it’s great for “I’m at this intersection and I want to find a gas station, where’s the closest one?” or “Who played Iron Man in the movie of the same name?” Not so good for “Where did I put my keys?”
Good stuff. I could easily become addicted to this service.
Easily back up gigantic files, even with Time Machine
One place where backup programs really fail is in backing up large files. If, say, your run your VMWare machine, thus updating its disk; you add metadata to a high quality ripped DVD video; or you use Microsoft Entourage, so every time you get a new email, your giant Entourage database gets changed.
Some backup programs can handle block-level updates, so that only the chunks of the file that have changed get backed up, but most don’t.
Well, this little trick on MacOS X Hints is genius! Apple’s Disk Utility in 10.5 lets you create “sparse bundle” disk images. These are just like normal disk images, except that they break up the image itself into numerous smallish files, each one is about 8 MB.
So you can take your big ol’ file, put it into a sparse bundle, and poof! You can now handle backups and it’ll only change a handful of 8 MB files.
While the hint I’ve linked to is pretty complicated, you can just have the image and put large files on it and not worry about the rest of it. You can even just make an alias or symbolic link (type “man ls” in the terminal for a how-to) from one folder to another (yes, this does work on the “Microsoft User Data folder), rather than have a complicated script.
Note that, a few programs that generate big files offer similar features. VMWare, for example, lets you split up your VM’s hard disk image into 2 GB chunks. Not quite as minute as these sparse bundle backups, but still quite good (and probably faster, which is a must-have for a VM). Also, if you’re using FileVault, you already have a sparse bundle containing all your files on your hard drive. Nifty!
An anecdotal history of the internet
Vanity fair has a truly amazing article which covers the history of the internet, from ARPAnet to today, told entirely in anecdotes by the people behind the internet itself. A great, readable, and very entertaining read.
A case for a prettier recipe box
I’m a software aesthete. I like to spend my life using programs that work elegantly and beautifully. While this is partly why I prefer using my Mac to my PC, it really comes down to the individual software and tasks. There are some phenomenal PC programs that I find are a pleasure to use (Microsoft Excel 2007 is just wonderful to chart and graph in), and there are Mac programs I’m more-or-less forced to use for one reason or another that could really use some more thought into how they work. (I’m looking at you, Script Editor!)
One place that I never thought to see such a divergence in elegance was in recipe software. Look, it’s a database, right? Recipes, cookbooks, ingredients, and even shopping lists. Sounds like a job for unformatted text and a decent search function.
But when my wife bought Cook’n, the best selling recipe software on any platform (or so they claim), I found an amazing study of software design and usability.
Changes afoot...
iNik.net just got upgraded to Drupal 6. While it was a fairly clean upgrade, in order to take full advantage of it, I kind of pulled it apart and am in the process of putting it back together. It’s likely that some stuff simply won’t work right. If you find bugs, contact me and I’ll get on ‘em.
Some MySQL Goodies
I’ve been working on migrating this site to Drupal v6.2. In order to do so, I’ve created some test/development areas to work through the transition. These areas required me to repeatedly copy my live (version 5) database over to various test and staging servers. I researched and perfected a few one-shot command line recipes to handle all of this. I figured I’d share them with the world.
DRM: 0, Music Industry: 0, iTunes: 101
Apparently market forces are making DRM passé. By locking down iTunes store purchases, Apple’s managed to maintain a stranglehold on its customers and a dominant position to negotiate contracts with music providers. Nice job, Music Industry!
“The record companies don’t like dealing with Apple, because Apple is in a position where it can dictate the economic terms and dictate the business models,” says [Bill Rosenblatt, DRM specialist]. “What’s going to draw people away from iTunes? One answer is to get rid of DRM.”
And, furthermore, Mr. Rosenblatt says DRM has no effect whatsoever on reducing piracy. As if that wasn’t obvious from the start.
You gotta love it when the free market works the way it’s supposed to.
From The Guardian
Don't Blog. Write.
Robin Hobb’s new book, Renegade Mage, just came out. I thought I’d pop over to her blog (which I haven’t looked at in years) and see if she had anything to say about this book or upcoming projects.
Instead of a blog, I found an [odd little scavenger hunt](http://www.robinhobb.com/] featuring pictures of her cats, and then in the attic, a cautionary tale for all would-be writers. A tale of missed deadlines, sleepless nights, and banal, unsatisfying, writing.
Ah, my writer friend. It is harsh but it must be said. Compared to the studied seduction of the novel, blogging is literary pole dancing. Anyone can stand naked in the window of the public’s eye, anyone can twitch and writhe and emote over the package that was not delivered, the dinner that burned, the friend who forgot your birthday. That is not fiction. That is life, and we all have one. Blogging condemns us to live everyone else’s tedious day as well as our own.
…Oh, my dearest writer friend. Be strong. Resist the siren call.
Don’t blog. Write.
Community and Independent Developers
This morning, I posted an article that was highly critical of Matthew Drayton’s management of the Interarchy file transfer application since he, as Nolobe, purchased it from the original developer. Specifically, I was frustrated with the lack of communication and shutting of communication channels between the big 9.0 release and the much-needed 9.01 bug fix which just came out.
Only a few hours after I posted this article, Matthew contacted me to apologize for the release and also to explain the circumstances which made a timely release of 9.01 impossible. As my criticism was both public and unjustified, I’ll apologize here, publicly, for this criticism. I have also unpublished that article.
However, beyond the specific criticism, it does demonstrate the importance of maintaining open communication with your customers. While most customers respond favorably to open communication, I think it’s especially important for small and independent companies, including independent software developers. This is probably even more important for independent developers who sell exclusively online, since their customers are much more likely to be part of the blogging/forum posting/twittering crowd.
People who purchase from independent developers act like grass roots supporters of a political campaign. Whether or not it’s justified, they feel that they are on a first-name basis with their favorite software’s developer, and they tend to especially watch new products from the same company.
This relationship is based on trust and communication. Those developers who actively maintain blogs, participate in forums, or who simply email quickly and responsively to requests can generate very passionate users. (Even if their software isn’t terribly high quality!)
Of course, those supporting customers come to count on this open communication. If it breaks down, it can leave customers feeling abandoned, and make them lose faith in the developer and their software. It can cause them to cease upgrading or even to defect to other programs. And, of course, there’s the beatings that an unresponsive developer can face on forums such as VersionTracker and MacUpdate.
What some developers overlook (and, again, I am not picking on Matthew here) is that this intimacy is a two way street. Just as the open communication helps users learn to use their software better, it is also a fantastic tool for priming the market for new updates and new products. And, perhaps even more importantly, it creates opportunities for the developer to get their users’ aid when they need it. Whether that’s a request for patience on an overdue update, advice on where to move web hosting to, or to gather a group of volunteer beta testers or even contributors. (documentation wiki, anyone?)
When Nolobe went “dark,” and stopped posting to blogs and pulled its forums, I lost confidence in the company and the software. I hadn’t upgraded to Interarchy 9 and was still using 8 until a less buggy version was available. Even though the developer was doing his utmost to get that 9.01 update out the door, it took a few months.
In the grand scheme of things, that isn’t much.
On the other hand, I’ve been using Interarchy (well, Anarchie and then Interarchy) for more than ten years. Seeing it change owners and then become unreliable on the next update is something else entirely.
Should Matthew have posted, at a minimum, a blog entry saying “It’ll come out later, please be patient?” It couldn’t have hurt. When a favorite restaurant is closed, you at least expect a sign saying when they’ll be open again — whether that’s tomorrow morning and you just caught them outside of business hours, or if it’s in a few weeks while they renovate.
Sometimes a person doesn’t even have the time or energy to even do that much. But for the users, the faithful supporters of a business, that note can mean everything.
Want proof? I just purchased the Interarchy 9 upgrade I’d been holding off on.
I didn’t buy it by way of apology for my undue critique. I bought it for two reasons: It fixed the bugs that made me hold off on the upgrade in the first place; and Matthew’s prompt and charitable email, even after my harsh criticism of Matthew himself — not just his software or his company. This email restored my faith in Matthew and Nolobe as stewards of one my mainstay programs. After all, what could be more personal and intimate than that personal email?
MacFUSE vs. ExpanDrive
MacFUSE with SSHFS gives you Finder-level access to your SSH and SFTP servers. It’s been out for a while and is free and open source. Now it’s being challenged by ExpanDrive, which does much the same thing, but costs $29 (at a special introductory price, no less).
So which one is better?
I’ve been using MacFUSE ever since it first came on the scene in order to access my DreamHost web server. For most tasks, I’d much rather copy a file within the Finder than open a custom client program, log into a server, and deal with upload/download target directories, external editors, etc. So MacFUSE’s SSHfs module has been an absolute dream for me.
Of course, it’s also a bit frustrating. It seems like Interarchy’s always just a bit faster at browsing my SFTP server. Copying files seems to send them back home and out to the server again, so a file duplication in the same filesystem that should take a few minutes takes ten or more! And then there’s the times that it just sort of craps out on me for some reason. Those times are rare, but they happen.
So when Daring Fireball tipped me off to Magnetk’s ExpanDrive utility, I decided to give it a try and run it through it’s paces.
The ExpanDrive developers comment that it’s based on MacFUSE, but has been variously improved with better caching and other “secret sauce.” It also handles reconnects after your computer goes to sleep, and claims to deal gracefully with poor network connections..
I gave it some straightforward tests. I opened and edited files; copied large and small files back and forth (and timed the copies); and then did my best to break things by opening disk images on the mounted SFTP drive, expanding and compressing zip files, and duplicating large files.
The results? They’re the same. Really. The same.
I got some slightly different performance on copying small files from the ExpanDrive rather than through MacFUSE if I’d already downloaded them once. This must be the caching they’ve referred to. But the difference was negligible, since it only applied to smaller files.
Both were horrid at duplicating files, and both crashed the Finder once. (It came right back with the remote SFTP drives mounted in both cases)
Now ExpanDrive is very easy to install and use, which definitely scores some points with me. But MacFUSE is no longer a horrid geeky affair to get SSHFS up and running — just a regular package installer and then an SSHFS application that loads your drive with a double-click. You can also use a utility like MacFusion to give you a nice GUI to mount drives. A bit more complex, maybe, but not bad. (MacFusion also re-mounts filesystems after your computer wakes up)
Based on my tests, I’m sticking with MacFUSE and SSHFS. Mostly I just need it as an alternative to an FTP client, and it works fantastically for that. If I were to keep the remote disk up and running all the time (a la my iDisk), then I might be more interested in ExpanDrive’s incremental improvements over the basic MacFUSE setup. (Although I could use JungleDisk — also based on MacFUSE, but using AmazonS3 instead of SFTP — to do the same thing and enjoy the cheapest online storage out there as well as the peace of mind of having all my remote files encrypted)
Regardless, it’s exciting to see all the interesting projects that have come out of the FUSE and MacFUSE projects. There’s just nothing quite like browsing your web server’s image directories using the CoverFlow view and with QuickLook readily available.
OmniWeb 5 Ad Blocking Lists
OmniWeb 5 has an excellent ad blocking mechanism. What it doesn’t have is the ability to easily subscribe to or import some of the blacklists out on the internet, such as those used by the Adblock Plus Firefox add-on.
In order to make up for this deficit (at least partially), I downloaded the latest EasyList filter list and modified it so that it uses proper, OmniWeb-compatible, regular expressions.
The one downside with this list is that there is no way to automatically import the blacklist and whitelist files into OmniWeb. Instead, you have to edit OmniWeb’s preferences file directly to add the entries. Instructions on how to do this are included with the rest of the download.
I have no plans to continue updating this list. It’s current as of March 11, 2008. Consider it a good start for your ad filtering and update it manually as needed. I’ve included instructions on how to make your own custom file if you’re so inclined.
Bookmark with Del.icio.us