DASH – 3.8 proposal

Prerequisite: Must have latest version of MP6 installed and activated.
PluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party link: https://github.com/growthdesigner/wp-dash

Visual comparison

The existing dashboard (the page you see by default when you log into WordPress) looks like this:

It hasn’t been touched in years, leaving it feeling a tad bloated, and dated. Here’s what the dashboard looks like with our plugin enabled:

What’s changed?

We tackled 5 major areas, and made them each separate includes within our plugin (separate php, js, and css files).

  • We combined “WordPress Blogblog (versus network, site)”, “Other WordPress News”, and “Plugins” to form the new simplified “WordPress News” plugin.
  • We merged “Recent Comments” into the new “Activity” widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user., which now also shows you any scheduled posts and your most recently published posts.
  • We converted “QuickPress” into “Quick Drafts” putting the emphasis more on drafting ideas than publishing, and we merged in “Recent Drafts”.
  • We removed the “Number of columns” screen option. Instead the dashboard is now responsive, and shows the appropriate number of columns based on your screen resolution.
  • The Right Now widget was visually reduced.

Here are a few extras:

  • We removed incoming links (which doesn’t seem to really work anymore).
  • We replaced the “Dashboard” H2 title with a fun group of friendly welcome text and idioms.
  • We added a bunch more hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. for greater extensibility from any of the dashboard widgets.
  • There’s a fun little smiley if you delete all posts and comments

What problem is your feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins. trying to solve?

While functional, WordPress’ dashboard page hasn’t kept up with the rest of WordPress. We mean to improve the experience of the first page of WordPress. Streamline it, clean it up looking at all the widgets, and make it responsive.

We’d also love to see future development in the new activity widget, where plugin developers can add more “activity stream” related content.

What other potential solutions did you explore?

If you work backwards through https://make.wordpress.org/ui/tag/dash/ you’ll get a pretty good idea. We met weekly in IRC, and brainstormed/iterated daily via our Skype channel.

Have you done user testing?

Nope, but if this get’s the “all clear”, we’re more than happy to do that.

#3-8, #core-plugins, #dashboard, #feature-plugins, #proposal

THX38 “Theme Experience” Overview

Re-imagine a theme experience that is beautiful, visually focused (able to display more/bigger screenshots), fast, and mobile-ready. Plugin url: https://wordpress.org/plugins/thx38/

Initially we were covering themes.php and install-theme.php. Time and dev resources constraints forced us to focus the last few weeks solely on getting themes.php fully ready.

Screen Shot 2013-10-23 at 5.18.19 PM

Screen Shot 2013-10-23 at 5.18.29 PM

Screen Shot 2013-10-23 at 5.18.44 PM

Problem Solving

Problems:

  • A very text and information heavy interface for something that is eminently visual.
  • Convoluted presentation of your current theme, your installed themes, and adding new ones.

First user test with current adminadmin (and super admin) interface showed the amount of time between arriving at themes.php and understanding what was going on (which themes are installed, how to add new ones, etc) was quite big, going to the install themes screen took them ages. In contrast, tests ran with the THX pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party showed us the interface was grasped very fast, and people got to the install themes page in a matter of seconds.

Solutions:

  • Moved theme descriptions to a details overlay, and streamlined the presentation to its bare bones.
  • Removed tabbed interface and made adding new themes organic to the grid presentation.
  • Focused on perceived performance, made theme browsing and search faster, with a fully responsive design at all stages.
  • Added url triggers for opening specific themes, as well as arrow-keys navigation while browsing the detailed view.
  • Added basic support for multiple screenshots per theme, and bigger display.
  • Focus on the customizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. as the primary action for your current theme.

The installing themes screen was left as a prototype for the future.

User Testing

  • https://make.wordpress.org/ui/2013/08/20/thx38-first-meeting-summary/
  • https://make.wordpress.org/ui/2013/09/05/update-on-thx38/
  • https://make.wordpress.org/ui/2013/10/23/thx38-0-7-1-user-testing/

Early user testing clearly showed understanding and interacting with the screen is not easy. One user eloquently said, “I was thinking I would have a screen with a bunch of themes to look at.” For install-themes, filters proved to be hard to use paired with the fact the words users think of to describe themes aren’t present in the theme keywords we offer.

#3-8, #core-plugins, #feature-plugins, #proposal, #themes, #thx38

Omnisearch / Global Admin Search, Final Pitch

