Introducing the Aztec Mobile Editors

The hybrid (HTML & JavaScript) approach has worked well enough to bring a rich editing experience to our users. The limitations of the web view has prevented us from giving those users the anything better than a 7 out of 10 experience. The only real solution for us to reach a full 10 out of 10 was to rethink the implementations to get closer to the metal. That means using APIs provided by Apple and Android to make text editing feel like something that was made for the platform.

The mobile team has been hard at work since July 2016 to improve the post editing experience for our users.

Our hope is the Aztec editor is seen as a component that can be used by many iOS and Android apps to provide a rich HTML editing experience. We feel that we could garner a bigger contributor base to the mobile apps simply because this component exists, is free & open, and is super awesome. We’re not biased at all, of course. 🙂

The Aztec Logo

What Does Aztec Give Our Users?

  • Accessibility – Using OS-provided text controls makes every piece of what you can see to be visible to technologies like VoiceOver. We can now properly support our users that require accessibility. Additionally we can now support dictation!
  • Spell Check – Something as simple as spell check is a nightmare to get working properly in the current hybrid editor. No longer a problem with Aztec! This makes the editing experience feel safer for our users.
  • Speed/Performance – Aztec is so much faster and memory efficient since we have control over the small things.
  • Aztec Everywhere – We plan on using Aztec in more than just the editor view. Aztec is actually a text view implementation and lightweight enough to use in many places in the app. Think of being able to send rich text replies to comments and a more robust iOS sharing experience thanks to a fully custom UI.
  • Contribution – We’re packaging Aztec as a component in its own GitHub repository (each platform has its own repo). This makes Aztec something outside users will want to incorporate into their own apps and contribute back to. Quite literally there is nothing like this out there – every editor we could find uses a web view or has very limited support for any HTML.
  • Undo/redo – The Aztec editor supports undo/redo on both platforms. It’s temporarily disabled on iOS until we finalize some bug fixes.
  • Unit Testing – We’re actually able to write unit tests for scenarios that come up and make sure they’re handled consistently. UI testing is also now possible!

What was so Hard?

Editors are hard. I think many of us here working on WordPress can attest to just how difficult dealing with HTML is sometimes. We had a number of technical hurdles to get over. Some of the challenges were:

  • HTML Synchronization/Consistency – Switching between HTML and visual editing mode presents a ton of challenges keeping things in sync. HTML tags that don’t visually alter the rendering need to be retained – dropping that markup would dissatisfy users fairly quickly.
  • Lists & Block Quotes – We’re still having struggles with getting the editing and rendering experience just right with lists and block quotes. They’re deceptively complex and have been one of the places we’re spending the most time on to get right.
  • Amount of Work – There’s just a lot to do with an editor. Edge cases are so numerous that they really aren’t edges. Editors are more like spikey balls on chains.

Okay, I Want to Test it Out!

We wanted to ship Aztec quietly to limit the number of voices providing feedback. The projects aren’t 100% ready for feedback from the full community quite yet but we feel everyone reading this blog can get an early peek. We’d like you to keep some things in mind as Aztec isn’t completely finished on both platforms. We’re not rolling out Aztec to our public beta testers until we’re sure the editing is a beta or better experience.

  1. Aztec is not quite ready for posts where losing formatting would ruin your life. We’re still working out bugs and HTML synchronization between what you see and what ends up on the server is one of the areas we need testing for.
  2. Lists and Blocks aren’t fully finished. Nested lists on iOS aren’t supported yet.
  3. Media support is limited to images. Videos aren’t supported quite yet and images may have some funk with how they’re presented on Android.
  4. External keyboards are supported but not fully feature-enriched. Feel free to use your keyboard with your tablet. Things like the tab key may not be spot-on yet.
  5. You can check out the open issues lists on GitHub to understand what’s left to work on.

Turning on Aztec in the WordPress Apps

You’ll want to become a beta tester for the WordPress app to get access to the newest changes. Join the iOS TestFlight program for Apple devices. Android users can join the beta from the Google Play Store on your device (under “Become a beta tester”).

