A couple of days ago, I was asked if I had a roadmap type document that outlined my plans for IlohaMail. I didn't, so I sat down and wrote a manifesto. It covers where the project stands now, as well as what my short, mid and long-term plans are.
This is meant to give everybody an idea of what I have in my mind, but I don't want it to become a rail road track for the project. It's only there for reference, and it's subject to change. That also means any and all feedback is welcomed and encouraged.
I've also posted an HTML version on the webiste:
"IlohaMail is a light-weight full-featured multilingual webmail interface that is easy to use and install."
I'm sure you've all seen the above sentence in one place or another, and that's the heart and soul of what IlohaMail is, aims to be, and should always be. If you do a Google search on the above 5 criteria, IlohaMail comes up first. What that means is that it is those 5 design objectives that makes IlohaMail unique, and it is also what IlohaMail does best.
State of the Friendly Cow
At least on the IMAP side, I think we're doing pretty good. With the new IMAP caching feature, 0.8 is actually much faster than 0.7, despite all the new features. There's some room for improvement on the POP3 side, and I think there's still room for improvement in the IMAP library as well. The HTML output could use some trimming, since on slower machines (client-side) 0.8 appears/renders a little slower than 0.7.
As the code-base grows, there's bound to be some performance degradation. For example, to load any one page, more lines of PHP code have to be included in successive releases, which takes a marginal performance hit. My view on this is that in the real world, as time goes by, the average specs of servers being used will also go up. As long as IlohaMail isn't disproportionately bloated, we're okay. You might have noticed that certain aspects of 0.8 _are_ slower than 0.7, but not excessively so (hopefully you agree).
We're doing really well in this area as well. I think with 0.8, we've caught up with the competition, and in cases, exceeded their capabilities. In fact, my main concern is that I may have gone too far and stretched myself thin. I like the new features, like the calendar/scheduler and bookmarks, but I also think they might be excessive. It's not that a calendar wouldn't be a good addition. The only concern is, the more time I spend on the "extra" features, the less time I spend on "core" features.
What's "core" and what's "extra"? If it has anything to do with email, it's a "core" feature. If it's not strictly related to email, it's an "extra".
My hopes are that once I get started on the "extra" features, people will expand on that.
We're also doing pretty well here. We're up to 22 languages (I think) and considering that it's been 11 months since initial public release, I think that's something. In comparison, IMP has something like 22-25 and they've been around since 1998.
This is one area where I am trying to offload some of the work to others in the community (as the translators among you may have noticed). One concern is the continued maintenance of the translations; for 0.8.6, I didn't receive updates for perhaps a third of the languages.
Easy to Use
I think we're doing pretty well here too. I think the new design is really nice (thanks to Yozh, although he's not on the ML, I don't think), clean, and functional. There are some improvements that can be made, but personally, I think we're well ahead of the curve (but let me know if you disagree).
Ease of Installation
I think this is another strength of ours. With 0.8.6, the back-end folders are already there, and furthermore, they're all in one folder so users just have to do one "chmod -R" or "chown -R" command (I confess: I copied that from one of the competing projects).
We also have RPMs that are up to date, and the Debian packages will be updated this week (or so I'm told). I'm thinking of updating the OS X packages myself, although I might try looking for someone else to do these.
So, what's left?
I want to finish implementing themes in the next several weeks. I've had a decent amount of time to think about it, and I have a pretty good idea of what I want to do. Once done, IlohaMail will be more theme-able than any other webmail package I've seen.
I think the "experimental" GPG support is very promising (thanks to Paul M.), and it's a feature that will put IlohaMail ahead of the competition. It currently supports keypair creation, importing/exporting of public keys, and encrypting/decrypting of messages. We're working on allowing users to upload/download keyrings, support for message signing, message signature verification(?), and possibly keyserver support.
The main remaining issue is sharing and interoperability. The current implementation is very proprietary, which is a Bad Thing. I want to support importing and exporting of iCal/vCal formats. I kind of programmed myself into a corner by using a proprietary storage format, although there are benefits to my way too (as arrogant as it sounds).
Also, the calendar will also be publishable, that is, users can choose to let others view their schedule.
I also want to make bookmarks sharable, so that other people can see your bookmarks list (if you enable this feature). I think it will be a nifty feature that will allow people to easily publish their favorite URLs.
I have a few UI customization stuff in mind, but otherwise, the only remaining "big" thing is importing/exporting of iCard/vCard formats (and perhaps importing/exporting CSV files).
This is the Next Big Thing, and I haven't started on this at all yet. The principle of it isn't very complicated, but making it efficient could be difficult. The ETA for this one is later this year or possibly not until early next year.
For some unknown reason, I don't get spam (please don't go on a jealous rage and put me on spam lists), but I know most people do. I'm hoping to implement a Bayesian filter (the new fad, as you might know) but I'm waiting for someone to do one in PHP so I can just incorporate it into IlohaMail. However, I am slightly concerned the impact such filters may have on performance.
I want to start moving into the high-end webmail market (sounds all professional, doesn't it ;-). IlohaMail currently is installed by a few large organizations with users numbering in the hundreds to thousands (and possibly low ten thousands) but I think there's room for improvement. This summer, I've been awarded a research grant to study scalability issues of IlohaMail this summer, so we should see some results by Fall.
I will keep my eyes, ears and inbox open to new suggestions. The best way to keep up with the demand isn't always to be ahead of everybody else, but to listen to what it is that people want and give it to them.
That brings us to, of course, world domination. Well, sort of. IlohaMail is a relative newcomer to the field with a relatively small "market share", but I believe the demand for high quality webmail packages will continue to grow and we're in a good position to capture a good chunk of that "market".
I've been using IlohaMail as my primary email client since December 2000, and I personally believe that webmail will gradually replace desktop email clients in many settings. I've worked in the support department of a large organization that currently uses MS Exchange, and I can tell you that everything that's needed can be implemented in a web-based interface. In fact, using a functional and easy to use web-based interface instead of crap like Outlook would drastically reduce support costs, and I think many companies will begin to notice this. When they do, I want IlohaMail to be one of the products they turn to. Now, I'm not saying that IlohaMail will be an Exchange killer by next year. But I see it as a long term goal to aim for.
One thing I've been thinking about a lot recently is my own role. I feel a lot like a parent whose baby's growing up. In fact, I feel like IlohaMail is my baby... after all, I've been nurturing it for nearly 3 years now.
On the other hand, I also realize that if my baby is to grow up and reach its full potential, I need to let it be influenced by people other than myself; an over-protective parent isn't healthy for a child. The difficult part is knowing how much influence (and what kind) is good, and how much control you can really give up before it becomes harmful.
In short, I predict some growing pains in the short term future. As the community and project grow, I will have a lot of learning and adapting to do, and not all of it will always go well. But with your help, I think we'll manage.
We have a pretty good product, and the beginning of what will surely be a great community. Now, let's go kick some webmail ass.