Plugin Directory Design Direction

Earlier this week, a few of us met to discuss the design direction of the Plugin Directory. Myself, @michael-arestad, @hugobaeta, @melchoyce, @helen, and @samuelsidler looked at the current directory and challenged ourselves to look at it from a fresh perspective, exploring flows, UI, and content. The overall goal was to set a direction for the design.

After a couple days of whiteboard drawings, we’re a lot closer and I wanted to share some explorations with you.

Please note that the below explorations are wireframes and heavily subject to change. They’re only meant to give you an idea of the direction we’re looking at.

We discussed three views:

  1. The landing page (
  2. The Search results view
  3. The Single Plugin View
Plugin Landingpage

Plugins Landing page

Plugins Search Results

Plugins Search Results

Plugins Single View

Plugins Single View

Some pictures of our whiteboards

On each view, here are some thoughts on the direction.

Plugins Landing page (/plugins/)

  • The title block is much longer, with a more prominent search field at the top. Search is the primary action in the directory and we’re working to improve it.
  • The addition of a slider for featured plugins… yes that’s not misspelled, I wrote “slider”. 😉
  • Sectioned plugin blocks around various “filters” of plugins. As a sample, we used popular, trending, and beta, but these could be anything in the future.
  • The “Developer Center” that currently exists becomes a small “Plugin Authors” callout at the bottom of the page since it’s not frequently used. We’d add other blocks (like the ones show) where relevant.

Plugins Search Results

  • Search results maintain a similar style as the landing page.
  • Search field remains prominent in the title block.
  • In fact, when searching from the landing page, everything under the search box is replaced with results.

Plugins Single View

  • Maintain a large plugin banner at top of the view.
  • The plugin name will no longer be over the banner.
  • Below the banner, we show the name of the plugin, author, and a Download button.
  • The Translation Information displayed will note if a plugin is available in your language or, if not, allow you to click and see it on your localized site with a callout to begin a translation.
  • Tabs are removed. Instead, content blocks act as accordions on the page, revealing information when a visitor clicks to know more. The main column holds the following information:
    • Description
    • Changelog
    • Screenshots in the form of a gallery/slider (to be explored).
    • FAQs – We debated this section a bit, but FAQs are still quite important, when they exist. Ideally, these could be added in the plugin author dashboard instead of the readme so the format is more consistent. If that happened, we could show a list of questions with accordion-like answers when clicked.
    • Reviews – Becomes a section on this view where you can click to see more reviews.
    • “Contribute” is the new “Developers” section. Here we’d show relevant developer information, contributors, a donate button, and all available translations. As we experiment, this may become another view similar to Reviews where you click to see more detailed information.
  • Meanwhile, the sidebar remains, but becomes more condensed. In it, we show:
    • Ratings – a break down by rating.
    • Support – a “widget” that shows relevant support information and allows the visitor to click to enter the support forum.
    • Active Installs
    • Last Updated
    • Category
    • “Designed to work with” option, if relevant.

Overall, we worked hard to keep the most relevant information for visitors as information that’s important to plugin authors moves to the plugin admin dashboard.


As a reminder these are wireframes to give you a general idea of the direction we’re heading.

What do you think about the direction? Are there things you think should be removed? Things that should be added to the main views? Leave your feedback in the comments.

#design, #plugin-directory, #plugins

Weekly i18n Chat Notes – November 17, 2015

Howdy again! We’ve actually been meeting the last couple of weeks but someone (aka: me) has been bad about posting meeting notes. If you’re interested in helping with internationalization efforts on, join us on Tuesdays at 12:00 UTC (note the time change for DST).

Here’s a few things that happened in the i18n world over the last couple of weeks:

  • Translate: A bunch of things have happened!
    • @obenland swooped in with some updates to the project overview for plugins. Here’s an example. But I’ll save you a click: all four sub-projects are now represented on the page in a layout similar to the stats page. We hope to expand that page with other features in the future.
    • Speaking of stats, @dd32 updated the Waiting column on the stats page to list waiting strings from all projects. Numbers grew substantially for many locales.
    • Every time a plugin gets imported into, the status is now displayed in the #meta-language-packs channel on Slack. Plugins that are already in get re-imported every time there’s a commit in their SVN repository. In the future, initial plugin imports will also be shown in this channel.
    • The above item was the last major step to enabling at-will plugin imports into @ocean90 has fixed a various bugs in the scripts and will be testing the feature (secretly) soon, to see if it will scale. Once he’s comfortable, it’ll roll out to a broader audience and eventually get announced to all plugin authors.
    • One of the ways we can ensure it will scale is by setting up a job system and running all of our jobs through that. @dd32 has worked up some initial code for that, which we’re waiting on systems to deploy.
    • But that’s not all! A filter UI is now available for larger groups of projects (like plugins and themes). You can see it for themes here.
    • Additionally, Dion fixed the issue where themes with \r\n in there strings were appearing incorrectly.
  • Forums: More forum plugins are being ported! @nullbyte has signed up for a few plugins and the table has been updated.

Finally, at today’s chat we talked about #1388, #1044, and #1162, as well as related GlotPress tickets #100 and #494. Specifically, what is the best way to alert translators and translation editors of projects that strings are ready and available to translate?

There are a number of things we can do here, but for now the best course of action is adding a list of contributors/PTEs to the plugin overview (that’s #1388 for those following along). Adding this is a good first step towards future solutions.

While that’s being developed, it’s worth considering the best UX for notifying/contacting translators. The propose GlotPress method is notifications and a notification center, however our use case might be different than the norm – or perhaps we should work with the GlotPress developers on the ideal solution if our use case is normal.

Lots to think about and discuss with the polyglots team and propose to plugin/theme authors.

#forums, #i18n, #l10n, #meeting-notes, #plugins, #translations

Weekly i18n Chat Notes – September 22, 2015

Earlier today a handful of us gathered to talk about life, the universe, and things that may or may not relate to the meta team and i18n. Here’s a bit of what we talked about:

  • Plugins: Last week imported our first set of plugins into! Hurrah! Huzzah! 🎤⬇️ And because we were feeling good about it, we also sent out emails to the second batch of plugin authors (~200 plugins). That import will start today or tomorrow and we’ll send out emails for the next import soon.
  • Translate: The stats page got some love with the addition of the Waiting column (see #1202) and some improvements to the design (see #1238).
  • Theme Directory: @obenland started work on the Translations section by adding a link to translate any theme to the page. Check out the Twenty Sixteen theme page for an example.
  • WordCamp: Set things up so the WordCamp theme can be translated (see #1076), pending deployment by the WordCamp team.
  • Forums: There was a mention that the Italian forums are not working. @ocean90 will investigate. Additionally, we’ve had a couple of requests for new forums. We think it’s okay to add new ones for testing purposes. For example, an RTL forum would be appropriate.

For the next week, we’re planning to work on the following:

  • Import and language pack status of plugins sent to a Slack channel.
  • Sorting / Filter UI finished up (or whatever we call it).
  • Streamline the process of adding per-project translation editors (see #1237 which requires #1240).
  • Work on updated design for project pages in Translate.
  • Possibly: More Theme Directory translation section additions.
  • Possibly: Rosetta headers fixed up (see #1201).
  • Possibly: Job system started.

See y’all next Tuesday at 11:00 UTC!

#forums, #i18n, #l10n, #meeting-notes, #plugins, #stats, #theme-directory, #translations, #wordcamp-org

Weekly i18n Chat Notes – September 15, 2015

We met today, like normal, at 11:00 UTC and discussed the following things:

  • Translate: Warnings on are now being sent to #polyglots-warnings for more transparency and to catch bad actors. (The channel name may change to #polyglots-notices to cover other usages.) Additionally, the “Waiting” tab now shows the full project name instead of just the sub-project name; e.g., “Plugins – Akismet – Development (trunk)” instead of “Development (trunk)” which was less descriptive.
  • Plugins: Last week, emails went out to the first batch of plugins. We are ready to begin the import into
  • Forums: @clorith has taken on a plugin! We love new contributors. 🙂

There was no update last week (on this blog) but we also improved the design of the stats page.

Over the next week, we intend to do the following:

  • Plugin import, starting today.
  • Import and language pack status of plugins sent to a Slack channel.
  • Emails for next plugin import batch will go out.
  • Sorting / Filter UI finished up (or whatever we call it).
  • Possibly: Rosetta headers fixed up.
  • Possibly: Jobs system started.

See y’all next week!

#forums, #i18n, #l10n, #meeting-notes, #plugins, #stats, #translations

Weekly i18n Chat Notes – September 1, 2015

Howdy! We have our weekly i18n chat tomorrow at 11:00 UTC. Please join us.

Last week, we discussed the following things:

  • Translate: A stats dashboard has been created. We’ll track the most important projects on this dashboard. We still need to add a couple of features for admins. A bit of time was spent on ways to improve the dashboard and, if you attend tomorrow, you’ll discover that a number of changes were made.
  • Meta Environment: Not a normal topic for us, but a pull request exists that adds to the meta environment so developing for it will be easier.

What’s up for the next week’s worth of work? Maybe some of the things mentioned here.

At the end of the chat we mentioned that we’re on track to start importing plugins in ~2 weeks. Since I’m posting this about a week late, that means next week we plan to begin the plugin import.

#i18n, #l10n, #meeting-notes, #plugins, #stats, #wordpress-meta-environment

Weekly i18n Chat Notes – August 25, 2015

As a reminder, we have a chat tomorrow at 11:00 UTC. The update below is from last week’s chat

It’s been a while since we last met! I think WordPress 4.3 somewhat distracted us. 🙂 Here’s what’s happened in the last three weeks:

  • Forums: Progress has been made on porting bbPress 1.x plugins! So far, @jmdodd has migrated two plugins to bbPress 2.x. If you’re interested in helping out, be sure to put your name in the “Migrate?” column of the table. (Need access? Just ping me.)
  • Translate: A “Waiting” tab now exists and both it and the themes tab is now sorted by the order previously discussed. Filters are still coming (pending design), but we’re well on our way. Additionally, themes are now in sync with the directory and fully caught up. That means if a theme is approved in the directory, it is automatically imported into

And upcoming:

  • Sort orders (and filters) in
  • Properly log warnings in to a Slack channel so we can keep an eye on them.
  • Fixes to \r in translations.
  • Rosetta header changes.
  • An i18n dashboard to keep track of major products.
  • Automation of Rosetta deploys (pending logging mentioned above).
  • Job / queue system for imports and language pack generation (with systems).

About a month ago, I made a list of next steps before importing plugins to and we’ve done them all, but run into a few other things needed (as listed above). That said, I think we’re very close to the point where we can import plugins. Of the items above, only the job system is necessary, due to the number of commits plugins receive. More to come on make/plugins.

#forums, #i18n, #l10n, #meeting-notes, #plugins, #rosetta, #themes

Weekly i18n Chat Notes – July 21, 2015

At our weekly chat today, we talked about a few things:

  • Forums: The Italian forums were launched! It’s a bit rough around the edges, so there’s a bunch of work still left to do. If anyone is interested in contributing to our bbPress theme just let us know. The more help we can get, the faster we can get the forum theme in shape to launch it to other locales. (Big props to @ocean90 and @medariox!)
  • Translate: Tons of things going on and upcoming here.
    • Themes are being imported. Currently ~1100 out of a total of ~1900 themes. The rest should be imported by next week’s meeting.
    • As part of the import, we’re noticing that quite a few themes have a textdomain that is different than the theme’s slug. Language packs will not support that. Instead, we’ll contact theme authors and work with the theme review team to ensure this won’t happen again. (Also, @Otto42 is adding modifying theme-check so that it checks for this issue.) Some stats on that were shared in Slack, but note that they’re for all themes, not just active themes. The actual numbers will be different.
    • Meanwhile, we need to start considering how to sort and prioritize themes and plugins. This post has some ideas and the comments section is open for more. We should have a list to start on by next week’s meeting. There are some backend changes that @dd32 needs to work up first.
    • One method of prioritizing is favorites. @dd32 is working up changes to the theme directory (and elsewhere) so themes can be favorited. ❤️ We can use theme and plugin favorites to prioritize projects (per-user) on
    • @ocean90 is also testing plugin imports with a few select plugins to ensure the import script works well.
    • Additionally, the language pack script currently exists for plugins and will be modified for themes (thanks @ocean90!).

Most of our focus right now is on language packs and theme/plugin translations. Summarized, here’s the next steps:

  • Finish theme import
  • Enable theme directory syncing (every new/updated theme gets imported)
  • Implement some prioritization (including a side project: adding favorites to themes)
  • Modify the theme directory to support translated theme names/descriptions
  • Enable language packs for themes
  • Start importing top n plugins
  • Enable language packs for top n plugins

Of course, some of these will happen in parallel with others and there are numerous parts to each line item, but we’re making great progress. By next week, we’ll probably be able to cross off an item or two. 👏

#forums, #i18n, #l10n, #meeting-notes, #plugins, #rosetta, #themes

Weekly i18n Chat Notes – July 14, 2015

We had our weekly chat today and talked about a few things.

  • Forums: We’re still waiting for one issue to get fixed in bbPress before we can enable initial forums for the Italian community.
  • Translate: Lots of great progress.
    • Design implementation is done.
    • Paging is done. Basic search is part of it as well.
    • Import scripts are done for themes and in-progress for plugins.
    • @dd32 tested an import of all themes and it works! 🎉
    • Role plugin design changes are still pending, but the design is ready, so it’s just a matter of implementation.

Because of the progress on themes, we think we can do the initial import for themes very soon. It’s know that there will be issues, especially in categorizing and sorting through all ~1500 active themes that will be imported. We’ll work through those issues, fix them, and be ever-more ready for plugins.

Also, because we’re so close, I posted on make/polyglots and make/themes to give them the heads up and added some documentation to the translator handbook to walk through how some of this will work on their end.

As we get closer to the initial import of plugins, there will be a post on make/plugins and we will email plugin authors ahead of time, with a specific date, so they have an opportunity to commit any missing translations to SVN.

(See also: the meeting notes from last week.)

#forums, #i18n, #l10n, #meeting-notes, #plugins, #rosetta, #themes

Plugins, Themes, and

As mentioned a few times, we’re going to be enabling the translation of active plugins and themes in the repositories on Today, we had a chat in #meta-i18n (logs) about how the non-technical side of this will work.

As a quick recap: We’re making good progress on the relevant pieces of Rosetta, GlotPress, and all the related scripts needed to import plugins and themes that are in the directories into and make them available for translation. Every plugin and theme will then be able to take advantage of languages packs, meaning no more delay in language updates and smaller plugin downloads.

Here are a few of the points we discussed on how this process will work:

  • Eventually, all active themes and plugins in the directories will be imported into and made available for translation. The “eventually” is important to note as we will be importing a few at a time to ensure GlotPress can scale accordingly. It’s also important to note that “active” is a theme or plugin that has been updated in the last year. Further, even plugins and themes that are not i18n-ready will be imported so that their descriptions can be translated.
  • Additionally, any plugins or themes that do not live in the directories will not be allowed on For example, commercial plugins.
  • During the initial import, we intend to import all strings – included translations – directly from the plugin’s svn repository on We will not continuously import these strings, however. Ideally, after the initial import, a plugin would then delete the strings from the svn repository, making their download smaller and immediately taking advantage of the language packs generated by
  • For a language pack to be updated, the string must be updated in
  • The above point means that if a theme or plugin author uses a different site for translations, those translations must be brought over to If the theme or plugin has an active translation community, they can work with the polyglots team to bring translation editors over to the community. These translation editors can be limited to specific plugins, at the discretion of the locales translation editors. These translation editors can import strings for the plugin/theme, should they wish to continue using a different site for translations. (When we get closer to this, I’ll create a sample post that theme and plugin authors can use.)

That’s a lot to take in, so please let it digest. 🙂

One thing we also discussed was the possibility of enabling GlotPress installations to “talk to” each other, such that could import strings from another GlotPress site (for example,, whether as a feature of GlotPress core or a plugin. Currently, this is an open question. We plan to discuss the technical questions of this possibility at next week’s #meta-i18n chat (Tuesday, July 14 2015 11:00 UTC). Note that we will not wait for this feature before continuing with our planned import.

A few other notes:

  • We discussed the possibility of adding a banner to the specific plugin/theme’s page on pointing the external site where translations are active, should a plugin/theme not use as the canonical source for their translations. Currently, I believe the answer is “no banner” but it’s a conversation we should have and re-evaluate over time.
  • Outside of that, it occurred to me after our chat that we will need to add translation editors to the relevant theme/plugin page. For example, if a translator editor only has permissions to approve translations for Hello Dolly, we should note that on the Hello Dolly page within Example: “Strings for [project name] are approved by the German translation editors [link], as well as username, username, and username.”

If you’re interested in any of this topic, we’d like to get some feedback on any/all of the above. Please leave your comments here, not in #meta-i18n, so others can see your feedback. We’re especially interested in feedback from plugin and theme authors who do not currently have translations and one’s who use an existing product for their translations.

#i18n, #meeting, #plugins, #themes, #translations

Weekly i18n Chat Notes – July 7, 2015

After a four week hiatus (!) we had our weekly i18n chat today. We’ll be continuing these chats every week on Tuesday 11:00 UTC 2015, just like before.

This week, we discussed the following:

  • Forums: While the bbPress 2 forums aren’t quite ready yet (literally no plugin has been ported to bbPress 2 yet), we’re going to move ahead anyway. @ocean90 is going to work on setting up forums for the Italians within the next week, but is running into permissions issues with bbPress.
  • Translate: @ocean90 implemented most of the @isaackeyet‘s design for With the new designs, there’s only a handful of technical things left before we can start adding additional plugins or themes:
    1. Finish design implementation: The big piece that’s left is adding the sub-project drop down in the top right box, which is needed to allow switching between sub-projects. Additionally, a green outline needs to be around the box if a project is at 100%, but this isn’t blocking anything.
    2. Paging. Without paging, the list of plugins will grow unwieldy. @dd32 is going to work on paging (which needs to be done here).
    3. Roles Plugin Changes: The roles plugin won’t scale if we add hundreds (thousands!) of new projects. We need a UI here – designers wanted! See #1101.
    4. Search: Not needed for an initial import of the top n plugins, but required for when we add all plugins. We’re putting this on hold for now as paging will suit our needs for the foreseeable future.

Beyond the technical list above, we need to talk about how plugins will be imported. Let’s chat this Friday July 10 13:00 UTC 2015 about importing plugins into If you’re interested in this topic, join us in #meta-i18n.

(As a reminder, all WordPress community meetings are listed on the meeting calendar.)

#forums, #i18n, #l10n, #meeting-notes, #plugins, #rosetta