The next step to using Aztec in the WordPress apps is to unlock it as it’s a hidden feature right now. In the web browser on your device, visit this URL:


This unhides Aztec in settings and turns it on. You can turn the new editor on & off by following these steps:

iOS: To turn on Aztec in WP iOS 7.2 or newer, navigate to the Me tab, tap App Settings, turn on Visual Editor (which should be on already), then turn on Native Editor.

Android: Turn it on by navigating to the Me tab, tapping the App Settings option, tapping the Set editor type setting, and choosing either Legacy or Visual.

Using Aztec Directly

Each of the Aztec repos also contains a demonstration application to use the Aztec component without it being inside of the WordPress apps. If you want to start hacking away on the component itself, this is the best way to start looking at it.


What should I report?

  • Discrepancies between what you saw in the editor and what actually got published – If you lost formatting or had other problems we really want to know.
  • Crashes – any time you get the app to crash whilst in the editor, let us know.
  • Content that freaks out the editor – if you found some HTML that the editors just do not like, let us know. We’re looking to bulk up our unit tests with examples that make things get wonky.
  • Anything preventing you from publishing – specifically on iOS we rewrote the code around the entire editing experience. If you discover state issues that don’t let you tap publish (for example), let us know.

How should I report?

  • GitHub – Report issues to the main WP Android or WP iOS repos. If you know for sure the issue lies with the Aztec component you can report it directly to the appropriate Aztec repo.
  • Slack – We’re hanging out in Slack in #mobile.

What’s Next?

Here’s a list of the milestones we have in the project and approximate dates:

  1. Alpha – Turned on for the development team & testers to dog food. We’re here now.
  2. Closed Beta – When the editor is good enough to advertise to beta testers (turn on w/URL) and to get feedback from them. Starting with WPiOS 7.5 beta & WPAndroid 7.3 beta which equates to April 24th.
  3. Open Beta – When the editor is good enough to unhide the option to be able to turn it on/off for everyone (advertise it to App Store users with the caveat of beta). Ideally shortly after closed beta; May 22nd would probably be the earliest.
  4. Release Candidate – When the editor is good enough to turn Aztec on by default but allow it to be turned off. We’re estimating a month or more of beta time; June 19th+.
  5. Full Release – When Aztec replaces all current editors and legacy code is removed. This is mid to late July or later depending a number of variables.

Closer to the open beta we’ll start focusing on improving documentation for contributors on the individual project repositories. You can also look forward to seeing posts here on technical discussions for both platforms.

Special Thanks!

None of this would have been possible without the hard work of: @0nko @diegoreymendez as technical leads,  @rachelmcr heading up our testing efforts, and @heckofanapp @hypest @klymyam @lanteanar @sergioestevao @mbiais @bummytime @folletto @aerych @koke working on the engineering and implementation.

#accessibility, #announcements, #aztec, #editing, #editor, #native

WordPress for iOS 5.9 released

Hello, WordPress users! Version 5.9 of the WordPress for iOS app is now available in the App Store.

What’s New:

  • No desktop required. You can now create a new site from within the app!
  • Themes at your fingertips! Search and filter in the Themes Browser. Click on the three dots in the bottom-right corner of each theme to test out and customize it, and then activate it if it’s the one for you.
  • More improvements. Several magical behind-the-scenes improvements to make sure our codebase is stronger than ever.
  • Bug fixes. As usual, we squashed some bugs, but there weren’t many this time around. Keep an eye on the complete list of bugs here.

Thank You!

Thanks to all of the contributors who worked on this release:
@aerych, @alexcurylo, @astralbodies, @daniloercoli, @diegoreymendez, @frosty, @jleandroperez, @koke, @kurzee, @kwonye, @pypt, @rachelmcr, and @sendhil.

You can track the development progress for the next update by visiting our 6.0 milestone on GitHub. Until next time!

Dev chat summary for Nov 11, 2013

