![]() There is no support for the users and everyone is all on their own when facing an issue. There is usually a lack of motivation as you are giving away your hard work for free. Not all contributors have the same skill level which produces software with varying quality. The project owner who is most familiar with the code base usually ends up spending his entire time reviewing the PRs and managing the contributors instead of contributing code. ![]() For example, there may be a PR for a new feature but it also introduces a bug in some other part of the app. There are too many people involved and too many PR’s from people who are not familiar with an entire project codebase. Is this because of the proliferation of “enterprise” remotely-hosted email systems like G Suite, Office 365, etc? Companies that used to self-host their own webmail are now using remotely-hosted solutions, meaning webmail isn’t as popular as it used to be? Is this because the current state of webmail systems is “good enough”? I think Crossbox actually does use WebSockets, but it’s not open-source so I’m not counting it here. I’ve been tempted to write my own modern webmail client using something better than PHP on the server-side. You could even just proxy the raw IMAP commands over WebSockets and have most of the logic client-side if you wanted to.Īnd yet… I haven’t seen any open-source email clients actually do this. New emails could appear instantly and it could behave more similarly to a traditional email client. With WebSockets in particular, the server could keep one or more IMAP connections open rather than having to open a new connection for every action taken. We’ve got better technology these days! We’ve had widespread support for Server-Sent Events since 2010ish and WebSockets since 2011, allowing the browser to keep a persistent connection open to the server, and the server to push stuff down to the client (with SSE) or full bi-directional communication (with WebSockets). Because of this implementation detail, Roundcube (and probably also RainLoop) also periodically poll the server to check for new emails, rather than using something like IMAP IDLE to push them. It’s kinda wasteful/slow proxying a stateful protocol over a stateless protocol like that (and yes, I know that up-imapproxy exists, but the point still stands). Roundcube, RainLoop, etc are not too bad, but they’re still essentially using the same 20-year-old model as Squirrelmail: Every time you do anything (open an email, move it to another folder, etc) it opens a brand new IMAP connection, does the thing, then closes the connection.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |