Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Kanmail – An email client that functions like a kanban board (github.com)
271 points by Fizzadar 67 days ago | hide | past | web | favorite | 97 comments

Don't sell an email client, there is a reason they are all dead: too much effort, too many edge cases (POP3, IMAP, Exchange, Gmail...), not enough margins.

Instead, sell me a hack that can make Outlook look like that. You worry exclusively about the UI, Microsoft does the heavy lifting behind the scenes.

Best case: you make a ton of money by selling to actual businesses (rather than annoying geeks and other weirdos who dare use uncommon clients); slightly-worse case: you sell it to MS.

That actually makes me think that a lot of potential invention/innovation is locked away behind cumbersome user interfaces. Imagine if all email clients were split between models and controller + view. People who want to improve the UI would be able to do so without necessarily affecting people who like the way things currently are. Once a sufficiently effective and intuitive user interface comes along, then a user would be able switch to that at their own pace. If the model part of the email clients had an common API for manipulating said model, then the same controller+view code could be used across multiple email clients e.g. a Eudora interface to the latest version of Outlook for those who want it, and the same Eudora interface for Thunderbird. In addition, it would be possible to both have OS-specific versions of the controller+view if someone wanted a truly native experience, or have OS-agnostic versions using Java, QT, or Electron if someone wanted to ship something faster and/or have a common code-base for controller+view.

NB. I might have confused MVC a little in my idea above.

The model as you describe it wouldn't make a lot of sense. To simplify the description of what you're suggesting: it's to have the 'core' and 'UI' be separate.

But if the cores of different applications are interchangeable anyway (which they need to be, to make this model work), then why would multiple cores exist in the first place? It could just be reduced to a single one, and there'd be little incentive to start a new one if you can't deviate from the API anyway.

The closest real-world model to what you're describing, is an "implement once" public commons model; a shared commons of open-source / public domain libraries that implement a given responsibility or solution for a given problem, and that can then be used forever by everything, and that problem never needs solving again.

For that to work, the implementations in question need to be highly granular, so that using them is a no-brainer and you don't pull in additional complexity that you don't need. An "e-mail client", for example, would then effectively just be a UI, and all the business logic would be provided externally by a collection of loosely-coupled libraries.

Such a granular ecosystem, in turn, requires a dependency model where adding a dependency is (in and of itself) free and cannot cause dependency conflicts; otherwise people would start grouping complexity together again to reduce conflicts, as can be seen in the dependency ecosystems of many languages today.

The only ecosystem that is currently at a point where it can support the "implement once" model, is that of JS, due to everything being highly modular and interoperable. Rust is also moving in that direction, but its ecosystem is nowhere near mature enough yet.

Unfortunately, people are too busy complaining about meaningless dependency counts to understand what a highly-granular dependency model makes possible.

Essentially, Microsoft/ Gmail/ whoever implemented your idea would develop an ecosystem of user generated content. So many different GUI's developed using a specific API to that platform (E.G. Outlook). I can download Outlook, and pick whichever GUI I want, some free, some I pay some outside developer. This 'Saves' Microsoft from ever becoming irrelevent some how, cause it has infinite addaptability. Kind of like Wordpress for email.

> Best case: you make a ton of money by selling to actual businesses (rather than annoying geeks and other weirdos who dare use uncommon clients); slightly-worse case: you sell it to MS.

And worst case: MS change how things work and block this sort of thing happening again. You now have a bunch of angry customers with a hack that doesn't work.

I'm no lawyer, so I'd also check the legal implications of selling something that builds on top and modifies Microsofts application without their explicit consent.

There's a big market for Office add-ins. API docs: https://docs.microsoft.com/en-us/office/dev/add-ins/outlook/...

Add-ons are allowed, even welcomed by MS.

Of course, the trade-offs of "sharecropping" on someone else's platform are always there, from a strategic point of view. MS can wake up one day and rewrite Outlook in Rust, forcing you to rewrite from scratch or making it impossible in practice. But it's a possibility much more remote, imho, than the chance of making significant money with yet another exotic mail client.

Yes please, I would buy this.

Being part of an org that uses O365, searching for such a product is the first thing I did after seeing this.

Conversely, maybe there is an opportunity for building a headless email platform that deals with the heavy lifting and enable any dev to add new front end ideas.

Sort of like mailgun but for consumer clients.

Sort of "webkit for email", that would be interesting... The problem is finding a decent monetization model.

