CardDAV – your contacts, everywhere you need them

After much work and testing – and then some more work and testing – we’re delighted to announce the release of CardDAV support in FastMail. With CardDAV, you can access your FastMail contacts on your mobile phone, tablet or smart watch, with any changes you make on any device kept in sync – just like IMAP works with your email.

This is available now for all Full, Enhanced or Premier personal/family users, and all Standard, Professional or Enterprise business users. Setup instructions for iOS, Android, and more can be found in our help. If you have a Lite or Basic account, or legacy Guest/Member account, why not upgrade today to get access to CardDAV and so much more?!

For the technical minded amongst you, here’s a brief history of how CardDAV came to be at FastMail.

CardDav – a development history

In mid-2014, not long before we released our calendar, we started seriously working on building CardDAV into our contacts system. We knew we could use a lot of the technology already developed for our calendar, as the CalDAV protocol has a lot of similarities to CardDAV.

With Carnegie Mellon University (the original developer of Cyrus IMAP) adding support for CardDAV to Cyrus, it looked like it would be fairly straightforward to change to this for our contacts storage. We knew it had to be done carefully – contacts are an important part of our mail delivery processes as well as the user interface (they’re used as part of spam recognition and filtering rules). But knowing our own systems well it didn’t seem like it would be too difficult.

We started by making the contacts code support other storage mechanisms, instead of being tied to our MySQL database. With that in place, we wrote a CardDAV connector and hooked it up, and voila! Our contacts were stored alongside mail and calendar data in Cyrus. There was some tweaking to make sure that the quirks of different CardDAV clients could be represented properly, but the core code seemed pretty solid in testing.

To help us understand where things could go wrong, we needed to gather feedback from real users, so in December last year we made this available to customers in a beta release. That’s when we started getting reports of certain contacts operations being extremely slow with large address books. Clearly we weren’t quite production ready.

After a lot of testing and analysis, we discovered that performance was significantly affected by constantly converting between the CardDAV format and our own internal formats. We needed to step back and reevaluate.

As it turned out, we already knew what we needed: JMAP. We realised that if Cyrus supported JMAP for contacts access, then our client could use it directly and we’d never need to cache or manipulate any data in between. This turned out to be an enormous amount of work, as a lot of the data conversion code that we’d already built in our middleware had to be re-implemented in Cyrus itself. But, it was worth the effort, resulting in a much simpler and faster architecture.

With the performance problem fixed, we were able to look at the second stage of the beta: making CardDAV available to our business and family account users. These have a second address book of contacts, shared between all users in the account. We wanted both shared and personal contacts to be available via CardDAV, which meant separate address book collections. However, both types of contacts still had to be visible in the web client, which presents a single unified view of shared and personal contacts.

To do all of this properly, we first had to build a new layer between the web client and Cyrus to transparently handle manipulating contacts in two address books at the same time, including moving them between those address books. Then it was time for more testing with our brave beta users, and finally, when we were happy, migrating all users over to the new CardDAV backend.

While it’s taken a considerable amount of time to get right, we’re very satisfied with the end result. We think it’s been worth the wait, and we hope you do too! As ever, we’d love to hear what you think via our support team or on Twitter.

Posted in Feature announcement, News. Comments Off on CardDAV – your contacts, everywhere you need them

iOS app – now with 1Password support!

We are pleased to announce a new version of the FastMail iOS app that includes one of our most requested features – 1Password support!

This release also fixes issues with being unable to paste into fields and improved form handling when the keyboard is visible or device is rotated.

If you have 1Password installed on your iOS device then you will see a 1Password button in the login screen.

fm-1pass-1

Pressing the 1Password button will display the activity popover (popup on iPad) which will include the 1Password icon if you have enabled it:

fm-1pass-2

If it is not enabled, touch the bottom ‘…More’ button and turn on 1Password:

fm-1pass-3

and touch ‘Done’ – 1Password should appear in the list. Additional information on setting up 1Password can be found on the AgileBits site.

More information about the FastMail app is available in our help.

Stay tuned for more exciting features and improvements to the app!

