You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Maxime Petazzoni <ma...@bulix.org> on 2005/07/10 16:19:24 UTC

mod_mbox user interface

Hi,

As promised, here comes a description of my plans on mod_mbox new user
interface.

First of all, it is very important that mod_mbox works with all
browsers (in the idea of "Best viewed with all browsers"). This is why
I will distinguish two modes :

- the classic, Javascript-less interface
- the JS-powered AJAX browser.

The homepage of a mailing list archive will display the list of
available mailboxes (as it does now), and for each mailbox, it will
propose something like this :

July 2005    Browse (242 messages)
             (or browse by date, author or thread)

Each of the three bottom links (date, author, thread) are links to the
simple interface. This line may be displayed smaller than the "main"
link.

There is not much to say about the classic interface. It's a kind of
compatibility mode, and it will works exactly as the current version
of mod_mbox : browse by date, author and thread, viewing individual
message once at a time, etc.

URIs for this mode are (base: /YYYYMM.mbox/) :

/date
/thread
/author
/<message_id>

All these URIs reply with XHTML contents (or whatever output format we
choose).

The browser will be very different. After you've choosed the mailbox
you want to browse, it will load a very simple XHTML page with an
onLoad Javascript function, located at /YYYYMM.mbox/browser.

This function will make a first request to grab the mailboxes list and
display it in a sidebar on the left. Each mailbox has is linked to its
corresponding browsing interface, and the current one is highlighted.
Then, it will make another request to grab the message list, and
display it in the main part of the page, in the default sort format :
threads.

+---------------+  +------------------------------------------------+
| Box list      |  | Message list          Threads | Authors | Date |
+---------------+  +------------------+------------------+----------+
| Jul 2005  242 |  | Maxime Petazzoni | mod_mbox         | Jun 26th |
|*Jun 2005**561*|  | Paul Querna      |   Re: mod_mbox   | Jun 27th |
| May 2005  478 |  |

In the message list box header, links for changing message list sort
order. These links do not make any request to the server, the
Javascript will do the job.

When the user clicks on a message, the message list collapse to a ten
lines message context, and a new box appears under the message list to
display the mail. Mail contents are fetched by a Javascript
request. The current message is highlighted in the message list.

In the message view box header, links for next and previous message
(in current sort order), and a 'X' to "close" the message, and
re-expand the message list.

This features requires some "backend" URIs that mod_mbox must
handle. These URIs will be answered with XML contents. They will be
(still based on: /YYYYMM.mbox/) :

- Box list : /ajax/boxlist
  Reply    :

<mailboxes>
 <mbox year="2005" month="07" msgs="242" />
 <mbox year="2005" month="06" msgs="561" />
 <!-- the rest ... -->
</mailboxes>

The year split I added recently will be deleted since it's not a good
XML structuration.

- Message list : /ajax/msglist
  Reply        :

<messages>
 <thread>
  <mail id="..." linked="0">
   <from>maxime.petazz...@bulix.org</from>
   <strfrom>
    Maxime Petazzoni &lt;maxime.petazz...@bulix.org&gt;
   </strfrom>
   <subject>mod_mbox</subject>
   <date>Sun, 26 Jun 2005 17:42:42</date>
  </mail>
  <thread>
   <mail id="..." linked="1">
     ...
   </mail>
  </thread>
 </thread>
</messages>

The linked parameter is set to 0 if the message comes from another
mailbox, but the replies are in the current one. In this example, the
current mailbox could be July 2005, and the second mail replies to a
mail from June 2005.

- Message : /ajax/<message_id>

<mail>
 <from>maxime.petazz...@bulix.org</from>
 <strfrom>
  Maxime Petazzoni &lt;maxime.petazz...@bulix.org&gt;
 </strfrom>
 <subject>mod_mbox</subject>
 <date>Sun, 26 Jun 2005 17:42:42</date>
 <smime>
  <smime id="1">
   <attach id="1" type="text/plain" name="Message" />
   <attach id="2" type="text/plain" name="mod_mbox.patch" />
  </smine>
  <attach id="2" type="application/pgp-signature"
          name="OpenPGP Signature" />
 </attachments>
 <contents>
Hi,

This is a signed S/MIME mail with an attached patch !

- Sam
 </contents>
</mail>


