wiki:DeveloperSummit2012

Version 4 (modified by damato, 3 years ago) (diff)

final update to developer summit page

YAM Developer Summit 2012 (Wohlenberg, Germany)

On the evening of June 1st 2012 and June 2nd 2012 the two leading YAM developers Thore Böckelmann and Jens Langner met in the nice little city of Wohlenberg, Germany. One of the goals of this meeting was to discuss and decide on the 2012/2013 development roadmap of YAM. Besides general discussions on the current development situation of YAM the development roadmap for the YAM 2.8 and versions beyond were discussed throughoutly. This page should summarize information on the general consensus of this meeting so that users and interested developers can get an impression which road the future development of YAM will take.

General consensus/decisions

  • The development of YAM 2.8 is progressing nicely and there are chances that it might already be released before its planned release date (christmas 2012).
  • Major changes in YAM 2.8 will be the recently implemented multi-identity/multi-smtp server as well as unlimited signature support which will greatly support the introduction of the IMAP protocol in future versions of YAM.
  • Before releasing a final YAM 3.0 version with full IMAP support a 2.9 version will be released in the course of 2013 with some intermediate (limited) IMAP support already.
  • Future versions of YAM will continue to be released for AmigaOS4/PPC, MorphOS/PPC, AmigaOS3/m68k, AROS/x86, AROS/PPC and AROS/x86_64.
  • While all AmigaOS-derived platforms will be supported, maintainers (developers) for MorphOS/PPC and all AROS-based platforms are missing and should be encouraged to join the YAM project.
  • The introduced multithreading (multiple processes) support in YAM 2.7+ has been proved to work stable. In the course of YAM 2.8/2.9 development the multithreading framework will be take over more tasks like e.g. mail filtering in the background, etc.
  • Contributing translators are updating their catalogs on a regular basis which supports the initial decision to open catalog translation for every interested translator rather than solely relying on the nowadays vanishing Amiga Translators' Organization (ATO).
  • More translators are required and should be encourage to join the project so that we can support a larger amount of different languages.
  • Consolidation regarding moving our different online support systems (FAQ, Forum, Documentation) to solely using 'trac' will continue with eventually porting important topics from the formerly phpBB-based forum to the trac-based forum plugin.

YAM 2.8 roadmap decisions

  • #57: The upcoming threaded mail view will not use NListtree because of performance considerations. It will be implemented by using simple text indentation in the current mail listview. Internal changes are still required to link the "References:" header field entries to an internal mail hierarchy.
  • #74: Full Content-Type 'format=flowed' support requires substantial changes to TextEditor.mcc so that quoting characters (>) are replaced by vertical bars.
  • #124: The current mailing-list support (in each folder config) will be abadoned and replaced by an own YAM configuration page which will allow to configure an unlimited amount of mailing-list addresses for which e.g. Mail-Reply-To: and Mail-Followup-To: will be applied.
  • #127: xadmaster.library support will be integrated mostly for allowing to unarchive all supported xad client formats.
  • #128: The SPAM filter routines will be synced again to the latest Thunderbird sources and support for external SPAM systems (e.g. spamassassin) added similar to how this is handled in Thunderbird.
  • #131: Full SSL certificate authentication support is needed but requires substantial changes to allow the user to add own root certificates, etc. A simple notification of a potentially invalid certificate is nevertheless highly required and will be implemented first.
  • #132: The current way of storing passwords in the .config file is insecure. A complete encryption of the .config file is, however, not desirable. A master password mechanism will therefore be implemented which will store the master password in the .users file and then encrypt all passwords in the .config file with that master password. If no password is set the user should be warned/reminded that a master password is required.
  • #135: The current error/event console is far from being perfect. It will be changed to carry several groups of events (warnings, errors, information) and will be changed to be a vertical list rather than having to switch horizontally between items.
  • #222: Previous versions of YAM were creating folders in the PROGDIR: of YAM. With 2.8 a PROGDIR:folders directory will exist were folders will be stored per default.
  • #284: Currently the YAM window have to be explicitly snapshotted to save the column and folder list sorting in the global config. With 2.8 YAM will automatically save its state to disk upon exit of the application. This will improve usability of the main window.
  • #306: Amigaguide-based documentation lacks maintainers and will be converted into wiki pages to which YAM will directly link when using the HELP key.
  • #309: The 'Status Update' option will be removed from the config GUI and moved to the hidden option. In addition it will be changed to only change the 'new' mail status to 'unread' upon restarting YAM and not after each mail download.
  • #310: The GUI elements for manually changing the attachment encoding (quoted-printable vs. base64) will be removed from the write window as the automatic works perfectly.
  • #311: The write window will get an AttachmentImage/Group similar to what the read window has since YAM 2.6. As soon as an attachment is added it will be displayed on the first page of the write window so that it is more easily clear that the mail being composed contains an attachment.
  • #313: The Daylight Saving Time switching notification will be removed for platforms directly supporting DST switching (e.g. AmigaOS4).
  • #314: Default folders will be placed at the right position when they are recreated (currently they are always added at the bottom).
  • #315: The "New Mail" config page will be removed and options moved to the identities config page instead.
  • #317: An attachment reminder will be added to the write window. As soon as user-definable keywords are entered (e.g. 'attachment') the write window will show a reminder that an attachment might be missing.
  • #320: The possibility to move folders to different root directory or partitions/volumes will be removed as this constantly leads to misconfigurations by users (folder should always be in the same directory tree).
  • #321: The recently added cycle gadget to choose the identity in the write window will be modified to be more easily usable via keyboard.