Btw, we kinda had something like that: Lotus Notes and MS Exchange, originally, were abstract document stores. In theory, anyone could have built custom views that behaved as you wished, while the platform took care of email fetching and synchronizing. Unfortunately, both Lotus (later IBM) and Microsoft saw those platforms as lock-in instruments in a push for vertical dominance, so they had no incentive but to push their own clients.

Also, this: https://imapapi.com/

This exists: https://www.nylas.com

Love this idea

> Don't sell an email client, there is a reason they are all dead

They are not dead, they are just out of your view.

Give me a single commercial email client that is realistically competing with Outlook and GMail.

That is the wrong assumption. They don't need to compete with anyone. As a commercial software they only need to make enough money to survive for their own good. As a non-commercial software they don't even need money, just enough attention to stay useable. And in both those camps there are still many members alive.

Non-commercial doesn't really matter to the thread.

Commercially, you see the occasional upstart, but inevitably they die after a few years. I used Airmail for a while but they just stagnated (they barely kept up with Gmail and struggled with Exchange) so I had to drop them.

The market for commercial desktop email clients is super-small: the intersection of the already-niche subgroups of people who will pay for email clients, people who will pay for desktop software, and people who will pay for already-commoditized software. The effort is simply not worth the small rewards, particularly compared to the impact one could have by building on existing commodity clients.

MailMate https://freron.com/

> MailMate is not the most widespread, the cheapest, or the greatest looking email client, but I also have no aspiration to MailMate ever being any of these. Instead, MailMate aspires to be the most powerful, the most flexible, the most efficient, the most standards compliant, and the most secure email client.

HEY[0] is commercial and quite promising; admittedly with its release postponed due to COVID filing it under present-continuous “is competing” is somewhat of a leap of faith on my part.

[0] https://hey.com/problems-with-email/

Try mailspring...it’s an impressive piece of oss. Free version & pro features(paid)


How about a Chrome extension that makes Gmail look like that?

If you do not need more than 5 stages on the Kanban, you can indeed use the Gmail Multiple Inboxes to easily moving the emails through the different panes. Play with different Google Stars to easily move the emails and, in the end, just unstar the message to clear it of your way. Bast practice to keep the inbox clean, once you added a star on your email and this is picked up with the Multiple Inboxes, ARCHIVE the message. It will still be visible in the Multiple Inboxes but cleared from your Indox. See more on the first video of my Youtube Channel: https://www.youtube.com/channel/UCoPEE8RAtxJ3OhnlgeBVWEQ Let me know if this could fix the problem in case Gmail is the platform.

I don’t use Gmail for business purposes, which is the area where this sort of interface shines. Gmail is absolutely n.1 in personal email, but a lot (most?) business email still runs through outlook, and that’s where the money is.

DragApp does this - https://www.dragapp.com (not affiliated, just tried out their first beta)

Gmelius does offer kanban boards within Gmail. Boards are 2-way synced with Gmail labels or shared inboxes, and can be shared with specific teammates. https://gmelius.com/trello-gmail

Already built in. Enable multiple inboxes in Gmail and use labels for all these.

We do a combination of labels and stars. The last ones are easier to change and if you only pick a minimal number of stars it is not that complicated to remember them and rapidly click through them until you select the right one. See more on the first video of my Youtube Channel: https://www.youtube.com/channel/UCoPEE8RAtxJ3OhnlgeBVWEQ

so we actually need a good email client lib that binds to all kinds of languages ...

If there are people out there who are well invested into Gmail, then here's an alternative (https://klinger.io/post/71640845938/dont-drown-in-email-how-...) that does not require a separate client application. The initial concept is focused on desktop usage, but with a small modification it can be adapted to mobile-based working as well.

For years I've used Gmail Filters to apply labels to specific "from" addresses. Takes a bit to set up as I have very long "from(@domain.com OR @domain2.com OR ...)" queries but ideally I'm also unsubscribing from newsletters etc. that I don't want.

I also use multiple inboxes as well. First, "Starred" (different colored stars means different things to me and this strategy is used consistently across multiple platforms inc macOS labels, Trello etc.), then "Alerts" (critical emails from various systems), then "Important and Unread", then everything else.

Most emails are not "important" and I do actively unsubscribe so the method is manageable for me. The last thing I need is my email inbox to be a giant todo list. Most important are tech/work related, current projects, finance/business. I try not to sign up for anything that I need to read, newsletters etc. That's what RSS is for. Email is for quick actionable item and some communication.

This approach works well, until you have to click on a star in each mail 4 or 5 times to get it to turn into a purple star, etc.

