I've spent the last two years building a new email client
ivelope.com
ivelope.com
Why? If the product is that good I’ll evangelize it. This is a desktop application, so I don’t see a big boost from a network effect. All this does makes me wonder if the product is more about building hype than value
In a world where publishing is essentially free, reputation is an extremely valuable commodity. The ask here is not trivial.
Or maybe only send to your friends who a new email client would interest?
Is “hey, saw this on HN, this looks interesting” really going to hurt your reputation?
He’s a dev trying to market, that’s all.
It's actually dangerous and unethical TO put my name behind this untested product. It's not open source, and I'm being asked to put my seal of trust and approval on their project. That's a hard no.
Incredibly hyperbolic
Where are the boring products without dumb marketing techniques to generate hype, with actual things to show other than a waiting list?
Re: Incentive to share it - Just build a good to amazing product - which the comments and upvotes you have on HN are already significant proof of - and you'll get higher adoption in the long run with exponential growth, without adding friction of little tricks like this which will be relatively inconsequential in the long run, other than perhaps causing friction with early adopters who will get turned off by them.
Maybe a quick survey with questions like, - what email client do you use now? - what is your favorite/least favorite feature of said client? - how often do you check your email? etc
Frame it as a reward not a punishment.
So what you're saying is that Viktor Hn just shot to the front of the line? Well played, Viktor.
Edit: Actually, based on the invite code, it's likely a specific code for HN. The Developer's name appears to be Viktor Jansson, I just assumed Hn was a last name. :)
Also: If you can't spare Max 300MB ram and you are complaining on HN wtf computer do you use?
You can make pretty x-platform apps in JavaFX, QT Quick, GTK, hell even Lazarus, and they don't eat CPU and memory like Electron does.
It is a shame that nearly every app released in the latter half of this decade is just wasteful Electron garbage. Don't forget your 300+mb needs to sit along side Slack's 300mb, Discord's 300mb, and so on... fuck even my Crashplan Backup client eats up three processes and another 300mb. It's inconsiderate as hell.
Plus Gmail and a few others big names in webmail require a HTTP client for authentication if you want to use their proprietary sync (granted there's also POP3 and IMAP. But while IMAP is good in a number of ways it's still far from perfect).
Is it inconsiderate for Ford to make a larger SUV because your garage doesn't have unlimited square footage and you only want to buy so much gas? Of course not. Why is this any different? You can decide not to buy the SUV just like you can decide not to download this application.
I think the problem is Chrome, which the Electron runtime requires. Each separate Electron app has its own copy of Chromium in memory. (What happened to shared libs?)
I see two ways you can help:
(1) you can try to get memory-usage-reducing fixes into Chromium, or,
(2) you can build an Electron-compatible runtime that uses less memory (maybe by transpiling it into code that runs on a native toolkit, and not having a static copy of that runtime per-app).
So it's not electron vs native, it's electron vs nothing.
You're free to use gnus, notmuch, mu4e, whatever million other variants if you're so concerned about your "precious" resources. This electron app that's been built has some neat features that a lot of people might find useful, like that search seems pretty cool.
> You can make pretty x-platform apps in JavaFX, QT Quick, GTK, hell even Lazarus, and they don't eat CPU and memory like Electron does.
lol, if those are your idea of pretty... The reason Electron is popular is because those frameworks are, and have always been, garbage for garbage software.
https://www.anandtech.com/show/9864/price-of-ddr4-memory-dro...
Slashdot got like this eventually. Slashdot was tech site full of luddites complaining about anything new. Worse, slashdot stopped becoming relevant. When the top comment on an article about increased hard drive space was "why does all this stuff take so much space? bloat!! lazy developers!!!".... it's pretty lame.
300mb of ram is nothing. Your OS will swap the software out when you aren't using it and it will be no big deal. People need to stop micromanaging their computer and go do more productive things with their time....
I have a couple of development virtual machines (VMs), and build containers running on my laptop. They help me with a range of tasks (some are memory intensive). Further, I configure nested virtualization, which lets me setup two level-1 guests (A and B), and inturn run a level-2 guest (C) in either of them. Now I can test live migration of VM C between A and B. So I really try my best to stay away from memory-hogging applications.
That's one of the reasons why 4-ish years ago I ditched Thunderbird, which was hogging memory, and switched to the venerable mutt e-mail client. (Also ditched HexChat for irssi.) FWIW, switching to mutt was one of the best decisions I made for my productivity -- I spend a lot of time wrangling high-volume technical mailing lists; it's unalloyed joy to use mutt on a daily basis (especially if you deal with e-mail based patch workflow).
Granted, it might be a niche scenario. I just wanted to call out that there are damn good reasons to conserve memory.
Wastefulness is not cool.
Or, at least, it has the potential to be better.
She wants an e-mail client that stores attachments remotely, only downloading them as requested by by the client. Is there an e-mail service that does things this way?
In the description it is said one can file email with a key, by associating folders to keys. Keyboard operation is very important to me. However direct key/folder association doesn't scale to a large number of folders. Have you considered a feature like the "Nostalgy" extension for Thunderbird? [1]
With Nostalgy one type "s" to file/save an email, then a string which is matched to folder names. It's a bit like helm for emacs (except it's exact match, space is not interpreted as an "AND" like with helm). The commands are go/save/copy, and then string match. This scales very well. That could be an advanced feature, as for beginners the direct key/folder association is simpler. But I guess you will target advanced users too, and for them it may be an important feature.
[1] https://addons.mozilla.org/en-US/thunderbird/addon/nostalgy/
I have a bunch of questions that I couldn't find out from the website (but are obscure enough that I shouldn't expect to):
* Is this a purely native app, or an Electron / Javascript app? Personally I'm only interested in native apps & Electron would be a deal breaker - but I'm weird, most people won't care.
* What format are you using for email archives? Mbox, Maildir? Can I import my Thunderbird / Postbox Mbox archives of 21 years of email?
* Can I turn off threaded & conversation views?
* Do you support POP3? (You only mention IMAP... I'm sure that would be fine, but I still have accounts configured via POP3.)
* Can I change priority of individual messages after they arrive? I sort my inbox by priority and then date-descending, not by date.
I'm a hardcore Postbox user and email is critical infrastructure for me, so I probably won't try it or switch anytime soon... but I'm always keeping an eye on powerful desktop email clients, in case I ever need to switch, or find something dependable that really blows away Postbox.
Well done! Looks very promising!
2. Currently not supporting Mbox/Maildir but downloading emails directly from the server, however an import of this is on the todo list
3. Re: turn off conversation view: not at this time. Do you prefer not having it in a conversation view?
4. No POP3 yet
5. I think you can achieve this using folders/labels in Ivelope
Thanks for the positive encouragement!
Edit: formatting
I strongly prefer to disable conversation view, because the time (recency) and time interval (frequency) are obscured, at least from the inbox view of most readers.
There is a big difference to me between a thread with 10 emails in one morning, versus one with 9 emails over a week, followed by one this morning.
150-300MB seems more than acceptable for a local email client. A pedantic, vocal minority may be over-represented in this thread (it IS HN after all).
IMO Electron apps present significant advantages that justify its negligible cost, eg skinnable with CSS, inspected live with a web inspector, cross platform etc.
I feel bad but you have already lost me there :/
Great work by the way!
For a email client that is still more than I ever would accept. Do you hold all conversations in the RAM for searchability or something?
1. Is there an extension architecture, that I might be able to write my own extensions?
2. Can I edit the "From" address on outgoing mail, and will it remember my preferred "From" address on a per-recipient basis?
3. Does it have extensive keyboard shortcut support, or does it require a mouse?
4. Does it work well with both of the Linux clipboards, the standard system one and the X-provided middle-click one? (Other Electron apps, such as Postman, do not)
You say that like HTML emails don't exist. If the client has to embed a web view anyway...
Designed emails using HTML are used by marketing teams - not by people. I don't care to read emails from marketing teams "as intended to be viewed". Show me the email and let me read an email that's just a bunch of plaintext markup.
That said, electron can have a small fingerprint if the dev team is carefull/good enough, and is hte best option when your app have to be able to read HTML (and copy HTML formatted string). To me, an email client is a good way to use electron for an app.
Or for advanced situations "selectively efficient" - using something other than Electron for an app that is intended to be cross-platform because [insert-alternative-here] is smaller/faster/other may be an example of premature optimisation and using something else (especially where that involves learning something else) could mean trading off elsewhere.
Not just Electron but Sciter too in that sense.
"electron can have a small fingerprint if the dev team is carefull/good enough"
Only to some extent. You will have two separate process (at least) in any case and so two sets of the same system libraries loaded in them, IPC between them, etc.
Main task of browser engine is to provide safe browsing experience. Presenting HTML is only second its task and so browser based UI will always be sub-optimal (at best).
In the long term web will totally replace desktop UI. This could have been avoided if Apple, MS, and Linux would have agreed on a common desktop UI API 5-10 years ago but the ship sailed.
In terms of Electron, I have installed: Slack and VS Code (although I later uninstalled VS Code, and will have to put Slack on a machine with more memory than the VM it's in now).
I can usually spare the memory, at least on my non-crap machines, but I haven't really had the need to.
Guess I'm weird too.
More because we're getting close to finishing the spec, and feedback from someone who's build a client recently about whether the spec suits their needs would be valuable!
I have a talk planned entitled “building a fair dinkum email client in half an hour with JMAP”—because you genuinely can make a basic but useful email client that quickly! (I’m planning to submit it for Strange Loop. Any know of other conferences that would like such content?)
JMAP’s support for both labels and folders may be helpful for Ivelope too.
I love seeing a new approach to an email UI, based on the same old email that still works. Thanks for making it!
I doubt the ability to do "var client = new JMAP()" instead of "var client = new IMAP()" will lead to a flood of new clients.
I'll be in Munich in June for M3AAWG and then popping over to Paris to meet the Linagora team and chat with them about their JMAP work - don't think I can come up with an excuse to visit Sweden this trip sadly :(
My next trip after that is Montreal in July for IETF102. Hopefully we'll be finalising core and mail specs at that conference, hence the interest in getting feedback now! Easier to fix spec issues before publishing.
I've done a bunch of implementation on two different servers, so I'm comfortable with that half, but we only really have one client implementation in-house (hence wanting to chat to Linagora about theirs!)
JMAP-Proxy is sitting slightly behind, that's on me.
Less up-to-date, there's a few, atmail, Apache James (via Linagora), a couple that aren't published.
There is a lot of convenience in being able to log into any computer and access your mail. Plus Gmail search beats the search in native clients most of the time.
Why do you think it is good?
There is nothing that says that you can't have both web and native mail clients.
Usually when I change jobs I have had another non Gmail account but I have never found the search as good. I have an outlook web client at work and that doesn't find things. Maybe its me being dumb and remembering different phrases from what is actually stored, but I almost always manage to finds what i am looking for in Gmail. I can't say the same with other clients.
Its just a pity that I have to give up my privacy to Google for it.
And gmail isn't your mail, it's Google's mail. A mailserver that you host yourself is your mail.
Additionally, if we are really picky, only mail written by you is your mail. All mail received is normally copyrighted by someone else and belongs to the sender or/and his/her company. Very strictly speaking in some countries you are not legally allowed to forward someone else's mail if it bears any artistic value.
Yes I know, it is off topic. But it was fun, thanks for the spark!
Like buy one, get two for free.
I get paid money for the software I develop too, after all.
Would be nice if a bigger company sponsors such a project, then a greater audience will use it and the Developer could concentrate on developing and not on selling.
Who controls your client has access to your inbox with most services even the few that have separate IMAP/POP3 passwords like Hushmail can be compromised through it.
If your client also integrates with encryption or worse takes charge of it my encryption key is also now at risk.
Lastly since email today is pure HTML you also inherit all the possible vulnerabilities that come with having a DOM parser and a layout engine and even modem browsers still get both wrong.
And using something like Electron or even Chromium won’t implicitly save you because the way you implement them matters a lot and now you are tied with their update cycle which might break functionality forcing you to manually backport security fixes which is hard to accomplish.
So unless you have the source or show an audit from a respected firm (c53, isec etc.) its going to be quite hard to recommend to anyone to take the dive and try this out.
This is a person who's worked 2 years on a project, in a neglected space where companies don't go because they can't make money.
He deserves praise for taking the time, creating something that's different, and thinking through the idea. Well done!
IMHO this is justified since people often overlook how critical an attack vector this would be.
Imagine if a state-sponsored "hobbyist" posted a pet project like the OP to Reddit and started harvesting keys/password reset capabilities for huge amounts of users.
Hell, people flocked to use unroll.me and then it turned out they were (predictably) scraping your entire inbox and selling the data to advertisers.
I don't believe that worrying somebody's skepticism might hurt feelings is a legitimate reason to downvote (remember, downvotes aren't about whether you agree with somebody; it's about whether they add constructively to discussion).
Aside: Great work OP. Seems like an incredibly hard sector to make traction with though, so best of luck.
No body is detracting anything from anyone but there is no way I’m trusting an application that can take contol of a large portion of my life without assurances.
If your email address gets compromised it’s game over for most people every service you’ve registered with is up for grabs which is also the reason why I don’t recommend anyone to use personal domains for email unless they are willing to pay for it till death do them part.
As time and time again after buying a domain that was used by someone else and setting up a catch all email address I got emails from Twitter, GitHub and the likes.
I certainly like the idea of new email clients, especially those that integrate with Exchange calender (a weak point for Thunderbird even with extensions). But in my view, building a fast, robust and feature rich email client would take about an effort of 10-30 person years or even more, depending on the feature set. This one seems to stand at a mere two person years, and so my expectations would be quite low (though it's still in beta and states upfront some of the important features it's missing).
P.S.: I'm a supporter of Thunderbird and donate money to the project. https://donate.mozilla.org/en-US/thunderbird/
I'd honestly outsource the indexing and searching to something like mairix which is designed purely for this purpose.
(On my 4.5GB Maildir, 57 folders, 111k emails, mairix takes 205s to index from scratch. Incremental updates are <5s. Worst search I've yet done took 0.5s to return 13k hits for 'bank'.)
Where did you get that idea? If your email is pure HTML all I'll see is your markup, if it makes it through the spam filter to begin with which assigns a pretty stiff penalty for sending me HTML mail.
I might try this client with a throwaway email account, but never with something important.
> Privacy & Security
> Total privacy - we do not have access to your email account, Ivelope only sends your email data and password between your computer and your email server.
I'd personally be more picky about my mail provider and not use any offerings by Google or Microsoft, for instance, because they are stock market companies with interests that principally conflict with the interests of their users. In contrast to this, trusting individual developers and small companies makes much more sense. You check out their online presence and decide for yourself. I'd only be wary about individual developers who offer closed-source security applications (e.g. encryption) and have no prior history of working and posting in this field. But an email client? To be honest, I haven't even checked the vita of the maker of my preferred client, claws-mail, let alone those of any of the authors of the plugins I'm using.
On modern operating systems you basically have to trust every developer of any application anyway, since many installers require admin rights and even if they don't it wouldn't be hard for a malicious developer to exploit a security hole. Your kitchen timer application can get your email credentials almost as easily as your email client.
And yes choose your email provider based on your threat model but there is nothing wrong with Google or even MSFT for most people security wise privacy is a different concern but these are different threat models.
An email client won’t prevent my email provider from snooping on me (E2E maybe), and no email provider could prevent my client from snooping on me either.
This seems an odd position to me.
Online clients are well known to be scanning your emails, necessarily involve giving access and control to third parties, are impossible to use while retaining control of private encryption keys, and so on.
Local clients might have some of those problems. If they're open source then in theory you could audit them and find out, but in practice even that gives a false sense of security because no-one has the resources and willingness to undertake that work every time they install a new version.
Ultimately software security is still all about who you trust, the same as always.
What does it change if you have an c53 audit of Version 1.0.0 and 1.0.1 has malicious code?
I'm not going to make claims that a developer would maliciously embed code into their own product but I do care about the quality of their code and their security practices at large (specifically how secure is their code promotion and binary distribution supply chain).
Please. How many times a day do you enter a password somewhere on your computer? Do you look at the source or ask for an audit for every one of those apps?
It's not how many time you put it in it's into what and then what that thing can do with it.
Not all passwords are equal and for most people their primary email is the domain admin/root credentials for of their life.
And it isn't relevant if I personally audit every application or not I can build a trust model based on my risk appetite and the threat models that are relevant to me and the situation and everyone does it even if they are not aware of it.
I can put my trust in a specific vendor based on their business model, their reputation, the resources they have available and my experience with them and the legal frameworks surrounding the service/product. I can put my trust in the community at large in the case of open source products because while individually neither myself nor most other user validate every line of code and every commit it is possible and the community at large does do that.
Let me ask you this I this wasn't and email client but say a thick client for your online banking would you still ask me the same question? bare in mind that having your email compromised today is considerably more damaging than someone logging into your online banking as it's much easier to sort the latter and there are also considerable mitigating security controls around it.
I wish this was the default assumption these days.
- Is this open-source? What is the license and where is the source-code?
- When can we expect a linux version?
ctrl+f on "price" or "cost" turns up nothing. Well then, what is your business model going to be?
(By the way, typo: "accessable" should be "accessible")
[1]: https://addons.mozilla.org/en-US/thunderbird/addon/gmail-con...
It's the ultimate email management tool. And I hope you can add it fast.
By the way, when do you plan to release the beta?
I wonder when will we be ready to finally drop copying the entire fricking thread with each email, since all email clients automatically build the thread. If you need to forward it to someone, it’d be easier to replicate that functionality on the client side.
How sustainable is this project?
Which frameworks/libraries and languages did you use?
What were the main challenges you came across?
Possibly only to render the HTML in some emails (and why not, then, just open them in the user's existing browser window,) but otherwise, there seems (to me) to be little about email that requires the overhead of a browser engine and associated Node dependencies and whatnot.
A native app could be smaller, faster, and use less RAM.
What would be the reason to cram the mail client into the browser instead of making it a first-class application on the same level?
Thank you!
I really want a good, modern email client and I hope this can be it.
I have a lot of gmail filters for auto archive or auto forwarding. I like to keep them at that level so that changing clients doesnlt mean I lose my filters. Does make it a pain to make new filters though if I’m in a 3rd party client.
I'm not going to invite others if others can't use the software, or without trying it for myself first...
For testning the privacy when it comes to email rendering, have you tried this excellent service?
I don't send or receive a lot of emails - none of the features jumped out at me as doing something gmail or the default mac mail app is missing and I wish it had.
Then I've signed up nevertheless, because the need for a good modern email client is strong.
Also, what kind of software license does it use?
Is it open source?
is it free software?
Is it proprietary?
Once I sign up, how will my email address be used?
Will it be abused?
It did not ask for any permission nor I agreed to any terms. He seems to be from Sweden, doesn't he know about GDPR?
A question, is it a pure email client, or an email client behind a value added service (it relies on a server you run somewhere)? Thanks!
Neat!
Btw where are the electron haters?!
Hi! I'm here! ;)
I mentioned Electron in my comment, and Electron is a deal-breaker for me... but I would much rather encourage the work and effort that is going into this. If the product is successful and profitable, maybe it can be ported to native frameworks a few versions later. And considering the rumours about macOS, probably wise to avoid writing native Mac code just now.
What rumors?
Does the calendar sync up to the various calendar providers (Google, Apple, etc) as well?
I hope he's had better luck integrating spell check than the RamBox devs have ;)
edit: yes, I would love to test it and provide numbers rather than just snark - I just have to wait for the ~5,000 people ahead of me in the queue to have their software pressed to disk and posted to them before it's my turn o.0
Best of luck with your client!
Consider crowd-sourcing an american voice-over actor, it might add a lot of value for very little cost.
I
adresses -> addresses
The fwd with attachment should be no 1 to fix though
Will you support PGP?
If you don't go the mutt/alpine route, there aren't much options. Basically Thunderbird and Evolution. Never really got Clawsemail and iscribe to work with my IMAP server settings.
To make things worse, people do understand email less and less. Often, all ports except 80 and 443 are blocked and you can't even use IMAP/SMTP. And if you complain they tell you "What are you talking about? Gmail works...."
I care... but the convenience of a webmail client accessible on any device is just so great. But there's no good way to really have secure end-to-end encryption in a webmail client. That's about the only thing that would make me seriously consider a desktop client.
Really, I'm not sure what the audience size is for email you can't see on your phone though.
Evolution somehow stores a cookie or can log in via webbrowser or something like that. Evolution will never get you logged out of your Gmail account (yes, I have one that I use for some things). I travel a lot and Thunderbird will always get blocked by Gmail (Please log-in via Webbrowser to confirm your identity).
Electron applications such as Slack, Discord, and VS Code have ballooned in popularity over the last year or two. Hacker News comments are not representative of the whole.
Where is the corresponding "Ask HN: What requirements should I consider before writing a new email client?"
Oh boy. I've written a mail client [1] (two actually) and I've found that people have widely conflicting requirements.
Me? I wanted to replace mutt with something that was similarly console-based, and would use the same Maildir hierarchies.
Other people demand GUI access, sometimes with IMAP, sometimes with POP3, and sometimes (very rarely) with just local Maildirs.
If I were to begin again I'd probably abandon Maildirs, and instead just work via notmuch, or some other indexed-store. That would allow "virtual folders", and other neat things.
I don't think I've got the patience to start again though, as my current client is already the second version.
1. Which OS do you use use? I'd love to know if it's skewed to a particular OS to know which platform to prioritize a native client.
Edit: I realized this was worded very badly. I’m saying I wish this was written with a cross platform core, and native, platform specific UIs for each respective platform. For example, MS Office is written this way.
Electron and similar technologies are in my opinion not quite at the point where they can compete with the best that native platforms can offer. I'm sure that will change one day, but we're not there yet.
GTK integration on windows and mac is also less than perfect - I've been using geany on multiple platforms a lot recently and it's a great tool, but there's small annoyances like that the "swipe to scroll" speed varies massively between it and Notepad++.
I would've said the same thing with joy!
From the title I was immediately hoping that this was not yet another bloated electron thing.