GUADEC2007: A Modest Email Client

22
modest a modest e-mail client <[email protected]> 2007.07.17 GUADEC 2007 Birmingham UK

Transcript of GUADEC2007: A Modest Email Client

Page 1: GUADEC2007: A Modest Email Client

modest

a modest e-mail client<[email protected]>

2007.07.17 GUADEC 2007 Birmingham UK

Page 2: GUADEC2007: A Modest Email Client

overview

modest, the free mobile mail client

optimized for humans

technical background

UI innovations

Page 3: GUADEC2007: A Modest Email Client

high level design

Hildon1/GTK+ tinymail libcamel, camel-lite

1: ”Hildon” is a GTK+ extension library for Internet Tablets. Cfg. gnome-ui

Page 4: GUADEC2007: A Modest Email Client

tinymail: not a library

classical library framework / interfaces

http://www.tinymail.org

Page 5: GUADEC2007: A Modest Email Client

tinymail is a framework

tinymail specifies interfaces

your app implements these interfaces

you call tinymail, tinymail calls back

Page 6: GUADEC2007: A Modest Email Client

example: the account store

an account store is an object that holds email accounts

modest implements its own 'account store'

tinymail is happy with that, as long as modest implements:

tny_account_store_get_accounts

tny_account_store_alert

...

Page 7: GUADEC2007: A Modest Email Client

interfaces: hmmm...

powerful and flexible require more learning time with gtk+ and threads, it's not easy...

(gdb) thread apply backtrace

Page 8: GUADEC2007: A Modest Email Client

tinymail as protocol library

camel-lite uses much less

memory headers-only imap-idle attachment purging

Page 9: GUADEC2007: A Modest Email Client

modest itself

mobile email is hard screens are small data entry is hard bytes are expensive

Page 10: GUADEC2007: A Modest Email Client

thumbs up

don't require stylus make it big

Page 11: GUADEC2007: A Modest Email Client

account setup is hard

Example: gmail server name (hmm...

pop.gmail.com?) ssl? tls? port number? 995? #*$^&?! now repeat for smtp smtp?! i give up!

Page 12: GUADEC2007: A Modest Email Client

account setup for dummies people with better things to do (1/4)

Page 13: GUADEC2007: A Modest Email Client

account setup for dummies people with better things to do (2/4)

Page 14: GUADEC2007: A Modest Email Client

account setup for dummies people with better things to do (3/4)

Page 15: GUADEC2007: A Modest Email Client

account setup for dummies people with better things to do (4/4)

Page 16: GUADEC2007: A Modest Email Client

limit thy bytes

headers-only limit number limit size

Page 17: GUADEC2007: A Modest Email Client

just what i want

Page 18: GUADEC2007: A Modest Email Client

so far so good so what

feature complete POP3, IMAP4, SMTP, SSL/TLS headers-only IMAP folders, IDLE, ... rich text editor UI for N8001 and Sardine2

1: N800: most recent Nokia Internet Tablet, http://www.nokia.com/n8002: Sardine: development version of the Internet Tablet SDK

Page 19: GUADEC2007: A Modest Email Client

development continues

alpha-ready work to do </bugs>

% find ~/src/modest/ -name '*.c' -exec grep -i FIXME \{\} \; | wc -l

62

Page 20: GUADEC2007: A Modest Email Client

show me the code

http://modest.garage.maemo.org

Page 21: GUADEC2007: A Modest Email Client

parting thoughts

big thanks to all involved getting better every day

Tinymail

free as in ”Free Willy”

works on Bora (N800), Sardine

porting to other Hildon easy

contains lots of interesting code

Page 22: GUADEC2007: A Modest Email Client

questions