Hacker News new | ask | show | jobs
by HeXetic 2184 days ago
What do you think they can do with their custom API that IMAP can't? IMAP has server-side search and a file-based representation of things like configuration. It may not be as easy to write as a JSON API, but once you do, the interface is flexible enough to really accomplish anything.
2 comments

Their whole "filtering everything out until you whitelist the sender" approach which is the one feature that sets HEY apart from the other providers wouldn't really work with normal IMAP.

As for IMAP with more JSON there would also be Fastmails https://jmap.io/

> Their whole "filtering everything out until you whitelist the sender" approach

Unless I'm missing something about what they're doing, this is a basic SIEVE script that filters anything not explicitly whitelisted into a folder.

This has a bit of a "I can build Dropbox with a bunch of shell scripts over the weekend" vibe. I'm sure there's a bit more to it than that. How would you whitelist things in your regular IMAP client? Manually moving things to the IMAP Inbox and which then marks them as whitelisted somehow?

You could probably build that with a bunch of hacks but you'll not get a polished consumer friendly feature out of that. They are not in competition with people running mutt and a bunch of custom scripts, it's more of an alternative for people using Gmail with Gmail apps currently and don't even know what's IMAP.

> How would you whitelist things in your regular IMAP client? Manually moving things to the IMAP Inbox and which then marks them as whitelisted somehow?

That's exactly how you'd do it, and the functionality definitely exists - all handled on the server side. See: learning spam from ham by dragging to/from the spam folder.

https://wiki.dovecot.org/Pigeonhole/Sieve/Plugins/IMAPSieve

I wasn't trying to say that this method would be hard or impossible to build, but it's hard to use for the average user. Moving mails around on mobile apps is already annoying enough (At least in the iOS Mail.app)
> How would you whitelist things in your regular IMAP client?

If I were building it for my parents, I'd say "anything in Pending/Held/StrangerDanger that you flag will be whitelisted and will be in the Inbox from then on".

Flagging a message on iOS Mail is pretty straightforward - swipe+tap or long-press+tap+tap and easy enough conceptually as a "this is good" action, I think?

Backend picks up the flag change, adds the address to the inbox, strips the flag, and moves that message to the inbox.

Add "move it to junk to undo the whitelisting" for completion (also easy on iOS Mail).

Perhaps not as polished as writing a custom app to do it, no, but it seems fairly consumer friendly to me?

The server can put messages into whatever folders it wants. Different folders can even put the same message into multiple meta-folders. The whitelist can be stored as a message (as basically a file) in a config folder. This is pretty straightforward IMAP.

Again I'm not arguing that IMAP isn't creaky and clumsy but let's not pretend that lack of power is the reason they didn't use it.

Can IMAP snooze messages?
That'd be down to the IMAP server to support, I suspect, but you could certainly have one that understood the logic - "if there's a message in Snoozed and it's older than X, move it to Inbox". If you have access to your mail, you could do it yourself with a shell script and cron.