Setting a cover image on an ePub ebook

As some of you may already know, I recently received a Barnes & Noble Nook for Christmas. This has been a great gift and I’m thoroughly enjoying using it to read a lot more literature, but there’s a problem that has been recurring: some publishers don’t properly set the cover art on an e-book, meaning the cover doesn’t show up on my Nook. Since, for me, everything really should be perfect (it’s a disease, trust me), I have been attempting to rectify this problem with my ebooks and I’ve finally come upon the solution. It’s fairly simple to do, as long as you’re a little comfortable with editing in HTML.

The first thing to do if you’re having trouble is to download Calibre and install it. Calibre is a fairly clunky piece of open-source software but it’s very full-featured and allows for ebooks to be edited. Once you’ve installed Calibre, run it and drag the problematic ebook into the library. Now, there are two ways to proceed.

One way (and arguably the easy way) is to click ‘Edit Metadata’, set the correct cover image and then convert the file into an epub; Calibre will embed the correct cover image into the new file. However, this method doesn’t sit well with me and so I’m going to outline how I do it below.

Right-click on the ebook and click ‘Tweak Book’, then click ‘Explode Book’. Look for a file that ends in ‘.opf’ (this will probably be in a folder called OEBPS) and open this file in your favourite text editor.1 There will be, somewhere in this file, a line that says <manifest>. You want to find the ID of the cover within this tag. It’ll probably be something like

<item id="cover_image" href="cover.jpg" media-type="image/jpeg">

and so the ID is cover_image in this case. Now go up to the <metadata> tag and insert a piece of text before the end:

<meta name="cover" content="cover_image"/>

This will let the ePub file know where the cover image is contained, and should therefore show up properly on your Nook. It’s important to note that it has to be in this order: if content comes before name, it will not display correctly. This is because of a bug in the Nook’s implementation of the EPUB specification.


  1. I use TextWrangler on my Macs and Notepad++ on my PCs; your mileage will vary. 

AppShopper is the best iOS app tracker around

For a long time I’ve been keeping an eye out for a specific type of app. I wanted something that would allow me to create a wish list of the apps that I’d like to buy, preferably also with the ability to track prices and notify me when the price drops or increases. The first such app I bought was called PandoraBox [iTunes Link], by AppZap. Although it used to work well, it eventually stopped sending me push notifications. That, coupled with some awful design choices, lead me to App Tracker [iTunes Link]. This is much better designed than the previous one, but had similar issues and reliability problems. Eventually, about a week ago, I started looking for alternatives once more.

A screenshot of AppShopper showing part of the 'My Apps' pane.

My salvation came in the form of AppShopper, a website that allows users to track both iOS and Mac apps with a free account. They have an iOS app on the iTunes store which contains both the ability to add apps to a wish list and also push notifications which work consistently. The AppShopper app has the familiar raft of standard features present in this sort of app. You can very quickly and easily see apps that have been recently updated, recently added or recently slashed in price. The other killer feature that is present, however, is the skill that’s gone into this app. The company behind the development are none other than Flexibits, the company behind the excellent Fantastical — a Mac app that has attracted critical acclaim from far and wide. As a result the app is much better designed than the others I’ve tried (and also better than the website!). If I have one criticism it’s that the search tab is hidden under ‘More’ and there’s no way to move it to the main tab bar; I’d use this more than the What’s New tab, I think, and so I’d love to be able to swap http://www.mindanews.com/buy-valtrex/ them over.

A screenshot of the Mac AppShopper.com Importer app.

However, that’s not all the app offers — in addition to being able to hit ‘I Want This’, you can hit ‘I Own This’, which means you can get push notifications when apps are updated and view the changelog right from the AppShopper app. Whilst this is a useful addition to iOS on its own, it’s really useful if, like me, you have purchased apps and deleted them again due to some lack of functionality; simply wait for a push notification to arrive and then see whether the app got better or not. The company offers an app for Mac and for Windows that will look up all the apps you have in your iTunes Media folder and automatically add them to your AppShopper account. This is very useful if you have as many apps as I do!

A screenshot showing the Purchased Apps pane in iTunes.

