FYI, short and long term planning for Tinymail



My current short term planning:

- Release Tinymail 1.0 once all bindings are known current bugs are fixed

- Start Tinymail 2.0's development
- Improve the bodystructure parser and its TnyCamelBs* consumers
- Experiments with the new summary storage
- A TnyAccountConnectionStrategy
  - Defines what to do when connection troubles occur
  - For example auto-reconnects after a timeout
  - public interface Tny.AccountConnectionStrategy {
       void on_connection_timeout (Tny.Account a);
       void on_disconnect (Tny.Account a);
       void on_connect (Tny.Account a);
       void on_reconnect (Tny.Account a);
    }
  - account.ConnectionStrategy = new Tny.TryToStayOnlineStrategy()
  - account.ConnectionStrategy = new Tny.ReportOnConnectionFailureStrategy()
  - account.ConnectionStrategy == typeof (Tny.DefaultConnectionStrategy)
  - public class Tny.TryToStayOnlineStrategy : Tny.ConnectionStrategy {
      public void on_connection_timeout (Tny.Account a) {
         TnyCamelAccount ca = (TnyCamelAccount) a;
         sleep (10);
         ca.set_online (TRUE, NULL, NULL, etc etc);
      }
    }
  - public class Tny.RestartIdleConnectionStrategy : Tny.TryToStayOnlineStrategy {
      public override on_reconnect (Tny.Account a)
      {
          Tny.Folder cur = get_currently_selected_folder_somehow();
          cur.refresh();
      }
    }
- Cleanup crap code
- Continue bugfixing for Modest related functionality
- Etc etc 

Long term planning:

- Remove all synchronous apis (yes, I'm serious, I might even move this to short term planning)
- Implement a fine summary storage (mytest6.tar.gz)
- Implement a fine bodystructure parser (being tested right now in short term planning)
- Or Take Mulberry's IMAPClient library and prepare it to be used outside of Mulberry
- Or work with something that doesn't yet exist :) (/me waves at Dave)
- Reimplement all abstract Tinymail types and interfaces in Vala (I might move this to shortterm planning)
- Refactor some of the interfaces to abstract types with a minimal implementation (same)



-- 
Philip Van Hoof, freelance software developer
home: me at pvanhoof dot be 
gnome: pvanhoof at gnome dot org 
http://pvanhoof.be/blog
http://codeminded.be






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]