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!

Weekly dev chat summary for Feb 24, 2014


  • iOS Status
  • Android Status
  • BlackBerry and Windows Phone Repositories
  • Other Platforms
  • This Week

iOS Status

The team had a big push on issues in the 4.0 milestone this week with native stats being the tentpole feature. The code freeze for the 4.0 release is still on track for Mar 1st, 2014. There will be 1.5 weeks after the freeze for testing with an estimated release on Mar 12th, 2014.

Android Status

There was a 2.6.1 update to fix important issues which was met with favorable feedback. There were some additional fixes that didn’t make it in so a 2.6.2 update is planned by end of this week.

Note to contributors: The Android group is experimenting with using master rather than develop for work on point releases. x.x.x branches will merge directly in with master and x.x branches will go into develop.

BlackBerry and Windows Phone Repositories

@aerych moved the repos for BlackBerry and Windows Phone to GitHub but there are still a couple things to do such as moving some issues and updating links to the apps on the development sites. This was done to keep things in one place. There is nothing currently in place to mirror to the former SVN repos so treat the GitHub repos as primary.

The new repositories locations are:


Other Platforms

All smaller platforms are in a state of ongoing hiatus. Several lesser usage apps were de-listed this past week to permit more focus to the flagship apps (iOS/Android).

This Week

The iOS team will continue to push towards 4.0 given that the code freeze is on the 1st. There will be some reorganization of the GitHub issues to move lower priority issues into 4.0.1 and 4.1 milestones.

The Android team is planning to ship 2.6.2 and then start working full force on 2.7.

Other Projects: The BlackBerry web site needs updated to point at the new location for the new repository. Tickets for bugs will need to be migrated from Trac to GitHub for both BlackBerry and Windows Phone.

Next Dev Chat

The next dev chat will be held at 17:00 UTC on Mar 3rd, 2014 in #wordpress-mobile on Freenode.

#android, #dev-chat, #ios

Mobile Weekly developer chat summary for Feb 10, 2014

#WordPress-Mobile IRC Log

  • WP Android Status
  • WP iOS Status
  • Other platforms
  • Google Summer of Code 2014
  • Team Reps
  • This Week
WP Android Status
We were fixing bugs reported from the 2.6 release last week and made a lot of progress.  The last hurdle is getting translations updated for 2.6.1. We changed a lot of the sentence styling, which means we need new translations for all of the strings we updated.  There’s also a nice update to the comments view in the app, thanks to @nbradbury.  We also have a discussion going about maybe keeping the nav drawer in the app instead of the tabs.
WP iOS Status
Last week the team worked pretty hard and fast to get out a hot fix release (3.9.1) which addressed a few bugs that we had quite a few complaints about for 3.9.  The three bugs were 1) a bug which caused timezones to be thrown off on posts 2) a bug where longer posts wouldn’t be able to use the link editor and 3) state restoration not working so when users came back to the app at times it defaulted to the reader.  All three were fixed quickly for 3.9.1 which was submitted on Friday.
We’ve been testing the release in parallel as well. We kept the release pretty focused as we wanted to just address the issues plaguing our users. I’ve been keeping an eye on Twitter and responding to users as they’ve sent in reports, I just wish I could reply to the app store sometimes :(.  The odd thing is the scheduling bug was there before, but complaints only started coming in on 3.9.  As far as this week, we’re awaiting 3.9.1 to be released, i’d expect it’ll be released by the middle of this week based on apple’s previous times reviewing the app as far as next steps, i’m consolidating 3.9.2 and 4.0 into one release and the team is going to shift onto 4.0 rather than another point release we’ll have 3 major tentpole features for 4.0, an updated media library, the ability to switch themes in the app, and native stats. a lot of the code for the tentpole features is complete so it should be doable for a 4.0 release
Other plaforms
All other WordPress apps are currently in a holding pattern and active development is on hiatus.
Google Summer of Code 2014
For those interested, WordPress Foundation has applied to be involved in Google’s annual event of getting students involved on coding over the summer.  There are a list of potential projects and also confirmed mentors available for the program at  There are three mobile projects in the ideas list currently.  Community developers are encouraged to participate in the program by submitting app ideas and becoming a mentor for a student.
Team Reps
Brad @irbrad and Aaron @astralbodies have replaced @aerych and @ievolver as team reps.  They’re still sorting out exactly how they’re distributing the duties, but will probably flip flop who runs the devchat every week similar to previous reps.  The Make Mobile site needs to be update to reflect the change, and that should be done shortly.
This Week
iOS – 4.0 work starts, Android 2.6.1 bug fixes and translations
Next Dev Chat
The next dev chat will be held at 17:00 UTC on Feb 17 in #wordpress-mobile on Freenode.

#android, #dev-chat, #gsoc, #ios, #team-reps, #wpandroid, #wpios

Weekly dev chat summary for Jan 27, 2014

Chat log.


  • Android Status
  • iOS Status
  • Team Rep Elections
  • This Week

Android Status

Started QA last week and found some bugs, especially on Android 2.3. Most are fixed, waiting on the last few to be merged in and then we’ll do another round. Plausible release date looks like Jan 30.

iOS Status

V. 3.9 was approved by Apple but we’re holding the release until Thursday which should make for a nice set of releases across platforms. 3.9.1 is next and will as usual be focused on fixing smaller issues and bugs, shooting for mid-February for a release there.

Team Rep Elections

@aerych brought up the fact that we’re a little over a month overdue when it comes to electing new team reps to represent the mobile group and help with the administrative tasks mainly. We’ll work in this over the next week and announce new team reps next week.

This Week

Android: wrap up fixes and push 2.6 out the door. Set goals for v. 2.7.
iOS: start working on version 3.9.1 which will contain a number of important fixes. (And of course announcing 3.9 this coming Thursday.)

Next Dev Chat

The next dev chat will be held at 17:00 UTC on Feb 3 in #wordpress-mobile on Freenode.

#android, #dev-chat, #elections, #ios, #team-rep

Dev chat summary for Nov 4, 2013

Chat log


  • iOS Summary
  • Android Summary
  • Dev chat time change
  • This week

iOS Summary

Bug fix release 3.8.4 is in QA testing and a few bugs have been found but nothing considered ‘blocker’ yet. We discussed disabling the Feedback feature but ultimately decided to simply demote it in the “What’s New” message.

Since support is a concern, we talked about ways we can improve the Forum experience and make it simpler to maintain. A message to have people include their blog URL was mentioned, but we may want to take it one step further and do the forum merge finally.

  • Come up with a game plan to merge mobile forums

Android Summary

2.5 testing continues, more bugs were found in QA round 3 so QA round 4 was started late last week. It’s looking promising though. We’ll keep testing and then release the RC to the G+ beta testers. We’re probably looking at Monday next week for a release date considering the amount of testing needed and the RC period.

We also decided to start releasing QA builds to the beta group moving forward.

Dev chat time change

Since northern America has now moved back one hour, we decided to move the dev chat time to 17:00 UTC.

  • Update sidebar
  • Update handbook
  • Update #wordpress-mobile room topic

This Week

Continue Android and iOS QA testing. After the meeting it was decided that we’ll break the iOS code freeze for 3.8.4 and fix some additional serious bugs and then do a round 2 of QA testing.

The UX subgroups outlined these tasks: Consume & React: decide on how to unify the commenting/moderation experience. NUX: simplify the welcome guide, fix login issues, and create better ’empty’ views. Posting: talk about wireframes and squash as many post editor bugs as we can.


In the last meeting we briefly talked about the Handbook and this was brought up this week again. Since the iOS section is still to be completed we decided to move the conversation to this p2 to keep things moving.

Next Dev Chat

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


GSoC – Week 15: When everything's complete and done!

This is the final week of Google Summer of Code 2013, all the submissions have already been made and the final evaluations are well on their way. So, this is my last GSoC 2013 update and I plan to use this post to display the final result of what I’ve been able to achieve this summer.

Here are a few screenshots of the app that I’ve taken using the Geeksphone Keon developer device for Firefox OS, which roughly cover the primary features of the app:-

WordPress for Firefox OS - Login ScreenWordPress for Firefox OS - Posts List VIewWordPress for Firefox OS - New PostWordPress for Firefox OS - Successful Post NotificationWordPress for Firefox OS - Post Draft ViewWordPress for Firefox OS - Sliding Menu DrawerWordPress for Firefox OS - Pages List ViewWordPress for Firefox OS - New Page ScreenWordPress for Firefox OS - Page Published NotificationWordPress for Firefox OS- View Site Mode

At the end of the summer, I would like to state that I’m actually quite satisfied and happy with the way the app has turned out to be so far, given the time-limited scope of GSoC. However, I would like to continue work on the app beyond the GSoC timeline and see to it that the app goes forward towards a matured v1.0 release sometime in the near future.

I would also like to express my heartfelt gratitude and thanks towards @aerych, who has been my mentor for this project. He has been an exceptionally good guide for me throughout the summer and always helped me whenever I’ve faced challenges or felt stuck during the coding period. Also, I would like to express my thanks to the WordPress and Google Summer of Code project coordinators for giving me the opportunity to work on developing the WordPress app for Firefox OS. Thanks a lot to everyone! 🙂


Weekly dev chat summary for Sep 23, 2013

Chat log.


  • Android Status
  • iOS Status
  • Handbook Status
  • This Week
  • Next Dev Chat

Android Status

Since there are still a few bugs to take care off, the road map was revised so we can do a second beta this week and release on Oct 7. We need to test more with Jetpack to make Stats are working like they’re supposed to.

NUX and the new, native Reader will be the next release after that, towards the end of October.

The Android project is in dire need of beta testers. If you’re interested, keep a look out for a post appearing here soon or simply comment on this post.

iOS Status

Our update for iOS 7 was released and got some nice attention. There’s been some serious bugs and a bug fix (3.8.1) is already out, with 3.8.2 being submitted tomorrow most likely.

Once bugs are out of the way, we’re pretty much ready to release Themes. Media is also looking a whole lot better. The visual editor work will be postponed to later in October.

As far as the refactoring goes, we’ll pick it back up once we’re done with the current feature iterations — it’s likely that there are going to be more changes needed after we’re done with all of these.

Handbook Status

@rachel_mccollin took a look at the Handbook and posted her notes. BlackBerry has already been updated and Windows Phone cleaned up, but the iOS section still needs work. @aerych urged the iOS contributors to divide the work in between them and write up the missing documentation.

This Week

Since the vast majority of the contributors working on the iOS and Android projects will be out the next 7 days or so, the projects will only be monitored and development will be picked back up around October 4-8. For Android, the beta will be the top priority and for iOS it’s taking care of the most severe bugs showcased in the app.

Next Dev Chat

The next weekly dev chat is scheduled for September 30, 2013 at 9AM PST/16:00 UTC as usual. Most of the regular folks will most likely be out, and since the projects are on a little hiatus we don’t expect much that will need to be talked about. However, we’ll still have it and anyone that wants to join in and chit-chat is more than welcome to.

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

Dev chat summary for Sept 9, 2013

Chat Log

A more informal meeting was held with the absence of @isaackeyet and @aerych.


  • iOS Status
  • Android Status
  • Windows Phone Status
  • Other Updates

iOS Status

Work continues on iOS 7 and it’s the primary focus of the team. @astralbodies discovered the cause of the login issues some users are reporting and is working on a fix soon. An escalated review request is expected to submitted with the 3.7.2 fix binary.

Android Status

This week we’re wrapping up themes, stats, and media release with a beta expected next week Monday (16-SEP-2013). The pin code lock feature is already available for testing and still has to be merged into the develop branch. Beta will be public, most likely, and posted via Hockey App.

Windows Phone Status

A number of patches were submitted by anirudh24seven and will be reviewed and applied to trunk soon. There are other issues that have to be resolved first before a release is made. No ETA on the fixes or the release.

Other Updates

No other updates brought up!

Next Chat

Join us for the next dev chat on Sept 16, 2013 at 16:00 UTC. Mark your calendar and join us in #wordpress-mobile on Freenode.

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

Dev chat summary for Aug 19, 2013

Delayed summary of what went down yesterday for the record. Chat log.


  • iOS Status
  • Android Status
  • Handbook Update
  • Team Reps
  • What’s Next

iOS Status

3.7 with the new Reader and a new account system launched (woo!) but had some serious bugs, including a launch on startup for some due to migration issues (boo!) so we’ve been hard at work trying to fix the issues. A .1 will be pushed asap. Next up is a .2 with some minor enhancements.

Android Status

2.4.4 was just pushed to Google Play and includes some enhancements like Picasa/Google+ image uploading/adding and post excerpts — props @aagam94!

Later this week we’ll launch a beta with theme selection and media library enhancements. We’re also starting the new user experience iteration back up (better log in/sign up and welcome guide).

Handbook Update

@sendhil has worked on the iOS section and @hugobaeta has taken a look at the design parts of the handbook. Everyone was urged to mark things as done in the todo.

Team Reps

We talked about electing new team reps. Since our group is very small we decided to keep it simple and elect new reps in the chat itself. @irbrad was up for a term but not this time around, so for now @aerych and @isaackeyet will continue being team reps without specific primary/secondary roles (we’ve switched from week to week up until now and it has worked well). Worth noting is that the new cycle is 3 months for a handoff between primary/secondary team reps but since it’s worked so well I think we can continue on as we have and fill in for each other when necessary.

What’s Next

iOS: fix the bug in 3.7 asap and issue 3.7.1, then start working on 3.7.2. iOS7-ification is also under way, as is the code clean up and partial refactor, both in separate branches for now.

Android: Media/Themes beta and NUX (welcome guide, improved log in/sign up) is next, along with the Android Native Reader project.


We discussed bug tracking briefly and decided to track issues with the iOS app directly on Github using Issues — this will be adopted by the Android app shortly as well.

We also talked about using Hockey app for Android beta distribution. We concluded that we should explore more to see how feasible it would be and maybe start a post on this p2 about it.

Next Chat

Join us for the next dev chat on Aug 26, 2013 at 16:00 UTC. Mark your calendar and join us in #wordpress-mobile on Freenode.

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