demexp-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Demexp-dev] And now, what for demexp--dev--0.7?


From: David MENTRE
Subject: [Demexp-dev] And now, what for demexp--dev--0.7?
Date: Fri, 05 Aug 2005 23:49:04 +0200
User-agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.4 (gnu/linux)

Hello,

Now that stable 0.6 is out, we can focus on next development version
0.7.

Currently, I plan following items for next stable 0.8:

 - implement delegation *in the server*, i.e. all the server and network
   code, without user related code;

 - internationalisation and localisation, if the wanabee demexp hacker
   wakes up. ;)


Now, there is also a hard point that I would like to improve for 0.8:
the client.

I'm *very* unsatisfied with the current client[1]: I think the user
interface is pretty complicated (i.e. bad) and, more importantly, it is
difficult for newcomers to "be into the loop", i.e. install the client
and use it. Even core project members have issues to setup the
client[2].

>From the beginning, we (or rather I :) have chosen to implement a
graphical client from scratch in order to not limit ourselves in terms
of user interaction. But this freedom has a price: it is hard and time
consuming to build a client from scratch.

While I still believe that this choice is a good one for the long term
(Jean-Marie Favreau and myself have some ideas on how we could improve
the client[3]), it is still necessary to facilite the entry of new
people. A new client from scratch was probably too ambitious. The
obvious way is to use a standard web browser as client.

So, once again, I'm considering a way to have a web interface to
demexp. 

 - At one point, I considered implementing a Firefox plugin for demexp,
   but as I would like to keep the RPC protocol between client and
   server, it would make a complicated plugin (XPCOM component, biding
   between C++ and OCaml) or would be a Javascript nightmare. And the
   task of installing a plugin would lost us users;

 - Another approach would be to implement a module on the server side
   that makes the link between the web server and the demexp server;

 - The last approach would be to implement an HTTP server into the
   current demexp server.

I'm in favor of the second approach, that still forces us to keep the
RPC protocol and separate the server issues from client issues. Now, how
to proceed? OCaml code for writing web server side code exists (Gerd
Stolpmann's libraries come to mind). The main issue is to implement a
statefull demexp binding with HTTP stateless protocol. I don't know if
it is easy or not. However, I don't think it would be difficult to
imlement current user interface as web pages.

The other important issues are to see if it could be possible:

 - to implement the new ideas developed by Jean-Marie and myself in the
   web interface. I think this can be done, maybe with a little less
   nice graphical layout (but Jean-Marie is good at CSS, XHTML and
   graphics, so that could be a big plus. Having fancy graphics is
   important for users... and developers ;-) ;

 - to implement user side delegation (no idea how to do that, we need to
   think about it).

Ok, I already hear Frédéric crying on the insanity of doing a web
interface ;) but if we want to reach a critical mass by 2007, with a
polished client and users on Windows, MacOS X and the various Linux
distributions, only the web interface seems affordable to me from a
software engineering point of view[4]. As soon as the web interface
works, we have a client on *all* platforms.

As usual, the discussion is open and I would be glad to hear your
comments.

Yours,
d.

[1] As it is my own code, I'm free to criticize it. ;)

[2] Names concealed to keep them in the project. :)

[3] http://www.demexp.org/dokuwiki/doku.php?id=client:client_ergonomics

[4] Or find packagers like Thomas and Thomas for all linux distribs and
    full time developers like Christophe Gisquet for Windows and Mac
    ports, plus a full time developer to improve the client.
-- 
pub  1024D/A3AD7A2A 2004-10-03 David MENTRE <address@hidden>
 5996 CC46 4612 9CA4 3562  D7AC 6C67 9E96 A3AD 7A2A





reply via email to

[Prev in Thread] Current Thread [Next in Thread]