Warning, /pim/trojita/docs/masters/conclusion.tex is written in an unsupported language. File is not indexed.

0001 % vim: spelllang=en spell textwidth=120
0002 \documentclass[trojita]{subfiles}
0003 
0004 \begin{document}
0005 
0006 \chapter{Conclusion}
0007 \label{sec:conclusion}
0008 
0009 The goal of this thesis was to investigate the existing IMAP extensions, evaluate how well they contribute to the
0010 operation of a mobile e-mail client, and find out what areas could benefit from further optimization.  All of these
0011 goals were fulfilled.
0012 
0013 The ``mobile client'' I often speak about throughout this thesis is today a very powerful device, and one that is very,
0014 very different from what was considered a ``mobile client'' just a few years ago.  An ordinary phone that people use on
0015 a daily basis has typically a 1~GHz CPU with a gigabyte of RAM and can transfer data at the rate of several tens of
0016 megabits per second.  However, should these powerful resources be fully utilized, the battery life would drop to mere
0017 hours at best.  With great power comes great responsibility, and in the context of mobile applications this
0018 responsibility directly translates to a need of eliminating data transfers and CPU-heavy client-side operations as much
0019 as possible.  Thankfully, the IMAP protocol and its rich extension family provide ample opportunities for delegating a
0020 fair amount of processing to the server.
0021 
0022 The available IMAP extensions range from simple tweaks of the protocol behavior and experimental facilities adding
0023 completely different features to IMAP all the way to the extensions which are hard to implement, but provide the
0024 protocol speakers with features or processes which would otherwise not be achievable, or prove to be needlessly hard to
0025 attain.  Certain features, formerly designed to accommodate hardware designs which are ancient through today's optics
0026 (like the support for command pipelining which was meant to allow the computer operators to physically locate a tape in
0027 their archive and mount that on the user's behalf), are today crucial for sustaining high performance over cellular
0028 networks with rather big round-trip times.
0029 
0030 I believe that one cannot really evaluate a proposal without getting a perfect grasp of the changes it introduces.  This
0031 is why I implemented most of the available extensions in Trojitá, my free software project dedicated to building a
0032 usable, fast and lightweight IMAP e-mail client.  Functions which remained cumbersome or still required substantial data
0033 transfers even after the support for the existing extensions was added proved to be excellent candidates for proposing
0034 concrete enhancements.
0035 
0036 I have selected three areas in which the IMAP protocol can be still improved.  These areas do not have much in common.
0037 It was my intention to demonstrate that even more than twenty years after the IMAP protocol was conceived, it can be
0038 still built upon and modified to better suit today's needs, and that these opportunities can be discovered on multiple
0039 fronts.
0040 
0041 As an example of a rather low-hanging fruit, I have proposed an extension which fixes a possible race condition in the
0042 QRESYNC extension.  This bug illustrates the process of the protocol design pretty well --- despite a concerted effort
0043 of many people involved in drafting and reviewing of the proposal, bugs can still creep in.
0044 
0045 A second extension which I have included in this thesis optimizes the behavior of an online client.  By building on top
0046 of three separate extensions which have been around for years, it allows an IMAP client to obtain threading information
0047 for messages in an incremental manner, preventing downloads of huge amount of data over and over again.
0048 
0049 My last proposal deals with a relatively hot topic in the IMAP sphere --- it adds a support for message submission to
0050 happen over IMAP.  The question about whether this approach is the correct one has historically divided the protocol
0051 experts and software vendors into two hostile camps, one with cheering proponents, the other holding vigorous critics.
0052 People have tried to achieve a similar result by various means, but so far nothing as simple as the proposed {\tt UID
0053 SENDMAIL} has ever got enough traction.
0054 
0055 All of the extensions which I have designed were submitted for review to the expert group through mailing lists related
0056 to the IMAP protocol and its extensions.  Especially with the last proposal, an interesting discussion has been sprouted.
0057 It will be interesting to watch the fate of the proposals as they enter the IETF standardization process.  With luck and
0058 enough patience, they might even become an RFC one day.
0059 
0060 The Trojitá application has received a substantial amount of attention throughout my work on this thesis.  The project
0061 has grown almost three times in its overall size since my bachelor thesis on this subject.  I was happy to receive
0062 contributions from people all over the world.  Two companies expressed their interest in basing their commercial
0063 offering on top of Trojitá; I was hired to perform a contracted work on Trojitá on their behalf.  A completely new
0064 version of the user interface optimized for touch-controlled cell phones has been developed and --- thanks to a generous
0065 donation from Nokia --- ported to the MeeGo line of smartphones.  Interoperability testing revealed quite a few bugs,
0066 both in Trojitá as well as in production releases of IMAP servers from many software vendors, opensource and proprietary
0067 variants alike.
0068 
0069 \section{Future Work}
0070 \label{sec:future-work}
0071 
0072 This thesis represents the result of my ongoing involvement with IMAP and e-mail related topics in general.  It is my
0073 intention to carry on this work in future.
0074 
0075 The documents I proposed will have to be maintained.  People known in the IMAP world have already raised their questions
0076 and provided valuable comments on the functionality of the extensions, some of them expressed explicit interest and
0077 willingness to implement them in their own products.  I will do my best to shepherd the drafts through their long
0078 journey towards possible acceptance.  Even if this process fails and no RFC gets directly produced, the approach will
0079 still have been documented and available for future protocol engineers and developers.
0080 
0081 The Trojitá as a free software project will certainly benefit from its increased visibility.  There is a long list of
0082 features which might be added in future, be it support for signed or encrypted e-mails or pushing harder for
0083 implementation of more extensions among the IMAP servers.  The mobile version could certainly be ported to other phone
0084 platforms as well.  Targeting Android will definitely be a welcome improvement.
0085 
0086 Some of the extensions which are mentioned in this thesis were not implemented in Trojitá for various reasons, typically
0087 due to the fact that I was not able to find any servers announcing their availability.  This should change in future ---
0088 some of the IMAP server vendors have already expressed their interest in implementing quite a few of these advanced
0089 features.  Thanks to its internal structure, I am confident that Trojitá will be able to accommodate these new proposals
0090 as they arrive.
0091 
0092 \end{document}