Re: DataModel.cs
- From: Havoc Pennington <hp redhat com>
- To: BJörn Lindqvist <bjourne gmail com>
- Cc: GNOME Desktop Devel <desktop-devel-list gnome org>
- Subject: Re: DataModel.cs
- Date: Wed, 08 Aug 2007 12:19:50 -0400
Hi,
BJörn Lindqvist wrote:
On 8/7/07, Havoc Pennington <hp redhat com> wrote:
Hi,
To get started on Tomboy I wrote DataModel.cs, which exposes the "Online
Desktop Engine" data model to C#. When you're done laughing at my C#
incompetence this is maybe a useful illustration of how the data model
works.
The protocol looks alot like LDAP. Is that a coincidence?
It's an object tree, and LDAP is also. However, LDAP would be:
Desktop App -> [LDAP protocol] -> [LDAP Plugins] ->
[LDAP Object Database]
while this is:
Desktop App -> [DBUS] -> [ODE] ->
[Arbitrary Custom Server-Side Code] ->
[Relational Database]
We want the arbitrary custom server-side code, and we want to also use
the data in the relational database to create web UI and APIs that use
the same data.
In other words, we want application logic on the server side.
All the work here is in application logic, both client and server side.
Saying "it's just LDAP" is not meaningful because that implies the
entire problem is storing data, and storing data is not the entire
problem. (See my other post about why we can't just say "use WebDAV" -
again, storing data is not the entire problem.)
I bet my hat
on that 99% of all components needed for online desktop already
exists. There is also REST
(http://www.xfront.com/REST-Web-Services.html) and JSON
(http://www.json.org) which could probably help with the HTTP part of
the protocol.
That is equivalent to saying that we already have 99% of OpenOffice.org
because we have XML for the file format and we can do APIs in C++. You
are saying we have Online Desktop because we have LDAP for data storage
and REST/JSON for APIs.
Meanwhile, OpenOffice still requires 6 million lines of application
logic on top of that stuff.
You still have to design the XML or LDAP schema, and you still have to
design and implement the APIs, and then you have to use the schema and
the APIs to write an app.
I would not characterize the application logic as 1% of the work!
Havoc
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]