Modest Maemo Summit 09
Upcoming SlideShare
Loading in...5
×
 

Modest Maemo Summit 09

on

  • 1,765 views

Modest 2009 status talk for Maemo Summit 2009

Modest 2009 status talk for Maemo Summit 2009

Statistics

Views

Total Views
1,765
Views on SlideShare
1,763
Embed Views
2

Actions

Likes
1
Downloads
24
Comments
0

2 Embeds 2

http://www.slideshare.net 1
http://www.lmodules.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Modest Maemo Summit 09 Modest Maemo Summit 09 Presentation Transcript

  • 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
  • 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
  • How big is it? ● Modest Total Physical Source Lines of Code (SLOC) = 104,675 ● Tinymail Total Physical Source Lines of Code (SLOC) = 179,363
  • Goals
  • Easy to use
  • Embedded devices ● Small resources ● Small screen ● Small storage
  • Multiple UI. Common logic
  • Gnome UI
  • Maemo 4/Diablo UI
  • Maemo 5/Fremantle UI Next slides... :)
  • Support for modest common email protocols ● IMAP ● POP3 ● SMTP
  • Extensibility New Plugin architecture
  • Architecture
  • Architecture GTK Modest Modest Modest Gnome stack Plugin Xproto Plugin Yproto Maemo Hildon platform libtinymail-gtk libtinymail-maemo Tinymail Camel Xproto Camel Yproto libtinymail-camel camel-lite Xproto daemon IMAP POP SMTP
  • Camel-lite
  • mmap-ed summaries ● Very reduced memory usage ● Very compact representation on disk ● Efficient use of memory (thx kernel)
  • Camel features out-of-the-box ● Great support for MIME ● Streams based API ● Modular extensible
  • Tinymail ● Multiple platforms ● Simplifies Camel API's ● Integrated Glib mainloop ● Gtk+ widgets ● Asynchronous API's. Responsive UI ● Modular design
  • Modest ● Message view based on gtkhtml ● Rich message editor based on wpeditor ● Offline read of messages and folders ● Integration with network status libraries
  • Migration to Hildon 2.2
  • 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
  • What to change in Modest? Goal Mail simple for everyone!
  • 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.
  • Main window replacements
  • Main window replacements
  • Main window replacements
  • Main window replacements
  • Show relevant information Small space for important information
  • Show relevant information
  • Show relevant information
  • Very complex menus Diablo hierarchies: 3 levels. Difficult to browse, not easy to understand. Hard to... tap.
  • Very complex menus ● Menus in Fremantle: ● Up to 10 options ● No hierarchy
  • No focus
  • No focus
  • No focus
  • Migration to finger widgets Use pannables Finger size buttons Replace comboboxes with touchable selectors.
  • What we did? More things ● Reused widgets from Diablo, but reorganized in new windows. ● Stacking views. One window at a time. ● Pannables everywhere
  • Challenges
  • Challenges ● Massive email accounts (Gmail like) ● High volume of information in small screens ● Performance requirements ● Slow network connection ● Plugin API
  • 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.
  • Challenge 2: performance ● Lots of new optimisations ● Priority to perceived speed ● Show immediately the information user wants to see ● Better handling of big messages
  • Challenge 3: better MIME support ● Signed messages now visible ● Reply: adds References fields ● Multibody supported now ● Reply to HTML-only messages quotes properly
  • 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!
  • Conclusions
  • Work done in 2009 ● Finger enabled UI ● More reliable ● Plugins support ● Easier for user ● Faster, better user experience ● Better support of mail standards
  • Next releases ● More speed and power usage improvements ● Live search ● Optimize network bandwidth usage
  • Future ● Pluggable storage support ● Daemonize ● Take advantage of plugins architecture for new features ● Ports to other devices. Moblin?
  • Get involved ● https://git.maemo.org/projects/modest ● http://modest.garage.maemo.org ● #modest @ freenode ● modest-devel@garage.maemo.org ● modest-users@garage.maemo.org Questions?
  • Thanks!