I really don't want to hijack JIT's thread with my thoughts, but since RoyN asked, I'll post it here. I've already mentioned some of this, but let me start from the beginning.
Again, let me begin by stressing the following:
I know OBD would be the proper way to go about measuring all values required for precision, but short of purchasing another $100 in hardware, I think the GPS can come reasonably close to providing similar functionality for this application.
Furthermore, I don't think this application should be limited to those who want to do everything manually, or those who want to use GPS, but should of course support the OBD hardware for those who have it, but as stated, it would be nice to gain additional functionality without additional expense
My thoughts here are meant to compliment the type of vehicle maintenance application that Justintime is talking about, and not replace it.
Ok, so here are a couple of things I've been thinking about which incorporate data provided by the GPS:
- automatic reminders of upcoming vehicle service
- *estimated* fuel/miles remaining for current tank
- *estimated* distance traveled since last fill-up
- virtual speedometer
- virtual odometer
- multiple trip odometers (e.g. measuring 1/4 mile stretch of road should be a bit more precise using GPS.. ahem)
I think the best way to address some of the issues is in Q&A form:
Q: How can it calculate my MPG per tank?
A: When you first initialize the application, you need to start with a full tank of gas, and enter the tank size into the application. Every time you fill up thereafter and enter the amount of fuel you refilled and the mileage from the odometer, it will calculate the MPG based on the distance travelled and fuel consumed. This will also reconcile mileage differences between vehicle odometer and GPS data.
Q: How can it calculate my current MPG?
A: Without OBD hardware it can't precisely calculate your current MPG since this is calculated from values read from the MAF and O2 sensors, etc; however, I think should be able to make a reasonable estimate based on previous MPG tank and speed averages. Of course rapid acceleration and deceleration play a major role in this as well, and should be able to be acommodated in calculations by an acceleration/deceleration factor based on the data received by the GPS.
Q: "What happens if I go through a tunnel and lose GPS signal?"
A: The software calculates the time and distance between when it lost the signal, and when it got it back. Based on the elapsed time it should be able to calculate how fast you were travelling
Q: "I sometimes drive short distances with the PC turned off,"
A: Try not to do this.

But seriously, how many miles are we talking about here? I don't think this is necessarily that big of a concern because it will be reconciled when you enter your fuel and mileage data at the next fill-up, or a manual mileage reconciliation. Manually entered data will always override GPS-generated data.
Q: The GPS data is just not accurate enough and I don't want to use it.
A: Turn off GPS measurements by unchecking the "Use GPS data" box.
(optimally, you can also select what functions you want the GPS to perform)
Example maintenance reminder popup:
Quote:
Upcoming Maintenance required at 35,850 Miles
(approximately 500 miles remaining):
Service required:
- Oil Change
- Transmission Fluid Change
- Tire Rotation
Contact J&J Service at (555) 555-5555 to schedule.
[Snooze] [Enter Service Details] [Cancel Reminder]
In this "example":
a) service notification can be based on mileage, mileage interval, or time period,
b) service items display is configurable, and
c) service provider and telephone# are all configurable within the application.
d) "snooze" period is configurable to whatever mileage or time period the user wishes
So like I said, those are just a few of my thoughts with regard to GPS integration..