YAM 2.9+ roadmap decisions

  • #77: While there seem to exist binary versions of GnuPG (gpg) on AmiNET (http://aminet.net/package/util/crypt/gpg-m68k) there are no ports of libgpgme which in our opinion would be required to support GPG in YAM. Therefore we still have to wait and eventually try to port it on our own at some time.
  • #102: Using a publicly available anti-phishing list seems to be a nice idea. However, this requires a larger amount of changes to YAM and some more evaluation of the google project mentioned.
  • #104: Direct DKIM support in YAM would be a nice idea. But it requires to have full SSL certification support which is due in YAM 2.8. If that support is finished we could thing about this relately new anti-spam method.
  • #122: User-definable toolbars requires a large rework on the configuration site of YAM and potentially also some changes to TheBar.mcc. It nevertheless seems to be a task doable but simply has low priority on our list.
  • #123: User-definable context menus also requires a large amount of changes to the configuration to make it possible to let the user define the context menu entries. While definitly helpful we will hopefully find some time in the course of 2.9 development to implement that.
  • #125: There is general consensus that the addressbook GUI requires a larger overhaul in YAM. It should be largely synchronized to the possibilities the addressbook in other clients like Thunderbird provide while still keeping the hierarchy based sorting in place.
  • #126: The current embeded HTML to Text converter does a pretty good job. However, full HTML-Mail support is still a task in YAM. Unfortunately, this requires to have a MCC class available which will allow to display HTML+CSS mails directly in YAM. Such a class is still not publically available and would be best based on the current MUIOWB project. Hopefully such a public mcc class for displaying HTML+CSS pages will be available until YAM 2.9 is scheduled to be released otherwise we have to stick with our HTML2Text converter engine in YAM.
  • #130: Besides full GPG support S/MIME support should be added. This would allow to sign and encrypt emails with SSL certificates rather than GPG/PGP keys. As soon as full SSL certificate support is integrated in YAM the implementation of S/MIME should be quite straight forward.
  • #134: A 'Stop' button in the toolbar will be added to abort jobs performed in the background (e.g. filtering) via the multithreading framework.
  • #137: To increase the parsing speed our flex-based parsers for converting HTML emails to plain text and to color highlight mails will be converted to re2c-based scanners which seem to provide more flexibility and a higher performance.
  • #142: Similar to the 'about:config' editor in Mozilla projects YAM will get a config editor GUI to directly modify all config items including the hidden options.
  • #230: A new column in the mail listview will be added which will display information through which mail server a mail had been transfered. This would allow to sort mails by incoming mail servers.
  • #312: To improve performance and flexibility a prototype will be created to evaluate the possibilities to move the currently index-based mail storing mechanism to a sqlite based approach since binary versions of sqlite3 already exist for various platforms (http://aminet.net/package/biz/dbase/sqlite-3.6.1-amiga).
  • #318: A Quick-Reply possibility will be added to the read window/read mail group which will allow to quickly reply without having to open a write window.
  • #319: The current management of the internal config values/structures is cumbersome and error prone. It will be replaced by a mutator/accessor based approach with functions allowing to modify a certain config option based on a config item string.
  • #322: The current implementation of the UpdateCheck mechanism will be changed to allow automatic update installation not only update archive downloads.