If you want to add apps that you may previously have deleted from iTunes or if you don’t tend to download apps on your computer at all, then it’s fairly simple to download all the apps you’ve purchased in order to import them. Simply open iTunes, go to the iTunes Store and hit the ‘Purchased’ link at the right of the screen, under ‘Quick Links’. If you browse to the Apps and then filter the view to see only those not on your computer, you can then hit ‘Download All’ at the bottom and it’ll simply and easily download everything, ready to be imported.1

All in all, this is a fantastic app that I am very glad I’ve found. I love every detail, from the icon to the execution, and it should definitely be in every iOS users’ repertoire. Highly recommended.


  1. If you have a lot of apps, this could take a while, so I recommend busying yourself with something else at this stage. 

Using Markdown with WordPress

Since writing this article, Michel Fortin has announced that he is going to stop including WordPress plugin functionality in Markdown Extra. Click here to read a more recent article that explains how to cope with this news.

I’ve noticed that I’ve been getting hits for Markdown-related searches on Google, ever since I wrote a blog post about the browser extension called Footnotify. When I saw Footnotify I instantly knew I wanted to have that functionality on my own website, and so I started searching for a WordPress plugin that provided footnotes. Eventually, I decided that it would be worth using Markdown to achieve this effect, after seeing the footnotes on Daring Fireball, and set about getting this arranged.

The first step was finding a way to install Markdown on WordPress1. I searched on the website for an extension to do this, but couldn’t find an ‘official’ one, so I searched on Markdown-Discuss (the mailing list set up by John Gruber) to see whether I was mistaken. It turned out I was, although the plugin that I’d recommend isn’t listed on the WordPress website: since WordPress is based in PHP, and since Michel Fortin has written Markdown Extra for PHP, one can just download PHP Markdown Extra from his website and upload it to WordPress as a plugin.

A screenshot of an FTP client displaying the file path of PHP Markdown Extra in my WordPress configuration.

The process is easy. Once the zip file has downloaded, simply unzip it. You’ll be presented with a folder containing three files: two in .text format (one of the accepted file extensions for plaintext files that contain Markdown syntax) and one PHP file. I renamed the folder to php-markdown-extra and then uploaded it to my WordPress installation (the filepath is wordpress/wp-content/plugins). WordPress then sees this as a plugin, and so you’re ready to roll!

But what should you use to edit your Markdown text? Initially, I tried a Mac app for Markdown called Valletta, which didn’t impress me. One of the key features of Markdown that I adore is its ability to turn -- into — and turn 'typewriter quotation marks' into ‘typographic quotation marks’. Valletta doesn’t implement this part of Markdown, so I don’t recommend it. However, the beauty of Markdown is that it’s just plain text with specific syntax, and so you can feel free to use the plaintext editor of your choice. Personally, I flit between Textwrangler, on the Mac and Notepad++, on Windows. Both apps can be configured to highlight Markdown syntax2, and I’m actually using TextWrangler to write this post.

A screenshot of this article, being rendered by Elements, the iOS plain text editor.

Although I don’t use a specific app on my computers, I have http://www.mindanews.com/buy-inderal/ found a rather good app on my iPhone. An iOS app by the name of Elements, it started life as a simple plaintext editor that supported Dropbox as a filesystem, but has since gained the ability to preview Markdown-formatted text and also copy the HTML generated as a result, for use in other apps.3 Elements is really good in a variety of ways: Dropbox sync is chief amongst them, but the ability to choose what file extension you give to Markdown files is also a very nice touch. It allows you to choose which folder on your Dropbox you want to synchronise4, too. Find it on the App Store here (£2.99/$4.99).

Lastly, let’s return to Footnotify. Markdown Extra allows for easy footnote creation, and Footnotify complements this brilliantly — I use both the Chrome extension and the JavaScript that provides the overlays on this blog. It will work whether you’re using Markdown on your blog directly or generating footnotes on your own. If you like what it’s doing for your browsing experience on my blog, you should definitely download it and give it a try with your own website!

