iCPAN: CPAN on your iPhone

When I've got a few minutes here and there, I like to browse the CPAN for new, interesting modules. I wanted a way to do this quickly and easily on my iPhone, without needing to get online to do it. This app did not exist, so @ioncache and I set about creating it. iCPAN has been available in the Apple app store for about 4 weeks now and we're currently working on updates for the next version. (Our lightning talk slides have now been posted as well.)

iCPAN works on your iPhone, iPod and even your iPad. Our initial release of the app allows you to:

  • search CPAN documentation by module name
  • bookmark your favourite modules
  • view your recent searches
  • browse the docs offline

The next release will add the following:

  • Example code snippets in docs will be formatted via PerlTidy
  • These codes snippets will also feature syntax highlighting

There are still some issues we are working out. The main one is that the module search is still very slow. We've got a few strategies for dealing with this, but we're still in the process of tweaking it. We're also looking for some feedback and code contributions. If you know a little Objective-C or just want to learn, you can check out the code at http://github.com/oalders/iCPAN. The module processing is written in Perl and the app itself is in Objective-C and they could both use some improvements.

The app download itself is about 60 MB and it expands to around 300 MB on installation. There are well over 50,000 individual modules represented and you can browse them and follow links via our built in web browser. Please let me know what you think. Feature suggestions are also welcome.


omg omg omg i want it so bad... Unfortunately I'm using Android right now. Anyway, it's really cool to have a Perl-related mobile app!

I installed the app and it is very nice. Well done.

I was thinking, along similar lines, of converting some of the perl* manpages, and possibly some modules, from Pod to ePub so I could sync them to the iBooks for reading offline.

This is great, makes it easier for me to browse docs when I am remotely located (without internet).

I guess supporting something like "perldoc -m Module::Name" is going to be size prohibitive... but maybe it would be great if you could link to the source for when you actually have a connection.

Anyway, this is useful and great marketing for Perl.

The two features I need most are:

1. Turn off search-as-you-type until searching becomes faster
2. A browsable list. I want to click on WWW, then WWW::Mechanize, then WWW::Mechanize::Sleepy.

Right now the search is so slow I have to hit one letter, wait 5 seconds, hit the next letter, wait 5 seconds, and so on. There is no need to search until I am done typing.

Seems like a nice idea - Any reason why you didn't do it as a web app with local storage? Too much data to store?

Regarding ePub versions of perldoc, the site http://perldoc.perl.org/ already offers PDF versions of individual pages and there's a downloadable tarball with all HTML and PDF files at http://perldoc.perl.org/perldoc.tar.gz

I've seen PDF->ePub converters on the web, so with a little Perl glue I'm sure you could run some batch script to convert all the PDF files into ePub ones :)

Leave a comment

About Olaf Alders

user-pic I hack on MetaCPAN, CPAN modules and other fun stuff.