This web service would determine if the client hardware was online, or offline. This would be useful in cases where you want to do live things like turn on/off stuff via the FB where the web service that controls that needs to know if the machine is online or not.

There should probably be a single method that would be consumed by the client and one for other web services to use.

Method exposed to client:

Code:

KeepAlive(string user, string passhash)

Method exposed to other web clients:

Code:

ClientStatus(string user)

In REST it would return something like:

Code:

<xml> <status>offline</status> </xml>

The idea is the client calls KeepAlive every 5-10mins or so and the service keeps tabs on how long since the last "ping". If the KeepAlive "ping" hasn't been fired in a certain timeframe, the client status is updated internally to "offline".

12-22-2009, 08:37 AM

Bugbyte

Good idea. Are there other services such as GPS information that should be included in some sort of base service that the user can control.

For example, a gps service that could be turned on and off by the user and would be able to be queried by another service or app that is not in the car? Perhaps other things such as the app that is being run and the screen the user is on?

I'm just thinking aloud here. Not sure if these make sense or not but I was aiming towards trying to give other services the ability to understand your context - say, if you've been sitting still for more than 3 or 4 minutes, a traffic service might look for congestion information or traffic cameras nearby.

The traffic service doesn't need to query your car for the information. It could query some type of status service like this one and it would either get access or be denied access depending on user controlled settings.

12-22-2009, 11:51 AM

ioi8

Quote:

Originally Posted by Bugbyte

Good idea. Are there other services such as GPS information that should be included in some sort of base service that the user can control.

I think simple car status info should all be rolled into this web sevice. Here is some sample info that could be used by other webservices/web front-ends...

Computer Status - on/off (if off, the rest of the follow values should be switched to null)

A short list that may be useful for other webservices or web front-ends is what I see this being used for.

12-22-2009, 01:57 PM

tripzero

Car engine status, gps location, and speed would probably be best used in other services. Those services would also likely use this service. For example, when you upload traffic information, the Traffic service could call KeepAlive so that the entire web service collection knows that you're online.

We could lump the traffic and tracking service into this, but I would keep the KeepAlive method available as the lowest common denominator (user may want online/offline status, but not tracking, and not traffic, etc).

12-22-2009, 02:04 PM

justchat_1

Agreed.....users are typically very cautious when it comes to tracking so that needs to be separate from any of the basic services.

That way it can be a simple Online/Offline status or if the user wants it can be a detailed message (playing xyz, navigating to abc, etc.). As long as it defaults to offline after x minutes without a ping it should still work just as well.