iCPAN: Now Bigger, Faster and with Syntax Highlighting
Since we've been porting CPAN to the iPhone via iCPAN, we've had the chance to re-imagine the CPAN a little bit. We've been thinking, what would we change about search.cpan.org if we were able? We've added the bookmarking, we save searches of recently viewed modules and now we've got syntax highlighting.
A lot of us see our code highlighted in our editors. That's how we're accustomed to viewing code. So why not view it that way in our module documentation? (Now, we're fully aware that this can be done with GreaseMonkey, but it would be nice to have this available for everyone without needing to use a special extension). A great example is perldoc.perl.org, which does have syntax highlighting, but it only (as far as I can tell) does so for core modules.
I'm happy to say that as of today, if you download iCPAN to your iPhone you can view the docs for over 61,000 modules with syntax highlighting. We've done so by using Alex Gorbatchev's excellent SyntaxHighlighter. The docs now take a little longer to render on my 1st generation iPhone, but it's well worth the wait. They look great and are much more enjoyable to read. Of course, the newer your phone is, the faster the docs will render.
The biggest complaint about the first version of the app as that searches were painfully slow. We released with a slow search because we felt it was more important to release a slow app rather than no app at all. As part of our iterative approach, we've disabled the "search-as-you-type" feature and it turns out that this greatly improves the search speed. We hope to reintroduce the "as-you-type" functionality once we've got it working at a good speed.
This latest release contains over 4,000 more modules than the previous version. We've still got more to include in the next version (such as cookbook docs), but this is a big improvement as well.
We've gotten some really positive feedback since we first announced the project and I've opened issues for the bug reports folks have sent to me. If you have issues or wishlist items, please feel free to create and tag your issues at GitHub.