Chat log


  • iOS Lead Switch
  • iOS Summary
  • Android Summary
  • Handbook
  • This week

iOS Lead Switch

@koke has decided to let go of the iOS dev lead reigns and we’re passing the torch to @sendhil.

iOS Summary

We’ve been testing version 3.8.4. During testing we’ve identified a few issues that were blockers, applied fixes and restarted the testing clock. We’re currently on release candidate 3 with a fourth planned.

Work has started on 3.8.5.

We’re conducting an issue review. All issues are being assigned to milestones, and we’ll be migrating any remaining, relevant Trac tickets into Github.

Android Summary

We’re doing a phased rollout of version 2.5 today, starting at 20% and bumping to 100% if all goes well.

A few fixes are planned for 2.5.1 which should go into QA this week.

Work on 2.6 (NUX and Reader) continues with some UI tweaks being made to both features.

Issues are being assigned to milestones.


Sendhil is committed to taking a look at the last remaining bits in the iOS section this week.
The webOS section under Other Apps needs some attention but otherwise the handbook looks complete.

This Week

iOS: Wrap up 3.8.4 and move forward with 3.8.5.
Android: Announce 2.5, get 2.5.1 into QA and continue to make progress on 2.6.

Next Dev Chat

The next dev chat will be held at 17:00 UTC on Nov 18 in #wordpress-mobile on Freenode. Mark your calendars and make sure to update the time. This is 9AM PST.

#android, #dev-chat, #handbook, #ios

Dev Chat summary Oct 28, 2013

Chat log.


  • About UX Subgroups
  • iOS Status
  • Android Status
  • Handbook
  • This Week

About UX Subgroups

Automattic is a big contributor to the apps, internally we’ve now divided ourselves into 3 key areas in the apps: NUX, Consume & React, and Posting. Each group will go at the priorities of both the iOS and Android platforms as well as taking a deeper look at each experience. The hope is that this will bring the app experiences closer together, get a better sense of ownership, and promote innovation.

In reality this doesn’t mean all that much for the iOS and Android projects, the releases currently being tested will still make it out pending the QA cycle, we’re still focusing on stability/bug fixes/crash fixes/code clean up. We’ll of course continue hanging out in #wordpress-mobile on Freenode and if someone wants to pick up a ticket and contribute we’ll help you get set up but be sure to check out the Mobile Handbook first!

iOS Status

3.8.4 was still being fixed up, so testing will happen this week. There are a lot of changes so help is needed. Look out for a post from @koke later today!

Android Status

All of last week went to fixing some serious bugs in v. 2.5 of the app that came up in QA testing round 2, so this week we’ll move into round 3. Hopefully this will be the final one and we’ll be able to submit towards the end of the week.


We were going to talk about the status of the Handbook but decided to loop back on it next week. In the meantime @isaackeyet will look over the Design section one last time and given time @koke or @sendhil can look over the iOS section. We’ll also make sure full Testing instructions for both our main apps are in the Handbook as well.

This Week


(top priority for both apps is to test the respective upcoming releases, feel free to help out!)

Next Week

The next dev chat will be on Nov 4 at 16:00 in #wordpress-mobile. Mark your calendar and join us!


Here is a nice article from a user…

Here is a nice article from a user of the WPiOS app and some suggestions (and wireframes!) based on his experience using the app while traveling. ( Hat tip @karim for the link. ) A lot of his feedback revolves around a better offline experience, especially where media is concerned. Thoughts?


Updated Mobile Handbook Todos

Here is an updated todo list for the Mobile Handbook. I’ve put names next to some items as a suggestion of who might be a good fit for a topic and in most cases I’ve doubled up our developers since they have big demands on their time. Its not complete so please feel free to grab an item that interested you or take your name off a topic to let someone else have a go.

I’ve also consolidated some items into General Guides to avoid having some single page sections. Some of the pages don’t have stubs and need to be created. The contents list on the handbook front page is a little out of date at this point and we might just remove it and go off what is in the sidebar TOC. Its going away at some point anyway.