Plugin: https://wordpress.org/plugins/omnisearch/
Diff: https://cloudup.com/cC6IbXxoHXN

Previous posts:
https://make.wordpress.org/core/2013/08/14/present-your-3-8-feature-idea-at-tomorrows-meeting/#comment-9948
https://make.wordpress.org/core/2013/08/30/omnisearch/
https://make.wordpress.org/core/2013/10/08/omnisearch-user-testing/

IRCIRC Internet Relay Chat, a network where users can have conversations online. IRC channels are used widely by open source projects, and by WordPress. The primary WordPress channels are #wordpress and #wordpress-dev, on irc.freenode.net. chats in #wordpress-coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-plugins:
https://irclogs.wordpress.org/chanlog.php?channel=wordpress-core-plugins&day=2013-08-30&sort=asc#m21304
https://irclogs.wordpress.org/chanlog.php?channel=wordpress-core-plugins&day=2013-09-12&sort=asc#m23506
https://irclogs.wordpress.org/chanlog.php?channel=wordpress-core-plugins&day=2013-09-19&sort=asc#m24911
https://irclogs.wordpress.org/chanlog.php?channel=wordpress-core-plugins&day=2013-09-26&sort=asc#m25942
https://irclogs.wordpress.org/chanlog.php?channel=wordpress-core-plugins&day=2013-10-10&sort=asc#m27386

We were a small, but scrappy group. It was mostly myself, @japh, and @lessbloat.

Omnisearch currently adds three ways to search.

  • A Dashboard WidgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user.:
    Omnisearch Dashboard Widget
  • An adminadmin (and super admin) page under the Dashboard:
    Omnisearch Admin Page
  • And as a search box on  the adminbar — when you’re on the admin side of the site:
    Omnisearch Admin Bar

All three turn up the same results page:

Omnisearch Results Page

And all is happy with the world.

We were trying to solve the proliferation of different search forms for different data structures in the admin.  When trying to find content, it’s inconvenient and difficult to always navigate to the right data structure and then search it — especially if you’re unsure if something was in a comment or a post (all too frequent in p2s)– and you just want to pull in all relevant results.

Other things we’d considered were potentially adding an Alfred-like pop-up modal where you could enter omnisearches, and see results from the menus on the page that happen to match — very much like WP Butler’s current functionality.  We opted not to add it in this pass, though, figuring better to keep a slimmer implementation.

Our user testing confirmed that this was a definite win.  In fact, the user even remarked that there should be a centralized search when we had them running through the initial steps where they were to search each data structure independently, before activating Omnisearch and seeing how that compared.

We’re eager to hear any feedback on code, methods, or even name.  I’ve had some people mention that they’d prefer it have a less ‘marketing’ name, and more of a generalized “Global Admin Search”.  I prefer Omnisearch for brevity, but would love to hear some discussion on the pros and cons of whether it would be better to use a more general name.

#3-8, #core-plugins, #feature-plugins, #omnisearch, #proposal

Preparing your feature for the 3.8 merge

Now that 3.7 RC has shipped – and the final release is coming soon – it’s time to talk a bit more about how merging to coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. will work for feature plugins. First, let’s talk about decisions.

Decisions

I’ve been asked a few times “who decides” what goes in core and variants of that question. There’s actually three decisions that need to get made. In order:

  1. Does the feature belong in core?
  2. Is the feature ready for core?
  3. Should the feature be in this release?

Core contributorsCore Contributors Core contributors are those who have worked on a release of WordPress, by creating the functions or finding and patching bugs. These contributions are done through Trac. https://core.trac.wordpress.org. and members of the community are strongly encouraged to help inform and guide each of these decisions. You may even want to offer some of your feedback in the form of answers to these questions. Each question is ultimately answered by a different group.

  1. Project leaders determine if a feature belongs in core.
  2. Contributing developers determine if a feature is ready for core.
  3. The release leadRelease Lead The community member ultimately responsible for the Release. – for 3.8, @matt – determines if a feature belongs in a particular release.

We’re now at the point where these questions need to get answered. To do that, it’s time to present your feature plugins.

Present Your Feature

If you remember back when we first started the feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins. process, each team had to present its feature idea and answer a few questions. We’re going to do that again, but with a bit more information. If your project thinks it’s ready for core – and specifically for 3.8 – your team lead should make a post to make/core with the following information:

  • A visual and written overview of your feature plugin, along with a link to your pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party.
  • What problem is your feature plugin trying to solve?
  • What brought you to this solution and what other potential solutions did you explore?
  • Have you done user testing of your feature plugin? If so, what were the results? What worked and what didn’t?

