guadec2007: a modest email client
TRANSCRIPT
![Page 2: GUADEC2007: A Modest Email Client](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb607bbb61eb75528b45f0/html5/thumbnails/2.jpg)
overview
modest, the free mobile mail client
optimized for humans
technical background
UI innovations
![Page 3: GUADEC2007: A Modest Email Client](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb607bbb61eb75528b45f0/html5/thumbnails/3.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb607bbb61eb75528b45f0/html5/thumbnails/4.jpg)
tinymail: not a library
classical library framework / interfaces
http://www.tinymail.org
![Page 5: GUADEC2007: A Modest Email Client](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb607bbb61eb75528b45f0/html5/thumbnails/5.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb607bbb61eb75528b45f0/html5/thumbnails/6.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb607bbb61eb75528b45f0/html5/thumbnails/7.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb607bbb61eb75528b45f0/html5/thumbnails/8.jpg)
tinymail as protocol library
camel-lite uses much less
memory headers-only imap-idle attachment purging
![Page 9: GUADEC2007: A Modest Email Client](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb607bbb61eb75528b45f0/html5/thumbnails/9.jpg)
modest itself
mobile email is hard screens are small data entry is hard bytes are expensive
![Page 10: GUADEC2007: A Modest Email Client](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb607bbb61eb75528b45f0/html5/thumbnails/10.jpg)
thumbs up
don't require stylus make it big
![Page 11: GUADEC2007: A Modest Email Client](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb607bbb61eb75528b45f0/html5/thumbnails/11.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb607bbb61eb75528b45f0/html5/thumbnails/12.jpg)
account setup for dummies people with better things to do (1/4)
![Page 13: GUADEC2007: A Modest Email Client](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb607bbb61eb75528b45f0/html5/thumbnails/13.jpg)
account setup for dummies people with better things to do (2/4)
![Page 14: GUADEC2007: A Modest Email Client](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb607bbb61eb75528b45f0/html5/thumbnails/14.jpg)
account setup for dummies people with better things to do (3/4)
![Page 15: GUADEC2007: A Modest Email Client](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb607bbb61eb75528b45f0/html5/thumbnails/15.jpg)
account setup for dummies people with better things to do (4/4)
![Page 16: GUADEC2007: A Modest Email Client](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb607bbb61eb75528b45f0/html5/thumbnails/16.jpg)
limit thy bytes
headers-only limit number limit size
![Page 17: GUADEC2007: A Modest Email Client](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb607bbb61eb75528b45f0/html5/thumbnails/17.jpg)
just what i want
![Page 18: GUADEC2007: A Modest Email Client](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb607bbb61eb75528b45f0/html5/thumbnails/18.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb607bbb61eb75528b45f0/html5/thumbnails/19.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb607bbb61eb75528b45f0/html5/thumbnails/20.jpg)
show me the code
http://modest.garage.maemo.org
![Page 21: GUADEC2007: A Modest Email Client](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb607bbb61eb75528b45f0/html5/thumbnails/21.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb607bbb61eb75528b45f0/html5/thumbnails/22.jpg)
questions