I moved the UI Guidelines stub to the Contribute Style section since it seems a better fit there. The “Enabling Safari’s Web Inspector on iOS” topic from Tips and Tricks might be a good fit under Tutorials and Guides.

Other Apps

  • Other apps – blank. Should be the introduction. @aerych
  • webOS – blank. @beaucollins
  • Nokia – blank.

I think it makes sense to devote a short page to each of the other platforms so I’ve added those items. I think the content can be an abbreviated version of what we’re doing for the other platforms. Push back if I’m off in left field here.
Also, we have some great documentation that Sayak wrote for the webOS app that could probably have a home here.

Contribute Design

I’m not sure we need to include styles for the legacy BlackBerry app, mostly because there is more demand for native BB10 and we’re not actively involved in legacy BlackBerry dev. @daniloercoli do you have an opinion about this?

Support Help

XML-RPC & API Contributions

I’m not sure what this section was supposed to be about. Maybe we’re talking about native libs that interface with XML-RPC and other APIs? If we’re talking about XML-RPC itself it would belong to the core handbook.

General Guides

  • General Guides – blank. Should be a short intro.
  • Using Github & Trac – blank.
  • Changing Hosts on Mobile Devices using Charles – blank. @beaucollins
  • Testing with the pre-flight checklist – blank. @aerych


There has been some conversation about the best way to denote a page’s status: drafting, draft, editing. The handbook pages don’t seem to support tags, so I wonder if it would work to just append the status to the title. This way it would at least be easy to see a page’s status at a glance from the admin. Thoughts? If we like this idea I’ll go through and update the page titles for Rachel.


Dev chat summary for May 29 2013 Chat…

Dev chat summary for May 29, 2013. Chat log


  • Android
  • iOS
  • Other Platforms
  • Mobile Handbook
  • GSoC Update


The WPcom Notifications release is in Beta. Everybody with a Jetpack-enabled blog and/or a blog is encouraged to download it and help test it, as well as reporting any issues that arise.


NUX update has been submitted with a heap of languages at 100%! A lot of people have been involved in this release, most notably @sendhil, @hugobaeta, @koke, @karmatosed. It provides a much better first experience for all types of users, wether you have a blog already or you want to sign up. It’s also bringing the UI of the app up to par with the latest around the WP ecosystem, expect a lot of this to cross-pollinate to other parts of the app and other platforms as well.

WPcom Native Reader update: last week we’ve focused on wrapping up the comment form, topics list, and a bunch of smaller functions. We’re hoping to release a basic Beta sometime next week but it may be pushed out a bit further.

In other news a 3.6.1 is already being planned, and the work on better global Accounts for WPcom users will be merged as a part of the Native Reader update.

Other Platforms

Filing Windows Phone tickets for the next update, other than that not much going on on the other platforms we govern.

Mobile Handbook

I acknowledged the state of the Mobile Handbook in the chat, and let people know that our editor Rachel will be ready to review and edit content shortly. Everyone is urged to attend to the sections of he handbook that they’re assigned to. Eric mentioned that the state of the Android section in the handbook is looking pretty good, and that that may be a good place for Rachel to start looking at.

The BlackBerry section is looking really good as well, and this may in fact be the best place to start.

Mobile Handbook Todo.

GSoC Update

The selection process is over, and there will be two mobile Google Summer of Code projects this year.

Native WordPress app for BlackBerry OS 10

Daniele Maio will create native WordPress app for BlackBerry’s exciting new OS 10 platform. @daniloercoli will be mentoring.

More info.

FirefoxOS WordPress for webOS port

Sayak Sarkar will port the fabled WordPress for webOS app to the FirefoxOS platform. @aerych will be mentoring.

More info.

Congrats guys!

Next Week

The next dev chat will be on June 5, 2013 at 15:00 UTC. Mark your calendar and join us in #wordpress-mobile on Freenode. The next two weeks @aerych will lead these chats and post the summaries.