I star a handful of emails max. each day. Not laborious at all considering the work load offloaded to Gmail's filters and I use a red, orange, yellow, & green star system.

Amazing. If someone from Slack is on this thread, you can please implement the todo/waiting reply/etc. tagging/view-by-tag UX shown in the ^ post?

You can already do an inbox-zero-like workflow in slack.

In Prefereneces -> Sidebar set slack to only show "Unreads and starred conversations". This reduces the list of channels to these two things. (Edit: it might be a good idea to star all conversations that need followup, first).

Muted channels (which I make use of a lot) will still not trigger notifications, but now you'll know that, if it appears in the sidebar, there are unreads there.

I star any conversations that comes up and needs followups or actions. When I'm done with it, I unstar it and it goes away.

This has worked wonders for me and I highly suggest the same workflow to everyone.

Note that after the latest Slack update, it should be possible to make use of the groups feature and use them together with the workflow above. This way you can have multiple statuses like TODO, awaiting reply and delegated, like in the parent article, rather than a single set of starred conversations. So far I haven't felt the need for this personally.

Oh and one more thing. In Preferences -> messages and media set it to "Compact", it will declutter the UI a bit.

I like the workflow. It seems reactionary.

I always considered the advantage of real-time chat is that it was more conducive to socializing. To injecting a bit of your personality.

Is it antisocial to only respond to that which is asked?

Hiding the list of conversations doesn't medan you have to keep away from them. You can still jump to windows and write to people using the search bars and commands! :-)

When I was at Google, Tim Sneath taught this same workflow to the whole team. It was the only way to handle the Google scale email firehose. Now that I'm in an Outlook shop, been looking for a way to replicate it.

Decided to try this out.

The instructions are mostly up-to-date, main thing that has changed seems to be that the multiple inboxes option is now under Settings->Inbox->Inbox type->Multiple Inboxes

I've been using it for years but I can't figure out how to make it work on mobile. Gmail mobile (web and app) simply doesn't have those various icons for stars.

What's that small modification?

Use labels instead of those icons. If you scroll to the very bottom of the link I provided, then it's mentioned there.

Jut a Headsup, Chrome blocked the download and a virustotal report look like this: https://www.virustotal.com/gui/file/2e78fed158e9e6857db7bfc6...

6 engines detected this file

Do what you want with this information, cloud be false positive, cloud be something else idk.

I'm a bit confused by the "open source but not free" statement in the readme. How common is it to refer to software with public source code as "open source"? I always thought the "open source" label applied only to those licenses officially certified as open source.

Yes, it's a misuse of the term "open source". It should be described as "source-available" [0], not "open source".

[0] https://en.wikipedia.org/wiki/Source-available_software

Thank you for this, my mistake! Will update that now.

Many popular "open source" projects are also not free...

The original wording was "It's open source, but it's not free". It can be understood as "It's open source software, but the copies are sold for a fee" if you stick with the standard terms, and yes, it's pretty common, but the actual meaning here was "the source is available, but not under a FOSS license", and it's also not unusual (for example, license with commercial restrictions).

Even your comment is ambiguous. I'm not really sure whether you've understood the context (and I'm not sure I've understood you, either) due to the ambiguity. This is exactly why I said the phase "open source" is a misuse and it's important to stick with the standard terms.

Can you name some examples? According to the internet for most practical purposes the terms "open source" and "free software" refer to the same set of licenses [0]

[0]: https://opensource.com/article/17/11/open-source-or-free-sof...

I think they mean free as in free beer. So there can be Free and Open Source Software that you must pay for.

It's hard to sell air, until you compress it and put it in a tank. And it's hard to sell sand, until you put it in a bag. So the air and sand is free, but then it varies: Open core, dual licenses, packed with proprietary software, license clause's, etc. Why not just ask for a license fee? And why can't something be open source when it's not free as in free beer? So yes, what I mean is there are open source software that is not free as in libre, and there are open source software that are not free as in free beer. So why can't this software be called open source, when the source is... open? Open source comes with many advantages, not just that it's free as in free beer but also that you can fix issues yourself, and it makes it easier to create plugins, mods, etc.

> And why can't something be open source when it's not free as in free beer

There is nothing preventing you from charging a fee for Open Source or even for Free Software. You only need to distribute source code to users of your software. That means it does not need to be publicly available on a site like Github. You need to remember that users who receive the software and source code are still allowed to distribute your software for a fee or even free. This method of selling software is not common at all though, so I can't really name any successful projects doing it.

