A Native Mobile Experience – Second Generation Mobile Apps Released in Beta

We’re excited to announce the beta version of our new Mattermost React Native apps.

reactnative_gif3

Here’s the background to this development: We shipped our first generation mobile apps a little over a year ago. At the time, it was one of the top requests from the community – it was clear mobile applications were critical for a lot of people before they could move their teams onto Mattermost.

We made the decision to ship something quickly, and ended up creating a mobile app that was essentially a wrapper for the existing HTML/CS of the React UI. This gave people a feature-rich app they could use to receive mobile notifications, which admins could optionally secure using mobile VPN clients.

We received a lot of feedback on those first generation apps. The iOS app worked well enough on fast connections, but the overall Android experience wasn’t great. The message came across clearly – we needed to build something better: apps with great performance and with the look and feel of a truly native application.

Over the past few months, we’ve been doing just that – building brand new apps, using React Native. We are confident that we will end up with mobile messaging solutions that people love to use – and we really appreciate the ongoing community contributions towards this project.

Why React Native?

After we made the decision to build new mobile apps, we had to make a call on what technology we should use.

There were two paths we considered – we could either 1) build separate apps for Android and iOS, or 2) we could use a technology that lets us build for both apps at the same time (React Native, or other options for building mobile apps in other languages). The second option was preferable to us because it lets us build faster, and it means we only have to maintain one code base instead of two.

In the end, we decided to use React Native to build the apps for a few reasons. The first one is that it’s a proven technology with a rich ecosystem around it. Although it’s in its early stages, React Native is already used by thousands of apps including Facebook and Airbnb. The other reason React Native was appealing to us is that we can share some code between our webapp and the mobile apps, since both are written with Javascript and React.

What we’ve built so far

Our main focus to date has been building basic authentication, messaging, and notification features. A summary of currently supported features is below, and you can check out our changelog for the full list. We’re adding more features all the time, and will be updating the beta version regularly.

  • Authentication: Email, LDAP, and for Enterprise Edition servers: SAML login with MFA support. GitLab SSO is queued for development. 
  • Messaging: Basic messaging and some markdown, with link rendering. Autocomplete for @mentions and ~channel. The ability to Reply, Flag/Unflag, Delete, and Edit posts.
  • Notifications: Push notifications that take you to the channel when clicked on, basic notification settings, and bolded channel names with mention jewels for unread channels.
  • Files: Image upload and image previewer.
  • Channels: Creating and deleting channels, joining and leaving channels, adding and removing members, favoriting a channel.
  • Teams: Basic switching between teams.

Screenshot_83

Try it out

To test on Android: Search for “Mattermost 2017 – Beta” in the Google Play store, or opt-in here.

To test on iOS: Sign up to become a beta tester.

Let us know what you think by sharing in GitHub!

Start contributing

Interested in making a difference in the early days of this open source project?

Check out our mattermost-mobile repo on GitHub, where you will find instructions on how to start contributing, and Help Wanted tickets to get you started. You can also join the Native Mobile Apps channel on our team site to participate in daily discussions with other contributors and the core team.

As we’ve built these apps, we’ve learned a few things along the way. Our plan moving forward is to focus on improving performance even further, and to move the apps to use our new APIv4 endpoints so we have a solid foundation to continue adding more features. There’s still a lot to build, so if this sounds interesting to you we hope you’ll come and join us.

Thanks

A big thank you to the more than 600 community members who have already installed the new apps. Special thanks to the people who have sent us feedback and bug reports:

  • afzalarsalan, auchenia, carloswaldo, happyalu, jasonsmith, jgoldhammer, nickolasclarke, pger, saturnino, sousapro, travisghansen, valvin, amberbahm, cornifex, thejacer87

We look forward to hearing more feedback – we want to build apps that people will love using, and we hope you’ll join us in making that happen.

More about Mattermost:

Install or upgrade Mattermost

Install a new instance of Mattermost with instructions from our download page. Check out our upgrade guide for guidance on updating to the latest version.

Enterprise Edition

Mattermost Enterprise Edition E10 and E20 are commercial versions of Mattermost designed for large organizations backed by commercial support from Mattermost, Inc. and available by subscription. See the feature list for more detail.

Looking for help on install and upgrade? A subscription also entitles you to upgrade and installation help from Mattermost, Inc.

mm

Jason Blais is a Lead Product Manager at Mattermost, Inc. Prior to joining Mattermost, Jason served as a product manager and analytics manager for SpinPunch, a Y Combinator-backed online gaming startup. Jason has also provided statistical consultation at Stanford University. He is a University of Waterloo alumnus.