New rules and other settings screens now in beta

Product

Over the last few years we've been migrating FastMail from a classic web application made of HTML pages to a modern style with a JavaScript based interface that uses an API to talk directly to our servers. We initially transitioned the most used screens to this style several years ago (e.g. mailbox listing, reading messages, compose etc.) and over the last few years have been moving more and more.

As we've made this transition, we've also been doing a lot of cleaning up on the way. This means making our interface faster, clearer and easier for people to understand and use. We've been making internal changes too, such as ensuring all screens can be easily translated into different languages and making sure the underlying code that drives them is more maintainable for us as developers in the future.

One area that was lacking in this regard was the settings screens. We had converted a number of basic settings, but in many cases you still had to fall back to the classic HTML interface to make changes to advanced options, resulting in two different settings screens for many of the same things (e.g. personalities, POP links, rules, etc.), which was particularly confusing.

Recently, we've been hard at work on a complete overhaul of our settings to convert them over to the new style and bring the user experience up to the standard of the rest of our modern interface. These new screens completely replace the old "Advanced" HTML ones, meaning there's a single unified place for accessing and changing all settings. This new UI is now available on our beta server – log in and select "Settings" from the main navigation menu in the top left. We believe these new settings screens are a big step forward for FastMail usability.

As well as being faster and easier to use, the new screens are also fully translated into French, German, Spanish, Dutch and Russian, and are fully accessible on mobile, so you'll now be able to configure rules, preferences and everything else directly from our mobile app or web UI.

In the majority of cases, we've managed to make the new screens backwards compatible with the existing backend. This means changes you make on beta will be reflected on the current production interface and vice-versa.

However there's one area where we've had to make a break from the past, and that's with the new email filtering/rules. To make the user interface more understandable and more powerful (including support for rules with multiple conditions), we needed to change the underlying way that rules were stored, structured and built. So the first time you go to Settings -> Rules on our beta server, we'll automatically convert all your rules from the existing format to the new format. At this point, you'll be in "beta rules mode" and can use all the new rules features (e.g. more sensible matching operators, multiple conditions per rule, custom sieve blocks, etc.).

If you try to go to Advanced -> Define Rules on non-beta, you'll see a message telling you that you can no longer edit rules on production while in beta rules mode. If for any reason you want to go back to the old rules system, there's a "Revert" button on the production Define Rules screen that lets you do that.

One final note: until yesterday there was a way on beta to add custom sieve blocks to your generated sieve code. This feature has been on beta for over 5 years now and was used by fewer than 100 people. While this feature was useful, we never really felt it was production ready, which is why it sat on beta for such a long time. This feature is now gone completely. If you previously were using this feature, then when you enable the new beta rules mode we try and migrate your sieve blocks to the new custom sieve code feature. The new custom sieve code feature is largely equivalent to what the sieve blocks feature allowed, but works in a much better way, allowing you to see exactly where your sieve code will go and how it integrates with all the auto-generated sieve rules. The migration to the new custom sieve code feature is not exactly one-to-one with the old custom sieve blocks, so we recommend you review your new custom sieve code carefully after the migration. There is no way to revert back to the old beta custom sieve blocks feature or mode of operation, you have to move forward with the new "beta rules mode".

We are now in the final phase of testing, and looking to release the new settings to production soon. If you'd like to check it out now, just log in at beta.fastmail.com, and you can send any feedback to betafeedback@fastmail.com.