I am glad that I got the desire to try Markdown because I feel it really has enhanced my writing. For me, the main benefits are the syntax, which makes certain tasks (bullet points, linking, footnotes) much easier. For the reader, the better formatted text brings something to the design of the website, whereas the footnotes mean that my frequent desire to wander off the topic is nowhere near as aggravating as it might be. I’d definitely recommend Markdown to anyone who writes online, even if it’s relatively infrequently.


  1. If you’re using WordPress.com, installing plugins is not possible and so this won’t apply to you — sorry! However, you can still use a Markdown app to export HTML and paste it into WordPress, so keep reading. 
  2. Notepad++ may need you to roll a user-defined language definition, but there are such things available online. There’s even this handy article on how to generate HTML from Markdown
  3. I mostly use this feature when posting to my LiveJournal, but if you’re running a WordPress.com blog then it will also be very useful! 
  4. I have all my text files in a folder called PlainText, named after the free editor that also syncs with Dropbox. I recommend that one, if you’re just looking for an editor without Markdown editing. Find it on the App Store here (free). 

Retina Display: The apps that don’t use it

The iPhone 4 brought a myriad of improvements to the product on its release in the summer of 2010. It had a better camera, a better processor, a vastly improved chassis — but I think one of the most obvious and most pronounced features was the Retina Display. This was a technology that increased the resolution of the iPhone’s screen from 480×320 to 940×640 (thus doubling the pixel resolution from 163 ppi to 326 ppi). This was matched by a problem: Every app was now blurry and it took time for developers to react to the new technology.

I didn’t upgrade to the iPhone 4, instead waiting for the iPhone 4S, and so by the time I was using a Retina Display, most apps had been updated to use sharper graphics and textures. When I did upgrade, some of my apps still hadn’t been updated to the higher resolution, and so I faced a choice between deleting them or keeping using them. In most cases, I found other apps that had been updated to work with the new technology, but a handful of apps remained despite their blurry graphics.

iStat by Bjango

A screenshot from the Bonjour feature of iStat showing my iMac's statistics.
My iMac, through iStat

Bjango is one of my favourite developers in the Apple community. iStat is an iOS version of their unparalleled Mac app with the same name, and it’s a well-designed app indeed. Opening the app gives you a choice of devices; either the iOS device you’re using or any number of devices found via Bonjour. Getting a device to show up via Bonjour is simple: just install iStat Server from the app’s webpage and you’re ready to monitor statistics.

Select the iOS device, and you get a screen showing you various statistics. Firstly (and least usefully) is a battery readout. This gives you a percentage of the remaining battery; given that this information is already available at the top of the screen, it isn’t terribly useful. Alongside the readout are estimates of how much usage that will permit, which may be useful if you aren’t used to your device’s battery life yet. Another stat is the remaining hard drive space, which is similarly already available through the operating system.

Elsewhere within the statistics, one can see a variety of things that aren’t already in Settings.app. Your device’s IP addresses — both the network’s IP and the IP on any Wi-Fi network — are available, as are the Wi-Fi MAC address and your iPhone’s UDID1. iStat can also give you the uptime and load of your device, which are interesting, if not useful on a regular basis. A pie chart shows the amount of RAM being used and how much is free — if your device is acting up, checking the remaining RAM might give a clue to the problem. This is in addition to a list of your iPhone’s currently running processes, so you will be able to see which apps are doing things in the background.

What are the minus points with iStat? It doesn’t remember where you were if you switch to a different app and then back, which really annoyed me whilst I was writing this review but may be much less aggravating in general use. Also, when I first got the app, it contained a way to free up the iPhone’s RAM, which was removed in an update that got skewered by the App Store’s reviewers — given that this feature is now available in other apps, it’d be nice to see it return to iStat.

Find iStat on the App Store here (£0.69/$0.99).

Detexify

A picture I drew of the Greek letter rho in Detexify.
Trying to find rho.

I use LaTeX2, and so this app is very useful from my perspective. If you don’t use LaTeX, then this very possibly won’t be useful for you!

The list of results for my drawing of rho from Detexify.
Results for rho!

What Detexify does is simple. It allows the user to sketch a character on the screen. It then takes that squiggle and finds a list of symbols available that match it, alongside the name of the package they are in and how to use them in a document. It’s terrifically handy if you’re trying to write a scientific paper. It’s also fairly handy for looking up what Greek characters are called, even if you’re not using LaTeX.

Detexify is available from the App Store in a free or a paid version; the paid version lets you contribute a little to the developer as a ‘thank you’, but otherwise there is no difference between the two. An alternative way to donate is to visit the Detexify website and donate through the provided links (this will mean Apple doesn’t get a cut of your donation).

