I finally was able to block off time to start my Mileage overhaul. It pretty much has to be a ground-up rewrite because of some idiotic shortcuts I took in the past. Before starting, I looked at all of the suggestions that everyone has sent me and began by designing the system flexibly so that additional functionality can be layered in later. Here's what I'm going to include in Mileage 3.0 out of the gate:
- Ability to store arbitrary metadata about a fillup (so you can save whatever notes you want in however many fields you want--you decide the system that works best for you)
- Create/use different vehicle types (car, motorcycle, etc)
- Create/use templates for service intervals--if you want to create your own service interval for paying insurance or anything else, just make a template and reuse it from then on.
- Per-vehicle settings so that you can set km as the default unit of measure for one vehicle and mi for another.
- ArtfulBits has agreed to donate their very powerful charting engine, so expect to see some much better charts.
- Per-fillup statistics
- All of the existing functionality as well
Soon after that, my plan for what I'm calling Mileage 3.5 in my head:
- Syncing data with a server (default to my server, ability to customize which server to sync with so you can provide your own implementation if you want)
- Backup data to a remote server (again, defaults to one I control with the ability to provide your own)
- Widgets to show you a quick summary of your vehicle (last mileage, trending up/down, etc)
Phew! I'm really looking forward to getting this done. I plan on having a usable alpha of 3.0 available this weekend and I'm hoping to release a week or two after that. Version 3.5 is too far away to estimate with any semblance of accuracy, so I'm just going to guess a month away, maybe more.
In case any developers are reading this, I've switched from SVN to Mercurial for Mileage development. You can find the repository over here. Patches welcome!