I've made no secret of my complicated relationship with email over the years.
While I'm always trying to optimize my email setup and finding new ways to spend as little time managing email as possible (for instance, I let SaneBox categorize emails on my behalf), my underlying problem lies in the scarcity of desktop-class email clients for iOS with specific features I'm looking for. As I shared in an episode of AppStories, these include: modern email options such as snoozing, read receipts, or "send later"; the ability to customize the app's sidebar with mailboxes and saved searches; and app integrations to save messages into other iOS apps either as links or PDFs.
I've tried dozens of different email apps for the iPhone and iPad over the years. Some of them stuck for several months on my Home screen, like Airmail; some turned out to be ill-fated experiments; others were stuck in the old mindset of offering a "light" companion version on iOS and a "real" counterpart for the Mac.
Spark, developed by Readdle, has been at the forefront of innovation in email clients since its iPhone debut three years ago. In my original review, I noted how, despite several limitations (such as the lack of iPad and Mac versions) and an unclear business model, Spark was a new kind of email experience that felt refreshingly powerful, especially when compared to Apple's stale Mail app. Spark gained a host of welcome enhancements in the past couple of years: in addition to being fully multi-platform on Apple devices, Spark is now capable of snoozing messages and sending them later; on the Mac, besides smarter search, Spark can even save messages into apps like Bear and Things.
I've gone back to Spark as my primary email app a handful of times over the past three years. Ultimately, I always stopped using Spark because it lacked feature parity with the Mac version (app integrations were never ported to iOS); most recently, I started using Apple Mail again because its drag and drop support in iOS 11 allowed me to "manually" integrate it with Things, Notes, and other apps.
This context is necessary to understand Spark 2, which is launching today on iPhone, iPad, and Mac, and which Readdle touts as the biggest update to Spark since the original app from May 2015. Spark 2 is a peculiar upgrade: on one hand, it won't look that different to individual users, save for a couple noteworthy exceptions; on the other, it's a major reinvention of Spark for teams, which explains why Readdle is hedging the app's future on collaboration and a subscription-based business model (albeit with a generous free tier). The developers at Readdle are betting heavily on a vision that sees Spark as the centerpiece of email communication for teams – a platform in its own right, with all the upsides and potential issues that it entails.
For that reason, this can't be a full, in-depth review of Spark 2. As a team, we've only had access to Spark 2 for the past three weeks, and we haven't had a chance yet to test the app during one of the busiest periods of the year such as WWDC. I'm going to need more time for a full verdict and to understand how the MacStories team can be set up as a Spark organization. However, I believe that Spark 2 is the closest I've ever been to finding my ideal email client, and I want to explain why.
If you're an individual user with no need for Spark's new team subscription, chances are you'll barely notice any differences from the old version. Beneath the surface though, there are a few notable additions made available for free to everyone.
Finally – and I don't lead a sentence with a "finally" often – app integrations from Spark on macOS have arrived on iOS.
Available in the bottom row of the app's custom share sheet (a contextual menu that you can open by tapping the ••• button in a message), app integrations don't offer the same amount of options as Airmail, but all the popular names are included. Spark 2 lets you save emails to the following apps and services:
- Google Drive
The absence of app integrations has long been one of my biggest annoyances with Apple Mail. Even though it should be expanded, I'm happy with the list of supported apps in Spark 2 and I like how messages can be shared to other apps. Emails can be saved as a plain text copy or as a link; the latter is a custom
readdlespark:// URL that will reopen an individual message even if it's been archived or moved to another mailbox, just like Apple Mail's own URLs.
The benefit of message URLs is that they're universal across platforms (the same URL works on both the iPhone and Mac, for instance) and they provide a one-tap shortcut to jump from a task or note back to the original conversation in Spark. Integrations also come with options custom-tailored to each service: for the Things action, you can pick a date and time for a deadline1; if you use Bear, you can save a message as a link but also add your own commentary and #tags.
I've been using the Things integration to clean up my inbox and save messages I have to act upon as tasks in Things; more than ever, I'm convinced that every email client should give you the ability to save messages in other apps. Spark 2 gets this right, but it's still far from Airmail in terms of how many apps it natively integrates with.
Message URLs aren't the only way to reference a specific message in Spark 2. If you want to share an email message with anyone or any service that isn't directly supported by Spark, you can generate a link that can be pasted anywhere and opened with a web browser. These links, which are hosted at
app.smartmailcloud.com, aren't private: instead, they rely on security by obscurity to make it hard for anyone to guess the URL of a message through a long, random alphanumeric string placed at the end of the link. Spark isn't the first app to do this – Polymail has offered the same functionality for a while – but it's worth keeping in mind that you're going to be hosting an email conversation on a public server when you hit the 'Copy Link' button from the app's share sheet.
That said, it's incredibly convenient to turn an email message into a standalone webpage that can be shared with other people. I've started doing this to quickly share interesting, non-confidential emails with friends who aren't part of our Spark team, and it's a great substitute for the traditional forward or print-to-PDF approach. I like that the resulting webpage keeps the original formatting with selectable text and even lets you tap on attachments to download them with your web browser.
Readdle included some handy settings to control how messages are shared as links. Once a message has been shared as a link, you can tap the link icon in the title bar to open the Link Properties panel. Here, you can choose to hide the email addresses of participants in the conversation and limit the link's visibility to anyone with the link, just you, or only members of an existing Spark team. The 'Just Me' and team options are Premium-only features that require a paid subscription; the 'Just Me' option also requires an extra confirmation message to open a shared message on the web.
Miscellaneous fixes aside, app integrations and the ability to generate web links for emails are the only two big changes in Spark 2 for individual users. Normally, I would say these two options wouldn't be worth a major upgrade. In this case though, Spark 2 is a free update for existing users of the app, and these features don't fully represent what Readdle has focused on for this release.
Spark 2 is all about teams and reimagining email as a shared, collaborative space akin to Google Docs or Dropbox Paper. Again, Readdle isn't first to the market with this type of product, but I think Spark is the first modern email client that has been able to blend business-y features such as message sharing and real-time drafts with a native iOS experience that doesn't feel like a cheap web app.
There are two core features in Spark 2: you can share individual email messages with other members of a team, and you can chat with teammates alongside an email conversation without actually sending more emails to each other.
Once you set up a team in Spark2, you'll notice a button in the top right corner of a message to invite people into a thread. Think of sharing a message with other team members as a custom email forward: unless already addressed to multiple people3, a message shared via Spark will only show up in other instances of the Spark app and it won't appear in email clients like Mail or Gmail. The sharing action is proprietary and exclusive to Spark, as are the other collaboration features available to teams.
The idea behind sharing a message is that you can allow someone else on your team to receive the "original" email without you having to forward it. If you work with a team, you know how awkward it is to have someone else reply to an email you first received...and your
Fwd: comment is showing in their response. Email as a protocol wasn't envisioned with collaboration in mind.
Spark 2's custom sharing system prevents all of this. To share a message with someone and allow the message to arrive in their Spark inbox, you just need to type the name of someone from your team to invite them into a thread. The message will gain a 'Shared' label at the top and a notice at the bottom of the message that multiple people can now discuss the item privately. You can then open the message's share settings to share all future emails from the same thread with other members, as well as delete members or bring in new ones.
When a message is shared with you, it lands in your Spark inbox showing the original sender and recipient, so you can see to whom the message was originally addressed. This way, you can either discuss the email with teammates (more on this below) or respond to the sender without showing that somebody else forwarded the message to you. As I mentioned above, these messages will only appear in Spark when they're first shared with you.
This alone is a feature I've always wanted to have in my email client as someone who manages a small team; the ability to take a message and put it in someone else's inbox without forwarding it is going to make it extremely easy for us to exchange emails about interesting links, story leads, and more. However, I've also been surprised by the simple effectiveness of Spark's built-in chat functionality.
When an email message is shared with multiple people, you and your teammates can have private conversations alongside the main email thread without the person on the other side seeing any of it. It's basically like a mini, super-simplified Slack/iMessage hybrid that lives next to email messages and is thread-specific. You can mention other users with @usernames, attach links and files4, and see who read your messages thanks to read receipts.
When I first read the documentation for Spark 2, I thought that having an IM feature alongside email was insane. But then I thought of all those times when I ping John or Ryan to quickly double-check that they're responding to someone or that I'm going to CC them into a conversation. And I realized that what Readdle is offering with chat in Spark 2 isn't a Slack competitor; instead, they want to integrate all the email-related back and forth coordination that happens with teams on other platforms (Slack, iMessage, Hangouts, etc.) into the email client itself. In the process, they're rethinking the concept of the email forward: if messages are shared with a proprietary feature and private communication happens via inline chat, there's no need to forward emails anymore unless you're sending a message to someone who isn't part of your team. But then again: why even do that when you can create a public link to an email message?
I'm not sure whether email chat is something that will stick in our usage of Spark 2. After all, we're heavy Slack users and have enhanced the service with integrations and custom bots that allow us to retrieve information and assign tasks to each other. As a team, we don't need another communication service. At the same time though, I can see how Spark's low-friction chat feature built around and integrated with email messages could be a faster, easier way to coordinate than starting a conversation about an email message in Slack.
Unfortunately, Spark 2 doesn't offer any special notification settings for comments in shared messages. I keep email notifications disabled by default (this has been great for my peace of mind lately), but I'd like to be alerted when a teammate shares a message with me or comments on an existing thread. Hopefully Readdle will add more granular notification settings down the road.
There are a couple of features worth noting for the sharing feature in Spark 2. All shared messages are accessible from a new Shared section of the app's sidebar. This view aggregates all messages that have been shared with a team, regardless of whether they've been archived or not. I wish there was a way to permanently archive specific threads from this page, but I'm glad there's a single screen to see all previously shared conversations. As with other sections of Spark, you can hit the search button to begin a natural language-powered search tied to the currently selected view.
Furthermore, Spark 2 lets you compose new messages in real-time with other members, à la Google Docs. Once you've created a new draft, you can tap the Share button to invite others to edit; if they accept and open the same "document", you'll start seeing colored typing indicators for different team members along with the edits they make to the message.
I tested this feature with the MacStories team, and while not as fast as Google Docs (edits were delayed by a couple of seconds), it was surprisingly solid in my experience. I don't know if I'll ever need to collaboratively assemble an email message in real-time with other people (at that point, we might as well discuss the message in Slack beforehand), but I can see how this could be useful for different types of organizations in different work environments.
Finally, the business model. While Readdle hinted at the possibility of In-App Purchases for pro features back when Spark 1.0 launched in 2015, they've decided to turn Spark into a SaaS product with version 2.0.
Spark 2 remains a free app for personal and "core team" functionality. Teams can upgrade to a Premium subscription for $7.99 per user/month (or $5.99 per user/month if billed annually) that includes up to 10 GB of storage in chat comments per user (as opposed to 5 GB for the whole team), three or more collaborators for email composing, team roles, link restrictions, and premium customer support.
To me, this pricing strategy suggests that Readdle is hoping to attract large organizations with dozens of people who want to collaborate on email drafts and share files in chat comments. I don't know how big this market can be; I wouldn't be surprised if future enhancements also get restricted to Premium team subscriptions – much like Slack can be used by teams for free, but more advanced options require a subscription.
For now, I think a small team like MacStories can use the new Spark for free with "core team" functionality without paying for Premium access; we may reconsider in the future like we did for Slack.
There are a few things I would have liked to see in Spark 2: on the 12.9" iPad Pro, the app still uses modal panels that swoop in from the side instead of adopting a three-column layout for the large screen; there's no native 'Assign' feature to put someone from your team in charge of an email thread with a deadline; and unlike Polymail and Missive, Spark 2 lacks the ability to create templates that the whole team can access and reuse. In addition, there are still basic formatting limitations – for instance, you can't create inline links with ⌘K to turn a text selection into a clickable link.
Despite these issues, I'm seriously considering Spark 2 as my new email client because of its app integrations and ability to share messages with our team. Spark 2 sits in between the marketing-oriented Polymail and Airmail: it's not as powerful as either of them, but it's stable, better designed, more integrated with iOS, and it's ultimately a more intuitive and elegant mix of both products.
There are aspects of Spark 2 I'm still skeptical about: the proprietary nature of shared messages means Spark is becoming another walled garden; traditionally, I haven't been a fan of non-standard email features that lock me into a third-party app. However, no email client has ever allowed me to easily collaborate with my team like Spark 2 does, and I like how seamlessly Spark lets me switch between saving a message to Things or sharing it with my team.
Just like I concluded my original review of Spark 1.0 three years ago, Spark 2 isn't perfect, but it may be what I need right now for the MacStories team. It's too early to tell, but I'm optimistic that Spark 2 could fix a lot of longstanding email annoyances for us.
Alas, you can't choose a project to save a task into, and Spark uses deadlines instead of the more flexible reminder feature of Things. I think this integration should be updated to include a Project field and the deadline as an option; by default, messages should be saved as reminder-based tasks in Things. Spark should also reveal a newly created task in Things using the
revealparameter of the Things URL scheme. ↩︎
- This can be done from the app's settings page, and existing teams can be managed in Safari. You can manually invite members to a Spark team or allow everyone with an email account under the same domain name to automatically join a team. ↩︎
- Alternatively, if a message has been sent to multiple recipients who are already part of the same Spark team, the message will immediately be treated as shared among those members. ↩︎
- However, there doesn't seem to be an easy way to view all links and documents that have been shared by teammates in chats. If Readdle is serious about file storage in Spark, there should be a dedicated dashboard to search chat logs and browse uploaded items. ↩︎