Ever since I got my iPad in October last year, I've been meaning to write a review. And every time I've tried, I've given up, because I inevitably work up a lot of anger and annoyance at how Apple has taken what could have been an almost perfect product and turned it into something that sucks. Or at least, it sucks a lot more than it could have done, if Apple, which used to be a nice company, hadn't been so extremely paranoid about controlling their users. To explain why I feel this way, I'll give a very brief recap of what I consider to be the most important part of the Unix philosophy:
This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.
-Doug McIlroy, inventor of pipes
As a PhD student, I keep a large collection of research papers in pdf format, and I want to able to read those same papers both at my laptop, and at my office computer. Thanks to Dropbox and Skim, I can do that very easily. Of course it doesn't have to be Dropbox and Skim, it could be any file-syncing program and any pdf reader, but the point is that each program does one thing, and does it well. Dropbox syncs my files, Skim displays my pdfs, and they can work together because they can access the same file system.
When I bought my iPad, I imagined it would be great for reading pdfs, and that I would be able to set up a syncing solution similar to the one I use between my computers. Unfortunately, this is not quite as straightforward as it could have been. The problem is that iPad apps don't get direct access to the file system. For example, you can't download a file and just put it somewhere on you iPad, you always have to download it to a specific app. That file will then belong to that app, and the only way you can open it from another app is if those apps have been written to talk to each other.
In my example with the pdfs, this means that my pdf reader (I use GoodReader) cannot just be a reader, it also needs to be able to obtain pdfs, as it can't simply access files downloaded by other programs. As it happens, GoodReader has been written to talk to Dropbox, but that doesn't improve the situation very much. You can import files from Dropbox into GoodReader, but you have to select and import them one by one, so you can hardly call it syncing. Those files are then copied over to GoodReader's part of the file system, which means that if I for example make some notes in a pdf, there is no easy way to sync those changes back to my computer.
My point is that Apple has made the iPad into a far less capable device than it could have been, and they did that by violating the Unix principle of letting programs work together. Instead of having separate programs for unrelated tasks, such as syncing files and reading pdfs, you need to have a program that can do both. This makes life more complicated for developers, and in turn gives users less freedom to combine programs in ways the developers didn't think of. It's one thing to have "an app for that", but if we also need to have an app for every combination of this and that, things are starting to get silly.
-Tor Nordam