> So why can't this software be called open source, when the source is... open?

The reason you can't call software like that as Open Source is because Open Source has a clear definition as defined by the Open Source Initiative[1]. Free Software has a definition as well[2]. The Open Source definition is a more expanded and detailed version of the Free Software's Four Freedoms. If the license you use for your software does not allow the things as described by those definitions, you can't call it Open Source or Free Software.

[1]:https://opensource.org/osd [2]:https://www.gnu.org/philosophy/free-sw.html


https://github.com/elastic/elasticsearch is Apache2, and free as in beer, no?

not quite that repo is a mix of https://github.com/elastic/elasticsearch/blob/master/license... and apache 2.0 .. the elastic license stuff is in a particular sub directory, but there's so many intermingled commits, a contributor can't look at git history without becoming tainted. Which then leads to elastic suing folks building on their opensource.. https://www.elastic.co/blog/dear-search-guard-users


Asperite is open source and not free.

Aseprite is not Free and Open Source software. It is source available though.

I think "source available" is a more common term. AFAIK even ms windows is "source available" for certain customers.

I think it's a bit odd choice, but quite clear: it's a kind of shareware with source code available, I guess.

It's becoming more and more common, because giving casual words a specific meaning was a failure from the beginning. Now the newer generation of devs are growing up and are not indoctrinated enough yet to know this or care about it, and such things happen more and more.

Thats why we used to use to term Free Software... Now what open source really means depends on whoever uses it.

Even better - so things like Macromedia Flash, Opera browser and shareware games were early versions of free software. /s

I actually setup something similar years ago with a gmail add-on. Was pretty intuitive and liked it. It would be advantageous to add additional features over this such as:

1. Adding points or estimated workloads to emails.

2. Adding notes to emails

3. Snooze emails (which would drop their priority on the board, but stay in the same lane until post snooze).

4. Highlight who is in the discussion thread.

5. Rules for lanes of work (for instance potentially emails from boss should go straight to “in progress”)

Thank you for the feedback, these are some really interesting ideas :)

