Nylas N1 now has snooze, swipe actions, emoji, and more
medium.com
medium.com
If you haven't seen it, the code for N1 and the sync engine are both open source available on our GitHub: https://github.com/nylas
I never saw a reply to that. Do you understand that criticism? Do you understand what they might've been talking about? Looking at GitHub I guess they were talking about https://github.com/nylas/sync-engine#nylas-api-service and the need to pass the id via basic auth/as username.
So - the threads below seem to complain that the sync server has no authentication schema whatsoever (seems to be true after skimming GH/the link above) and - this is what I'm really curious about - even claims that you wouldn't accept free contributions to implement that.
What I'm trying to ask, I guess:
1) Why no authentication for the sync server?
2) Are you really against any such contributions, if you don't intend to build those yourself?
3) Do you have any recipes/ideas/reports from happy users how you'd secure the sync-server in its current state, in a "let's play" deployment?
1: https://news.ycombinator.com/item?id=11061717 2: https://news.ycombinator.com/item?id=11122802
The second is about how to do API authentication, i.e. how API requests are secured. The sync engine just provides all API data as a service, namespaces by account ID. Developers need to "secure" this by either running it behind a VPN, adding a proxy layer like Nginx, wrapping API calls in their own application layer, or dozens of other solutions. Everyone does this differently so it doesn't make sense to include as part of the default sync engine.
The simplest version is probably to just block access to `/accounts` for external users and treat those account ids as authentication secrets. (They're just opaque long strings.)
We're not against contributions, and nobody has actually built an auth system and submitted a PR.
I've got a google account with a few gigs of emails, but I don't need emails from 2004 on a daily basis. It would be awesome if it would only download (and have available) files from the last year or so.
Another question - this one only by curiosity - are you ditching coffeescript for es6?
Edit - the answer is here: https://github.com/nylas/N1/issues/9
We also have keyboard shortcuts, fully customizable in the preferences window.
- Support
- Nice design
- Chance to make an impact because it's fresh
- Pretty much everything stated in this blog post (including, but not limited to, swipe, snooze, emoji support, opportunity to schedule a reply)
Don't get me wrong, I am using Thunderbird currently, but this thing really shines in some of the areas where Thunderbird does not. But, I'm going to have to wait until the PGP support is finished before I even consider moving to it.(I work at Nylas.)
I understand I can run it myself, however I have to question the design and motivations of the developers.
The sync engine is essentially an abstraction layer for IMAP/SMTP/MIME/etc. This architecture has become pretty common in the past few years: Mailbox, Outlook Mobile (Acompli), Spark, Cloud Magic, Gmailify, and many more run similar systems. Although as far as I know, we're the only one who has open sourced our backend.:https://github.com/nylas/sync-engine
We actually released the API layer before N1, and lots of developers use it for their own apps and pay us to run the infrastructure. If you're curious, the full docs here: nylas.com/docs/platform
You can pretty easily set up the sync engine and run it yourself, either locally or on a VPC, and connect N1 to that instance. We do this ourselves when developing, and it's the best way to have 100% control over the entire stack. More info here: https://github.com/nylas/N1/blob/master/CONTRIBUTING.md#runn...
There's a bunch of community developers than hang out in our chat room and can also give you some tips for getting started. You can join that here: http://slack-invite.nylas.com/
So why can't this be done on the client side? Are you telling me that to avoid storing more data on the clients, they should give up their privacy to whoever operates the server? Not like Outlook or Thunderbird take a substantial amount of time to do most operations. Is this a good tradeoff for them?
I understand, yes, technically adept users can run the server, but there's still many who won't, who will use your server or someone else's server and be required to make this tradeoff.
Of the products you mention - yes, yours is the only one I'd consider and for this very reason, I can run the middle server myself. I just have to think about those people who won't do it though.
So? How's that different (if anything it's much better) than using Gmail or Outlook on the cloud?
Besides, nobody is "required" to do anything. You can always run some Thunderbird or any other desktop client without a cloud component.
However, there are things that IMAP can't do:
* Search has to be mailbox by mailbox. So if you have a huge number of mailboxes it's going to take a long time. There is, of course, an extension for multi-mailbox search, but its very low adoption hasn't made the thing practical
* Read notification just can't be done with the traditional email system, short of replying with a specifically-formatted email and introducing some kind of RPC
* Send Later while offline can't be done with the traditional email system. There's just nothing you can do for that.
Probably because you've never read the spec or tried to implement it.
Yes, IMAP is messy and inconsistent and hard to parse, if you blindly read examples and try to build a naive parser out of that. When you're trying to do as much as IMAP tries to do starting from scratch, that's barely surprising. Still, IMAP already has many tools, libraries and software that can be re-used.
That's the problem though, those tools and libraries only give you IMAP-like behavior, and modern mail clients want to go beyond that -- from tagging to snoozing and lots more besides.
And IMAP makes it a hell to have something more intelligent on top.
This problem is the same as GPG. Why is GPG not more widespread ? It is widely accepted that the technical parts may be old but are still solid, the real problem is the UI. It is still immensely difficult to create your own keychain and share your keys with someone else. Only in the latest versions does gpg introduce TOFU. It has always been a UI problem, and will remain this way until someone wants to tackle it... or replaces gpg.
What exactly do you feel like you "have to question"? You understand that Gmail and Outlook (the online versions) are hosting hundreds of millions of email accounts and store everything on the cloud too, right?
An email client for me is one that runs on my desktop, and talks to my "original" provider, nothing else.
One thing I'm afraid of is that N1 is developing new features and immediately pushing them too strongly in the UI. Despite all these new features recently, the app's Preferences haven't changed much. Before continuing to push hard on even more new features, it would be great to focus more on the experience: bugs, customizability, design, and extensibility.
Bugs: https://github.com/nylas/N1/issues It's hard to quantify but there seem to be pending issues that have been around for awhile.
Customizability: As I mentioned, the App Preferences menu has been pretty static despite new updates. If I want to hide certain features from the UI, it should be as simple as doing so from here rather than doing it directly in the code (which is possible and much easier than any other client out there).
Design: The ability to import & create own themes is great and makes it very usable. That being said the default themes have very little contrast and have too little white space. In addition, the new icons for Send later, insert email template, insert link tracking, and enable read receipts aren't very clean. Against a gray background in the Light theme they are hard to distinguish as button since they are just icons. Also, with their sketchy design style they add too much detail to support fast twitch reactions necessary for an email workflow.
Extensibility: Although each theme is managed separately, I'm curious to learn how the community of developers stays on top of upcoming & new releases with regards to quality and timing. In addition, I haven't much change in the encouragement of plug-ins. I haven't seen new plug-ins recently.
I understand it's all about the community and I'm one of them. Hopefully this post is more constructive than offensive. Feel free to reach out for any clarifications or justifications. I'm a diehard user and recommend the product to everyone who struggles with email.
Unfortunately GitHub has kind of become a catch-all for general debugging and support from users, so it's not necessarily bugs or feature requests (e.g. https://github.com/nylas/N1/issues/1412). Still, it's probably the best place to open issues for suggestions or things you want to see!
Thanks for the feedback and the kind words! You can also email me directly via mg@nylas.com
Kudos to all involved.
I have Version 0.4.10-4e3595b on OSX (El Capitan)