#android, #dev-chat, #gsoc, #handbook, #ios

Dev chat summary for May 8, 2013

Chat log.


  • iOS projects update
  • Android projects update
  • Moving dev blog discussions to make/mobile (this blog)
  • Handbook reminder

iOS projects update

NUX (new welcome guide, improved sign up) is almost complete, need to look over copy and polish a few things, then should be ready to get it translated and tested. native reader project: picking up momentum again, currently working on threaded comments which is complicated.

Accounts migration: need to write the actual core data migration but very close to completion. Should simplify the way accounts act under the hood in the iOS app.

Android projects update

A bug fix update is going out today that fixes a bug with featured images.

The Notifications project is very close to beta, no word on when just yet but should be very soon.

Moving dev blog discussions to make/mobile (this blog)

We decided to close the dev blogs and (if possible) migrate their data to this blog instead and keep all discussions/announcements/etc in one place. The filtering on this p2 should make it easy to only see discussions about specific platforms if you only contribute to one. @mrroundhill took it on himself to investigate what’s needed for migrating the data. @isaackeyet (me) will look into a way to display sticky messages on the dev blogs once migrations are complete. The platform leads for each platform will also post a last post on each one of the dev blogs letting subscribed readers know that the blog has been merged with make/mobile (this would be @mrroundhill, @koke, and @daniloercoli for BlackBerry and Windows Phone).

After the chat @nacin jumped in and let us know he will assist with the migrations as well.

Handbook reminder

@aerych reminded himself and all others that the Handbook is still in need of looking over and updating – please refer to the separate todo post for details on what’s left and who’s responsible for what.


@daniloercoli let everybody know that there’s a new bug fix update live for Windows Phone. It has bug fixes as well as a small new feature that lets users share permalinks to other apps on the device (such as Email, Facebook, Twitter, etc).

Next week

The next dev chat will be on May 15, 2013 at 15:00 UTC. Mark your calendar and join us in #wordpress-mobile on Freenode.

#android, #dev-blogs, #dev-chat, #handbook, #ios

We’re coming up on the end of the…

We’re coming up on the end of the contributor handbook schedule. May 17th is the last date for all handbook components, after that there’s only editing left. We’ve not followed the exact structure as suggested by Docs, but we’re not far from having all parts ready either. So as we’re approaching the home stretch, I thought it best to create a check list of remaning items so we make sure everything gets done in time.

I’ll assign people to complete the pages to the best of my knowledge.


  • Introduction @aerych, @isaackeyet
  • Dev chats info @isaackeyet
  • Communication (could maybe be a part of Dev Chats?) @isaackeyet
  • Contributor list – we may want to have a direct way to see all current and past contributors (TBD)


The state of the iOS and Graphics sections are far behind the rest, so these two only have general todos.

  • Create individual pages (all in currently) @koke
  • Update menu @koke


  • Combine Android menu item and Introduction? @mrroundhill
  • Update screenshots throughout @mrroundhill
  • As discussed, update Getting started guide to better guide new users, also some feedback here @mrroundhill
  • Add testing instructions @mrroundhill
  • Ping Rachel about a review after above items are complete


  • Update/make intro to app development, at least to me it’s not entirely clear how to get started currently @daniloercoli (@daniloercoli)
  • Make sure all sections are covered and up to date (compare with other platforms’ handbooks for completeness) @daniloercoli (@daniloercoli)
  • Ping Rachel about a review after above items are complete

Windows Phone

Can’t find the reference right now, but if I remember correctly @daniloercoli, @aerych, and @sendhilp all wanted to take another look at the Windows Phone section. Please divide any items here in between you!

  • Complete Tutorials & Guides
  • Update Testing instructions? Looks like it’s not complete/formatted correctly yet (@aerych)
  • Beta distribution is currently 404. Is this page still planned? (@daniloercoli)
  • Tips & Tricks could use some clean up (@aerych)
  • Ping Rachel about a review after above items are complete

