<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    There is a continual debate that we have in bugs about whether to
    include certain features in the core code or not. I'd like to see if
    we can develop a consensus about a philosophy here.<br>
    <br>
    One of the risks that we face, and have succumbed to in the past, 
    is to add features and their complexity to the core code primarily
    because a developer was motivated to do so. I confess that I have
    been guilty of that in the past.<br>
    <br>
    One of the results of that is well stated in a review of Thunderbird
    <a href="http://www.linux-mag.com/id/7788/">by Linux Magazine</a> :<br>
    <br>
    "<i>One of the problems with Thunderbird is that it doesn’t seem to
      fit with most users’ needs for email. That is, it doesn’t work
      well for business users who need features like calendaring and
      groupware connectivity, and it doesn’t work well for casual mail
      users who have mostly adopted Webmail or whatever ships on their
      computer. ... It’s too complex for casual users, and not
      full-featured enough for business users."<br>
      <br>
    </i>In terms of positioning of the product, I think that we should
    push at both of these boundaries, at the same time realizing that we
    will probably never be able to displace webmail for the most casual
    user, or Outlook for the most complex enterprise.<br>
    <br>
    To push at the simplicity boundary, we must be willing to reduce the
    complexity of the user interface. One of the main ways that we have
    to do that is through addons. The user interface for features that
    are only going to be used by a tiny fraction of our users should be
    pushed to addons, and not included in the core code.<br>
    <br>
    In the long run I would like to see us do this more explicitly by
    adding a category of addon that is maintained along with the core
    product, and shipped with the core product. So these addons would
    have the same commitment to support as any core feature, but are
    included as addons to reduce the overall complexity of the product.
    Good candidates for that in the long run would be chat, calendaring,
    RSS feeds, bayesian junk processing, advanced security models, and
    advanced search and filter functionality.<br>
    <br>
    In the short run, I would encourage us to be selective about adding
    new features that complicate an already overwhelming user interface.
    Just because a developer is motivated should not be a good reason to
    add new user interface items for rarely needed features.<br>
    <br>
    Comments?<br>
    <br>
    :rkent<br>
  </body>
</html>