Log in



Fossilite

Fossilite is an experimental, highly pre-pre-alphalpha Android client for the Fossil SCM, based off of its JSON API. It is far from being release-ready, but the source code is available now in case anyone wants to tinker.

Why write Fossilite? Because i am an active contributor to Fossil (i am the architect of its JSON API) and because programming on Android is my new hobby (as of mid-2012).

Once Fossilite actually does something useful it will be published on Google Play, possibly for free or possibly for a small fee (nothing more than a single Euro), or possibly ad-supported. That’s all still a long way off. The source code will be freely available even if the app has a nominal cost.

Here’s a screenshot:

(The titlebar says “Fossroid” – that was one of its first couple names.)

 

What currently works:

  • The basic underlying request/response model is in place and appears to be working fine, though it has some degree of evolutionary crud. After designing the whole thing for synchronous usage it turns out that Android 3+ won’t allow network i/o in the UI thread, so it had to be re-thought-out after a good deal of code was in place :/.
  • It keeps track of a single repo (URL) and persists this info across sessions. Adding support for multiple repo configs ┬áis of course on the TODO list.
  • Login/logout work.
  • Requests which do not require any special parameters are fetching their data but don’t do anything useful with it. Requests requiring arguments require more hand-written code per request in order to collect the arguments from the user. (A generic parameter-specification-to-View helper would be really useful here.)
  • Request/response error reporting is centralized in one spot. (Exceptions might still be a problem in async operations.)
  • Response output currently just gets dumped to the scrollable area on the right. That is of course just a development/debug crutch, and not a feature.

 

The TODO list is as long as my hair, so i won’t even bother starting to write it down.

Leave a Reply

You must be logged in to post a comment.