In your post, be sure to include links to previous posts and even specific comments that have helped form your decisions.

Be ready for feedback from across the WordPress community – especially UXUX User experience and code quality  – and be ready to defend your decisions or change your mind if a better idea emerges. Everyone will be reviewing the make/core posts and feedback in their discussion threads to determine if the answers to the questions above are all “yes”. If so, the feature can land when the merge window opens.

#3-8, #core-plugins, #feature-plugins, #merge

Twenty Fourteen Project Update

Things we’ve finished:

  • Many accessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) fixes: keyboard navigation for main menu, color contrast, Skip to Content links, remove all unneeded title attributes: #25054
  • Allow featured images to work on pages (not just posts), a better UXUX User experience for index vs. single views, and better layout and handling when no featured images exist: #25325
  • Simplified sidebars to allow a wider layout: #25031, remove a confusing front-page only widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. area: #25565—after a long discussion about the Ephemera widget and how it should interact with the main stream of blogblog (versus network, site) posts: #25330
  • Myriad layout and style fixes

Big things we’re working on next:

  • Deciding on whether or not the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. HeaderHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. Text Color feature should be disabled for Twenty Fourteen: #25540
  • Implementing “Plan B” for featured content: #25549
  • Building an amazing alternative view for front page featured content—yes, a slider! #25550
  • Triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. all our open tickets for Twenty Fourteen.

Join in the fun! We have weekly office hours, Tuesdays and Thursdays at Tuesday 17 UTC) as well as general “Bundled Themes” bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrubs, Fridays at Friday 18 UTC.

[Update: fixed the TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. links. I guess they can’t be in parentheses.]

#3-8, #bundled-theme, #theme, #twentyfourteen

Making preparations for 3.8

As mentioned previously, 3.8 development officially opens shortly after 3.7 ships. With the first beta of 3.7 behind us and the final release scheduled for mid-October, it’s time to talk about what’s expected of feature plugins.

@nacin mentioned at last week’s dev chat that 3.7 will likely branch at the WordCamp Europe contributor day, on October 7. At this point, most coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. developer focus will be on shipping 3.7. However, feature plugins that want to be considered for 3.8 should be ready by October 14 to give everyone time to review them.

What does being ready mean? Here’s what will be examined:

  • a strong and well-tested user experience
  • fully-baked design
  • positive feedback from the community
  • core-quality code
  • no major bugs or issues
  • a belief that the feature belongs in WordPress core

Some of the above is subjective and will vary from feature to feature. If you have questions, look to a lead developer for guidance.

Of the feature plugins listed, the furthest along are MP6 and global admin search, with Dash not far behind. Plugins in the “feedback” stage should be prepared to answer the question “Why should we include this in core?” As of today, they should prepare their code for core, removing anything unnecessary and making the feature into a patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. that can be easily merged with core.

tl;dr

  • Feature plugins wanting consideration for 3.8 should be ready for presentation and inclusion by October 14.
  • Feature plugins will undergo review shortly after 3.7 ships.
  • Plugins must be ready to merge when the merge window opens.

#3-8, #core-plugins

Featured Content Update

Sorry for no meeting this week, it’s been busy at my j.o.b. In addition to the weekly IRCIRC Internet Relay Chat, a network where users can have conversations online. IRC channels are used widely by open source projects, and by WordPress. The primary WordPress channels are #wordpress and #wordpress-dev, on irc.freenode.net. meeting, we now have a Skype conversation going. Add me as a contact on Skype if you want to join in. My Skype username and TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. username are the same.

The pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party is in the repo:
https://plugins.svn.wordpress.org/wp-featured-content/trunk/

Last week, I made a screen to sort featured items within their respective areas. The logic to save the order when sorting still needs to be hashed out.

Currently, one person is doing the coding (me). This is not ideal, and I could use help. There have been a bunch of mockups, but I don’t currently have time to build a prototype for all of them. If would like to help with coding, please let me know in the comments.

#3-8, #featured-content

Twenty Fourteen project update

We’re continuing regular office hours on Tuesdays and Thursdays at Tuesday 17 UTC) as well as general “Bundled Themes” bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrubs, Fridays at 18 UTC.

Done since last time:

  • Accent color theme option added: #25220
  • Added a “Contributor” page: #24863
  • Lots of layout and style fixes
  • Fixing how Genericons are loaded: #25085