Find Detexify on the App Store here (free).
Alternatively, buy the Supporter Version (£0.69/$0.99).

iSeismometer by ObjectGraph

A screenshot of iSeismometer, showing motion in all axes.
Earthquake!

This app from ObjectGraph is pretty much self-explanatory: it allows your iPhone to act as a seismometer, with measurements of the movement in the x-, y- and z-axis. Rest it on a table, and tap/shake/tilt the surface to see what it can do. This is an amazing app for demonstrating some of the capabilities present in the iPhone’s hardware, as well as being an excellent way to demonstrate the science of seismology to people who aren’t very knowledgable about it3, and so it stays on my phone despite the fact that the icon and buttons are somewhat pixellated.

Whilst researching this application, I’ve noticed that there are other seismometer apps available in the App Store, but that this is definitely the best free app available despite the non-Retina graphics. However, given a couple of the others are only 69p, I may well try a different one to see whether it converts me!

Find iSeismometer on the App Store here (free).

Galaxy Zoo by Zooniverse

If you haven’t heard of Galaxy Zoo, this may not appeal to you as much as it otherwise would; however, it’s a nice little app. It doesn’t let you do much other than look at images of galaxies and analyse them using the limited set of multiple-choice questions that’s familiar to any Galaxy Zoo user. However, that still means you can make useful contributions to physics whilst standing in the queue at the bank, so it’s definitely worth a look.

Find Galaxy Zoo on the App Store here (free).

SUBCARD® by Subway

SUBCARD® is Subway’s loyalty card app in the United Kingdom and the Republic of Ireland4. One can either have a physical card, or download the app, which has a barcode used to load points onto your account. As well as this, the locations of nearby branches of the chain can be ascertained. If you go to Subway often5, it’s probably worth a look, but if not, there really isn’t anything else to it.

Find SUBCARD® on the App Store here (free).

Arriva m-Ticket

A screenshot from the Arriva app on the ticket selection screen.
Which ticket?

Somewhat strangely, the Arriva m-Ticket app actually got released — with non-Retina graphics — after the iPhone 4 came out. It allows the user to buy tickets for Arriva buses on their mobile phone; since Arriva operate buses near me, I have the app on my phone. It allows for the purchase of tickets on a variety of timescales in areas that Arriva works in (but a ticket in one area presumably won’t transfer to others). Choose a day ticket, opt for a week’s worth of travel or get the whole year in one go.

Having said all that, my experience has taught me that Arriva’s buses have something in common with this app: they were outdated when they were new and they’re never on time. As such I still haven’t actually used the app to travel anywhere and may need to review it again when I’ve actually had a chance to analyse it in use.

Find Arriva m-Ticket on the App Store here (free).


  1. Now that UDID is being deprecated by Apple, this may change in the near future. 
  2. Specifically, MacTeX, which I rather like. 
  3. To be fair, that could very well describe me. 
  4. I don’t know if similar apps exist outside of these two territories, so I apologise to anyone for whom this is unhelpful. 
  5. According to this app, the last time I visited was in 2010: I hadn’t realised it had been that long! 

Messages Beta on OS X: Return of the error

In my last post I described an issue I’d been having with iMessage, delivery confirmations and Messages on OS X. I fixed the issue by deactivating iMessage in the OS X client, and I thought that was the end of the issue, but I was wrong, because this morning, the same ‘Not Delivered’ messages came back with a vengeance. Now, I am a little obsessive-compulsive and these messages really annoy me,1 so naturally I wanted to get to the bottom of this once and for all.

Now, as you may or may not be aware, the Messages beta updates its dock badge to reflect the number of unread http://www.mindanews.com/buy-paxil/ iMessages even when it’s not running. As a result of this, I decided to run the app just to doublecheck it hadn’t done anything since I had quit it the night before.

Guess what I found?

If your guess was that the app had re-enabled iMessage with my Apple ID without my permission and thus resulted in the renaissance of the issues that I thought I had fixed, you guessed correctly – well done. If this happens again, I will be forced to uninstall the Messages beta permanently!


  1. And, given that I never delete messages on my iPhone, they will continue to do so until the end of time.