Well, I think that's all I need to say on the browser. I know this may
not be perfect, so feel free to comment and criticize, especially the
XML replies.

- Sam

-- 
Maxime Petazzoni (http://www.bulix.org)
 -- gone crazy, back soon. leave message.

Re: mod_mbox user interface

Posted by Maxime Petazzoni <ma...@bulix.org>.
> >   On firefox/win32,  the "box list" and "message lists" aren't 
> >vertically aligned correctly (at least for me.)
> 
> Not to mention that the box list floats over the message list and 
> message view if you make the browser window narrow enough. :)

Both of these problems come from the fact that I don't use a table to
make the global positioning.

Added to the ToDo list.

- Sam

-- 
Maxime Petazzoni (http://www.bulix.org)
 -- gone crazy, back soon. leave message.

Re: mod_mbox user interface

Posted by Branko Čibej <br...@xbc.nu>.
Paul A Houle wrote:

> Maxime Petazzoni wrote:.
>
>>
>> As promised : a first try at XHTML mockup. Comments about DOM
>> structure and XHTML semantics are welcome !
>>
>> http://skikda.bulix.org/~sam/ajax/jsless/
>>  
>>
>    On firefox/win32,  the "box list" and "message lists" aren't 
> vertically aligned correctly (at least for me.)

Not to mention that the box list floats over the message list and 
message view if you make the browser window narrow enough. :)

-- Brane


Re: mod_mbox user interface

Posted by Paul A Houle <ph...@cornell.edu>.
Maxime Petazzoni wrote:.

>
>As promised : a first try at XHTML mockup. Comments about DOM
>structure and XHTML semantics are welcome !
>
>http://skikda.bulix.org/~sam/ajax/jsless/
>  
>
    On firefox/win32,  the "box list" and "message lists" aren't 
vertically aligned correctly (at least for me.)  Other than that,  it's 
quite pretty.  You could reduce the whitespace margins considerably,  
maybe even lose the box around the year/month listings on the side.

    From a usability perspective,  I like 'three-pane' sorts of 
interfaces,  but I'm often infuriated by things that waste a lot of 
space so I can't read the actual message.  The huge space allocated to 
the logo at the top could be reduced (that will probably be easy to 
template away,  but if you set a bad example for people,  they'll follow 
it -- also I get the feeling that the message list takes up space that I 
could use to read the message...

Re: mod_mbox user interface

Posted by "Roy T. Fielding" <fi...@gbiv.com>.
On Jul 11, 2005, at 9:06 PM, Maxime Petazzoni wrote:
> As promised : a first try at XHTML mockup. Comments about DOM
> structure and XHTML semantics are welcome !
>
> http://skikda.bulix.org/~sam/ajax/jsless/


2005 |  It looks great except for all the wasted whitespace.
  Jul |  One thing I look for in a mail interface is to be narrow
  Jun |  enough so that the window can be displayed side-by-side
  May |  with a terminal window for cut-n-paste.  You could fix
  Apr |  that by changing the wide mbox list to a simple one
  Mar |  limited to four characters, like the one on the left.
  Feb |
  Jan |  And you can place the number of messages per month in
---- |  a roll-over title instead of a table.
2004 |
  Dec |
  Nov |
  Oct |
  ... |

What do you think?

....Roy


Re: mod_mbox user interface

Posted by Maxime Petazzoni <ma...@bulix.org>.
> My plans for this week are cancelled. I will make a second XHTML
> mockup of what I submitted yesterday. I hope that I'll be able to
> present a patch for the full XHTML version until next Monday and the
> Hackathon.

As promised : a first try at XHTML mockup. Comments about DOM
structure and XHTML semantics are welcome !

http://skikda.bulix.org/~sam/ajax/jsless/

- Sam

-- 
Maxime Petazzoni (http://www.bulix.org)
 -- gone crazy, back soon. leave message.

Re: mod_mbox user interface

Posted by Maxime Petazzoni <ma...@bulix.org>.
Re-

> Let's go :)

A "pre-alpha ultra-experimental" version is available at my
development server : http://skikda.bulix.org/archives/dev/

This version includes the XHTML mbox list output, a Javascript-less
browsing interface and a stub for the AJAX browser interface. If your
browser does not support Javascript, the link to the AJAX browser
won't even be displayed. Browser features only includes mailbox thread
listing (no re-sorting), opening a mail (the message list collapse
into a context viewer), and closing the mail window. In both modes,
the box list is missing. It will be added soon.

This is my first wide Javascript DOM alteration functions, and I'm not
sure I'm doing things well or optimized enough.

As usual, comments, reviews and ideas are welcome !

- Sam (going to bed as the sun rises, one more time ...)

-- 
Maxime Petazzoni (http://www.bulix.org)
 -- gone crazy, back soon. leave message.

Re: mod_mbox user interface

Posted by Maxime Petazzoni <ma...@bulix.org>.
Hi,

> are you going to be making a AJAX and a XHTML version of the same
> page?  you might want to concentrate on the XHTML version first and
> we could get that out the door quickly.

My plans for this week are cancelled. I will make a second XHTML
mockup of what I submitted yesterday. I hope that I'll be able to
present a patch for the full XHTML version until next Monday and the
Hackathon.

It will require some code restructuring (in addition to output
changes) and I hope that the way I'll do it will be good.

Let's go :)

- Sam
-- 
Maxime Petazzoni (http://www.bulix.org)
 -- gone crazy, back soon. leave message.

Re: mod_mbox user interface

Posted by Ian Holsman <li...@holsman.net>.
This mockup looks great Sam.
it is a definite improvement to what is there (which wasn't hard)
+1 from me.

are you going to be making a AJAX and a XHTML version of the same page?
you might want to concentrate on the XHTML version first and we could 
get that out the door quickly.

Maxime Petazzoni wrote:
> Hi again,
> 
> 
>>The homepage of a mailing list archive will display the list of
>>available mailboxes (as it does now), and for each mailbox, it will
>>propose something like this :
>>
>>July 2005    Browse (242 messages)
>>             (or browse by date, author or thread)
>>
>>Each of the three bottom links (date, author, thread) are links to the
>>simple interface. This line may be displayed smaller than the "main"
>>link.
> 
> 
> After a quick chat with chipig on #apache-modules, we found a better
> solution : these links will be build via Javascript. If the browser
> can do Javascript, the 'Browse' link will be displayed (and the three
> others in small under it). Otherwise, only the three browsing method
> links will be shown.
> 
> 
>>+---------------+  +------------------------------------------------+
>>| Box list      |  | Message list          Threads | Authors | Date |
>>+---------------+  +------------------+------------------+----------+
>>| Jul 2005  242 |  | Maxime Petazzoni | mod_mbox         | Jun 26th |
>>|*Jun 2005**561*|  | Paul Querna      |   Re: mod_mbox   | Jun 27th |
>>| May 2005  478 |  |
> 
> 
> I've made a small and simple mockup in order to give a better idea of
> what it could look like. You can find it at
> http://blog.bulix.org/pics/soc-2005/mockup.jpg
> 
> - Sam
> 


Re: mod_mbox user interface

Posted by Maxime Petazzoni <ma...@bulix.org>.
Hi again,

> The homepage of a mailing list archive will display the list of
> available mailboxes (as it does now), and for each mailbox, it will
> propose something like this :
> 
> July 2005    Browse (242 messages)
>              (or browse by date, author or thread)
> 
> Each of the three bottom links (date, author, thread) are links to the
> simple interface. This line may be displayed smaller than the "main"
> link.

After a quick chat with chipig on #apache-modules, we found a better
solution : these links will be build via Javascript. If the browser
can do Javascript, the 'Browse' link will be displayed (and the three
others in small under it). Otherwise, only the three browsing method
links will be shown.

> +---------------+  +------------------------------------------------+
> | Box list      |  | Message list          Threads | Authors | Date |
> +---------------+  +------------------+------------------+----------+
> | Jul 2005  242 |  | Maxime Petazzoni | mod_mbox         | Jun 26th |
> |*Jun 2005**561*|  | Paul Querna      |   Re: mod_mbox   | Jun 27th |
> | May 2005  478 |  |

I've made a small and simple mockup in order to give a better idea of
what it could look like. You can find it at
http://blog.bulix.org/pics/soc-2005/mockup.jpg

- Sam

-- 
Maxime Petazzoni (http://www.bulix.org)
 -- gone crazy, back soon. leave message.