In progress:

  • More work on sidebars and featured images: #25031 and #25330
  • AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) review and fixes: #25054
  • And more: view all open tickets for Twenty Fourteen.

#3-8, #bundled-theme, #theme, #twentyfourteen

Twenty Fourteen theme project update

We’ve made lots of great progress over in Twenty Fourteen theme land.

This update is long because it’s my first one since we kicked off. Subsequent reports will be shorter.

Goals

In short, make it an awesome default theme.

1. Polish, “break”, and perfect the theme.
2. Add enhancements and new features.
3. Integrate with 3.8 pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party projects as we can.

Who we are

(These are WP.org usernames.)

  • Leads: lancewillett, obenland, and iamtakashi
  • Many patches have come in! Thanks to: cainm, celloexpressions, DrewAPicture, eherman24, Frank Klein, georgestephanis, iamtakashi, Jayjdk, jeherve, joedolson, Jonnyauk, kovshenin, Kuzmanov, MikeHansenMe, nofearinc, obenland, rickalee, sabreuse, and SergeyBiryukov.
  • Many other contributors have joined the fun, including but not limited to: cfinke, chellycat, jazzs3quence, johnbillion, karmatosed, McGuive7, nacin, nhuja, paolal, RDall, rmccue, taupecat, trishasalas, and shaunandrews.

You can get still get involved in any of these activities:

  • Putting up new tickets for bugs or enhancements (plus a patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. if you can).
  • Review and test patches on existing tickets, add comments to the ticketticket Created for both bug reports and feature development on the bug tracker..
  • Join the 3.8 plugin projects like Featured Content.
  • Help with theme breaking: IE, RTL, accessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility).

Big things we’re working on now

So far we’ve seen 38 related tickets in TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. opened, closing 24 already. View all open tickets.

  • (Possible) removal of Custom HeaderHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. Image support: #25094
  • Accessibility review and fixes: #25054
  • Adding a “Contributor” page: #24863
  • Allowing color customization for “accents”: #25220

The removal of the header image, along with which customization options to allow and support, has been a very healthy discussion. See #25094 if you want to read along.

Big things we’ve already tackled

  • Updating to use HTML5 markup from coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. for search, comment form, and comment list.
  • Added missing archive templates.
  • Many usability fixes.
  • Lots of code cleanup.
  • Added Editor Styles to enhance the visual editor.
  • SidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. improvements: widgetizing special Post Formats display, making right sidebar optional, and more.

One thing I wanted to highlight was removing the Social Links options from the theme. Instead inserting the search form and the search form toggle through filterable template tags, so that a plugin could hook in and add that feature back in. (Full chat log.)

Related plugin projects

Work continues on Featured Content and the Authors widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user.: #24856.

Office hours and Trac triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors.

We’ve had regular and very productive office hours on Tuesdays and Thursday at 17 UTC (In your time zone: 17:00 UTC). Thanks to everyone who’s joined us, your input is very valuable.

#3-8, #bundled-theme, #theme, #twentyfourteen

Omnisearch!

Howdy, folks!

Terribly sorry for the delay, but I’m pleased to announce that Omnisearch will be meeting Fridays at 5pm Eastern Time, 21:00 UTC, Thursdays at 6pm Eastern Time, 22:00 UTC, in #wordpress-coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-plugins on freenode. Happy to adjust it later, if that’s too early or late for folks in other timezones.

Omnisearch is a central search form, meant to simplify the process of finding what you’re after. It is designed only for the WordPress Adminadmin (and super admin) Interface — not the front end.

By default, it searches Posts, Pages, Media, Comments, and the Plugins Directory. However, it’s easy to hook into, and provide custom results from third-party modules, such as Grunion Contact Form in Jetpack.

Omnisearch has been living in Jetpack for a few months now, and has gotten mostly positive reviews. The only complaints that I’ve heard were that it doesn’t search media (which has since been added), the relevance isn’t always ideal (it just uses the default search that happens when you use the existing search form on the posts page or the like), and some coming from a misunderstanding where they were expecting it to be on the front-end of the site — not merely an admin tool.

Interested parties include @japh, with @lessbloat helping to design some user testing to determine its usefulness as a part of core.

If interested, you can install it yourself here, which will override the version in Jetpack if you happen to have that installed [ I made sure to only include the Jetpack one if ( ! class_exists( ‘WP_Omnisearch’ ) ) ] :

https://wordpress.org/plugins/omnisearch/

#3-8, #feature-plugins, #omnisearch