Quick IRB/rails console customization idea
I'm not sure why this didn't occur to me sooner. Most folks customize their irbrc file with tools to add features. Why not use it to add helpers for things you do all the time? I find myself loading up an example user record all the time, so I ginned up the following and stuck it in my .irbrc
It's a bit more convoluted than you'd normally expect, but by dancing around the subject a bit I made it so that this will compile just fine even if User isn't defined or doesn't support find_by_email. I don't want irb/console to refuse to start because something isn't defined.
I just thought of this, so I'm not sure where it's going yet. I'm going to be looking out for other opportunities to do this and thinking about how I might make it easier. Perhaps a gem that would recognize if you were doing a Rails console session and load an application-specific irb helper file?
iPad Reading Apps - Kindle vs iBooks 3
iPad Reading Apps: Kindle vs iBooks
note: In a way, this is a continuation of my previous post comparing Kindle 2 to iPad 2. That post focuses on hardware aspects of the two. This one is comparing iBooks to the Kindle app on the iPad 2.
iPad 2 Reading Software
Because the iPad is a multi-function device, the actual reading experience is mediated through your choice of reading app. I tried Kindle for iPad and Apple's iBooks. I know there are others, but those two seem to be the main options.
Both apps will keep track of a large number of books, maintaining your location within each one. They also allow bookmarking and annotating, though I don't use those features.
Visual Design and Page Turning
iBooks shows faux pages and a fake crease down the middle of the screen, presumably to try to make it feel more like reading on dead trees. Kindle goes for a much more minimalist interface with almost no decorations on the screen. At first the fake pages (and attendant page turn animation) seemed hokey to me, but at this point I don't really care. The Kindle app is definitely more attractive, though. You don't expect Apple to lose that kind of competition, which makes me think they didn't take iBooks as seriously as you might expect.
It's a bit weird, but with all of these (Kindle, Kindle App and iBooks) I'll occasionally turn the page when I don't mean to. This seems to happen a lot more often with Kindle App than with iBooks.
Progress, Location and Syncing
Kindle and iBooks both give you a handy little progress bar at the bottom that you can grab and scrub back and forth through the book. iBooks wins big by popping up the chapter titles as you do it. They both give you location in pages (Kindle originally only gave it in mysterious inexplicable numbers). On iBooks you can resize the text and see the number of pages change. On Kindle resizing the text doesn't change the number of pages - apparently they're using some kind of platonic ideal of pages. iBooks is a bit friendlier, though if Kindle has failed to sync your location having stable page numbers across devices can make it a little easier to re-find your spot on a different device.
Speaking of syncing, both apps will fairly regularly fail to sync some reading between devices, even when you're online. Most of the time everything works great - you pick up on your phone right where you left off on the iPad, but probably 10 or 20 percent of the time you'll wind up manually thumbing forward trying to find your spot. That's much easier to do on the iPad than on the iPhone, but even then it's still mildly annoying.
Back in the days of dead trees I used to not bother with bookmarks and just try to remember my page number, so the occasional bobble on device change doesn't bother me too much. Your mileage may vary.
Color Scheme, Brightness and Font
Kindle lets you select a dark background with white text in addition to black on white and sepia (brown on cream). iBooks limits you to black on white and sepia. Having a black background is a win for reading in a completely dark room. It will also limit light-spill if you're worried about annoying someone else in the room. Advantage: Kindle.
iBooks wins on access to dim the screen, though. Brightness is a separate "menu" option, whereas you have to go through the font/page color menu on Kindle. Since I tend to do this frequently as the day gets brighter or darker, quicker access is a good thing. One thing I did notice, though was that if I shut the app my adjusted brightness won't be applied right away when I restart the app. I'm guessing this is to keep you from starting the app with it set so dim that you can't see where to change the brightness.
For both apps, if I'm using a light background I always go sepia. It seems to be easier on my eyes. I also try to match the background color to the surrounding light level, which helps with eye strain.
One really nice feature on iBooks is that I can change the font of the text I'm reading. The same menu that lets you choose font sizes lets you switch between a handful of different fonts. Lately I find myself fiddling with this as I start a new book, seeking the best font for it. Strangely, I haven't ended up on the exact same font every time.
Buying Books
Each app has its own bookstore, and they both do a good job integrating with the iPad apps, but Amazon does a bit better job. Downloading books after purchase is slicker and more automated in the Kindle app. Further, the Amazon store has a better selection, prices and browsing experience.
Buying off of amazon.com, you can buy something and send it straight to the Kindle app on your iPad. This is amazingly convenient. Shortly after you start the app up your new book will arrive. If you want to buy from the iPad, you just use the browser to browse amazon.com and make purchase.
You can access the iBookstore from the iPad and it will download straight to the device. If you're buying books from the iBookstore on your computer, you have to buy them, download them to your iTunes, then sync them to the iPad. I haven't spotted a way to send them direct the way you can with Kindle.
On the flip side, if you buy from a third party store (like Smashwords or PragPub) you'll have a little easier time loading your books into iBooks. You can just drag epub files into iTunes and sync them. The analogous operation for Kindle requires you to dig into the settings for the kindle app within iTunes.
One book I got for free from the iBookstore ("iPad at Work", from Apple) seems to have actually downloaded a PDF, instead of a real ebook. I can't resize the text, and instead of giving a standard progress readout at the bottom it has a row of page thumbnails. I didn't notice a warning that it wouldn't act like a normal book before I got it. Caveat emptor.
Syncing
Both apps will sync your location with apps on your iPhone, but Kindle wins big by providing a best of breed app for reading on your computer in addition to the Kindle itself. Plus, Amazon's new Cloud Reader website lets you read ebooks you bought from Amazon on Chrome or Safari. Amazon thus provides a full spectrum of solutions - smartphone, tablet, reader and computer. iBooks is only available on iOS devices, so Android phones and even Mac OS X computers are left high and dry. There's a rumor that the next version if iTunes will include an iBook reader
iBooks will sync your location in books that you didn't buy from Apple. This works even for books purchased from Amazon that have been converted to epub format and loaded into iTunes. It will not pick up reading you do in Calibre or Kindle on your computer, though.
Summary
All in all, I like the reading experience a little better on iBooks, but I wouldn't feel like I was suffering if I ended up with nothing but Amazon's apps. Both iBooks and Kindle are on the my iPad's dock, and I use them both regularly.