Posted in Feature announcement. Comments Off on iOS app – now with 1Password support!

An open source JMAP proxy, JavaScript library and webmail demo

Last December we announced the JMAP project, our effort to develop a new open protocol for mail, calendar and contact clients that’s faster and more powerful than the current standards. Since then, we’ve continued to refine the specification, and other companies have come on board to help build the future of email. Atmail is using JMAP to power their next-generation mobile apps. The next version of Roundcube, the world’s most popular open-source webmail, will be built on JMAP, with support from Kolab. Thunderbird has started looking at integrating support.

As we’re now reaching the stage where clients and servers are beginning to be developed, the need for an existing server (if you’re building a client) or client (if you’re building a server) to test against becomes vital. To help with this, we are proud to be open sourcing several new JMAP projects, all under the liberal MIT license.

JMAP proxy

The proxy can sit in front of any IMAP server (although works best with those supporting CONDSTORE), CardDAV and CalDAV server, and provides an almost complete JMAP interface to them (JMAP authentication is not implemented yet, and there may be one or two other minor issues). The proxy is reasonably stable, and suitable for testing new JMAP client implementations against.

There is a hosted version available to use at https://proxy.jmap.io – log in with a FastMail, iCloud, Gmail or other IMAP test account to start playing with JMAP today! Alternatively, if you want to run it yourself, the code is available at https://github.com/jmapio/jmap-perl.

JMAP JavaScript client library

The JS client library is a full implementation of the JMAP mail, calendar and contacts model in JavaScript. It supports asynchronous local changes and is tolerant of network failure – actions will update the UI instantly, then synchronise changes back to the server when it can. It also has multi-level undo/redo support.

The library is the basis for the next-generation FastMail interface, and has a sole dependency on a subset of our Overture library.

JMAP demo webmail

So you can try the client library and proxy in action today, we built a simple – but in some ways quite sophisticated – webmail demo on top of the JS client library. Combined with the JMAP proxy, this provides the ability to try JMAP now, with a real account. The webmail demo does not support compose, but does support:

  • Drag-drop to move between folders
  • Instant actions (the UI updates immediately when you archive etc.)
  • Multi-level undo/redo (Ctrl-Shift-Z to redo)
  • Full mailbox access with no paging (and you can jump to an arbitrary point in the scroll)
  • Conversation threading
  • Simple keyboard shortcuts (j/k to move next/previous)
  • A simple calendar view

We do not intend to add further features to this demo ourselves, but we welcome others to fork it and develop it into a more fully fledged client. The webmail is installed on our hosted version of the proxy, so you can try it today with a real account.

The future

In addition to these new projects, we’re also working hard to build JMAP into the open-source Cyrus IMAP server, the bedrock of FastMail and many other email providers around the world. This will (probably) be the first fully production-ready implementation and will of course be what we run here at FastMail. We already have a version of our own web UI running on JMAP internally (via the proxy we have open sourced) and we’re excited by the extra speed and efficiency it gives us over our (already very fast) webmail today.

If you run your own email service and want to get involved with the JMAP project, you can find full details of the specification, implementation advice and a link to the code on the JMAP website. If you would like to get involved in finalising the spec, or have questions or comments about implementing JMAP, then please join the JMAP mailing list.

Posted in Technical. Comments Off on An open source JMAP proxy, JavaScript library and webmail demo

Push email now available in iOS Mail

While our own app has had push notifications for some time, with the built-in Mail app you would have to wait until it next decided to check the server for your new messages. But no more! From today, new mail will be pushed straight to your inbox. Never again will you only learn of that important new cat GIF from your Dad fifteen minutes after everyone else.

Amazed cat

We’ve enabled Push IMAP for all accounts and it will activate automatically; you don’t need to do anything. If you haven’t set up your mail on your iPhone yet, follow these step-by-step instructions to get started.

Many thanks to our friends on the Apple mail teams for helping make this possible.

Posted in Feature announcement, News. Comments Off on Push email now available in iOS Mail

IMAP Notes beta service is here

