<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000000">
Hi,<br>
I've been reading about the idea of generic access to a data store
for configuration information but was wondering if there are plans to
have generic access to actual data. There are two reasons why I
believe this is key to development of a system like OpenMoko:<br>
<ul>
<li>It allows developers to generate drop-in replacements for
existing functionality (don't like the existing contacts manager and
want to write your own? As long as you meet the interface contract
then no problems)</li>
<li>It allows applications to obtain data (and also update it, of
course) without needing to know much about the external program(s) out
there. More importantly, it allows applications to obtain data from
arbitrary providers<br>
</li>
</ul>
Picking TomTom as the last example where the lack of the above annoyed
me, when setting up a route there was no way of saying "I want to go to
Fred's house" even though Fred's information was sitting there in the
contact DB of my 'smart'phone. So I had to load up my contacts
manager, copy Fred's postcode, and then go back to TomTom to paste that
in. Then of course I had to type in the house number, which I also
didn't have, so ended up having to jot it down on a bit of paper. Ugly
ugly ugly.<br>
<br>
The obvious communications mechanism for this is DBus, and in this
environment the interface contract would be a list of methods and
signals to implement on a given object path. Combining well-known
paths and methods with publish/subscribe starts to become very
interesting. For example, in your navigation app you ask for Fred's
information. This sends out a message to all address-capable
applications. Unfortunately although you have Fred's contact info on
your 'phone you don't have his address. Fortunately one of the apps
listening to the message is designed to hit a number of well-known
directory services out on the 'net and it finds the info you are
looking for from one of those and so you get the data you were after.<br>
<br>
So what's special about the above example? It's modular: the person
who owns/writes the main contacts manager app doesn't know or care
about talking to directory services and focuses on generating the best
app they can. Separately, someone else writes the app that just
queries directory services for information given a key (email address,
for example). And although these two apps don't necessarily even know
about each other, or the navigation app, they all play happily together.<br>
<br>
Anyway, I guess that my point is if there is some attempt to make
this work then the key things that needs to be sorted out is a set of
well-known object paths, methods and signals so that this type of thing
would work. Are there any moves afoot to look at setting up such
information?<br>
<br>
Cheers,<br>
Jim.<br>
</body>
</html>