1/2/3: It could be possible to implement points/notes/snoozes by using (abusing?) IMAP folders to store such information. Ideally such information would live on the server-side such that it would sync between devices (https://github.com/Oxygem/Kanmail/issues/84 / https://github.com/Oxygem/Kanmail/issues/85).

4: Great idea, long threads make this really hard to see currently! (https://github.com/Oxygem/Kanmail/issues/86)

5: Currently possible using Gmail filters, but not part of the client itself of course. Would be really interesting to implement this! (https://github.com/Oxygem/Kanmail/issues/87)

Kanmail is built using pywebview, which is an interesting alternative to Electron. Lighter distributions thanks to using respective OS’s native web view.

This looks great! I’ll give it a try. Congrats on launching! Email is a great communication mechanism, but as a manager, it’s so hard to corral the process of following up on emails that take many days for people to do. It would be awesome if each column could have a suspended area at the bottom and I could set due dates and they would sort into that separate section until they are due.

Looks good. I follow this 16 year old on Twitter named Ethan, and he's built something similar: https://kanbanmail.app. I know of him due to his prevalence in the indie maker community, and he streams his development on Twitch sometimes.

The package.json in that repository says "MIT". How does that work with the propietary license agreement?

I also wonder if the author has any way to prevent copyleft code entering their project. What would be a nuisance for a free software project could potentially kill a commercial one like this.

I do not mean this as a comment against copyleft or this particular project, I am really interested to know if there is a Semi-Automatic license scanner.

License scanning is a big deal for enterprise, especially the ones deeply afraid of any "GPL infection". Black Duck is one such vendor of license scanning software.[0]

[0] https://www.blackducksoftware.com/

and it gives a lot of false positives and false negatives...

Thank you for spotting this will update the package.json license field now.

As for external code this is somewhat manual - yarn has a really helpful `yarn licenses` (https://classic.yarnpkg.com/en/docs/cli/licenses) which removes a lot of the pain for the JS side!

Very cool! It looks like the primary focus here is displaying the messages in multiple folders at the same time; I like the message opens where it has space to open.

The account management settings page mentions needing an application password for Gmail — you'll also need one to add a Fastmail account (it looks like it retrieves through IMAP and sends through SMTP).

When I added an account, the account's existing folders weren't displayed to me anywhere (I was expecting the sidebar), but it looks like you can add a column for an existing folder and it'll just work.

It also looks like the action of dragging a message from one column to another removes it from one folder and adds it to another, which makes sense for a kanban board, but might get a little weird with Fastmail's labels mode, where a message can exist in multiple folders! (https://beta.fastmail.com/help/receive/labels-beta.html)

Thank you for the feedback, this is incredibly helpful!

- Regarding the new account message I shall update this to point at the providers page (https://github.com/Oxygem/Kanmail/issues/81)

- I like the idea of auto populating sidebar folders (without causing cluter, one to investigate) (https://github.com/Oxygem/Kanmail/issues/82)

- Originally Kanmail did copy emails between folders/labels (matching Gmail) but moving emails is more IMAP friendly in general. However, perhaps an option to copy is the best solution here, giving the end user the choice (https://github.com/Oxygem/Kanmail/issues/83)

Would love it if any client would support grouping all messages per senders unique email and topic, sorted by date.

The result is almost like a conversation. It makes it easier to see each topic as well.

So far, I've only seen "Unibox" client on MacOS do this. (Not updates since 2018)

I think the upcoming hey.com service is going to do something similar to that.

Huh, very interesting. Seems to be created by Basecamp, so will certainly be reliable.

That look super slick, congrats on launching it! It still looks a bit "noisy" to me, maybe you can reduce the information density a little as to me it seems a bit overwhelming. Super useful idea though and surely something that can be a success!

Thank you! Agreed re:noisy-ness there's a lot going on currently; will be looking into tweaking that!

Thank you for using a model that respects users' freedom! I happily pay for source-available software, sometimes even when I don't really need it that bad, because I like to support ethical software :-)

I have been wanting an email client where I can simply drag and drop emails as a TO-DO Kanban board. I will definitely give this a try.

Is the $25 license per user or per machine, and per year or perpetual?

This is one reasone that keeps me on Apple's Mail.app: open multiple windows for different mailboxes / folders / smart mailboxes and drag & drop at will between them.

Keep a window for specific smart folders if there are special keywords / people you want to give priority. Tuck it in a corner of the screen without taking up lots of realestate.

To be fair, Apple really screwed that workflow in 10.15 by disallowing customization of columns like they used to have since 10.0. But still, the multi-window organization is so much more flexible than the all-in-one-window setup. (For those concerned with tidiness, a window manager takes care of that problem.)

Thunderbird allows the same as far as I understand your wokflow (and has done for the nearly two decades it exists), if you want to look at alternatives (or occasionally have to use Windows or Linux)

One thing that I think should be clarified regarding licensing: On the license page it says "Licenses are $25 during the beta period.". It is not clear if this means either:

1) During the beta period, a lifetime perpetual license is 25$

2) License for the duration of the beta period costs 25$. After that you may or may not need to renew your license.

This looks really interesting, but I think there are others who are hesitant to invest into something that may end up costing ongoing licensing fees that are yet to be determined.

You're absolutely right; I've expanded the copy on the license page. Any licenses purchased during the beta will last for the duration of beta and all of v1 updates.

I am trying this and I think I will move away from my over-configured "mutt" setup, just to use it.

My only "suggestion" is to please keep it functional and simple.

I installed this and used it for a day. This UX model is dramatically better for business mail than the standard mess of random folders. Kanmail itself is still pretty early stage. It's too raw for my own day to day usage, but I'll check back later. I hope it keeps going.

this looks amazing, will try it out. having the option show messages from all accounts at once is a blessing for me.

It amazes me that Outlook mobile will let me see all my email from all my accounts in one list but Outlook desktop will not.

Reminds me kanbanmail.app was in Hackers News 2 years ago: https://news.ycombinator.com/item?id=17576024

My wife has a manual system for exactly the system in the screenshot, so I thought she would like it. "Nah, can't use it on my phone".

I've been doing Thunderbird with quick folder extension to achieve near the same functionality however in Tabbed view.

nonetheless a great idea. will test it soon.

It seems like that the software doesn't have STARTTLS, so it doesn't work with Protonmail's Bridge :/

If this were solely a Gmail extension I would be 100% in and pay about $25/month.

Checkout 2 alternatives implemented as Chrome extensions: * https://yanado.com/ * https://www.sortd.com/

Out of curiosity, what ties you to Gmail?

If it has dark mode and good Linux support, I'll buy it. Will try out tomorrow.

for any service whose core data is a 'collection of things', BYO prioritization & queueing makes a lot of sense

too bad integration is really hard or this would be general

Love it, but calendar is so tied to Outlook. Please save us!

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact