#wcorl 2015: Let WordPress Speak to Your Users: Introducing wp.a11y.speak()

WordPress logo

Longest. Title. Ever. You may be here now because you saw my talk and want a little more background information. Maybe you’ve just stumbled on this post because you’re looking for more information about wp.a11y.speak. If it’s the latter, I’d like to refer you to the official announcement post here: Let WordPress Speak: New in WordPress 4.2. If it’s the former, welcome! And thank you for choosing to attend my talk early on a Saturday morning. The full slides for the presentation can be found here: Slides for Let WordPress Speak: Introducting wp.a11y.speak(). I will update this post with a video once it becomes available. Apparently shit happened and no video is available for my talk. :<

If there’s anything unclear about my presentation, or if you just have any questions about this. Just let me know! If you want to help make WordPress better, come join us on Slack! It’ll be the #accessibility channel on the main WordPress. You can sign up through here: Sign up for the WordPress Slack on https://make.wordpress.org/chat/. If you’d like to know more about ARIA, there’s an overview about ARIA here: WAI-ARIA Overview. If you want to read the full spec, there’s a link for that too: WAI-ARIA spec 1.0.

Bienvenidos a Miami: A recap of WordCamp Miami 2015

This WordCamp has been a number of firsts for me. It would be the first WordCamp outside of Orlando, and also the first time for me to visit Miami. It’s also the first road trip we’ve taken by ourselves as a married couple. All around good stuff.

I am fully aware that this post has run a bit long. But it is what it is. So here are a few links that will allow you to skip straight to other sections of this post.

Skip to a recap of Saturday: A day of learning and networking
Skip to a recap of Sunday: Why would anyone go to Miami Beach?
Skip to a recap of Monday: The road home
Skip to a little bit about my networking skill
Skip to the end and learn what’s next for me

Friday: Driving down to Miami

The adventure starts with picking up the rental car. Apparently, when you want to pay for one with a debit card you’re expected to bring proof in the form of a utility bill of some sort. I guess they want to make sure you won’t run off with the car or something.

Luckily, they let us call Kissimme Utility Authority(KUA) to have them fax over our most recent bill. With that all sorted out, we took the car home to load it up and off we were. The next 4-5 hours were filled with a lot of people driving like absolute idiots (something we’d end up having to deal with on our way back, as well), numb arses, and some peculiar routing by our GPS. Which, granted, is getting a bit old and possibly out of date.

Once we finally reached our hotel, we couldn’t believe just how large our room was. It was essentially a reasonably sized studio apartment without a kitchen (but it still had a small, crappy, fridge, a microwave, and a Keurig coffee maker – what more could anyone need?). Large enough for me to just lay on the floor with my arms spread and then some:

It's me, laying on the floor of our hotel room, arms spread wide

Saturday: A day of learning and networking

Since our hotel wasn’t super close to FIU (it was in Miramar) it was an early morning and a short 25 minute drive to get there. I wasn’t sure what to expect as far as the venue goes. The schools I’ve been to weren’t nearly as vast in size. But there we were, at a large campus with its own streets and student housing blocks. It was kind of surreal. The walk between buildings was nice though. The park in the center of it all was lovely and there was even a pond with turtles!

Registration and the morning

Registration was mildly confusing. There was a line there for…something. But because it ran right past the sponsor tables it was a bit difficult to see where the line ended and who was in it. After picking up my badge and swag bag and the opening remarks I went out to look for people I actually knew. Which, in my case, are very few as I don’t particularly enjoy small talk and so have a hard time meeting new people (and for similar reasons, apologies all around to all the people I may have inadvertently ignored, not my intention at all).

Luckily, Sir Adam Soucie has been around to assist in all of that. It probably looked a bit weird to have a hulking person following him around that was merely grinning sheepishly. But I digress.

Dev talks aplenty

The first talk of the day we had attended was Josh Pollock’s Introduction to AJAX in WordPress (link opens in a new window). A nice refresher of AJAX, and an interesting introduction on how to use it in WordPress. Absolutely something to investigate further and consider its applications further.

The next talk we had attended was Dan Beil’s talk “Beyond The Post: Pushing the limits of Custom Post Types”. What little I got from that (admittedly, mostly because I was distracted with the provided code sample) seemed useful. It did go a little fast, which made the impact from being distracted that much larger.

The last dev talk of the day we’ve attended was Nikhil Vimal’s “Integrating Third-party APIs with WordPress”. This guy is really young and really smart. While the gist of the talk was abundantly clear and showcased some of the more underused APIs within WordPress (HTTP (link opens in a new window) and Transients (link opens in a new window)), it was a little all over the place.

A small sidenote on code samples

Both Josh’ and Dan’s talk were accompanied by code examples on github. I thought this was a nice touch that was really helpful for digesting the code samples that were presented. Certainly, something that I’d consider doing for a talk of my own when appropriate.

At the same time though, and this may just be me, it’s also a little distracting. I think I missed most of Dan’s talk as a result of fiddling with his code. I will definitely revisit it when it appears on wordpress.tv.

Impressive orators and story tellers

This WordCamp I had the pleasure of seeing Chris Lema speak for the first time. And boy did he not disappoint. His talk on Saturday, “Blog Topics: How to come up with articles for your blog” was as inspiring as it was humorous. Hopefully it will help me get back on track with writing and find topics to write about. I’ve some ideas, but haven’t had a good chance to put in the work.

Similarly, Morten Rand-Hendriksen’s talk called “Designing for Informational User Experiences: A Responsive Web Design Workflow” was equally inspiring and funny. And different from the usual responsive talks that seem to be more a “here’s a technical how-to on how you do this”. It was a definite call to arms for user-centric design and doing things for your users and make them happy. As someone interested in accessibility, it’s something I can definitely get behind.

The after party

Ah, the Dolphin Mall. Apparently a black hole for phone signal and home of a grand Dave & Buster’s location. The latter was also the venue for the after party. I’m not entirely sure what to say about it. The food at Dave & Buster’s isn’t great, but it’ll do in a pinch. We ended up spending the evening playing some of the lovely games (as we do) and not get involved too much in whatever festivities were going on in the back party room with the tables.

With all that done, and fatigue from the day running high we retreated back to our hotel room and prepared for Sunday!

Sunday: Why would anyone go to Miami Beach?

Sunday morning, I had intended to stay for the morning networking thing but ended up staying up to lunch. Mainly so that the missus didn’t have to entertain herself for the entirety of this day as well. And so we had decided on going to the beach in the afternoon and be tourists in “our own” state (funnily enough, our rental had an Ohio license plate).

The breakfast thing was a bit strange. It was my understanding that it was to be held in the same building as where the registration and sponsors were at. I didn’t see a whole lot of activity here when I arrived and so decided to walk around the campus for a bit. It was a little hot (even that early), but still nice. And then I saw why, presumably, the “networking area” wasn’t bustling: There was a line out the door at the one Starbucks on campus that was actually open.

But, what can I say, I’m a sucker for tea and missed the first talk of the day standing in said line to get some of it. It also helped to be accompanied by my partner in crime Adam.

With tea in hand, off we went to see Chris Lema speak again. This time about business models and deciding on whether that grand idea is a good idea for you. We learnt how to score business ideas on different aspects and how well they work for us. Ultimately, a useful talk to refer back to should I ever decide to start something myself.

The last talk of the day for me was to be Devin Vinson’s “Writing WordPress Plugins with Standards”, an excellent talk about the WordPress Plugin Boilerplate (link opens in a new window) project he now maintains. I’ve dipped my toes into that water with the plugin I’ve created for this website as well as a plugin I’m writing with Adam. Details for the latter will be released when we’re good and ready for it though.

Wynwood Walls and Miami Beach

And with that, WordCamp was over for me. After lunch I got picked up by the wife to head out to the beach. But first, her sister had mentioned something about a cool graffiti art gallery in Miami called “Wynwood Walls”. This would be our first stop, and our first mistake. Besides the fact that it was packed and there was nowhere to park, the area seemed a bit…ghetto-ish. Now, I don’t necessarily mean that in a bad way, but it doesn’t necessarily make this pale white buy feel safe either. The graffiti we did see scattered on the walls around the area was nice to look at though. And some of it was just…weird.

A graffiti painting of a man with a cactus growing out of his head

From here we conquered the downtown Miami traffic to head down to Miami Beach. Mistake number two. This area is just a mess. And more so when you’ve absolutely no idea of where you’re going. And to add to the repulsion for this area, trying to find a decent garage to park was a nightmare by itself. $10 to park for an hour? Come on now.

So we ultimately decided to just head back to the hotel, have a nice dinner, grab some ice cream and just hang out in front of the TV. Somehow, we actually made it out alive. I knew people weren’t particularly capable of driving in Central Florida, but the traffic around Miami is just the worst.

Monday: The road home

Monday was the day for us to head home. I had specifically decided to stay a day longer so that we’d have time on Sunday to do whatever and so that we could be rested for the trip back home.

On our way back home we visited this magical place called Tate’s Comics (link opens in a new window). Their collection of graphic novels is amazing. What I loved the most about it is how they didn’t separate it out by publisher. DC, Marvel, and Indie books all had their place side by side in alphabetic order.

My score was a copy of Flash: Rebirth that I had been meaning to get, a hard cover copy of New 52 Wonder Woman volume 2 which has been elusive (I’ve been sitting on volumes 1 and 3 forever), a copy of Secret Warriors volume 4 for Adam, and a case for the George Perez sketch cover I had obtained at MegaCon.

After finally being able to pull away from the comic book Valhalla, we set out on our way to make up for our missed beach day the day before. The destination would be Melbourne Beach, which was windy and a bit deserted by the time we got there. The threatening clouds probably didn’t help with that.

We left in the nick of time for our final stop, Grandaddy’s (link opens in a new window), for dinner. Once we arrived there, the threatening clouds turned the sky dark and rain started coming down like crazy. Way to welcome us home Kissimmee.

A word on networking

Let me start by reiterating that I’m an absolutely terrible networker. I can somewhat hold my own when people start talking to me about things, but actually starting a conversation and carrying it is something I’m absolutely not good at.

Despite that, I feel I actually did okay this time around. Doors were opened and connections were made, which is always good. I also ended up (hopefully) helping someone out that came up to me for help with JetPack after Adam’s talk on plugins.

I also got to talk shop a little with some of the awesome guys involved in running the camp, which was also a nice change of pace and proof enough for me that I’m actually able to do this networking stuff to some capacity. And also shows that my work is cut out for me to get better at it. A lot of it.

What’s next?

I would absolutely love to attend WordCamp Netherlands (link opens in a new window). This year will probably no doubt not be possible (but there’s a slim chance!), so hopefully next year. For now, though, Tampa and Orlando are more feasible for this year and I’m looking forward to attending both of these.

Beyond that, the talks at Miami have given me some ideas for plugins to work on. Expect to see more about that in the coming months!

#WCORL – Designing a process that gets things done

Speaker: Karena Kreger
Twitter: @karenalenore
Speaker’s notes: www.openskywebstudio.com/design-process (has slides!)


If it’s something you’re repeating, find a system for it.

  • You will know what to expect, it will help making things predictable, more efficient.
  • Helps you be an expert and manage expectations
  • History is less daunting, less scary, because you know what to expect
  • Gives room for growth. Conventions that are being followed in the organisation helps keep control and allows everyone to pick up where others left off


Be a curator of your process, maintain best practices that work for you.

Continue evaluating the process, there’s no setting and forgetting. Things around us keep changing.

You have to assess with your client whether being an early-adopter/cutting-edge is worth the cost. What if it fails? Can they afford starting over?

Also judge if your client is ready for it. Some of them say they are, but really aren’t.



Have somewhere you can play around with. There are a lot of things that leave unwanted things behind. Make sure you have a backup so you can easily nuke all the things and revert back.

Template site

A starting point with all the settings, plugins, and users you know are going to be installed on every website.

Use a framework (like Genesis)

Help with providing otherwise repeated code out of the box. Use a child theme to make your changes, don’t hack into an existing theme to make it do what you want.

Alternatively: Use a starter theme (underscores, roots.io).

Good plugins, bad plugins

Things to look for: Compatibility details, updated date, number of downloads, ratings, reading reviews.


Communication: Trello
File Sharing: Dropbox, Google Drive
Ex. process documents
Updates: InfiniteWP, ManageWP
Tech docs: Track links, passwords per client (requires protocols and naming conventions)


Find a starting point, avoid the curse of the blank slate. Learn how to spot and save cool stuff and apply it to clients.

Example: colourlovers.com for colour palettes.

#WCORL – Write Better Documentation

Speaker: Jeff Matson
Twitter: @TheJeffMatson
Website: jeffmatson.net

Why write documentation?

  • Support ticket reduction
  • Customer satisfaction
  • Increase Traffic
  • Converts to sales

Good documentation shows you care. Helps the support reps. No more need to repeatedly write the same solutions, a link to the docs suffices.

How to get the most from it

  • Use Visuals
    More likely to get a support customer to go through the process of fixing it themselves. Helps reduce support rep phone time.
  • Write it in the simplest way you can, write like you’re explaining to 5 year olds.
  • Make sure you to keep it up to date
  • Target search engines (leads to more traffic)
  • Allow for comments
    this can drive (voluntary!) community support, further reducing load for your support reps
  • User-Submitted Documentation
    Helps all the people. Exposure for the submitter, additional traffic for your website.
  • Overlapping keywords
    People searching for support with competing plugins can come across your documentation. Leads to the impression that your plugin is better and sale conversion as a result.

How do you get people to submit documentation?
– Give them an incentive to do so. For example, Inmotion may offer perks like swag, hosting, etc.

#WCORL – Designing for development, the value of collaborative design

Speaker: Michelle Schulp
Twitter: @marktimemedia
Website: marktimemedia.com

What is collaborative design?

To help understand how collaborative design can help, we must look at the waterfall method first.


Linear, ie., content -> design -> development


  • Project scoping assumptions
    Whoever’s first in line needs to assume scope for the rest of the process.
  • Inefficient communication
    Game of telephone and very likely to have miscommunication
  • Hard to adapt to changing requirements
  • Decisions made outside of expertise
    Designer quoting development work, or vice versa, because of change requests in their phase.

Collaborative Workflow

Non-linear, stuff happens at the same time. Ie, Content <=> Design <=> Development <=> Content

  • Leads to more accurate scoping, because everyone’s involved in the process of scoping and estimating
  • More direct communication
  • Quickly adapt to changing requirements, no more need to wait for communication to go through the chain
  • Results in efficiency/time saved

Example workflow

Recommended Book: Strategic Web Designer (Christopher Butler)

  • Design elements, rather than literal mockups. Style tiles.
  • Communicates interpretation of brand at a high level, rather than specifics of the design
  • Design wireframes (static or dynamic)
  • Design system assets (Typography)
  • Mockup styleguide, CSS Styleguide for reusable elements

Involved early. Allows for catching of budget/time issues with functionality.

  • Know the design system
  • Prototyping, iterating, and testing
    Prototype functions, but doesn’t look like much. Stuff is in place, but not styled. Allows functional/flow tests
Project Management
  • Bridge between goals
  • Understand communication styles (how do people work/communicate best)
  • Leave good feedback!
  • Design specific feedback: Focus on look and feel, evaluate clarity, keep in mind that it’s for your visitors (not for you!), be specific.
  • Dev specific feedback: Focus on function, evaluate consistency across platforms, explain what you expect vs what happened (specificity!).
For all the peoples:
  • Understand vocabulary (within reason, know enough to be able to understand and communicate the basics)
  • Ask all the things
  • Define goals