1. static void
Modest
_f_do_barnacle_install_properties(GObjectClass
*gobject_class)
{
GParamSpec *pspec;
Creating a modern mobile email
/* Party code attribute */
pspec = g_param_spec_uint64 (F_DO_BARNACLE_CODE,
"Barnacle code.",
"Barnacle code",
0,
client with GNOME technologies
G_MAXUINT64,
G_MAXUINT64 /* default value
*/,
G_PARAM_READABLE |
G_PARAM_WRITABLE |
G_PARAM_PRIVATE);
g_object_class_install_property (gobject_class,
F_DO_BARNACLE_PROP_CODE,
José Dapena Paz
jdapena@igalia.com
2. Brief history
● Started in 2006
● 2007 Targeted for Maemo Chinook
● December 2007 first beta release
● 2008 Maemo Diablo
● 2009 Development becomes public. Repository moved
to GIT
● Now. Maemo Fremantle release
3. How big is it?
● Modest
Total Physical Source Lines of Code
(SLOC) = 104,675
● Tinymail
Total Physical Source Lines of Code
(SLOC) = 179,363
19. Modest
● Message view based on gtkhtml
● Rich message editor based on wpeditor
● Offline read of messages and folders
● Integration with network status libraries
21. Hildon 2.2/Fremantle philosophy
● Proper experience with finger in small screens. No stylus
● No focus in views
● Actions not repeated through UI
● No hierarchies in menus
● No scrollbars ---> Use pannables
● No tabs
● Stackable windows
22. What to change in Modest?
Goal
Mail simple for everyone!
23. Main window replacements
● Diablo main window: very complex.
● Required stylus. Fingers usability was
almost broken.
● Move from old main window to “one window
per object handled”. Stackables. New
window management.
36. Migration to finger widgets
Use pannables
Finger size buttons
Replace comboboxes with touchable selectors.
37. What we did? More things
● Reused widgets from Diablo, but reorganized in new
windows.
● Stacking views. One window at a time.
● Pannables everywhere
39. Challenges
● Massive email accounts (Gmail like)
● High volume of information in small screens
● Performance requirements
● Slow network connection
● Plugin API
40. Challenge 1: massive email accounts
● Improved speed handling massive folders
● Faster response loading folders window
● Show fast last readed messages (the ones user wants
to see)
● Lots of bugfixing and performance improvements.
● More reliable now with very big folders.
41. Challenge 2: performance
● Lots of new optimisations
● Priority to perceived speed
● Show immediately the information user wants to see
● Better handling of big messages
42. Challenge 3: better MIME support
● Signed messages now visible
● Reply: adds References fields
● Multibody supported now
● Reply to HTML-only messages quotes properly
43. Challenge 4: plugin architecture
● Support for adding other protocols as plugins
● Storage and transport as camel backend plugins
● Modest plugin for UI side
● Other protocols? NNTP? RSS? You're invited!
45. Work done in 2009
● Finger enabled UI
● More reliable
● Plugins support
● Easier for user
● Faster, better user experience
● Better support of mail standards
46. Next releases
● More speed and power usage improvements
● Live search
● Optimize network bandwidth usage
47. Future
● Pluggable storage support
● Daemonize
● Take advantage of plugins architecture for new
features
● Ports to other devices. Moblin?