11:23:46 am on February 3, 2011 |

This is a copy of an email I sent to the m2e-dev mailing list, reproduced here for visibility and because I used wordpress.com to draft this. The idea came out of a twitter discussion and a desire to create a list of dependencies appropriate for Android apps, and where the best place for such a “catalogue” of dependencies would be.



Problem: Thanks to the indexing remote repositories dependencies can be quickly searched and added to projects through M2Eclipse. However, normally developer’s still need to be aware that a particular dependency exists first before they can search for. It would be nice if developers had the ability to discover new projects or APIs in the Central repository.

Solution: I propose a Maven Catalogue GUI based on the iPhone App Store or Eclipse Marketplace. In addition to being able to search dependencies based on tags, descriptions, titles, etc., users could also order searches based on ratings. Alternative panes for “just in” dependencies, or “best rated” could also be included, allowing developer’s to find alternatives or discover new dependencies through the Eclipse IDE.

Other metrics for Maven dependencies could be included, such as file size and number of dependencies, etc. to encourage developer’s to minimise their dependencies.

Sub-catalogues: For example, while Android apps can use regular JAR files, there are now many Android-specific APIs packaged with fewer dependencies and minimalist coding. It would be nice to present an Android/Mobile sub-catalogue from which Android developers could select dependencies in the confidence that they would not bloat their apps. Other sub-catalogs could include reporting plugins and archetypes.

The Eclipse Marketplace points the way towards achieving this: we could leverage the UI code they have already written. Similarly the back-end web service/site was put together very quickly and simply using the Drupal content-management.

The last bit of good news is that many websites such as Ohloh, freshmeat.net, etc. already have ratings and comments/reviews for the various projects hosted in the Central Repository. Most of these sites already provide APIs. And of course there is lots of catalogue-friendly project meta-data already included in POM files.

Thoughts?