Other Apps

  • Write intro to the other Apps and give information on their current state.
  • Link up to existing tracs, websites, dev blogs, forums, etc
  • Let contributors know how they can contribute should they want to

Contribute with Design

All items assigned to @isaackeyet

  • Clean up intro
  • Create General UI Guidelines
  • Create Color Palette (@isaackeyet)
  • Write about Fonts
  • Write about screen densities and what this means in reality, best practices
  • Write documents on platform-specific guidelines
    • iOS
    • Android
    • BlackBerry
    • Windows Phone
    • Other platforms
  • Denote best ways to get set up with a dev environment for each platform for designers (referencing platform specific set up guides)

Assist with Testing

  • Write intro on testing and how testing helps the apps
  • Write about how to get started with testing each version of the WordPress apps (maybe linking off to the Testing sections of each platform)
  • Using Dev Tools to Stress-Test Apps
  • Intro to the pre-flight check list (should probably be a part of the Intro)

XML-RPC & API Contributions

  • Write page on how to contribute to the API side of WordPress and where to go for that @koke

General Guides

Any takers here? @beaucollins comes to mind, let me know if you’re up for taking these on.

  • Intro to using Trac for the mobile projects (link off to specific sections for more info)
  • Intro to Git and how it’s used within the Mobile Group

Tips & Tricks


  • Add list of all contributions to the Mobile Handbook @isaackeyet

Other todos

  • Ping Rachel about looking over all the contents of the handbook mid-May at latest @isaackeyet
  • Add Handbook to make/mobile navigation @isaackeyet
  • Better navigation structure for Handbook? Would be good to have links to parent posts/sections for easy navigation. Investigate. @isaackeyet
  • Inline content navigation with anchors (so you can link to specific headers within posts, see Support for example). Investigate. @isaackeyet

#handbook, #mobile-handbook, #todos

Weekly Dev Chat Summary for Jan 23, 2013

This week’s chat log.


  • WPiOS Status and What’s Next
  • Navigation UI for WPAndroid
  • WPiOS Sign Up Wireframe Discussion

WPiOS Status and What’s Next

Version 3.4 of WPiOS has been submitted, the main new feature is a Notifications panel for and Jetpack-enabled blogs. It also features stability improvements.

A bug fix update is in the works, in which the UI/UX around Notifications will be improved further. Tickets going into this bug fix update will be listed on the WPiOS Trac.

We’re also working on better Previews for WPiOS, this will likely be the next major version of WPiOS – would be v 3.5 then. Since we have feature-based dev cycles this may be subject to change though. Any new contributors should jump in at #wordpress-mobile on Freenode to a mobile group member for starting work on any major new feature.

Navigation UI for WPAndroid


We decided to iterate on the UI in an upcoming WPAndroid release:

  • Add ActionBarSherlock and ‘convert’ our homegrown action bar to the native one
  • Remove the ‘dashboard’ home screen and instead put the items in a slide-out menu
  • Make small style updates around the app (lists etc) to better conform to the Holo UI pattern

Tasks delegated so far:

Previews is also in the works, @koke says it’s about half-way there. Whatever finishes first will be v. 2.3.

WPiOS Sign Up Wireframe Discussion

Background courtesy @karmatosed.

We had a discussion around what a sign up flow for WPiOS could look like, based on the wireframe. We like the direction but concluded that some basic improvements to the sign up/login flow might be nice altogether. The team highlighted plans to remove the “Select Blogs” step from the set up flow altogether, but this doesn’t have to happen at the same time.

We decided that another round of wireframes may be in order that ditches the first screen altogether and moves straight into a combined self-hosted/ log in form. We want to make sure there’s enough space there for some explanatory copywriting and that there are ways to highlight fields and provide additional instructions (at least for the URL field). We’ll wait to discuss more until we’ve seen some more wireframes.

It was a big discussion, if you’re interested be sure to check the chat log.

Next week

The next dev chat will be on Jan 30, 2013 at 16:00 UTC. Mark your calendar and join us in #wordpress-mobile on Freenode.