We are pleased to announce that our IMAP Notes service is being released into public beta test today.

IMAP Notes joins our recently released CalDAV offering, which along with traditional IMAP and our mobile apps help to bring FastMail to your mobile device.

Notes has been a FastMail feature for a while now, and we have also supported adding Notes via Apple iOS and Mac OS devices backed by standard IMAP. We are happy to bring these two services together with the beta release of IMAP Notes.

Notes saved in the FastMail web interface will be available via Apple devices and vice-versa. Android users will require a suitable third-party app.

Of course, being a beta there are a few things you should know before clicking the opt-in button.

Rich media notes created in Apple clients are not fully supported; any note with an attached image will not be editable.
Folders are not supported, only notes in the root Notes folder will be displayed.
The backend is yet to be fully tested under heavy load or with unusual data formats

During the beta period we’re monitoring the system closely and will be fixing things quickly as they come up. You can also help by emailing us with any comments, questions or problems.

So now all the disclaimers are out of the way, you can sign up for the IMAP Notes beta here:
https://www.fastmail.com/go/imapnotesbeta

Instructions for connecting your client are here:
https://www.fastmail.com/help/clients/applist.html

Details of the notes service are here:
https://www.fastmail.com/help/notes/usage.html

Posted in Feature announcement, News. Comments Off on IMAP Notes beta service is here

FastMail on the road

Next week three members of the FastMail team – Bron, Neil and myself (Rob N) – will be heading to the US to spread the good word about FastMail.

The primary reason for the trip is to attend OSCON in Portland. OSCON is one of the biggest open source conferences in the world and attracts over 4,000 of the word’s leading IT professionals including developers, programmers and designers.

We’ll be speaking at OSCON with some other mail technologists (including Netmail, OpenIO and Project Cyrus) for Open Messaging Day on Tuesday 21 July. We’ll be talking about JMAP, our new mail protocol that could one day power the next killer email client and also look at why Cyrus is shaping up to be a powerhouse of open messaging. If you’re interested in learning about and helping to shape the future of email we’d love to see you there.

Before OSCON begins we’ll be spending a week in the San Francisco Bay Area, meeting with some of the local tech companies and software community. We’ve already set up a few meetings but we’re keen to talk to as many people as we can about what we’re doing and find out about what others need and want from their email. We’ll be around from Tuesday 14 to Saturday 18 July, so let us know if you want to have a chat with us while we’re in town.

Of course, we love to eat and drink as well, so you’ll find us at Bar Basic in San Francisco from 6pm on Wednesday 15 July. If you’re in the area, come down and have a drink and a chat with us. We’d love to meet everyone, including our users, so don’t be shy! We’ll buy the first round!

If you want to get in touch with us while we’re travelling, email ontheroad@fastmail.com or tweet to @FMOnTheRoad on Twitter. I’ll be posting photos and other bits and pieces there while we’re travelling around, so feel free to follow along (especially if you’re planning to come down and have a drink with us; then I can tell you exactly where we are).

Posted in Marketing, On The Road. Comments Off on FastMail on the road

FastMail app for Android now available from Yandex.Store.

Since we first released the FastMail app for Android, its only been available to most users via the Google Play Store, and has required the regular Android push channel for notifications. That works for most people, but some customers have requested a version of the app they can use without needing a Google account. This is common for after-market versions of Android, such as Cyanogen.

Today we’re happy to announce that the Android app is now available through Yandex.Store, an alternative app store provided by Russian search company Yandex. Yandex are one of the largest internet companies in Russia, and have a strong commitment to privacy. The store application can be downloaded to any Android device and from there, the FastMail app can be downloaded without even signing in.

To make push notifications work, we’ve implemented support for the Pushy push channel. Pushy is identical in function to the standard Android push channel but does not require a separate account to use it.

With all this in place, you can now install and use the FastMail app without requiring a separate account with Google.

Posted in Feature announcement. Comments Off on FastMail app for Android now available from Yandex.Store.
Follow

Get every new post delivered to your Inbox.

Join 6,860 other followers

%d bloggers like this: