emscripten

Adam D. Ruppe destructionator at gmail.com
Tue Dec 14 20:53:19 PST 2010


> What about Hotmail, Yahoo, MobileMe, etc?

I haven't used most of them for a long time. Gmail gets most
my ranting because its the one I've used most recently. (And
I remember my password to it so I could sign in and re-check
my statements before posting too.)

If I were writing a webmail program, here's how I'd do it though:

1) Start with a regular HTML view. A simple table of from/date/
subject, and a compose button. The messages are standard links, so opening in a
new window works as expected.

The compose screen is a very basic form. The website should be
perfectly usable in the Lynx browser.

2) Beef up the html. Ensure things like accesskeys and tabindexes are set, so
keyboard control works at least somewhat well.

3) Go back and start adding stuff on to it with scripts. The gmail polling for new
message notification is pretty useful, so add that. Having auto-completion of your
friends' email addresses is a nice thing gmail does too. I might add a document
keypress handler to add hotkeys, since I'm not really happy with browser
implementations of accesskeys (alt+shift+letter in firefox - did they not realize
the whole point was to be /accessible/? I can't get my fingers to contort that way
without hunt+pecking with both hands! But my old konqueror is much better - hit
control to toggle them on and off - and that's what I use, so meh.)

4) The scripts might fetch the message after the one you click on as well, just
ajax getting the next document in line then doing nothing with the result. My
server code would be configured to send the proper cache headers, meaning when you
click the link to actually view it, it is pre-loaded in the cache, and thus loads
instantly. A lot of websites do it for images, why not documents too? This would
keep the user visible latency to a minimum while browsing messages.


That's about it. It wouldn't be as good as a real application, but it'd be good
enough as webmail with or without scripting.


More information about the Digitalmars-d mailing list