Drupal 9 Contrib Module Readiness Report from April 2020

If you have been reading my updates, then you already saw that I was rerunning my experiment from 2019, checking all the contrib modules for Drupal 9 readiness. Except this time, I was using upgrade_status, which also takes into account several things drupal-check does not.

The numbers…

Without further ado, here are the results I am seeing:

Chart showing:
total modules checked	6353
Total 'd9 ready' D8 modules that just need info.yml updated	2498a
D9 ready = 39.32%
 1 error =	15.11%
 2 errors =	7.02%
 3 errors =	4.39%
 4 errors =	3.07%
 5 errors =	2.57%
 6 errors =	2.16%
 7 errors =	1.18%
 8 errors =	1.21%
 9+ errors =	8.36%
Other issues	15.61%

6353 total modules checked.
2498 total ‘d9 ready’ modules

The percentage breakdowns:
39.32% = D9 ready*
15.11% = 1 error
7.02% = 2 errors
4.39% = 3 errors
3.07% = 4 errors
2.57% = 5 errors
2.16% = 6 errors
1.18% = 7 errors
1.21% = 8 errors
8.36% = 9+ errors
15.61% = Other issues

You can read all the results I parsed in this Google Drive spreadsheet.

*= still need to update the info.yml to say d9 ready

I based all these numbers of appearances of keywords and phrases found within Drupal API Deprecation documentation and deprecations of twig files, composer files, Drupal libraries found within upgrade_status.

The tooling and the XML documents I used to accomplish all of this can be found on the Gitlab project page.

I based almost everything on grep and other built in Bash tools, so you should be able to replicate anything I did on a mac or linux box. I used Ubuntu 19.10 for all this.

What do you mean by ‘error’?

Let me state, in an effort to be clear, when I am using the term error, it is not that the code is not correct to have a successful site, it is a keyword I `greped` from the tooling’s reports.

As was pointed out to me in Drupal chat there exists many an error that is needed for supporting Drupal 8.7. I realize it is not fair to call good code ‘full of errors’ but I am at a loss of how else to phrase it.

And I completely recognize that not all error are the same. Some of these are readily fixable with a line replacement. Some are going to be hard to deal with. We will figure it out, I believe.

Didn’t check the dev branch

I think some of these issues are probably (hopefully) fixed in a dev branch somewhere or just not released yet. I wanted to simulate what someone would pull off the shelf with a ‘standard’ install and whatever composer default grabbed.

Side note: Composer, while I am on the subject, is the slowest part of this whole experiment. The reporting tooling I built ran a loop of about 800 keywords against 6300+ modules in 8 hours total. To produce the XML reports for 100 of those modules tool, on average, of 90 minutes. This was mostly due to needing to uninstall and composer remove the modules to not break the running site install. Without the help of Arrow a.k.a Aaron Feledy and ccjjmartin a.k.a Christopher Martin I would not likely have finished before mid April.

Given that there are errors that can’t be addressed in the main release yet, I am confident that the Drupal community is going to deliver and this is going to be a smooth transition in the long run.

Historical context

I said about a year ago “About 43.7% of all projects I analyzed have “No error”. That was what I said confidently the first time out. I said a lot of things back then and I said it when someone was financially backing me doing this. This time around I am doing it while working for myself. But enough digression.

Here is how the numbers stack up:

Keyword	2019	2020
deprecate	2941	2383
deprecated-class	272	547
deprecated-constant	1561	341
depricated-trait	186	0
does-not-exist	272	0
drupal_set_message	1692	1058
entity_get_display	93	73
entity_get_form_display	106	77
entity_view	22	12
Fatal-error	179	5
no-error	3004	0
not-found-and-could-not-be-autoloaded	93	138

If you click on that linked image it takes you to the Google report sheet again. The project from last year is located here.

That ‘biggest offender’ from last year wasdrupal_set_message() use has dropped from 1692 modules using it down to 1058 today. This is the trend we all love to see. .

On the surface it would be easy to say ‘well, our Drupal 9 readiness went down.”, but Let’s face it, D9 is a moving target with so many deprecations added over each 6 month release cycle. Also, I think this is due to better methodology and tooling from last time as well. ‘Upgrade_status’ simply reports more and all the test this time around were performed against running Drupal installs, which was made easier by the the magical Drupal 8 Quick Start Command.

Let’s not brush past the Drupal 8.8.x issue. If you look at the Deprecation API page and look at 8.7 vs 8.8, there are simply 150 more deprecations since last time I ran the report. Each module that contains one of the deprecations that explicitly calls out Drupal 9 is listed on this tab of the Google sheet.

Now is the time! Let’s make it happen.

In an ideal world, we would have no issues at all and we would be ready now. In our real, messy world,we are not in that bad of shape. We don’t have to roll out D9 on June 3rd if we don’t want. We are not another CMS that talks about forced updates. We are Free (as in Freedom) Open Source and the price we pay for that is we have to make it happen. Let’s do this!

The tooling has never been better and the fixes, while many, are mostly fixable with a find/replace and some testing. The #d9readiness channel awaits you on Drupal slack where you can ask any and all questions. It is full of awesome people, like Gábor Hojtsy, who I can not thank enough for asking me about all this and getting me excited about the D9 readiness for the first time in a little while.

Let’s build something beautiful together!

Please direct all conversation to me via either Drupal Slack (mcdwayne) or Twitter, as comments are not reliable at the moment.

That time I checked all the Drupal modules for Drupal 9 readiness, I mean again

On a recent Thursday afternoon, Gabor asked if I was going to pick back up on me efforts of checking Drupal 9 module readiness. That got me a mention in the Driesnote last year and to be honest is my favorite claim to fame in any project. I had not thought about reviving it though. I mean people are tracking this stuff I assumed, but independent validation of notions is a really good thing to have. So, I said to myself, “that would be a good idea.”

Gabor, if you don’t know, has been diligently working on getting us all ready for that June 3rd launch date of the next major version of Drupal 9, which has a lot of anticipation around it. It will be the first major release to not require a rebuild for site owners, just an update. I think that is pretty awesome given the technical sophistication that is Drupal at this time in history. He has been the driving contributor for the upgrade_status module development. TL;DR, this module lets you know what to fix in your modules to be D9 ready!

Basically, the idea is to run this checking tool against all the modules that I can install with the command line (more on that later) and spit out consumable reports we can do analysis on.

So, I did what anyone about to embark on a quest for computer science knowledge would do, I did a fresh install of Ubuntu and started setting up my environment to make Drupal work. Why a fresh install? When was the last time you installed a minimal operating system and just pulled down only what you needed from the interwebs, as you need it? So snappy, so clean. If you have not taken Ubuntu 19 out for a spin, well, you are missing out on a great OS experience. Also, doing as much tinkering and sampling as I do of various repos and settings, a fresh Ubuntu install would make it easier to debug, and boy howdy did I need to debug as I went.

Getting Drupal working was super fast and easy because I had the perfect pairing of tools to get me going: Composer and the, completely new and amazing to me, Drupal 8 Quick Start Command . Literally 5 minutes from the time I installed Composer, I had a working copy of Drupal 8.8.5 installed and running. This is a demo setup but you can get to hacking on it immediately. Served my purposes as I ran it more or less nonstop for a few days and it didn’t fall over on its own, though you can push it over with a wrong move or two.

A quick note about Drupal always assuming you want to immediately pop it into production. I get it, this saves a lot of devops hassles to make the options assume you don’t want people messing with things, but we are on a local box explicitly messing with things, so we need to run chmod u+w web/sites/default in order to give the files permission to actually let us Composer install stuff.

One of the very, very recent updates (as in hours before I agreed to do this) Gabor has been working on and what he asked me to investigate was the modification of the Drush command upgrade_status:analyze to the command upgrade_status:checkstyle. It runs the same check, just outputs the results to XML format. So I needed Drush and Composer let me require drush/drush which gets me Drush 10 automagically. If you have not seen the generate feature of it yet, here is a video I did about it in Drush 9, not much has changed.

The script itself is pretty short and simple without all my inline commenting, basically
1) load in a CSV of module names,
2) loop through it, composer require modules one at a time,
3) runupgrade_status:checkstyle and redirect the output into a file with the module name and
4) uninstall the module before beginning the loop again.
When I did the ‘check all’ project last time, I used “drupal-check”, a PHPStan based project for static code analysis. I didn’t need a working install, just a code repo. Using a running Drupal site makes things a little stranger.

Before, I was able to leverage Git to just flip between branches as I went, configuration was not part of the mix. Also upgrade_status needs the module to be enabled. Drush lets me do those things easily. git reset --hard should have let me just flush all the code changes, but something interesting happened, and I think it was due in part to Drupal caching, the code stayed put. At least parts of it. I eventually went so far as to composer remove each module, then rm -rf each module folder. Seems like overkill but it worked.

It take approx 45 seconds per cycle, but it worked. 45 seconds x ~6000 modules = 75 hours of script run time to do them all. So naturally I reached out for help to the internet for help scaling the process. Very fortunate for me Arrow a.k.a Aaron Feledy, master of all things Lando and ccjjmartin a.k.a Christopher Martin immediately jumped on board this train.

Aaron built the awesomeness that is the Lando recipe for this setup, which you can find in the repo. Chris dedicated some time and machine resources to make multiple Lando instances run as well as made tweaks and suggestions to everything along the way. This would have taken me a full week of futzing with things on a single, underpowered laptop. Instead I got to hang out with some amazing Drupal folks for a couple days online and produce the final results.

And the results are….not finished running as of the time of this writing. About another 2000 or so modules to check, but soon this will be public. I just wanted to write this up while it was fresh in my brain. I love me some Bash and Drupal. I am so lucky to have found this community. Looking forward to a grand future with Drupal 9.

If you want to run this yourself or just see what we are working with, check it here: https://github.com/mcdwayne/d9-upgrade_status-project

HighEdWeb 2019: Milwaukee in the fall is cold but we didn’t have that far to walk

On a train is how I arrived to ‘Cream City’ from Chicago, my near future home as of when I am writing this. I was in the windy city acquiring an apartment for the upcoming year as I move some things around in my life and it seemed really silly to fly between the cities when you can drive in less than 2 hours. It turns out you can take a train for $25.00 each way and it has free wifi good enough to read news and check email. This was the first time I had returned to ‘Brew City’, home of The Bronze Fonz was way back before this blog was a thing for WordCamp Milwaukee 2016. I forgot all about it until I got here and no old post to remind me how good it was in so many ways. I was excited for a few reasons but the biggest was this was my last scheduled talk and workshop for the whole year, which I was giving at HighEd Web 2019

Food and Fun

Before I dig into the day by day play by play, I need to tell you about the Polka Button. Yes, you read that right, a Push To Play Polka button. It does exactly what it says too. You push it, an announcer says what band and song and it plays that good time feeling music for all ages to dance to for a few minutes.


I arrived a day early and not much was going on for event stuff but there seemed to be a natural gathering of folks at Miller Time Pub and Grill. I made my way there and immediately saw a few people I knew and raised a glass with them. It was also good to meet a few new people as well. I returned to this place a few other times, but this will be it’s only linked inclusion for the post.


A late start to the day meant the day started with lunch. And what a lunchroom it was. The speakers and workshop attendees gathered in the Crystal Ballroom at the official convention Hotel, the Hilton, for a buffet of salad, soup and potato.

As the day ended with the Orientation, which I will discuss later under Sessions, we walked over to the “Welcome Reception” at the Milwaukee Public Market. This is a grand space with many vendors. It feels like someone went to Pike’s Place market in Seattle and rebuilt just the good parts in Wisconsin. I had too many different awesome things to name them all, but will cite the vegan ice cream from On The Bus as outstanding.


Unlike any other conference I have been to in my travels, this one offered a formal “let’s all sit down together” kind of breakfast experience. I had coupons all week for a special dietary meal which fed me tofu scrambles and many other delectable things. Meanwhile, others ate a lot of bacon. This conference is known for this apparently. The quality of the coffee was pretty good, so much so that I never even bothered to look at the tea selection too closely.

While I was surprised at the breakfast it did set expectations high for lunch and I have to say they delivered on it very well. Same as the breakfast, I presented my ticket and they brought me a soyrizo stuffed pepper that was mighty tasty.

One more time we gathered at Miller Time for an end of day relaxation drink and social hour.

And then we went to the unofficial party at Up-Down MKE, an arcade bar stuffed with well maintained classics, modern awesomeness and some rarities I have never seen in person ever before. The one that sticks out the most is a rare box called ‘Ice Cold Beer’. Giant Jenga and some other non-video cabinet games were around as well. A very good night overall.


Breakfast was as good on the second day as it was the first with another tofu scramble thing. Coffee was on par too. Lunch was a repeat mostly but with a pastry replacing the pepper. I like the idea of all eating together in one room and then having the next part of the day be in the same large room, as they did here if you look at the schedule. It feels efficient and keeps the whole conference going as one unit.

The big after party for the event, which they call the BIG SOCIAL EVENT took place at the Milwaukee Art Museum, one of the finest collections of modern art and most striking buildings on the planet. We were given free access to the exhibits and we had some light snacks, beer and wine. There was even a fireworks show for the event!

At the BIG SOCIAL EVENT, they had live band karaoke! They hired a band called “Live Band Karaoke Milwaukee” to do it. Everyone had an amazing time but we were not done singing for the night.

Karaoke Plane

Now, I have heard of this before and was supposed to crash it last year in Sacramento, but got sick and couldn’t make it over there from SF. This year I was the first singer singed up as people just started arriving and it was amazing! I wish every event I went to had this kind of group singing tradition. We gathered at the really cool spot Tavern at Turner Hall, which was super comfy and cozy but very large and accommodating at the time time. A remarkable time that ended only when the venue finally forced everyone out with the flood lights that bars use to shoo patrons.


Breakfast and coffee were repeats, but boy howdy was it great. At the end of breakfast they announced the Red Stapler Award winners who would have to give their talk again this day. This is a mixed thing. It is great to be honored for an award, but having to repeat a session when you are exhausted is just a chore. Fortunately, or unfortunately, I did not get one of these awards. It was right before the keynote, after the session has been represented, that they gave the actual Red Staplers out. Lunch followed and that ended the day and the event for me.



There was a very friendly and welcoming orientation session where I learned about half the people attending were also first timers. I wish more events had these type of welcoming sessions. It really made me feel more connected and less like an outsider as this was my first HighEd Web as well.

Escaping the Data Doldrums: Transforming basic analytics into holistic data-driven decision-making
Sean Flynn

This was a very no-nonsense talk about collecting real data into reports for deciding on actions. Sean laid out very succinctly what tools he uses and why. Striving for automation is great, but striving for automation of meaningful reporting is the best. He also addressed SMART goals, like a few others did as well, which I love and think we should talk about even more. The second half of the talk, about how to wisely use the data is the real star of the talk though. Just having data means nothing if you can’t connect it with how people receive data and act on it. He ended on an XKCD joke, so this talk got my highest praise in my evaluation.

Raw Notes:
not about coding today
What covered
building foundation-ally sound analytics Building Data infused decisoin making culture
data can’t tell you what you strategy should be
without data we are working in the dark,
we should drive the process
Lot of unreacted data today
data sources
GA/Tag manager
Salesforce Marketing Cloud
Social Media Sources
G/A Basic web analytics
event tracking via GTM
ecommerce tracking for a giving site
Twitter Analytics
export data button to get a CSV
FB has data export function as well, but exports excel, not CSV
Automated Instagram reporting
they ended up running the school’s LinkedIn account
turned out LinkedIn is most engaged audience
Salesforce marketing Cloud
emails – sends deliveries, etc
does require some manual, not 100%
URL builder
UTM tagging – without this working, not as useful data
dev team built a UTM building tool, made it way easier to track links once made easy
they started in hand typed Adobe inDesign docs
weekend to build it
no automation of daily entry, no auto comparisons
hard to read and no real insights exposed easily
Meet Google data studio
Rapid visualization and reporting
eam based permissions
easy rapid visualization
examples of output
Social summary gives very clear view of which platform most engaged, LI
tracking texts vs calls
Data cleaning is the most important and most time consuming step manually
pt. 2
Building a Data Infused Culture
culture change is hard and frustrating
Basic analytics flow
In reality
stale comms strategy
frustrated audience
never ending meaningless reporting-> frustration
what is missing?
institutional support, stakeholder buy in
data infused decision making
this is the feedback that improves and closes that loop frustration turns to improvements
but how did they get there?
Slow uphill climb, no easy answers

  1. analytics subject matter expert (SME)
  2. build rapport with colleagues, TRUST builds everything
  3. aim for small victories early, then build on them – small stuff builds trust
  4. set SMART Goals
    becoming the SME
    immerse yourself in data
    admit when you don’t know things
    prize credibility above all – if you’re not sure say so. if you need more time to give good answer, say so
    saying you don’t know, when you don’t know, builds trust
    Build rapport
    seek first to understand, then to be understood
    You need to know both analytics and your colleagues missions and priorities
    Get people on your side informally reaching out to friendly colleagues
    sit in on meetings, the more you know the better
    Aim for small victories
    in early days especially: limit scopes of your projects
    clearly define scope and terms of success/failure
    A/B testing small web design changes (use Google Optimize)
    story of breaking button on mobile, hurt donations
    find easy visible wins that don’t break things
    build on small tings
    SMART goals
    email example
    email is primary communication tool
    they wrote a LOT more email than they thought they did
    only started tracking
    most people about 127 times
    179 most
    just from advancement.
    raised 4.7 million through online giving, email solicitation
    if increase overall click rate
    not an easy sell not achievable
    data suggested sending less emails
    can’t just cut emails in half
    seems right but not a SMART goal now
    combine emails
    consider alternative channels
    aggressively segment emails based not just on affinities, but on previous response to emails and drop highly responsive and non-responsive alumni
    example homecoming emails
    Pitfalls to avoid:
    Discovering huge issues and being overwhelmed and taking on too much
    suppress the urge to shout your discoveries from the mountaintop, be methodical
    You’ll know your data better in a year than you will in those first few months, even better after 2 years
    Change takes a long time and dedicated effort
    XKCD tornado app example

From Colleagues to Collaborators: How Building Relationships Can Pave the Way for Sustainable Change
Marissa Gentling

At the heart of her talk, full of examples of her methodologies in action, she breaks down 4 types of stakeholder and client. I have not hear of these 4 groups before, but it makes a lot of sense. The groups are The Enthusiast, The Investigator, The Loyalists (aka The Confused), and The Challengers. Her slides are a better resource for this than my scant few notes but I would love to dive into this theory more.

Raw Notes:
400 hours of video uploaded to FB every minute
1/3 people use FB
Credibility of trust
trust turns colleagues into collaborators
Mayo School of Medicine
10,000 applicants – only 250+ students in program
120 programs in allied health science training programs
school fo continuous professional development
4,000+ in school
97 countries
all 50 states
new site
old one: little to no images
text is generic and not conversational
duplicate content
lacks visual appeal
new one:
we work with you
new documentary style hero images
text is conversational
CTA buttons
Consolidates pages to eliminate duplication
have you ever heard: ‘Just put this on the web’
it does not work with the site
She had a request who explained down to her how web worked
read between the lines
understand the needs of and goals of both internal and external customers
start with what is important
Who are customers
colleagues goals
anyone using the site
target audience
why web governance
hands in different directions square vs circle
same directions easy
Franchise meets mom n pop
franchises are all about trust, same experience no matter who runs it
web services ‘mcdonaldized’ standardized services and templates
‘mom-n-popinized’ the delivery
so what now
some people don’t care or just lack understanding
some people work just different
basic principles of change management
make connections/build relationships
use evidence and data to support recommendations
people don;t buy what you do, they buy why you do it
start with why they should do or want something
trust brings change
bust how to build trust if time is limited or scarce resource?
and what about the skeptics?
Kendall Lee example
her customer
another one made first successful face transplant
types of customers
the enthusiast – dive into research to show how things improved
Investigator – questions validity
Loyalists (aka confused)
How to know?
see her slides for example emails from each
which one are you?
learn how you: absorb info, make decisions, give feedback and receive it
Establish Credibility
provide evidence be authentic
be human
Share the what
Share the processes and policies establishes for the website
with Leadership
internal intranet site
lunch and learns (buy it and they will come)
one-on-one consults
want it right the first time, easier once they know
be open to new idea
nothing is permanent

Once Upon A Time, I Wrote My First Hello World
Elyssa Naval

As someone who does not read session descriptions too closely ever, I really thought this was going to be a talk about her life journey to being a web developer. It kinda was, but in all reality it was a talk about cognitive bias and how to deal with it. Many a good take away from the talk but the one that distracted me while she was talking was her talking about Userinyerface.com which you should open in a new tab, otherwise you might not remember to come read the rest of this.

Raw Notes:
last year at California State Railroad Museum
Found a wall full of index cards with questions
she wrote down she wanted to be a SME on web design
working towards that goal
Curse of Knowledge
cognitive bias assumes they know same background knowledge
learning to cook with her dad
knife skills
Dad just tried to say ‘just to taste’
not great way to learn
Can you guess the song? (exercise with drumsticks)
Tapper and Listener study
1990 study listeners on;y guessed on;y 2.5% of songs
3 out of 120
before the guesses, expected 50%
real was 1 in 40
hearing the music in your head
words and phrases particular group
hard to learn because you don’t know the background info
sister wanted to “Buy a developer”
she was talking about beauty supply
project needs and requirements get messed up due to project vocabularies misaligned
importance of MVP and feedback project
swing analogy
donut analogy
analogies work because they use things we know
Empathy Gaps
Are we really designing for the users
client vs user view
Option A Option B “click the red button”
aditus.io button contrast checker
Developer Tea podcast
Learning is the core activity of a developer
no perfect roadmap but there are a few good Web Developer Roadmap out there
be proud of your skills
think about what you have learned
hello world

Get. Stuff. Done.
Day Kibilds

This talk was all about optimizing how you do some of the basic things in office life, like keep notes in a sane fashion and how to actually, without as much pain as it sounds, schedule meetings with any number of people. This one also won a Re Stapler and was repeated and both times there was a packed house. I personally think the Super Mario Bros. 3 theme throughout her deck had something to do with that, because come on, that is like one of the best games of all time. Lots and lots of little nuggets in this one to implement right away no matter where you work or what you do.

Raw Notes:
jack of all trades
learned to do the mundane stuff
emails people will read, taking notes, around the cool work that we do
stuff that sends us to happy hour
Not a PM talk,
pile of docs for admission example
instead of dealing with lists of things and bad search
using a wiki
search-able, tag-able, browsible, mobile
vertically and tagging across
click on tags to learn more
downloads docs and forms
when you set up a wiki, set it up with growth in mind
version nightmares
naming hell
use the cloud, one location, versions saved, can access control
sharepoint file
Date format YYYYMMDD
no letters for months in file names
pick your battles
scheduling meetings
scheduling flowchart
(find it online)
never ask ‘what works best for you’
give two options and only 2
notes shared documents
team meetings and agenda and notes
Use shared docs to take important meeting notes
action items
names first, change color
if people are not reading what you write, it is 100% your fault
should this be a meeting or trainings?
use bold and white space
large, color, whitespace!
Stop being polite
be polite at top and bottom, rest of email is
Fact, Fact, Action, Action, Fact
write like you speak
if only 2 seconds, remember what you want them to see or do
Manage your projects

Herding a clowder of cats: how Mizzou cost-effectively migrated hundreds of websites
Paul Gilzow
Royall Spence
John Boyer

I have known Paul for a while and he was the one that encouraged me the most to submit technical intro talks to HighEd Web in the first place. I have seen him give presentations before and I knew he was good. Seeing this presentation about his overarching work at Mizzou though put it all in a new light for me. He and his team are literally fighting uphill and performing tranformative miracles over there. For shear inspiration that with perseverance you can do anything, there are few better examples I can point you to than this session. Also there were the best cat gifs of the whole event in the slides. This talk won the Red Stapler for its track, so it is not just me bing nice here, this was outstanding.

Raw Notes:
set up standards but could not enforce them
not authority to
herding cats
difficult to support
Conflicts between Central IT, devs and Admins
not in sync
waiting for funding a lot to fix specific issue
from 13 to 2 CMS
dozens of ways to set up sites, many types of users
needed standards for Authentication
Flexibility – different stacks outside LAMP possible
more efficiency needed
few false starts
cultural challenge vs tech challenges
need better DevOps practices
integration hurdles
CMS strategy
domains and Apache debt
traditional ops services
Multisite – found more than anticipated – based on costs?
internally ‘tiger bucks’ interdepartmental charges accounting
Initial rollout
Drupal and WP upstreams
Upstream model
blueprint scaffolding for the deployment and automated tasks, like SSO
Shibboleth already set up
Dependency Management
just give up and use Composer
Initial Rollout – Alpha
dev education
Mental map changes
git adoption and workflow
Dependency management and composr work flow
no longer directly touch server code
Caching and HTTP request/response pattern
CLI overload
a lot of ways to do a lot of things
initial beta
local dev and HW challenges
standardized on Lando
think they ave moved 30% now of the total move
Workflow is stable
middleware built out as utilities
WP and D performance, way, way better 350% increase in WP performance
initial testing groundwork
standard local env
More auto testing
automated updates
how Platform.sh helped them
Standards based but there is no workflow imposed
carrot not a stick
have to do it the team’s way to get the benefit
faster in all ways
Flexibility to do what is needed
more efficient
multiple environments make it super fast to collaborate
backups are now consistent

Red Stapler Winner

Be the MVP of Managers
Joel Vertin

I missed this talk the first time around and was very glad this won a spot in the ‘Session Repeats by Red Stapler Winners’ which is a ‘best of show’ award where the session is performed one more time. Given that it is on the last day, after a few nights of revelry, and certainly after the most intense one, this is a mixed honor in my opinion. The talk was a mile a minute kind of great idea after great idea, butt it boils down to ‘be a good human and help others be good humans.’ This is one, that if the recording exists, should be sent to anyone with a manager or director title.

Raw Notes:
from UP of Michigan
right on the lake
Aiming this talk at team director and manager
wants to inspire to be better
Why be better?
HiPPO at every turn
Highly Paid Person Opinions
Giant piles of projects
short timelines
sleepless nights stress and anxiety
enrollment numbers craze
how do we survive?
We can change ourselves and how we manage our teams so we can survive
shine the light on the team it needs and deserves
Managerial skills
Emotional Intelligence
1 Leadership
what will you do for me as my manager – digital services staff member
Secret of success good leadership is about making the lives of your workers better
Get to know tour team as people
backgrounds and stories
personalities and preferences
Build compassion and care, empathy, respect, and trust.
be kind
Love is not a word you often hear uttered in office hallways or conference rooms. Yet hit has a strong influence on workplace outcomes
How do you show love?
Learn their stories
wine and dine them
hold regular 1:1s
make yourself available
tell them you love them
acknowledge their contributions
acknowledge who they love
be real with them
work your butt off for them
No right answer
different personalities
Open vs Private
Business v Personal
Shy vs outgoing
Isn’t this just being a human being?
yes. it is
Understanding motivation
different people have different motivations
Maslow’s hierarchy of needs
physiological needs
comfortable working conditions, hours
Safety needs
Social needs – encourage cooperation, teamwork and social interactions
Esteem needs: offer praise, recognition
Self-actualize needs: empower, invite to participate in decision making
Achievement: Seek position advancement, feedback, sense of accomplishment
–missed it, 2 other points —
Cognitive model
equity and expectations
employees may adjust their inputs and outputs or become withdrawn if…
if they perceive unfairness
they do not believe their positive efforts will lead to valued rewards
they believe that inequities will go unpunished
goals can be very motivating
They direct attention
SMART goals
Job characteristic theory
1 skills variety
2 task identity – visible outcome exists
3 task significance – how much task affects life of others
4 Autonomy – how much freedom
5 Feedback – knowledge of results
in a perfect work, naturally all points met by job
Measuring the motivating factors
get to know 1L1
motivating survey – slides example – others online
Motivation strategy
individual and global level
Emotional Intelligence – EI
EU Ability Model
Empathy is the cornerstone of EI
putting yourself in their shoes
leads to stringer more meaningful relationships
success in the workplace
Personal styles
we all prefer to problem solve and communicate
Problem solving
Kolbe’s four Action Modes
1 fact finder – do the research before tackling the project
2 quick start – issues come to them, just want to do stuff
3 follow thru – previously established formula or example follower
4 Implementor – want to get hands dirty, innovate solutions by getting in there
Communication styles
1 in-person v electronic
2 Reactive v thoughtful
3 Space: Yours – Theirs – Neutral
our problem solving is part of our personality
that means there is no ‘right’ way
Practice makes better
improve if you can become self aware
trust and be kind
Create a system
monday.com as a PM software tool
groove for team messaging
Kanban cards – paper cards and physical card
stickers for finishing and nomination from peers
Structure with freedom
the more you can step away the better
look for cues from your team to help you understand where you are at
it’s about laying the groundwork for communication
with good structure, can really work well together
A few parting shots
Do team bonding,
they did a smelting tour
Share your strategy
Empower our teams
take the brunt of difficult clients
Value your people
Teach all this to your people
should make your team better
Graduate your employees, that is OK


It is not everyday that you get to see someone who has been on every talk show on the planet and who is such a widely read author. There was a buzz of excitement in the air as Erik took the stage and he followed through with an amazingly well thought through presentation that inspired and challenged the room to go out and focus on doing what you do well even better. I have not read his books before, but I now have one on deck in my Audible. He had an interactive part that asked for us to email him and he emailed me back. That is a classy move and will stick with me for a while as a great way to engage, really engage, with an audience.

Raw Notes:
video intro
digital leader – 2nd most likable author i the world
story about James Taylor on a plane
leadership – being human
digital leadership
voting with our thumbs
word of mouth is world of mouth
now everything has scale
Privacy is dead, lot of regulations
but no matter how you regulate it, genie out of the bottle
video showcases discomfort
Jeff Gordon in disguise pepsi ad
took them trying to 10 times to approval
a blogger called it fake
that is what happens when you pus yourself out there
Digital stamp – digital footprint + shadows
footprint is what we upload – some control on that
Shadow is what others post about us online
need to protect our digital stamp
how do I get more followers is the lead most people want to talk about
some things move slower than we anticipate
‘sprintz’ing books eyes don’t move you can read 500 – 1000 words a minute
how do we use this
behave like the Jetsons and Flintstones
refriger-dating – based on images from inside your fridge
what does it mean to be a
through coarse of conversation – figure out which one of these you are good at and go deep
Simplification, not about additive
it is not just another thing to do
Multitasking – no one is good at it
what do you want people to think when they think of you
start with one word
no one says billionaire or rich
always kind, just, considerate, etc
take word to sentence level
afraid to fail is what holds some people back
failing better
grew up playing sports, practice makes perfect
that is false
guided proper practice leads to improvement
fail fast, fail forward, fail better
customers who have issues resolved well are 3x more likely to repeat business than someone without an issue
things happen for you, not to you
aways step into your story
pioneers always get pushback
if no pushback, not a good thing, going to be disrupted
Post it forward
selfie mentality and use it outward
build the network before you need the network
NCAA headquarters story
what happens in vegan stays on Youtube
outside in thinking vs inside out thinking
everything you do will lead to smile, at the end
don’t see it everyday

My Sessions

Pre-Conference Workshop: Let’s Learn Git: No More Excuses

I love teaching mostly because there is no other feeling in the world than seeing the lightbulb come on in someone’s eyes when they first truly grasp a new idea. This session was full of such little moments and I am delighted to the nth degree by it. I am so proud that some people came in the room without having downloading Git before and left the room having successfully done a pull request on a forked repository. Together we built this site, though you can 100% blame me for the CSS choices you don’t like. This felt like the best way to spend my Sunday I could have spent and made the whole trip worth it for me personally.

Bash Is Magic # No It’s Not

If even one person left the room thinking “I can do this command line stuff after all What was I afraid of?” then I did my job. I want to empower the world by helping people unlock the power at their fingertips. I learned so much giving this talk, which I am going to retire as a session or at least retool based on what I have learned giving it. So thankful to all the people that helped make giving this possible and who believed in me.

Now that I am winding down the conference tour circuit life I think I might take this content and make it more consumable by way of videos and community outreach efforts in my new home city. I want everyone to delight in the simplicity of using command line and version control, which give you superpowers!

Wrapping Up

It was an event of connecting with folks from a slightly different walk of life from me, which to be honest made me feel like a bit of an interloper from time to time. Luckily those thoughts were always chased out of my head by a friendly voice and an encouraging word. I, myself, am not in higher ed, I will always be in awe of the folks who give their lives for educating the future generations. The unsung heroes of the fight who made sure the website stayed up and that the content was accessible to all are the ones getting the job done for the kids and for our future world leaders. I count it among the highest honors to have been part of this event and hope that, perhaps if circumstances reveal themselves to be correct, I will get another chance to come and be part of this event again. Maybe even in Little Rock next year for HighEd Web 2020

BADCamp 2019: Coming home to the Drupal community

There is only one camp I take BART to and it has taken place in Berzerkeley the last few years. The trip is about an hour door to door from my place in Union Square, but it is very rare that you will find me in the Athens of the West, but it is the first place in Northern California what gave me a place to sleep when I was moving from LA oh so many years ago. It gave me a lot of warm feelings that felt very familiar in not only geography but also in spirit of homecoming in the Drupal community since I had been spending a lot of time in the WordPress space recently. I was overwhelmed by the feeling of welcomeness and family I felt as I attended BADCamp 2019

Food and Fun


Wednesday morning was met with conference coffee which I would give a 5 out of 10 points for trying. Tea selection was really first rate though. Lunch time gave me my first of many excuses to go to arguably the best vegan deli in the world, The Butcher’s Son. Their plant based bacon is making my mouth water even as I write this days later. In fact, I ate there almost every day of the event. If I don’t mention lunch again, you can assume that is where I ate. Dinner time rolled around and some of us found our way to the plant based fast food establishment Veggie Grill which is always a bit greasy.


This has become an awesome staple of this event and DrupalCon. Organized by the really great Jason Mickela, this event invites everyone from the community out for a drink. I realize that is not everyone’s thing, but for those of us who participate it is a great night of lifting glasses and cheers. We started at Pacific Standard Tap Room, but things got really going when we hit the weird little club bar/BBQ joint Spats which just happened to have Karaoke that night. We sang and sang and sang.


I didn’t make it over to Berkeley until dinner time. I got there in time for DevOps After Dark by DDEV at Tupper and Reed. This is a place with super fancy, Alice in Wonderland inspired cocktails. I also made it the Amazee.io party over at Beta Lounge, where some of us had appetizers for dinner.


From Beta Lounge a small party of us found our way to Nick’s Lounge a 7 day a week Karaoke dive. Really just some of the best people in the Berkeley and Oakland area come here for a round of drinks and singing together. It is a wonderful cross section of what good people in the bay sound like.


The first day of sessions brought more coffee and tea. Once again I jumped at the chance to return to The Butcher’s Son for lunch. I also went back there for dinner. Friday night brought the official BADCamp Party. We danced and danced. There was an after event for sure but no proof it happened.


More coffee and more tea. Lunchtime took me to The Flying Falafel with it’s vegan fare and just super tasty fries. I took off before the end of day and slept through dinner plans. I did make it back for a few songs of Karaoke at Nicks for a final cap on the camp.


BADCamp has 2 days of summits and trainings and 2 days of regular sessions. The summits are industry specific conversations and workshops focused on helping non-profits and higher ed better adopt technology. I was just thrilled this year to be able to participate in the Non-Profit Summit as a panel moderator and general room volunteer. So many organizations turned up and participated. The main focus seemed to be how to think about adopting platforms and how to organize your processes for best success as an organization. I really liked the discussions I heard.

It was a really great day and many props need to be given to the head organizer this year Valerie Neumark Mickela who just worked so hard to make a smooth and meaningful event. Props to the other organizers, volunteers and panelists as well.


You Gonna Build a Process for That Process?
Anthony Horn

I love a methodical talk that unveils the ‘secret’ of proper process improvement. Namely, there is no magic formula aside from standardize and fine tune as you go. This was more a case study on how to get the process improvement mechanisms correct than a how to, although they shared openly all their templates they leverage for streamlining how they work with clients and ensure success. I missed the very first part, but luckily this and all other sessions are already online at the BADCamp Youtube channel

Raw Notes:
–15 minutes late–
Slide deck per meeting
ready mad
ready to go
more listening less talking
What are your project goals slide
Process builds logically
personas, user stories, anatomy of an issue
Trains the client to be the product owner
idea from 4Kitchens
some clients really into it
people wrote a lot of meaningless user stories
now has examples of actionable ones
no transitions or animations
ppt, pdf, key versions all with no issue
hosted in Box
Wireframes templates and libraries in Lucid Charts
with little work, model wireframe very quickly
UCLA example work they did
Duplicating success
UX Process (user experience)
hard to find things, firehose analytics consulting
looking forward want to have a UX process
old template didn’t fit the need
Reasons – popularly requested service
have provided bits and pieces in the past
team expertise
looking to repeat success
New Hurdles to creating UX
Missing expertises
No clear model for UX Process in higher ed
who going first?
one time or subscription
How much lifting will this take?
Another Process: Research Projects
Faculty are different than other groups
different tech needs
iterative, doing research, so not sure what they want
new ideas from the research emerges
Start with some knowledge, start there
iterate over and over again
just like Agile, LEAN, 6Sigma, all over the place
same thing
They are sharing the Client Engagement Process Materials
please take off UCDavid logos if you want to reuse it

The State of Drupal 9
Amber Himes Matz

The state of the D9 is good! I am not sure why this message has not gotten out better. At the end of a very great presentation, specifically given to assuage fears that people have about Drupal 9 coming out, there was still an audience member who could not comprehend that he should not wait for the Drupal 9 release to migrate from Drupal 7. Given that this is the first time a major release should not break backwards compatibility I get the disbelief in general, but the proof of deprecations by examining the code and the track record of on time releases to date with D8 make it strange people are still apprehensive. More education is needed apparently and this talk is a great place to start.

Raw Notes:
content production manager
Innovation in Drupal
Drupal 8 brought in 3 concepts
1 Semantic Versioning
allows to release feature updates in minor releases with backwards compatability
2 Scheduled Releases
minor releases every six months make versions predictable. New features introduced at a regular pace
3 experimental module
When features need more time and feedback to be finalized.
Backwards compatability is still supported
experimental: media library, workspaces
stable: demo
experimental media library
Stable, layout builder, JSON API
Third Party Optional Twig 2 support
So goals of 9
Update 3rd party dependencies
clean up the code
Symfony, jQuery, CKEditor, Twig 1
these need updated/removed
Symfony 3 end of life is 2021
year prior release
June 3 2020 is planned D9 release date
Drupal 8.9.0 is planned to be released same time as 8.9
2 minor releases a year are planned for D9
how long with D9 go forward
estimated EOL for D9 is
end of 2023
based on with CKEditor supported and Symfony 4 or 5 EOL
The Making of D9
Major versions were brand new code bases in the past
caused headaches and was expensive
Deprication process
backwards compatible APIs are included and slowly removed over time
new solution, old to be removed marked for deprecation
new code is in the code base, but old code there for backwards compatibility
same is true in Symfony 3
D9 is dropping the deprecated code and just new solution
D9 is 8.9 without deprecated code
Modules with no deprecations will all still work
D9 built in D8 step-by-step
same process planned for D9 too
Preparing for D9
Keep Drupal core and contrib projects up to date
code examples
PHPStorm already suggests and strikethrough deprecations
project overview
export project or subset of projects
issues are either warnings or errors
warnings are for ones that can’t be fixed, or identified
errors can be fixed now
drupal.org tools
enable static analysis with PHPstan
Project owners, update your plans on your page
Sprints are a great way to get work done
D8.8 is the last version to deprecate for D9
gives you a 6 month window to get up to date
should I create 9.x-1.x-dev branch?
NO, don’t do it
composer projects allows more granular control
compatibility with more than one major version
Already correct for everything past 8.3
issue with Contributes modules be compatible?
most deprecations are easy fixes
midcampers already opened issues based on reporting then
I got named dropped 🙂
not a tool for Twig template deprecation but see node 3054924
People should not expect new features for 9.0
just stable and non-event upgrade
Big deal is that it is not a big deal
D7 support got support expended to November 2021
contractual vendor support, until at least 2024
worked well for D6 support, til 2022 in fact
3 major versions at once for a year and a half
Upgrade to 8 NOW if you are not there
Contrib custom and Content
not trivial, once on D8 no migration again needed
Skipping D8 does not bring benefits
Waiting for 9 just shrinks the window for you with no benefit
Recap: Drupal innovated 2 times a year
D9 is built in D8
Keep up with D8 and you are ready for D9
D7 has no reason to wait to D9

Best Practices for Securing Your Site

I like going to security talks as I never feel I can know enough about this evolving subject. I also picked this talk since it was given by a speaker I did not know, who worked at Google. This talk was a little more beginner than I anticipated and a little more sales-y for using Search Console than I would have cared for otherwise, but some good nuggets in there for sure. There was a moment of group chuckle as she discouraged people from using software that could not auto-update. Still, I had not thought of using a mix of the first letters of the words ina passphrase mixe with numbers to make shorter but still random and secure passwords before. Some of my 30+ character passwords are going to shorten a little bit next reset.

Raw Notes:
Trust and safety team at Google in SF
1 ID hackers attacks n Websites
2 Recovering hacked sites
3 best practices
was text results at first
now it is much more media rich
+32% increase in hacked sites in last few years

  • Gibberish hack
  • Japanese keyword hack
    auto creates new pages with Japanese text
    Hacker add themselves as a property owner on Search Console
  • cloaked keyword hack
    On user side, pay attention to phishing or malware warnings
    safe browsing to push these warnings on Chrome
    Addressing the hack
    nohacked guide
    build a support team
    quarantine your site
    use search console
    access damage
    ID the vulnerability
    clean and maintain the site
    You become a potential target based on technical issues
    no HTTPS, out of date
    Safer Login
    Safer Website
    Safer Connection
    request a review on search console
    Passwords, Strong unique passwords
    updating passwords regularly
    Don’t use common, easy to find out things for you
    only you would know phrases
    passwhrae key
    Ih2d1ca3b – OK password
    2 step verification
    something you know and something you have
    Google Authenticator
    Safer Login Security Check-up
    Safer Website
    Outdated software is like an open shoelace
    might not be a problem but mught trip everything up
    keep updates software
    Enable automatic updates if possible
    “iffy if software doesn’t allow it.” (??? Does she know what Drupal is?)
    Postcard vs letter in sealed envelope
    new tech requires HTTPS
    progressive web apps
    push notifications
    ranking signal in google
    will serve HTTPS first
    Let’s Encrypt
    search console
    61% of webmaster who had been hacked could not be reached
    84% of those reached has successfully cleaned up the hack
    users and permissions
    manual actions
    security issues

Better Project Management Through Board Games

I have seen several talks in the last bit if my life that reference board games with project management. I even wrote a blog post about one of my favorites I have seen. This talk was less theory and more ‘if you want to learn X play Y game together.’ If there were a more practical approach to how to teach people some of these skills, I have not encountered it. Really amazing job from David and John and it exposed me to a number of games I have not heard of before. I look forward to playing all of them sooner than later.

Raw Notes:
Project management games
Write clear requirements
a game where the thing you build in the middle gets changed per teun with the cards
5 different colors 1 – 5 in them, you can’t see your own cards
Close Feedback loops
Make sure changes along the way can be addressed
timelines and things not being static
an open ended game, 5 minutes up to 5 hours
draw one card, play one card
cards change rules all the time
goal to win game changes too with cards
Captain Sonar
Like battleships with teams
PLan and prioritize
thinking through risk mitigation
Ticket to Ride
you are the railroad mogul
building track and connecting destination
game about spells in seasons, plot out a curriculum at wizard school
Concept: The Iron Triangle
Competing constraints on a prject
magic unicorn lives in the middle
Lords of Xidit
be not the worst at the most category as leader
Between 2 cities
one card on each side of you
take lowest score of the two cities you built
Making the project succeed,
not being a people pleaser and promising everything to everyone
Buy the Rights
Movie pitching game
gotta sell it
Dragon’s Gold
Negotiation of how to split the treasure
poor at negotation there is no way to win
The Networks
juggling act running a TV network
balancing all
Power Grid
Extending your grid out to other cities
power plants and expand at rate balanced with customers
resource management
Look ahead
staying on track
make sure things are trending in the right direction
Race for the Galaxy
like a deck building game
common pile of cards
all cards are beneficial
paying playing a card by throwing away other cards
round broken up into phases
if no one choses the phase, in secret, that phase gets skipped
City building game
look ahead to see how others are building their city
all selecting from common pool of available building
Concept: Be Flexible
things will not always go according to plan
tiling game, building a city
matching patterns on tiles
The Quiet Year
light RPG
Collaborative map making and storytelling game
flipping over a card and drama happens
Concept: Don’t Panic
Things change
people will follow your lead
might be planning to do one thing
someone might steal resources or blow you up
Mechs vs. Minions
fighting on maps
set out actions you going to take
set it down and see what happens
programmable action games
Common Traits
Do some research
don’t ‘discover together’ with the team as a PM
Clear objective
trying to get points vs building railway tracks between cities
more detail
why do we care?
Delegate where you can
cooperative vs competitive games
Forbidden Islands
The Entire PM Experience
What is the ultimate goal?
Winning isn’t everyone
Les Lim
How to Enjoy Board Games
Objective of a game is to bring people together
to solve puzzles
to immerse yourself in the theme
and to be excited to play again
Success of a PM is not on time or on budget
it is successful if they want to work with you again
Finite and Infinite games

Start Using the Emerging Layout Builder Ecosystem
André Angelantoni

I, historically, am not really a front end person. A layout of black and white text in a single column looks good enough to me for the most part. But I get it, people want ways to layout content that looks better than that. Enter the Layout Builder, a Core module now that not everyone is as excited about as they could be from what I hear. This was less of a how to and more of a talk exposing what is possible and the current state of the tooling. If I was going to be building content out I would be digging into this more. As of now, I am just glad to know the conversation for layouts is ongoing.

Raw Notes:
lot of modules to be released
quality initiative
Intro to layout Builder (LB)
Key modules
Patches to watch
souped up panalizer
You can create rigid layours thatt content editors can’t change or layouts that —
Video example
8.7 site
not individualized, new layouts apply to all of that type of node
by default shows blocks available inside Drupal
that is how you edit the layout for all page types
use it by creating content
Allow checkbox, layout tab appears
change per node
once you make content like that, can’t turn off Layout Builder
can but have to revert back to default layout, then tun it off
example site
some have more than 40 components on a page
easy to hurt performance when adding that many components
Key Modules
this is the future
Layout builder Asymmetric translation
If you want translation of layout, need this module, going into core just not there yet
Layout Library
make a library of layouts for content editors
Layout Builder Kit
base component based
common logic for components
custom block – price example
extra fields to blocks, much more flexible now
custom blocks get their own areas
Layout Builder Modal
adding drag and drop
lots of space instead of just scrunched up side
Layout Builder Restrictions
restrict blocks throughout the site to stop rogue editors
Layer builder Styles
Dynamic Layouts
Entity Browser Block
allows you to select ny entity Drupal has and place it on a page
Mini Layout
Unsaved issues
CohesionDX just got bought by acquia
Glazed Builder – superthemes
Layout Builder, if more people start contributing
Translation needs that other module
Node revision table might blow up
Under the hood, Anatomy of a component
where is everything stored?
storing multiple revisions of the same page?
not very useful
be clear on decisions when going through it
Location of Component
serialized string
row for every section
Component Configuration
Stored int he layout_builder_layout field
or us the FieldAPI
Block or Component in D8 interchangeable terms
each option gets own field
MOre you share fields between components, you create rats nest of interdependencies
Also, as an entity
Entity API+Field API
Configuration vs Field API vs Entity API
see slides
one insert per entry
Layout Builder Gap Analysis

Anonymous Personalization Without Leaving Drupal

I kinda think that most personalization is creepy, but I see the value of it in some cases. Especially if it is just data, like a geolocation or IP range which I don’t mind you having for most things I look up, I can appreciate automatic language swapping and regional special offerings. Contextual Conditions seems like the least creepy way to offer a catered experience without collecting and using data in disturbing ways. I also love the idea of an easier and free way to du A/B testing. There is a lot of promise to this tooling and this is for sure something to keep an eye on as it evolves from the alpha it lives in now.

Raw Notes:
Personalization helps people use the site
find what they need
Dynamic Content Recommendation
Individualized Tokenization – “hi MIKE, welcome from YOURLACATION’
Contextual Conditions – this is the focus of today
taking what we know about the user and curating the experience for them
Umami example
local storage
browser properties
device properties
visitor actions – what did they do
third party
and many more
Smart Content
at it’s core, an API and toolset for providing and provide reactions
it is not however an access control module
still need authenticated users to have access control
Smart COntent Block, Browser, all in smart_content module
View Mode, Segments and more to come
demo of module in action
bit of a widget system as well
reactions are what are shown in this condition
Check cookies
default variation to show is possible
not a blank space filling void
demo demo demo
how it works
Page is rendered with a placeholder for each Smart Content segment
JS to pass associated data
additional libraries also attached
Decision.js searched page for placeholder
if statements in JS
merged common things in conditional handler
look it up once from queue approach
back to decision agent then process
can cache the returned values
Use cases?
Targeting segments
Content based on Scoring
per device/os content
gated resources
new vs returning user
time of day content
A/B testing
Location based
Real world example
IP based, suggest content based on what they think that segment wants to see
project is in alpha, about to become Beta
hit some issues around storage
working through some issues
then 2.x into the future
because we can do better
2 year process so far
overusing plugin system
fewer APIs, tighter
make decision s and decide
reactions can depend on decisions without living within them
Further decouple storage from behavior
improve UX

Integrations Roundup: How to plug existing products and services into your site

After a lot of up front warning this was going to be a high level overview and not a ‘how to’ for these integrations they got started. Meg and Jason delivered a wonderful, and well paced, discussion on how to think about using third party integration tooling off the shelf, versus when to roll your own or find lighter weight alternatives. They were right after lunch in a small, dark, warm room and did a great job of keeping our attention in the sleepy afternoon. Really great information for any site builders out there who have client demands for more functionality.

Raw Notes:
High level overview of what is possible
when to and when not too
Pros and Cons
Pros: Decrease technical debt
increase security
quickly deply complex features
use a solution the site users alread kow
create data one, use it everywhere
Specific knowledge of external system
reliance on 3rd party security
can slow dev for simple features
changes in TOS can bite you in the A$$
How to pick the right integrations for your site:
ID your needs
Try not to jump on any bandwagons
leave room for future growth
keep 3rd party requirements in mind
Degrees of integration
Never lose sight of what you;re ultiplately trying to accomplish
importance of customizations
avoid the new hotness
might not be popular next year
consider community support over sexy code
leaving room for future growth
some integrations have a cost of API issue
down the line what might you want to do?
right for you in 3-5 years?
Third Party Requirements
review the format of the data being stored and how it is exported
Avoid adding elements with disprportonate page load times
embeds, iframes, and or scripts
ensure your data is with a trusted source
make sure it is not getting sold, exploited, etc
loading other people’s scripts may not be good scripts
ultimately comes down to custom work, no matter who you pay for code
API usage
Degree f integration
API takes a lot of client-side code )Hardest)
JS Library
Link to external site
Why would you even want to do this?
if looking at site and want to increase functionality but have limited budget
single out specific things to look closer at
Donations, shopping carts, CRM, Analytics
Payment Gateways
square/Paypal,/Amazon Pay – D8 module
Authorize.net, yes module, hard to use though
not in active dev
Stripe, D module in alpha, no being developed
Social Sharing
no integration is an option as well
email sevice provider
transactional email service provider’
Heavy Hitters Swiss Army Knife
Don’t paint yourself into a corner
all your eggs are in one basket
It’s dangerous to go alone
Work with people that know what you do
experts an bring new ideas and solutions to the table
‘development and programming’ mean a specific thing for Non-profit
standing on the shoulders of giants

My Talks

I was fortunate to give two talks this time around. My new talk Follow that data! Letting your users tell you what works. and one of my favorite talks I have ever given Making A Tour: Leveraging The Tour Module For A Better User Experience

For the first one, I gotta admit, I learned a lot in my research but I felt the talk itself, especially in this alpha release, was a little scattered. I realized half way through I had written 2 talks in all reality and didn’t really do either one of them proper service by combining them. The old saying is true though, you never really know what a talk is saying until you give it. I can fine tune from here, but this is likely the last time I will submit this particular title.

The Tour module talk on the other hand is one I am extremely proud of and one I wrote an article about earlier this year. It is always well received and some people always have the same ‘mind blown’ reaction when they realize it is in core, and has been since the 8.0 release. If I can help one dev or site builder explain one less thing in person for the 100th time, it will all have been worth it.

Wrapping Up

The thing I can’t really capture completely accurately in this post and in my notes in general is the sense of community I felt here. I know I say that a lot, but this time it really did feel like a homecoming. I am not trying to diminish the lovely and wonderful people in WordPress or elsewhere, but as far as tech communities go, Drupal is very special. No, it is not a utopia and there are some major hurdles we need to overcome, especially around diversity, but it does revolve around the central codebase that is technically great and captures the best sense of what open source code can be I believe.

As I wind down this part of my life as a traveling tech evangelist going to so many dang events all over the place, I am so, so glad my last Drupal event of the year was in the back yard of the town I have called home for a decade and a half. So close but so far across the bay at any given time I never visit there too often. I hope to visit next year, even if I have to travel quite a bit further for BADCamp 2020.

WordCamp Vancouver 2019: Getting to see the Evaporators and hear the mayor declare it officially Nardwuar day in Vancouver

I love Canada. I grew up within driving distance of Windsor, which meant I got to watch the CBC and listen to 89X CIMX. I had visited other places tot he east of of the Saltwater City, but had not yet been to the west coast town. I was in for a very pleasant time in a city with amazing food, just the nicest people and a really hip vibe, and I even got to marched in the Climate Strike as I visited the city for WordCamp Vancouver 2019!

Food and Fun

Speaker Dinner

I was excited to meet up with the organizers and speakers for the traditional Speaker Dinner and I walked the short hop over to them at
The Blackbird Public House. There was an unexpected DJ, who wasn’t bad, but was rather overpowering for the room. Not complaining here, as the drinks and the food, especially the cauliflower was very good. But it was a little loud. Heads up for other organizers, make sure you ask if there is any live music or DJ the night of your events.


Two kinds of really well made conference coffee, dark and medium roast, and a fine selection of teas met us as we started our conference day. We also had fruit and sone light parties. They even had vegan and gluten free cookies available. Lunch was a selection of sandwiches, including a jackfruit based ‘tuna’ vegan sandwich. That and a broccoli slaw made a terrific mid day meal. We even had a snack break that featured build your own bruschetta and hummus.

After Party

After the last session we traveled up to Gastown, home of the steam clock, to get together for the after party at Rogue Kitchen & Wetbar. This is in the same transit station as the SeaBus, which I took for an inexpensive sightseeing cruise the next day. Appetizers of all sorts flowed and so did the drink tickets. Eventually a real meal was needed and we concluded the recorded part of the event. It was a good night.

Since no tweets of the after party exist, so here is a post camp pic of a good looking dog.


Opening Remarks:

Understanding Your Customer Using Personas and Empathy Maps
Chris David Miles

This is a new talk for Chris but it seemed he had been talking about this topic for years, given the grace and comfort with the material. I have heard the jet seat story before, but I liked how he tied it in with the work they do at BlueHost and how it helps them scale. Don’t design for ‘average’ because no one matches those measurements. Design for ‘Bob’ or ‘Alice’ or any specific persona.

Raw Notes:
Who is making a product to reach customers?
Are you using data to do it?
It’s hard to be a good listener
If your method of listening to customers does not scale with you, the harder it is to hear your customers
Disastrous results from US Airforce
new planes in the late 40s lot of wrecks
blamed pilots, pilots blamed planes
cockpit design for a regular plane vs jet seat
anthropologist measured people’s hands at Harvard
no two people were alike and average represented no one
Anthropometric data
found that less than 3.5% of pilots were in the average
asked for Boeing to build a seats for each size
they were confident they could do it or were going to cancel all contracts
they made adjustable seats
turned out it was cheaper for Boeing too
It’s hard to be a good listener
Data is how we listen to our customers
We can do this too
Customer Avatars
Have a picture of specific users and clients in mind
put a name to the them and a face
align your goals according to avatars rather than averages
1) goals and values
2) Challenges and Pain Points
what is keeping them up at night?
3) Objections and role in purchase process
what are the perceptions, do they know who you are?
timing is important
Why AirBnB succeeded because of age of the internet
Role in the purchase process
is that person going to cut the check
4) Sources of Information
why do they trust?
what do they need?
who is going to get in an argument about this on Twitter?
There are other models
but how do you make sure you are seeing blind spots?
Empathy mapping
At center, customer avatar
See, Say and do, Hear, Think
Jif Peanut butter
asked about what people wanted in a coffee
what they said was opposite of what they actually wanted
Breaking Think into 2 category
Pains vs Gains
without a lot of cognitive load you can jump into other ways of thinking
Understanding what customers are Really telling you
“If I had asked people what they wanted, they would have asked for a faster horse”
What would they were really thinking of?
Faster point a to point b
if you plug it into the mapping, really is good information
study behavior
sell the coffee they are buying
Real world examples
Design case study
it is a search engine for dead people
researching, found people were looking for same name often
seemed weird
people searching for themselves
because they were not dead yet, so not there
what people were after was building family trees
tried to change copy to make people behave differently
came up with way to search for yourself
then add your parents and grandparents
search was way way better after that
listend to the customer
the way people anticipated the product
Case study Bluehost
one giant page originally
13 pages of skittles
biggest question was “what do I do now?” after logging in
how do they want to manage sites?
new layout and step by step helps new users much better
retention went up

My Session

Let’s Learn Git. No More Excuses.

This is likely the last time I am going to give this talk. It was a talk that took me from talking about business topics to technical ones. It taught me so, so much about Git along the way. I can only hope it helped others understand this powerful but ‘stupid’ tool a little better. I have been the most encouraged by the folks who tell me later they embraced Git for document management and it changed how they work. Knowing that I helped multiple people see that light makes everything I have ever done in this space feel very worth it. It was an honor to talk about this subject as many times as I got to and I hope others pick up the banner for their communities by speaking about it too.

Having Fun (But Not Too Much Fun) with Viewport Units
Richard Gilbert

Have you ever seen a talk that made you mad you had not seen it a few weeks prior. I am 100% serious that CSSCMS would look a heck of a lot different on the CSS end if I had seen this sooner and understood what viewports can do. As we enter into an age where I see CSS returning to the front and center of the conversation along with HTML, viewports are an easy way into making everything responsive. As I write this I am debating spending the cycles to rewrite my joke CMS to make better use of the tooling. My notes are not the best as I kept playing with stuff as he presented it. Go see his slides at bixgomez.com.

Raw Notes:
From Drupal
Uses Twig
Viewports are all over
no matter CMS
units of measure, where you use px or % or em
vh, vw, 5vmax
view width
1vw 1/100th (1% of the viewport
vmav = 1/100th of viewport height or width, whichever is larger
change dynamically as change shape
oonjuntion with font size, etc
px static
% is relative to the container
examples – see his slides
pracacle use cases
sticky footer v1
css calc function
.page-wrapper {
min-height: 100vh //this makes sure uses full screen, invisible to us. set to 200 for scrool 2x size
.region–content {
min-height: calc)100vh ….(missed it)
,page-wrapper {
display: flex;
flex-direction: column;
min-height: 100vh;
header {
(missed it)
full browser header experience
breakpoints (mixin breakpointsass)
real world examples
see his code, it is awesome
… max width fixed.
stopping when you get to max viewport
html {
font-size; 2vw;
body {
font-size: 1em;
not a good way to do it, but is fun and there is a use case for it
gentle text enlarment
html { font-size: calc(12px +0.75vw); }
gentle text reducer
calc(24px – 0.6vw);
built in easy reader mode
not ideal either
2 way enlarger
calc(24px – 01.25vw);
@include breakpoints($md)
calc(7px + 1.25vs);
wrote his sass function, wants too write a plugin

Design Principles for Web Developers: How to Make Your Websites Look Good
Anne Emberline

Anne is a true expert in her field of design. I really appreciate the skills designers have but honestly, I don’t get it for the most part. As we picked apart various websites for flaws, all I could hear in my head was the old Oscar Wilde quote ““Fashion is a form of ugliness so intolerable that we have to alter it every six months.” The most important take away for me was to trust designers who pick color pallets and make font pairing choices. Overall, people will like your output better if they are not caught up in not liking it for aesthetic reasons.

Raw Notes:
how rounded corners work was her intro to CSS
design concept examples
having the eye to see what is not good specifically is the skill of a designer
Concept 1
Visual Communication
red slide
what does it communicate
stop, error, passion, energy
blue slide
calm, learn more, peaceful
Lorem Ipsum
feminine soft font
shouty, bold
monospace, technical, small print
lot of screenshots of websites from local companies
see slides, lot of examples
issue sometimes is no piece of visual interest
maybe add interesting typefaces
6 visually interesting things on a page = ugly
one consistent thing repeated over the site is good
keep it overall simple
hierarchy and Emphasis
path eye takes through something
we naturally see differences first
need a strong nav
Spacing and alignment
area where people know something is off but can’t say why
kinda zig zag
looks messy means not lining up
remember to think view in motion, enough vertical space
colour and typography
it is something you might need help with
pay designers to make a custom color pallet and stick with it
or get one online
same with fonts
type and color consistently
headline and body font all you need

Tempted by the Dark Side
Rose Cass

Dark Mode is now a thing. Major browsers expect it. You can use CSS to turn it on when the page is loaded in such browsers. The why you would want to do that is a subject I am going to need to look into a but more. I know theoretically it saves energy or might be easier to read. Still, an excellent presentation on a topic I knew nothing about going in.

Raw Notes:
github page
light theme and dark theme
like a media query
apply preferred-color-scheme: value
dark, light, no-preference
but why?
where do you use it?
another tool in the toolbox
maybe clients have need
support IE and EDGE not well supported
obscure mobile browsers, no
flashy thing on main websites
can’t affect favicons with css only per theme
can’t use it with old browsers

Closing Keynote: Where We Go From Here
Morten Rand-Hendriksen

I had seen a previous version of this talk back at PressNomics but this one seemed much more hopeful and made me want to learn CSS even more. I feel it an honor above honors to have seen what Morten calls his last WordPress talk and am just as excited to call Morten a friend. There is a lot to ponder in this talk and I hope that this one makes it to WordPress.tv to inspire others to embrace the future that is fat arriving.

Raw Notes:
it has been less 10 years since Responsive Web Design become a thing
The future keeps arriving
it is faster and faster
the end of WP themes is in sight
concept of themes is over when the block editor controls everything
themes are different in the future at least
block areas
live demo prototype
year from now it looks like that video
everything we know about themes are about to change
all of us need to be part of the conversation
build it and define a path
Death of the monolithic CMS
this is not how the web works and will not be
treating WP as a data source
jekyll, 11ty, NuxtJS, Gatsby, HUgo
the Gatsbyfication of the echosystem is just geting started
The APIfication of the web and the internet
process info differently
assuming APIs exist
GraphQL, became the replacement of REST
WPgraphQL is how to do it,
REST is old hat
what query language wins is GraphQL
using the front end ot collect data from sources is how the web now works
WP is not going to be the one thing to buld a site
2012 end of the web as we know it article
content smushed together
content stream from multiple sources is the new norm
OSS Hippocratic License
Stallman had to step down in last few weeks
definition of who is in charge of OSS
OSS is privileged position to have
time and money, ethically not good
MIT license with a moral clause
people pushed back that they can’t control OSS like that
Open Source is evolving or devolving
this is an active conversation
Corporatization of open source
Automattic and Acquia raising money
OSS is a privileged, paid volunteers
step up in the ranks and you control it
easy to manipulate with money
Corps will consolidate their control over large OSS
accept it or do something
the Tech Reckoning
Pope felt it necessary to say something about it
in lieu of meaningful tech ethics, we’ll end up with onerous regulation
not in the conversation about how the intent and the web should be regulated
FB and Ready Player One
FB is building Oasis the way the book says
want to make HTML element a Geo location in space
AR glasses or app on phone
html appears at door
the age of web-content-consumed-through-rectangle-screens is already over, we are at the nd of it
the CSS Revolution
Variable Fonts
emerging tech
CSS houdini
low level JS API for the browser’s render engine
low level
all of it is happen
future is constantly arriving
visBug for Chrome
visual design in the browser, right now
CSS is about to become way more magical
the Next generation
this is likely his last WC talk
you need to build the future, not the old geezers
how will you build the future for yourself and the world?
he believes in this community

Wrapping up

I saw Nardwuar the Human Serviette perform with his band The Evaporators during Nard Gets A Star. There are many bands that influenced me over the years to believe in the DIY ethos and further, to believe in the power of punk rock. The Evaporators hold a super special place in my heart as I discovered them as a college radio DJ at 88.1FM WBGU. The first time I played Slap Ham it blew my mind and that is pretty much how I learned that punk was more then angry and loud. It could also be silly and positive.

Here is the kicker on this though. I had no idea this show was going to happen until I was walking around on Friday night. The first and only time I have ever been to Vancouver British Columbia Canada, I got to see one of my punk rock heroes. I got to stand stage side as he performed. I am still in awe of life lining up like this. Vancouver did it’s best to impress me and become one of my new favorite cities on earth.

On a more serious note, this WordCamp might have been my last for 2019. At the time of writing this post there is still a maybe out there from one more camp, but it is looking more like I am going to end my WordCamp year at this one. I have a lot of feelings about these events and this space in general, reflective of some of what Morten talked about in his Keynote. No matter if I keep on in the WordPress space or not, I greatly hope I get to return one day to Vancouver, maybe even for WordCamp Vancouver 2020!.

Moving mcdwayne.com to SiteDistrict

As of WordCamp Sacramento, I have moved the hosting of this site over to SiteDistrict.com. TL;DR: it is awesome so far. It lets me have more of an opinion for certain things and it feels custom built for the intermediate to advanced developer.

A Blog About WordCamps And DrupalCamps

My blog started at the very end of 2016 when I realized that I had been to a good number of events and could not tell you many specifics, as they all blurred together. I decided to correct this by using the go-to blogging platform and learn the back end along the way. I have an intended audience of 1, me in the future, so I can easily reference where I ate and what sessions I saw.

I had the extreme privilege to work for a large scale containerized hosting as a service platform at the time and naturally just spun up the site using their very opinionated tooling. But given my intentions for the site it meant that I was not the target user of the platform and ended up with some steps that, while well intentioned, caused me extra overhead to manage.

A Change In Life Meant A Change in Hosting For Me

After a few life changes, I decided to re-evaluate how to host this site long term, so I went shopping. I had several requirements for a host:

  • Performance must stay steady or improve.
  • Ease of code or deployment must be on par with current developer experience.
  • Support must be rock solid.
  • Backups at least nightly and easy to deal with.
  • Migration has got to be painless.
  • WP-CLI must be present.

After a lot of conversations and investigations into hosting reviews, I decided on SiteDistrict. So far, they have met every requirement and I really like the approach the team is taking on how to manage sites.

SiteDistrict administrative dashboard

Support and Migration

I got my answer to the migration and support aspects in one conversation where all I needed to do was supply a recent backup of my site. A few minutes later Matt moved the site and I was ready to test and change my DNS when I was ready.

WP-CLI support

The administrative interface gives me the access I want directly as I want it. No need to SFTP into my log files, they are simply there. No need to install a local command line tool, the built in terminal has WP-CLI already present and ready to use.

Although, the fact it is a platform built with WordPress in mind means the integration with the WordPress Admin feature set is pretty fantastic. I have full visibility into my plugins, themes and users without having to log into the WP Admin directly or making a WP-CLI call, which is the main reason I was using WP-CLI in the first place.


The automatic and effortless (from my seat) CDN integration with CloudFront means my performance is very much on par with what I had before with either Fast.ly or CloudFlare. Running speed tests on both sites was easy because the tooling to run those tests is built into the dashboard.

Development Experience

I have been used to enforced 3 server setup, so being able to work in development environments and move between servers is something that I knew I would have to grapple with. SiteDistrict makes this very straightforward as the clone/staging function is a simple button click. I can even spin the work out into a new site with a menu option if I was going to be making sites for a living.

Part of me was worried I would miss having a command line tool for the platform, but then I realized that with SSH access I have ALL the command line tools for the platform I could ever want. To be honest, I am kinda excited about the possibilities of tinkering with this kind of access and discovering new approaches to automation. Heading


Last on my list was the need for regular, painless backups. SiteDistrict gives me not just nightly, but periodic automatic backups throughout the day. As a person who has manually rolled back git a few too many times, a one button restore from an hour ago is very appealing.

Even more support

Ongoing support has already proven its value as the team has responded to my requests very quickly and been most helpful with my questions so far. I am sure I will have more as I dig in, but for now, I am super glad I have a new home for my site that is a little better fit for me as a developer. If you are feeling like your site host is constantly telling you ‘no, you are not doing it our way’ maybe it is time to move to a new district, to the SiteDistrict.

WordCamp Sacramento 2019: Enjoying the culture of downtown Roseville and dealing with the terrible traffic to get there

Every year I drive to one and only one event from San Francisco and that is in the drive to River City. And every year I am reminded why I don’t drive in the Bay area. Leaving at 1:00pm I thought would let me beat traffic, but I didn’t account for the largest student strike for environmental rights ever put together messing with San Francisco traffic. Long painful story short, it was 4 hours of driving to go the 106 miles from my house to the venue. Fortunately that was the worst part of the weekend as I had a fantastic time once I got there for WordCamp Sacramento 2019.

Food and Fun


Friday night the speakers, organizers and volunteers gathered at Siino’s over in Lincoln, CA. Only the salad didn’t contain dairy unfortunately but the drinks were comped. More importantly, it was the chance to see old friends and meet some new ones.

At some point I brought up the idea of bowling as the dinner was ending and a small group of us ended up at AMF Rocklin Lanes. This is the classic family bowling alley you can take everyone to at random on a Saturday and get a lane, play some video games and try your luck with the claw machines. A pretty epic time where everyone got to participate!


In addition to the coffee and tea you would expect, there was also iced tea and ‘spa water’ available to combat the dry heat of the Sacramento area. WordCamp Sacramento is well known for having an abundance of snacks at every table in sight. From Corn Nuts to Nerds and Laffy Taffy to Oreo Minis, there was no reason anyone would be in want of a snack the whole time. If there is a downside is that by the end of the say everyone has a sugar crash. If I am being completely forthcoming here though, I left the event with enough pilfered candy to last through the end of the year.

While I was a little let down by the lack of vegan options at the speaker dinner, the camp more than makes up for it at lunch but having food trucks that can cater to any and all dietary needs. There is even a whole post to prep attendees on what to expect so they can plan appropriately. This should be the model all camps adopt in my opinion. Well done.

Another thing that is fairly unique to this event, and that is the lack of a formal off site After Party. Instead, they have a networking reception immediately following the last session. I am always torn on this approach but I do really like the inclusiveness of it. There is no alcohol provided which is good for a number of reasons, but it makes some folks desire to go find a drink elsewhere sooner than later, but it alleviates the issue of encouraging drivers to have a drink at all. The appetizer and dessert spread was pretty alright, with 3 types of hummus.


Of course, dinner called us out of there sooner than later and I got a few other plant based food enthusiasts to go have a very colorful meal at the local vegan specialty shop Zest Vegan Kitchen. There were no boozy drinks, but awesome tea and kombucha. Later in the evening some of us found our way to the downtown Roseville area but no more will be said about that here.


Sunday met us with more of the same beverage service. A later start to the day, where the first session was not until 11:00am, meant there was no lunch, but there was an official snack break. Of course the snacks flowed all day long on the tables as well. I am kinda glad that not all camps give so much candy to be honest. It makes WordCamp Sacramento kinda like Halloween where it is OK to have so many sweets.


Opening Remarks

eCommerce: What Do You Start With? Audience, Products, Store?
Chris Lema

I have had the pleasure of hearing and reporting on Chris’s talks many times now and almost all of the talks he gives start out in the middle of a story for dramatic effect. This one had a much more traditional agenda laid out as this was a much more methodical ‘how to’ with some very thorough concept explanations. I learn something from every talk but this game me a new perspective on how online stores can be started that I had not considered before. When this one hits WordPress.tv I can imagine it being one of his most watched bits of content.

Raw Notes:
No right approach
most common is make product first
Historicaly Cost Plus model is what people use to
makes knowing price and costs easy to understand
THe challenge with being product-centric is that its hard to know when you are actually done
and mot people don’t start their marketig until the product is done
Mexico vs Brazil cell phone story from his dad
simple tech issue, but they sccrambled to remarket to Brazil
Other challenge with product-centric is the you can end up building what is possible to build
but that may not be what people want or need
If you have a team of folks who can build stuff, it may be a perfectly fine route to take
in recent years, there has been antoher strategy
Audience-first approach
when you have an audience already established, it’s easy to sell stuff to them
challenge is nothing is immediate
it takes to build an audience from scratch and there are not garauntees it wil work
Anh you have to have content marketing chops
you need to quickly evelop and it takes time
expensive and long game
if you already have a team who can create content this strategy may be the perfect way to move things forward with an audience-first approach
story of rainmaker platform
handful of affilate sales, Chris was one of those
the money was crazy good
There is a third approach
most people don’t talk about it
a Store
validation up front
take pre-orders
collect cash up front and validate concept in one shot
challenge is if marketing copywriting isn’t perfect, can seem like a rip off
nobody likes that
story of buying a video series that got cancelled, felt ripped off
best thing about a store first approach is that is can be a middle of the road approach
strategy, Resources, Risk, Benefits, Watch-out for,
product first
Development, developer, build the wrong thing, pricing and marketing, featuritis
Audience First
strategy, creative and writers
loe ROI/Cancellation, On-Launch-cash infusion, giving away everything
Store Fitst
pre-orders, Marketing, Audice Blowback, need is validated quicky,spending too much

My Talk

Bash Is Magic # No It’s Not

As I am winding down the year and am about to remove this talk from the repository of talks I submit everywhere, I am becoming more grateful for the opportunity I have had to learn Bash as deeply as I have. Knowing that I can literally make anything happen on my computer with a little logic in a script makes me feel like I can take on the world sometimes, especially when I feel like so many other bits are out of control. Getting to share my love of this tooling has been the best experience I have had so far as a speaker and I am so glad to everyone that has come to see this talk.

Speed Networking: Meet Other WordCampers And Grow Your Network

Another amazing thing that happens at this camp is the formal ‘speed networking’ session where we break the room into circles of no more than 10 people, then each person gets 1 minute to explain the following points:

  1. Your Name.
  2. Business Name.
  3. Who You Serve.
  4. What You Do.
  5. What You Need.
    Want to get good at pitching your company? This is a great way to lean to do it quickly and succinctly. I highly recommend you try this at any event you throw in the future.

Getting Into Position Zero: How To Leverage Content To Rise Above The Competition
Lindsay Halsey

There are not enough lind words to say about Lindsay as a person. Also, I am having issue with compacting my praise of this talk into a few sentences. Hearing so much practical information delivered so quickly and with such conviction, earned from real world experience, is just delightful. It has made me reconsider how I deliver blogs and content overall moving ahead. I had not considered the approach of being the featured snippet as something I could even attempt, but the SEO implications are just one of the benefits to this methodology. I need to do some serious work but the road ahead is much clearer now. This talk alone was worth the trip to this camp.

Raw Notes:
She works in SEO
heping people rank high in google
but it is possible to get to position zero
above the first free listing
featured snippet
content google extracts from site to google.com
format of the list view
parapgraph format
table format
it takes up a lot of space
now marketers and business seeing value
angling ot get into it
0 is the new number 1
why? increased engagement
clickt hroug hrate is quite high
establish brand expertise
position zero results are often used in voice search
11% os search results have a nippet and it is the first thing a lot of people clieck
how do I acheive position zero results?
it deos not matter where you are now, foundational building blocks
follow the process
ID keyword opportunties
create in depth content
publish on site SEO
amplify the content and SEO
1 ID keyword opportunity
Keywords that have a featured snippet
keyword you already rank for
if already on page 1, already on googles radar
why, what, when, who, was, how can is should which where are vs without will
asks google the topic
answer the public
qualitative keyword research
matrix of questions based on those starts
where to download WP themes for example
very specific peice of content to create
longform content
and art and a science in depth vs high level
2 In Depth Content for the win
that raises higher in the search if ou are not focused on a single content
share expertise
other people echo that the content is expert content – authority
business has trust, address on page
Sharing your expertise
longform cotent targets at least 2K words
unpack the topic
context is essential
outline, title
break the topic down into sections
what why where questions
if structure the framework, then google can extract value out about each component
context is king
put in 2 word phrase and image search
filters by other topic suggestions
words google already uses, take note for your writing
snippet bait
depends on your goal
1 Paragraph (81% of featured snippets): 40-60 word blok of content

  1. list 11% of featured snippets
  2. table is lowest
    3 Publish with good on-site SEO
    content right below the question
    making life super easy on the user
    don’t be a politician, yes or no in first sentence
    give the content right away
    elements on the web page helps search get content meaning
    titels tag anam meta
    who will win the click?
    ad tests
    sentence of content in link on search results
    that is meta
    Unique for all pages
    include a focus keyword
    title tags between 15 and 4o characters
    Meta descriptions in sentence formats
    think like a marketer, think about competition
    Structure via Headers
    H1 main title
    h2 what are wp themes
    snippet bait
    deep dive into answer with internal and external links
    snippet bait
    deep dive into answer with internal and external links
    recipe website
    alt text – more context about images for search results
    be descriptive
    avoid keyword stuffing
    explude ‘imageo of;
    buttons and icons use alt text
    Internal links
    spread ranking power throughout your site and show the search engine with pages are the most important
    Don’t forget Off-site SEO
    we used to be isolationist SEO folks
    expertiese authority and trust
    2 biggest area
    link building and social media
    rey on relationships
    build authority and trust bu getting your professional relationships to give you a high five online in the form of a social media share or even better a link
    deep link example
    tossing a link in the middle of content that links to articles
    collectively get all the network to rise
    How to I help my clients with Position 0?
    It starts with education
    Unpack an example within their industry
    work together on the first post
    get them excited about the results
    Can I really do this? YES!
    identify position 0 opps
    create in depth content
    link graph, internal links

Drip, Drip, Drip to Convert Website Leads to Sales
Amy Hall

I am not in a state where I want to leverage the drip campaign yet, but I fully plan to in a future endeavor soon. Seeing her clean layout of how a proper campaign should engage the prospect or customer was very helpful in visualizing the process. It also gave me some ideas on how to think about onboarding from the client perspective instead of things I as the vendor would want you to know or do. Providing value is challenging but is well rewarded when done correctly.

Raw Notes:
65% of business say generating traffic and leads is the biggest challenge
Drip campaign
series of emails automatically sent over time
every subscriber starts the campaign at email #1 and progresses though the campaign
object is to keep your name in front of your readers
one of the touches needed to get some one to buy
welcome campaigns
educate customer about your product
confirm appts or reservations
onboard new clients
she runs 4 to 10 email campaigns educate them
you have a captive audience in an onboarding process
96% of visitors who come to your website are not redy to buy yet
drip vs nurture campaign
sales campaign
a series of emails based on reads behaviour and automatically sent over time
each subscriber gers emails specifically created to walk them through the sales process
The object is to sell your products and services
answer their fears and apprehension
abandoned shopping carts
membership renewals
reminders to use a software or a service
re-engage with customers what arn’t opening or clicking on emails
Tha ability to segment emails lists and individualize email campaign messaging are the most effective personalization tactics – ascend2, 2016
Give people what they want when they want it
use segmentation to make it useful
personalize the emails with first names or Products preferences for better conversions
Transactional emails receive 8 times as many opens compared to regular marketing emails
plan your campaign
how any emails will you send?
what will you sell?
in what order?
whats the time frame?
what are your triggers?
what will success look like?
Easy drip campaign sequence example
groups and tags
group external organizationf ro your groups
pepole can pick waht groups to be in
only place subscriber can see what groups are is on subscription form
internal organizational method
you select these, subscribers never see these
activecampaign is #1 in deliverability
mailerlight is next
number 3 is constant contact
mailchimp is next in line
very small difference in deliverability
automated email messages average 70.5% higher open rates and 152% higher…

Checking Under The Hood: Auditing Your Website For A Smooth Ride
AmyJune Hineline
Sean Dietrich

This was a methodical talk that walked people through a thorough approach to understanding the issues of a website, from a code and a content perspective. I think a lot of folks in the room were excepting a little more ‘use this plugin’ and less ‘look at the code’ but this is how the pros do it and I am glad this talk had a mostly full room. Also, there is no magic plugin for Accessibility, which was another focus of the session. Making sure that everyone can use your site is the goal and it is a good reminder it is a moving target that we all must do our best to hit.

Raw Notes:
39% of people disengage if not attractive layout
39% will stop engaging if images missing or take too long to load
When they get a new site, they audit it
preliminary checks
versions of things, top logged wrrors
healthcheck page
review modified files using WP-CLI
check for patch documentation
Examine the theme
file structure, organized
functionality tied to theme
a page builder in use?
flatt CSS, SASS, etc?
JS best practices?
Check SEO
Using stiemap?
Search Console
what is Pagespeed rank
Assess code quality
run custom plugins though PHP codesniffer
check for code comments
Review code for possible improvements
Read the docs
is there any documentation?
How does it get set up locally
what tools/dependencies are needed
Test your eccessibility
Ensure all users, regardless of abilities, can interacti in a meanigful way
Push the performance
review hosting and are they are on the right plan?
why design for A11y?
26% of people in the US live with a disability
KEyboard only nav
spik features in app?
Does keyboard focus work
images contain alt-text
are tables used for more than tabular data?
does the screen reader read all the content as presented on screen?
Can test be resized without obscuring any content
Landmark regions properly defined between Aria and HTML5
FIrst rule of Aria is avoid using Aria and do it natively in semantic HTML
Visual Needs
Motor needs
Auditory Needs
Cognative needs
Content is an important as code
Global stage
English is a privledge
Aim for 9th grade reading level
20 words per sentence and 5 sentences per paragraph
break up content bullet points and lists
captions, subtitles and alt-text
H1-H6 in order
Audits are important
audit consists
understand why users are using the site

The Power Of Recurring Income
Nathan Ingram

Nathan used to be a preacher and it shows up when he is fired up about a particular subject. He has this desire, really a passion, that everyone should be tapping into recurring revenue vs going after new business as the only way to feed yourself. It is downright inspiring. The analogy of Blockbuster vs Netflix model of repeat sale vs subscription really drove the whole point home to me. He even provides a free worksheet to figure out how to get on the recurring revenue train sooner than later. A lot of value in this talk.

Raw Notes:
— in the room about 5 minutes late —
“Recurring revenue is the foundation of a successful freelance business”
Is every dollar worth the same?
The more predictable the money is the more valuable it becomes
recurring is value
blockbuster vs Netflix
repeat sales vs recurring revenue
Car dealerships. How do they survive?
service department
GM autocredit is most profitable
carwashes even moved to this model
ore consistent revenue stabilize your finances
more profitable relationships positions you into a valued partner
How to create service for recurring revenue
Starting place is WP care plans
no reason not do do this
Hosting Services, why you should!
You control the environment
more productive and there are no surprises
You are leaving money on the table
every site needs it and you built the client relationships
it is better for your client
one contact, no blame game (they are going to call you anyway)
Not seting up the server rack yourself in the basement
Partner with a trusted web host that provides phenominal support
VPS/Dedicated or Managed WP
Offering WP Update Services
THis is a valuable service
Regular proactive updates
Compatibility issues
Use a centralized management dashbaord to update multiple sites simultaniously
automatically on a schedule
full site and easy restore
backups should be stored offiste in cloud storage
Offer security services
secure server
lets encrypt
WP Security plugins
creating other services
3 basic questions
what do my customers need?
What services cn I create to meet those needs
what resources do I need to perform those services
packet of worksheets
6 page booklet

Death Star Security: A Live Look At How Sites Are Hacked
Chris Teitzel

If there is a person with more experience or authority on certain aspects of security, I would love to meet them. Chris brings a lightheartedness to a very grave subject and makes it fun to learn terrifying truths. I will admit my notes are a little sparse on this one as I was busy trying out a few of the things he suggested we try out. This is one every singe person designing any kind of system should be made to watch a few times. There is no such thing as too much security know how.

Raw Notes:
How the rebels blow up your deathstar
3 things he built there
Storm Trooper
Customer Targeting
taking email and injecting in without sanitization
inherent trust in user input is DANGEROUS!
update uption email commander
you many forget where input comes from
using terms like blog_name and Remember Alderan
user add with admin priveldge
if you are not watching and these options get set
never assume users are limited to your inputs
DDOS DIstributed Denial of Service Attack
time intensive operations
Can exfitrate data on the screen or sessio cookies
trick user into action on a target site they are logged nto
CORS, don’t allow origins to come in unless I set them
nonces CSRF blockers
wp_nonce_url (acionurl, action, name)
easy to check them back
sanitize inputs
handle options with care
use PHP codesniffer to find errors
Highlights syntax errors and helps you writte better code
Viusalize insecure code

What Trying To Farm Taught Me About Open Source
Vasken Hauri

I wanted to go to this talk mostly because I was curious how he could tie mushroom farming into open source. What I left with was pure inspiration to go and tinker more and make software do what I want it do for my own needs. I also wasn’t aware of the new breed of smaller family farms that ae emerging to provide open source food for us. Seriously. The Monsanto corporation has copyright and patent on much of our food to the point it is an act of punk rebellion to feed ourself without their approvals. I have neve been more inspired to support local farmers more in my life as an expression of my love of Open Source tech. Plus Vasken gives a great history of how software went from open to closed to open again.

Raw Notes:
Things he cant farm
tomatoes, eggplants, peppers, squash, fruit trees, kale
things he can farm: Mushrooms!
2 restaurants as customers + farmers market
tech early days apple
Farming is doing something and not knowing if it worked or you messed up for months
Tech moves at a ridiculous speed
a lot of the same lessons
older industries like agriculture can tach us a lot about how things change
old school farming
plant seds
fence the plants, weed the weeds, chase off rabbits
save some of the seeds
graze the land
plant something new
repeat, over and over
lot of work
repetitive work, manual
no way to automate the whole process
we must innovate
scaling mechanically
tractor combine
more mecahnization
reduced labor
increased amount of land that can be farmed be one person
encouraged monocropping
chemical farming
reduced labor
enabled monocropping
replaced soil health with chemical inputs
old vs new way
larger farms
expensive inputs
perfect veggies with no gross bugs
kale 40 day growing cycle
20 types of pestiside on average kale
still a lot of work
smaller margins due to higher inpot costs
chemical pst and weed resistancce
infertile soild require more inputs
higher costs mean loans, debts, foreclosure
A killing season Monsanto be herbicide
resistant weeds
dicambra resistant soybeans
a lot of farms lost crops
escalated a fight to murder
but I’m at a WordCamp
back to history of computers
earliest computers
large mechanical problems
altair 8800 a few K of RAM to program
a few grand up front and royalty model
without basic you had no OS
copyright law was very vague in early days
“you are all theives’ Bill Gates to computer users
Apple vs Franklin Computer
binary code is not copywritable until this case in 1983
franklin orignally won
appeals court overturned and now software was copywrightable
7-8 years of locense gold rush
a lot of people got shut out
took a lot of people
they can’t just take your code and hide it
this made Linux possible
because people could build on and contribute to code
without people yanking it away with license
since 2005, 15,600 devs have contributed to Linux
As of February 2015
80% of Linux kernal devs are paid
Microsoft 144K employees
45% are engineers
a lot fo them now do work on OSS
closed source software
built for mass market bu a company looking to invest and targeting the largest possible market
by contrast
additive contrib is guaranteed not to be exploited
enables the hobbyist to become professional again
hog farmers run it through anaerobic digester to compress methane,run trucks and tractor
post modern farming
emphasis on high quality
smaller farms with less investments
more reliant on labor and expertiese
direct connection with consumer
more specialization
WP if free like the original seeds
OSS jobs exist becuase eople need specialized
Jobs building core
just like farming, OSS puts the calue back in you, the creative engineer, designer, strategist, and not n the software
starting in farming or OSS
try somethings and maybe fail
succeed at something
focus on that
optionally add more things

Wrapping Up

As I prepare to leave California for the next set of adventures elsewhere in the US, I find it fitting that WordCamp Sacramento is one of the last events I am going to do for the year. It is the closest camp I have to my own home city of SF, but it is far enough away that it feels alien every time I visit. I have no idea what the future holds exactly but I am grateful to each and every person I got to hang out with and who has supported me emotionally along this trek. I know I am far from perfect and I do try to improve everyday. No idea if I will ever again make that drive from SF to the central valley, but if I do I will be looking forward to another WordCamp Sacramento at the end of that drive.

WordCamp Boston 2019: A new venture in an old town and seeing the Green Monster from the inside of Fenway

The Summer heat beat down as I landed one again at Logan International Airport. I had spent the previous few days in The Big Apple walking around and thinking about my life. To cut to it, I had parted company with my previous company very recently and had gone to the city that never sleeps to see some old friends and get my thoughts together. Very happy to say I did and I arrived in old Beantown with a fresh perspective, some new ideas and a new banner to march under, my own. So as the founder and CEO of Process Digital Consulting, I arrived to participate in the 10th anniversary celebration that was WordCamp Boston 2019

Food and Fun


Unlike most events there is not a speaker/sponsor dinner, there is a brunch, which I will get to later. Instead I enjoyed a very pleasant meal at the recently opened new location of Whole Heart Provisions. This place is everything I like about Chipotle burrito bowls but all plant based. Then a small gathering of us hug out at the exquisite Le Meridian hotel bar where a few of us where staying making for a relaxing and light evening of mellow comradery.


Boston always has a delightful breakfast spread of bagels, pastries and fruit to go with coffee. The coffee is consistently mild flavored and gets the job done. Lunchtime was bagged sandwiches and wraps. This year was pretty consistent with previous years experiences of veggie wraps, chips and an apple. The real food treat of the whole day was the afternoon snack with cupcakes, including a fee vegan ones, they brought in to celebrate 10 years of this event.

Trolley tour

This year we were in for a very special treat as those of us who registered early enough got to go on an open air tour of Boston on the Old Town Trolley Tour. It was hot out but we still had a great time seeing the sights and experiencing Beacon Hill and Boston Commons together.

After Party

The trolley tour dropped us off right in front of the after parry venue, once again this year as in the past at White Horse Tavern. We had a nice selection of pub food offerings and refreshments to beat the heat. I can’t find a single tweet with a pic from this year, which I think had something to do with the fact we all looked like we had melted a bit throughout the day, so here is a picture from a previous camp.


What camp experience would be complete without singing together. A group of us headed back to what has become my go-to spot in the area, Courtside, up in Cambridge. The tables are sticky and the staff a bit surly, but this place is dripping with authenticity and charm. At least I hope that is what was dripping from the walls, it was pretty hot. All joking aside, there are few things I enjoy more as a camper than singing with my fellow FOSS enthusiasts.


Speaker Brunch

WordCamp Boston’s second day starts at 11:30 and the speakers and organizers get us all together for a brunch meal. We returned to the newly renovated Tavern Allston this time around and I feasted on the potatoes and fruit like they were going to go extinct. A full gullet later we ventured over to make a second day of camp happen.

A light lunch

I want to give a very, very special shout out to one of the nicest and genuinely good hearted people in the world. Mr. John Eckman took time from his organizing duties to make sure us that only eat plant based foods had a good opportunity to get more in our stomachs than just carbs. He did a lunchtime run to grab us some Blaze Pizza featuring a spicy vegan chorizo. I hope to be nearly as kind and thoughtful to everyone I meet as he has been to me. The world could use a few more folks like that.


At the end of the event, I got an invitation from a true football (soccer to us Americans) fan, and another all around great guy, Rich Hill to go see his favorite team, Liverpool, play a ‘friendly’ match at Fenway Park. Seeing a football pitch, as they are called, bult up in one of the oldest baseball stadiums was a real treat! Could not be more grateful to have the experience and what a heck of a way to end my Boston adventure.


Opening Remarks

How does the web work?
Frank Corso

Do I know how the internet works? I would of course say yes, but after seeing this delightful and well researched talk by Frank, I can say without a doubt I can better tell you how it is put together! Demystifying technology is a super important step in the process of building tools and coming up with new ays to solve problems. This is a must see type of presentation for anyone who is new to working on the web and just needs a clearer high lever overview of what the internet really is.

Raw Notes:
Goal is to understand the Browser, DNS, Server, Back end process
page load process
1960 ARPA
Packet Switching
research into ARPANET
connecting different computers
IBM created the Generalized Markup Language
looks a lot like what we have today actually ith HTML
people realize all working on same kinda thing
need standard protocols
still in use today
Mailbox protocol preceded the SMPT protocol
then ARPANET grows
then other networks forming
TCP = transmission control protocol
IP – Internet Protocol
easier way to look up IP addresses
based on yellowpages
early browsers emerge
log into another computer and see data, not HTTP yet
SGML – standard generalized Markup Language
then Tim Berners-Lee
WWW Consortium
Browser Wars
WorldWideWeb first browser
Mosiac, Opera, IE
CSS in 1994 proposed as a way to stylize websites
Microsoft was on the side of CSS
one of the only times IE was ahead of the game
JS origins
originally called Mocha, created by Netscape
shipped in 1995
AMCA Script technically still, but we all just call it JavaScript
Most popular browsers image – see slides – from wikipedia
forked and called Safari
OK, enough history
What happens when a page loads?
Parts of a URL
HTTPS:// – Protocol
Staging. – Subdomain
example – domain
.com – Top Level Domain (TLD)
/about-us – path, route
?ID=32 – parameters
HTTP Requests
Looks up IP address via DNS
server gets request and sends back data
Get, Put, Post, Delete
Status Codes
1xx, 2xx, 3xx, 4xx, 5xx
200 – worked as expected, never notice these cause the thing just works
400 numbers, something you are sending is bad
500 numbers something wrong on the serve end
Domain Name System (DNS)
Browser, get the IP address, looks in cache first
if not cached, goes to Root Server
TLP Name Server
Domain Name Server
that gives the IP address to the browser and then connection continues
A record points to IP address
can do CNAME as well, send to this other address that also gets looked up
MX record setup
AAAA records – IPv6
Servers, gets the requests
Shared – shared resources on same computer, many sits
VPS – isolated processes on same server
Dedicated hosting – all yours, expensive but all the processing power you need
cloud hosting – network or cluster of servers managing things
Creating HTML –
Apache/nginx – see if any software is looking for such requests
PHP – the files to look at for the server to run
need a DB
MySQL/MariaDB most common
this could take a while to build a request
caching plugins kick in here
Displaying a webpage
Parse HTML
Building the page in HTML
Painting to the screen
Onload – tech term – this process says it is done loading, so other software can run their processes
Fully Loaded
Difference between TTFB and TTFP
most speed test stop at onload

Introduction to the WordPress Transients API
Topher DeRosia

Believe it or not, I have never sat through a talk about this critical part of WordPress before. Searching my own notes comes up with the term appearing a few times but mostly in relation to debugging and a couple high level overviews of WP mentions. Topher did an outstanding job of detailing what they were, how to use them and, most importantly, how to use them correctly! He also overviewed some of the tooling he uses like Query Monitor. Truly a fantastic talk for any developer trying to get better performance from the software.

Raw Notes:
Transients = caching
a very specific kind
Transient = lasting only a short time
you don’t get to decide how long it actually does last
caching data in transients caching 3rd party calls
how it work?
each transient has a name
when you need the data, check to see if it exists
if it does, use it
If not, generate the data and use it next time
Where are transients stored?
I don’t care, WP takes care of it
No really…
First WorPress looks for real, system level caching module like memcched, Redis, etc. hese are very very fast and much preferred
Failing that, transients are stored in the WP options table, yes a DB call, but a speedy one
You don’t have to do anything to set it up, it just does it
Meta queries are slow
code example
$ave_query = set_transient( $transient_name, $coaches_query, Hours_in_Seconds * 12 );
but what about changes?
how to invalidate?
set time to expire is one way
‘Delete Expired Transients’
‘Query Monitor’

The World-Wide Work
Ethan Marcotte

When I first saw Ethan on the schedule I honestly thought it was a misprint. I mean, after all this is one of the foremost thought leaders I quote the most often. He was not giving a keynote and had a talk at the end of day one. If you have never seen him present, it is a delight, as his design aesthetics are second to none and the way he ties up his conclusions with a nice bow is downright inspiring to me as a speaker. Unfortunately there was a bit o a technical issue here on a couple fronts. First, my laptop battery decided to completely die on me and second, he went over time to the point they pulled the plug on him and we missed his final point slide. A tragedy on both counts. There are a lot of recordings of him giving talks already online. I highly recommend taking the time to watch a few. It might just change your life

Raw Notes:
name comes from the sound of the flock moving
like a whisper over the air
Delighting in the small
dropcaps for instance
Firefox, chrome, safari all interpret this differently
looking under the hood
anatomy of a letter
ascender and descender
don’t need these for Dropcaps
since introduces span into markup, we can use before and after psudoselectos and negative margins
m, atthew issue
treat dropcap as a purely visual element
properly designed patterns does what we want
hard to think of ourselves as powerful
any sufficiently advanced neglect is indistinguishable from malice
Robert Moses
New York Parks Commission
Flushing Meadows Park, many other places, UN headquarters
Master BUilder of NY
also an avowed racist
contempt for people he thought were beneath him
many of his works were places out of reach from non-whites
he wanted to make sure buses could not pass under many bridges
Design can encode racist and classist biases
map of Cleveland
in pursuit of profits, makes under-served areas based on profits
this too is a kind of design
critical to us to
We have to look at design as an agent of power
amazon face recognition software
tested by ACLU which showed it was racists
Google and drone strikes
FB, UN Human Rights Watch
instrument of hate
Tim Berners-Lee was creating a tool for everyone
we can still celebrate that
Ursala franklin
The Real Word fo Technology – book
wish he read it sooner
1. Advocacy – excitement and promise
2. Adoption – Acceptance, growth and standardization
3. Institutionalization – economic consolidation and stagnation
The sewing machine introduction
this machine ends poverty
messaging soon became one of worker efficiency
classic division of labor
people always promised tech will free then in the end it always exploits them
same pattern happening now with Internet
the web foundation statement: empowered people by the web
Duplex framework for speaking humans and completing complex transactions
what happens to Jade’s job when we replace her with tech
Brenda Monyangi
produces training data, to train AI
labeling each element and tag manually
this is exploitation and by design
hiring low cost labor to do repetitive nature maximizes corporate profits
one example facebook
content moderation manual process
traumatic work by army of contractors
flagging content
automation created corners where exploited and replacing them
Netflix AVA best guess who wants to see what artwork
finding new ways to scale our resources
pattern library
personally he has dreamed of such a thing
now it is here and scary
batery dying 🙁

What does your brand look like in a voice first world?
Chip Edwards

I really had never considered the auditory world that is becoming the main way many people interact with devices as deeply as I now do after seeing this presentation. Chip layed out what I expected at first, how brands leverage sound bytes to brand and how common and brand critical that has become. But then he delved into the world of how the verbal world and the visual world contrast and many of his points were new ideas to me. So much so that I took poor notes as I researched things he was discussing. If you are trying to serve more people and in delightful ways. It is becoming standard and it is only evolving.

Raw Notes:
What is in a name?
Sight vs sound
domain names vs invocation names
whoever gets invocation name first will own it going forward
in visual world, page one is good enough
in verbal world you need to be THE answer
sonic brands
plays theme earcons from McDonalds, Samsung, Pepsi, and lastly Coca-cola
sonic branding is how you recognize them by ear
embedding in ads
been around a long time
now more popular then ever thanks to voice technology
auditory queues to let you know what is coming next
visuals very different from verbal world
Alt-Text is super vital
spelling is very important for screen readers!
example of all misspelled words you can still read but messes with screen reader
BRand should dictate your diction
consistent style that resonates with your audience
voice is a part of the recording process
a different voice per section
stml – tags for audio content

Nic Newman –
voice is the future
Number of Smart Speakers grew by 78% in last year
68% of SS users use it daily

My Session

Bash is magic # No it’s not

I delight each and every time I give this talk. I always run out of time and I always wish I could fit in one or two more points. Seeing the faces in the crowd go from slightly baffled by some of the points to understanding is the most pleasure a speaker can have doing this and I got to see that on a few faces this time around. Always grateful for the opportunity to share what I am learning. If you know anyone that needs help learning Bash, send them my way, I want to learn more and the way t learn the most the fastest is to teach it!

Wrapping Up

I do really like Boston, but the summer heat was a bit much. I had a lot on my mind and launching a new personal brand took a bit more mental effort than I had given it room for, hence this post arriving a day later than I normally push these out. I almost didn’t go this WordCamp and was not sure how I would be received as the guy who used to work for one of the sponsors. I am overjoyed to say that when I showed up, I was greeted with the same kindness and welcomeness that I now know would be there no matter what brand I showed up under. That really meant a lot and has put me on a positive path I am not sure I would be on otherwise. I do hope life moves in a way that I get to go back next year for the 11th anniversary edition of WordCamp Boston in 2020!

Design4Drupal 2019: The time I met Richard Stallman and he didn’t have change

I once again landed in The Athens of America and was met with much kinder weather than Europe had thrown at me. Boston, well particularly Cambridge, holds a lot of fond memories for me. being a mirrored reflection of my beloved San Francisco in many ways, it always sorts feels like home. Maybe that’s why it felt much less like a business trip and much more like a family reunion when I arrived at Design4Drupal 2019.

Food and Fun


I never fear being ‘stuck’ in my hotel when I to to events, and like normal, I immediately found my people. This time it was the whole development crew from Genuine who were just finishing up their get together. Some of us adjourned for further conversations and libations at The Automatic, which has the best selections of Mezcal I have seen East of the Mississippi.


Contributor sprint and trainings shared the same coffee, light pastries and lunch at the Stata Center. Lunch was pizza and salad with an OK vegan pizza pie for us lacto-intolerant folks. By the end of the day though, I was pretty hungry. Thankfully Kevin Thull had a heck of a plan ad we gorged ourselves on plant based diner food at Veggie Galaxy. We had a quick nightcap at The People’s Republik and got ready for the busy next day.


Coffee and pastries and tea awaited us Thursday and Friday morning. The tea was notable higher class and higher quality. Wish I had written down the name on the tin. Lunch was pre-boxed sandwiches and wraps. Whoever made my hummus wrap must have thought the goal was the spread it as thin as possible, as to be almost undetectable on the tortilla. The potato chips were good though.

The after party at Mead Hall, a short block from the venue and my hotel, was hopping with all sorts of folks from the area in their after work revelry, whilst the D4D crew had full run of the private upstairs area. We had fries, sliders, pretzels and a few other buffet served items. Breaking from my normal vodka and soda I tried a couple local beers, but found none worth noting here.


I am always super happy when my buddy J.D. Flynn is at an event. I am also very glad that he has taken the mantle of organizing DrupalKaraoke! He lead us to one of my favorite spots in old Cambridge town, Courtside, The King of Karaoke. We had a good time of it.


A repeat of the coffee and such. The coffee was not too bad, pretty average. Lunch was pizza for people who eat cheese and a pretty awesome and hearty salad with a spicy chipotle dressing for those of us that did not. Normally I would protest a salad as the lunch option, but the beans and corn and awesome tortilla strips made this eat like a proper meal and I am thankful for the hearty portions for greens.

After the last sessions finished, some of us who had the time gathered for one last communal meal. We had fantastic Korean BBQ at Koreana.

DrupalKaraoke Again

We had such a good night of Karaoke, that some of us thought, “why not again?”. So we go the gang back together for one more night at Courtside. It is always bittersweet to have to say the last goodbyes before turning in for the night. Singing together takes some of the sting away.


Contribution/Training day

Wednesday saw some people learning things like Intermediate To Advanced CSS For Practical Peoples to Drupal 8 Crash Course (For Content-Editors, Marketers, And Project Managers). I did my best to contribute to the event but local development setup issues against the dev branch 8.8.0 caused havoc in some interesting ways for me and I spent the day debugging things. Once I got up and running I was able to make a screenshot for another contributor’s request but was too flustered by the ongoing little issues I was seeing I didn’t get much else accomplished. Sometimes you eat the bear and sometimes it eats you.

Opening Remarks

Great Drupal Websites Are Made Before The First Line of Code is Written
Chris O’Donnell
Mindy League

Organizing your own thoughts can be hard enough, so organizing the thoughts, wants, fears and concerns of an entire set of stakeholders and end users requires some serious effort. Fortunately there are some pretty well established patterns that we can leverage to make this easier on us all and with better results. I appreciated this session because it was based in real world practice and I got to see part of the reason why the Promet team is known for successful projects. Great info here for anyone trying to take on more enterprise deals.

Raw Notes:
Agile can’t save a bad idea
Developing strategies to make changes early
white boards are cheap ways to make changes
Why human centered design?
Greater client engagement
Early stakeholder alignment
deeper knowledge transfer
How they do it
Series of workshops
identify stakeholders
prioritize stakeholders
ID strengths, problems, opportunities in current system
Group or relate the above attributes
ID solutions to above challenges
Prioritize solutions
Set good ground rules get everyone on same page
Why it works?
Create empathy
validate assumptions
Create solutions for them
What it looks like
stakeholder meeting white board example
persona work
keeps us centered on who we are designing for
ask the clients to close the laptop and engage as people
put pencil to paper to express yourself
workshopping mode
Sticky notes
color coded
rose is a thorn bud
Backend, frontend, content grouping
good ideas from surprising sources
make sure all voices get heard
ideas can become equal and all carry same weight
we walked through live version of this using an online tool
lot of interesting ideas in short demo

How Drupal as a Service Can Save Our Livelihoods and our Lives
Benjamin Melançon

When I think ‘true spirit of Free/Libre Open Source Software’ Ben’s face jumps to mind every time. One of the friendliest folks I have met on my journey, I have always loved hearing him speak about his teams. His casual style of crediting everyone who contributed makes me want to aspire to do the same. Raising up everyone around you seems like the way we should be approaching working together. This talk gave me a lot to think about, as I am finding myself explaining what ‘Free’ in FLOSS means more and more. Knowing there are just a load of companies that are actually supporting ‘Free’ in the way the GPL suggests, gives a credibility many business folks certainly need to be able to wrap their minds around this rather modern idea.

Raw Notes:
understand how the future is services and what we can do about it
bombs in Yemen
people used to terrible consequences for war weapons
tech is not used to this defense style
furniture workers yesterday lead a walk out to stop homeland security from using their furniture
couchsurfing vs airbnb
pioneering from free and open source commercialized
faster and more trusted because of financial model
Harvard studying this how to benefit without contributing back
used to be frowned on to be paid to contribute
now obvious SaaS is going to need to be a thing that helps pay for this
Decline and fall of Drupal empire?
Weekly project usage over time is leveled off since 2015
not world on fire though
Example: xkcd.com/1732/
Concentrated vs distributed costs
concentrated care way more
The earth is not dying, it is being killed
Utah Phillips
US distribution of wealth
top 20% is 83% od all wealth
people at top agree they have too uch wealth for the most part
knowledge is not real power
organizations are power
Collective Courage book
Jessica gordon menehard?
business opp in
his proposed solution is LibreSaaS
many companies already are, new term though
back to meaning of Free software
people are not economically rational all the time
sometimes people do social good cause it needs done
not really a conscious movement
Discourse web forums
new hotness
ghost, sharetribe, wallbag, tendenci, cryptpad
commitchange, standardnotes, write.as (writely)
and then there is WordPress
Unlike Discourse with a strong moral statement
WP.com does not make any of these claims
Freedom to move to anywhere and hack as will, so not seemingly really open
it is an advantage but they don’t talk about the freedom from vendor lock in
Free to start, with 5 ways to grow
Whether you want to share your ideas, start a business, or run a store, you can do it all on WordPress.com
Salesforce is closed source, but they foster a community to configure
illusion of power and control
Drupal as a Service
cloud is just other people’s computers
collectively we can own those
power to collaborate and communicate the next level
history of failure attempting this
xxx (missed what he said), worked until updates killed it
Civispace, from Deanspace from Howard Dean campaign
tried to make a service, too high a price
technical prblems
Drupal Gardens for D7 was Acquia’s approach
became Acquia site factory
never thought as a small site builder never thought about D as a service was viable
successes are Sony and NBCUniversal
forms and multilingual because they needed to build them, contributed back
Drupal light and Drupal Enterprise distros and platform there
only open internal to the university
MIT runs one, but universally not liked, not really maintained and not functional
Drupal as LibraSaaS
Roundearth – mydropwizard – supporting old sites, this service is CRM + CMS nonprofit management solution in the cloud
Open Social – goalgorilla internal social networks for large non-profits
roomify – booking engines, probo.ci, lot of cose outside of Drupal so other projects can use it
easy to get stated and no worry of hitting wall of what you can’t do
no path off a cliff, rug being pulled out
proprietary tech only really becomes profitable once it hits monopoly
OSS not victim of this
App store model
Drupal.org and the like basically invented this model
Apple took idea and locked it down
and it is not Amazon Web Services.
that is un-free-software, selling anything they can as a locked down service
mongoDB example
Indie Web Camp
shared protocols
betterverse, mastadon

User Unfriendly: A practical guide to losing control
Miriam Suzanne

I was not sure what to expect out of this keynote. As someone without a design or front end background, I was not familiar with her work, just had heard the name a few times. I left the room a real fan of what Miriam is all about. The talk itself veered all over the place and I kept wondering where it was going to land. Thinking back on it, I like the approach and for sure walked away with some fresh ideas on how to think about design. It sort of reminds me of the talk from Kandace Brigleb back at WooConf 2017 with her line ‘It’s not “design a chair” its “create a way to suspend a person.”’

Raw Notes:
Started web Dev in 2006
Drupal 4.7
Oddbird with her brothers
from scratch
also susy (don’t use it now)
re imagined in Sass
nothing new, she is a core team member
2009 first commit, attributed to her brother
ensemble for theater
borrowing a lot foideas
can’t create results, create environments in which something might happen
letting go of the end result
our process Making things with people
conditions for Creation
making this for people
letting go of control
conditions for interactions
ideas => UX
performative turn(s)
re-framing makes it art
the lone genius myth
down with that sort of thing
riding sidesaddle
notes to box of note cards (performative turn)
her band uses text from novel in songs, same source material, different performative turn
then a play
source can become many things
We choose the medium
Theater = dance + words + architecture + lights +…
Web = Text + Media + interactions + Semantics
look at a website
templating, build step
browser picks it up
cool, but hard to read when turn text on the side
what is user friendly?
No one is an esdge case if everone is an edge case
a Queer theory
strange or peculiar
in 1800s a sexual insult
reclaimed in 1980’s and 90’s
a Big Tent movement
defined by their difference
different in ways that struggles and identities intersect
Normal is suspect too
who defined it and who benefits?
Normal embraces a power imbalance
skin toned bandage
names, that name never changes, this does not fit for many people
single real identity?
FB relies on this
no code switching ever
things that fit work ID vs personal ID
under and increasing pressure to monetize the data they store, FB looks for ways to limit difference across the site
used to have open text, now just pick pages you like, structured and trackable data
turns out algorithms are racist?
we don’t rally know our audience unless they are in the room
Empathy is not enough
listening > imagining
find people and ask them what users want
ask Different people
users are experts!
if I had asked people that they wanted, they would have said faster horses
Our job is to not just listen, but to ask why
UX 1 End Goals
2. existing Solutions
3 Points of failure
User blind spots
1. interface design
ask about problems, not solutions
works with art feedback as well
Always ask why
Look for root causes
Analyze patterns
common pain-points, related issues, etc
Recognize Personal Bias
when the problem is in act 5, the solution is often in act 1
sometimes you can solve a problem but focus on ohter part
Set meaningful Goals
click-though rates are not universal success
what goals are we setting and why are se setting them
Jon Tan, Durable Design
impact vs immersion
see once and POP vs something over the long term, spend time in
enacted vs emergent narrative
Mario vs Zelda
no one right way, just good to know they exist
Do I want to create work in which everyone feels the same, ir everyone feels differently
know your innovation budget
when can you turn things sideways
Test and Trust
the audience is smart enough too follow a non-linear knowledge
we invented the nav bar, cab ve replaced bow
Users spend most of their time on other sites. This means that users
All websites look the same, from no volume
It takes craft to set up circumstances that are simple and yet contain the ambiguities and the incongruity
What’s in a medium
Bed has a Mission
Web for all. Web in everything
braille reader and headphone screenreader
writing for different mediums at the smae time
different devices at same time
resilient by design
customizable by design
built into medium
by design user controlled
HtML and CSS are declarative, too many variables
That’s actually true, HTML developers work in a much harder problem space
design and ship content that infinite and undefined canvas
The fact we can control a paper page is really a limitation of that medium
John Allsopp 2000
broadly accessible
limited authorial control
awesome or frustrating
limited business control?
maybe I believe more in the open web than you controlling and tracking everyone
bootstrapping vs plug and play
Lori Emerson
the invention of user friend;y
open development
people are already pretty smart
Douglas Englebert
mother of all demos
how are we going to help experts for making bettert things
focuses on users as experts
Any barrier that exists between the use and some part of the system will eventually be a barrier to creative control
Susy came out of this idea
what if all the math tools n your hands
Susy was written in Sass, and used n Susy
same familiar language
Plug and PLay
it Just Works
more of a closed system of user friendly
what the Apple 2 is
identical, easy to use, low costs appliance, appliics=ion
instructions for invisible
Open vs Adaptable
it just depends
aesthetics didn’t make people wan to use a tool, but once tey found it usefull, then they wanted it prettier
humane by design
empowering, finite, inclusive
respectful, thoughtful, usable
Solve real problems, for real people. Using software using SW when it’s the best choice
Delegate and Present
balancing solo vs team Time – essential
2 modes of writing, word docs, vs Google docs
present context and trade offs
establish yourself as a teammate
she would get defensive from client feedback
always a tension
at beginning now explain context
Mind games always backfire
no tricking your client into right decision
Experimental is a process
research, gather, and create the materials
organize, outline the structure, ot impose one
then draft things
less theory, more practice
put options in front of users
the feedback loop
Ugly helps (isolate variables)
full mock ups are dangerous
Copy Transform Combine
Kirby Ferguson
encourage playfulness
‘spark and slip”
use all the tools
user friendly is meaningless because there is no opposite
unison, harmony, dissonance
look at different angles
elements of design
aspects of the web
open mode when pondering, closed mode then implementing it – John Cleese
iterate iterate iterate

Keynote day 2
Uncertainty Principles
Deborah Levinson

As Deborah started her talk, I thought for a moment that the whole talk would focus on structural misogyny. It is not that I am against such a talk, but I was wondering where she was going with all this in relation to the central ideas of Design which the event is named for. About the time I had that thought she dove into the MIT website history and started tying things together. I left the talk feeling this is one of the more useful keynote talks I have attended, since now I have a quick set of guidelines to ask as I am proposing new ideas and trying to elevate the community.

Raw Notes:
Impostor syndrome
harder for women, women self select our, self disqualify
structural misogyny
Women only apply for a job at 100% qualification
men at 60%
what is uncertainty
she set up a survey
Uncertainty prevents u from acting
Ends up with giant unorganized messes we are terrified of tackling
MIT homepage Jan 1999
all looked like ASCII art
14 links on the page
no department was allowed to be more important in the page
2018 huge redesign
47 links on the new page
this is what happens when you are afraid to confront people about how the page should work
also apathy playing into this
“we need this on the homepage” and you get tired of fighting
Other side
Overconfidence makes us arrogant and complacent
makes us feel the rules don’t apply to us
in accessibility
Web needs to be available to all of us
if you are someone like Target, $6M to federation of the blind
over 50 colleges were sued in 2018
2258 lawsuits in 2018
177% increase over 2017
‘too hard’ ‘don’t care’ are not good or acceptable reasons
what is worse, we prioritize profits over people and ethics
Youtube is an example of this
algorithm over everything else
internal the employees were flagging issues
far right videos and alt-right, created an internal vertical that showed how popular they were
each time they were told not to rock the boat
what if uncertainty is a good thing?
MIT building 10
everyone there general educational requirements
chem, maths, labs
they teach you certainty. The underpinnings of the system
what you have to know to study these things
Heisenberg uncertainty principal
if you are looking at a particle, you can know where it is, or how fast it is traveling, but not both at once
what if uncertainty is something to be hopeful about?
Steam example
in April after the Notre Dame fire, free giveaway of assassin’s creed Unity which featured rendered cathedral
uptick in sales
review mobs
trolls who hate a game
Stream reviewed off topic and review mobs
realized they had a question they did not answer
do positive review bombs exist?
are they off topic?
they analyzed the reviews
negative review bombs typically have low numbers of players to reviews
uptick in AC:U review stats matched patters of game that had gone on sale and received update
Look at review content
some referenced typical things
are they off topic
Step 3 , review off topic
had had not changed but context did
question are game better or worse after context changes
are the things positive but are they related?
Final verdict, who knows? And that’s OK
Lesson 1: UNcertainty can provide value, learned their definitions had limitations, and they had questions for explore
Lesson 2: research and analysis is iterative
lesson 3: transparency is awesome, share so we all learn
Uncertainty principles
1) ask questions
don’t be afraid to ask questions
Google, stack overflow, discussions with peers, spread the burden
review and summarize what you do know, when evaluate what questions need better answers
Schedules and budgets that leave time for research don’t make people lazy
they result in better products
2) hope for the best, plan for the worst.
risk matrix
legit fears of what could go wrong
identify what people are afraid of and find mitigation ahead of time
alleviates peers
plan for negative persona,
how to plan, ask yourself, who is this for
who does this help?
who does this harm?
who will use it for harm?
anotherlense from the airbnb design team
online flash cards for designers
balancing your bias – what are my lenses?
consider the opposite – who might disagree?
embrace a growth mindset – how can I learn for the future?
plan for iteration
3) sometimes you have to take a leap of faith
learning fills in gaps of uncertainty
Start small if you need to, clean up your invisible corner
if a leap of faith means you might have to rip out work later, that’s ok
lather, rinse, repeat
listen to your gut, gut instinct is powerful and often right
All we have are assumptions, but that’ all we ever have
4) build community, give back to it
get involved in a way people can see your work
speak at conferences
write a book
what a coffee and a chat with someone seeking mentorship
5) uncertainty is normal, don’t fear it; embrace it
Panic is an essential part of my process

So another client ruined their website. Here’s why it’s your fault.
Jessica Ito

I love any talk title that starts with the word “So.” I think this is because that is how people talk and how I have titled several things. While I don’t professionally design websites, I do sometimes actually build things and I know design is the one area I need the most help with. The simple, straightforward strategies that Jessica laid out, like not using images all the time if they don’t add value to the page, or simple sketching first can save many hours later, will stick with me for all my future work. Again, this talk was grounded in real world lessons learned and that makes it oh so much more valuable to me.

Raw Notes:
Easy to pout when the client messes up the site
and blame them
why are they messing it up?
Nobody wants a hot mess
1) the client does not know their site as well as you do?
2) your client isn’t thinking about content in terms of design?
3) Maybe they have an intern doing content entry?
but really the client did not have all know knoweldge and tools they needed for success
processes can seem like a lot of work but it works
conducting a content audit and invite your client to participate
noted if content was timely and actionable
manual audit, page by page
documents gave client insight into the ET way before even really got going
use Wireframes to check strategy
gives clients a frame of reference
example conversation
talked about news type, wireframe vs old design and why each part
showing taxonomy as menu shows value
Also use wires to explain
current vs wireframe side by side is important
page on the left
longform mapping to component page is hard
atomic is hard but right path
if creating a lot of content references ona site, break them down ‘Barney’ style
pulling in screenshots for visible reference
go slow
Benchmarks are great to get an understanding
The client (example)
a leading HR company that provided valuable resources to very busy HS pros
they sent over some goals
sent some
2 minutes on a site was all anyone would give them
you can take a lot of time to get right images
stock photos
get an understanting of clients imaging capabilities
how do you plan on sourcing your images
subscriptions to stock images?
Any guidelines?
anyone can produce on their end?
room for budget for pro images?
lesson learned
images didn’t add value to the components,
don’t always have to use an image
Run content entry in a way that is meaningful to your clients
Training is always neglected, smallest part of a budget
mismatching content on the wrong type of page means pain all around
manual recreation of the content
Walk them through in a visual way
explain why the site works the way it does
much happier customer
make a quick sketch to show the idea of the page
boxes and some labels is pretty much enough
don’t ask ‘is that OK’ because it is too easy to say yes and ignore learning
most people solidify learning by doing, invite clients to run the training
never one and done
never stop learning

Preventing Burnout
Michael Miles

I have been a fan of Mike Miles for a long while. Every time I get to sit through his sessions or just get to hang out with him for any small bit of time, I feel like it is always time well spent. This talk, appropriately at the last session of the last day, had me recognizing how exhausted I really do feel. But instead of just a pep talk, Mike laid out some real strategies on what the heck to do about it. I know I will be thinking on this pretty deeply as I plan ahead.

Raw Notes:
Last session of day 2
100% of room heard the term burnout
3 main types he will be talking about today
to understand why bad,
Dred – don’t want to get out of bed, just don’t wanna do it
Exhausted – you have many more things in your life than work, this affects that
Annoyed –
DEAD developers
Burnout has a domino effect
3 types of burnout
Worn-out – too much to do with too little time to get it done
Cause – root comes from a sense of disrespect
Working hard and not getting any recognition and just move on, never taking time to revel in your accomplishments
Treatment – Encouragement. Does not solve issue, but soothes issue
Prevention – Teamwork!
Retrospectives are important
annual as well as per project
2 – Frenetic – more and more and more and more….
Cause – mistrust – yourself or others, yourself is imposter syndrome
more you do the more I prove myself, but overladed is not good
‘I’ll just do it myself’ – robs the team
treatment – build a plan
prioritize. get rid of low priorities
figure out a plan for a later date or delegate
Prevention – Say no!
easy for a junior dev to say yes to anything that comes through desk
hard lesson to learn
3 – Underchallenged burnout
soooo boooooored
Cause – Emptiness, maybe 50th time doing it, not personally motivated
external sources, seasonal dips
Treatment – Take control
can you try something new?
ask for different type of work
Prevention – Set Goals
retrospectives – see how you are doing vs the goals
n) Burnout in general
Cause – Stress
Treatment – reboot
could be as simple as walking around the block
Prevent – learn how to ask for help
this is hard to do
we fear the impostor syndrome and being seen as weak
Recap: Burnout is bad
prevents you from being your best
has many forms and causes
burnout as soon as you recognize it
work towards preventing burnout from happening

My Talk

Making A Tour: Leveraging The Tour Module For A Better User Experience

Sometimes when I ma giving a talk I look out in the audience and see a number of people engaged with their computers and think to myself ‘I might have lost them.’ That for sure happened this time, but I had instructed folks that they could get the most from the presentation by playing along from their seats. When Q&A rolled around I was pleasantly surprised that the very people I had seen focusing the most on their machines were the people asking the deepest questions. I was delighted to be asked a few questions I didn’t know the answers to, so I got to learn with everyone else by experimenting with it live. There is so much to learn together, I am truly grateful for every opportunity I get to share what I know and find out what I do not yet know. That is the best way I have found to grow.

No pics exists of this session, so here is a Tour related tweet from the past.

Wrapping up

As I alluded to in the title of this post, I got to meet the one and only Richard Stallman. He likes us Drupal folks and wandered around the event a few times with a paper sign hung around his neck that read “Its not Free, It’s Open/Libre”. He was also selling his collection of essays and little stuffed gnu/wildebeest plush toys. I got one of each, which ran $50 total, of which all profits go to the Free Software Foundation. I had three $20 bills and looked at me and said, “Sorry, I don’t have change.” And in that moment, I realized that the man who is more responsible for be being on this career path in open source than almost any other individual I can name, and who is responsible for the licensing model of literally the internet at this point, is just this hippie looking guy who is still selling his books one at a time for cash. And that might be the greatest moment at any event I have ever participated in.

It will not be long before I am back in Boston. Just a few weeks this time around, as I return for WordCamp Boston. I do love the City of Notions and especially the deep feeling of connectedness to the birth of Free/Libre Open Source Software. I hope to make it back next year for the 12th annual installment of Design4Drupal!

WordCamp Europe 2019: Spending the longest day of the year during the briefest week I can recall

For all the times I have been to Europe, I have never actually been to the Federal Republic of Germany before. I have bounced through their airports but I have never before left those transfer points. This time though, I finally got my passport stamped as I arrived on one of the hottest days of the end of Spring in Berlin. While I was a bit of a melty mess and was hammered with a jet lag fueled exhaustion, I was overcome with a simple joy of experiencing a new city and the excitement of getting to see my international WordPress community I so rarely see in person at WordCamp Europe 2019!

Food and Fun


Monday evening after I arrived I took a nap, then went exploring around Berlin a bit to try to sync my system to the UTC+2 timezone. I was staying very near Checkpoint Charlie. After soaking up a little Berliner history I met up with some chums from the WP world to have a brief walking tour of the area where we listened to live music and had refreshments at Cafe Cinema. It felt like a very authentic way to begin my week of German adventures.


When you are in a new place, I firmly believe the best way to experience the location is by foot. Having the morning to myself I had the chance to walk to the Brandenburg Gate, The Reichstag and a good number of other places that showed up as points of interest on Google maps. Unfortunately the Bauhaus museum was under construction but I did get to have lunch with the fantastic Carl Alexander, experiencing the best vegan doner kebab I think could be possible at Vegan Bio Snackbar 1 by Attila Hildmann.

After all that walking, I had to return to the hotel to restore myself. But I was not there for too long, since so many people started to arrive for the congress. I am pretty outspoken about my choice to only eat plant based meals, so when the offer came in from Rich Hill at momos – organic veggie dumplings, how could I say no? They were delicious, as was the company that evening.

With so many invitations coming in I felt an appearance at the unofficial pre-camp networking experience was mandated. It was a happy ending to a very hot summer day.


I want to give a huge thank you and praise to the one and only David Needham, just one of the best humans alive. He arranged a bicycle foodie tour of Berlin for a few of us via Fat Tire tours, which I am pretty sure is not related to the beer. We learned about the history of the city and saw some amazing architecture as we rode around the town, enjoying first a hipster new school food hall, then some excellent Turkish cuisine finishing with traditional German meal. That last stop had my favorite sauerkraut I have ever had in my whole life and I plan to attempt to replicate it.


In 2017 I organized a small get together in Paris where I invited all who I could communicate with that we would be singing some karaoke at a brand new establishment, and frankly the only one I could find that was big enough to host a larger than small party. A fair number showed up at
Monster Ronson’s Ichiban Karaoke
and I was super happy with how it turned out overall. In 2019 I was invited to large venue where many people gathered and I had absolutely nothing to do with the planning. I can not tell you how amazing the feeling felt to see so many people joyfully raising their voices, as well as a few glasses, in harmony along with me. My pride in being part of such a community overwhelms me as I write this.


Contrib Day!

Relocated at my new hotel, where the event was also being held, I had a breakfast of bread, jams, fruit and coffee, which I would repeat the remaining days I woke up in Germany. Nothing grand therein, so no more shall be said, except for the espresso was loads better than the conference coffee. The nicest thing I can say about the conference coffee, aside from not paying for it, was in the previous sentence, so I shall refrain from mentioning it again as well. There was however free sparkling water throughout the day. Lunch was, for me, bulgur salad, fruit and bread. In a modern, hip Berlin, with a soaring vegan culture, folks ho choose not to involve animals in our cuisine were to find the Estrel catering was not on the forefront of it’s surroundings. It was a sign of things to come.

Before we found our ways to various evening activities, several of us gathered for a much hyped Poke bowl at MALOA Poke Bowl
. It delivered on every facet and I give many thanks to Toby for encouraging me to visit.

Speaker/Sponsor Dinner

As I was not selected to speak, I attended this event as solely a sponsor, which is something I have not done in a while. The party venue itself, an event spaced called Stralauer Allee 2, was quite lovely but they lacked my favorite beverage, vodka mixed with soda water, so I indulged in a very fruity beer. So fruity in fact that the Russian bartender told me he admired how I could drink a ladies beer with such confidence as I ordered the second one. There technically was a vegan option but I was still full form our delightful dinner, so I can’t report further on the food. The view was astoundingly good, right by the Molecule Man statue, which I had learned about during the bike tour.


Lunch on the first day of the conference gave me a salad in a cup and a bit of bread. Later on I had to retreat to my room to fetch some mixed nuts for enough calories to power my time at the Pantheon booth. Never got ‘hangry’ this time around though, which I can only assume was because the jet lag short circuited that part of my synaptic response network.

Team dinner

One of my favorite people to take me to interesting finds is Mr. Chris Teitzel. He showed up and did not disappoint in Germany, by taking us to Fes Turkish BBQ. I was at first very worried that the vegan options were too limited, but by the end of the meal I was apologizing for having showed any doubt. The mezze platters of amazing house made fresh hummus, peppers, salad and other small dishes delighted my taste buds while some of our colleagues ate meat grilled in the center of the table. The host was super gracious and entertained us several times with his stories about his travels after he found out were we all from various places around the world. One note about German food which was fully illuminated by this meal is that, at least in Berlin, “spicy” is like a 4 out of 10 vs a US spice level, which is already mild vs Thai and Indian spice levels. The Raki was spot on though!


Things slightly improved for me at lunch on the final day of the conference and I had hummus finger sandwiches to supplement my salad, which came in a wrap this time around. As I have always said, I am not one to complain about hummus, so I will leave it at that.


Having worked up a heck of an appetite, I was super happy to find the best rated vegan burger in all of the city was just a short walk from the hotel. So I invited everyone I could. We had tofu and seitan prepared in wonderful arrangements influenced by various regions of the world. Though there were fabulous house made condiments and local craft beers, my favorite regional treats were a surprisingly sweet digestif KR23. The sweetest thing about the meal though was the company of my WordCamp companions.

After party

We gathered for one last part of the event, maybe the most anticipated part of whole camp the 1980’s themed after party! Everyone that got in during the first wave got 2 free drink tickets, then they ran out of wrist bands and tickets. Wave two got in but did not get drink tickets. Third wave drank in the Estrel beer garden while the rest of us danced and then danced some more.


The art of networking
Francesca Marano

Now, you might be wondering why on earth I went to a talk aimed at people new to WordCamps and networking in general. The actual reason is pretty simple, I wanted the chance to write about it, which might sound pretty convoluted upon the first read trough. You see, one of my greatest joys in being part of the community is helping new folks find their way and I want to help promote those ideals. Francesca did an amazing job and I can now write with confidence that this is a must see talk for people going to any kind of event.

Raw Notes:
Meeting each other is super important
meeting time
challenge to gather 3 business cards by tomorrow and find her at the booth the talk about the experience
Why WP ecosystem special
We are creatives
no mater what role
Informal space
We have the common language as English in WP
Professional event still, even with flip flops and tee shirts
We are multicultural
many races and sexes and political beliefs
the idea of talk came form colleague mentioning Francesca was a ‘natural’ at networking
it does not
it is not natural
it takes work and skill building
Even if you are introvert, you are here now!
make the most of it
very important to meet new people
Be concise and don’t mumble
that might not sound nice, but important
Preparation is very important
Learn how to best pitch your business
learn about the event itself
Learn about the ecosystem
no need to become an encyclopedia, but know the background
be able to talk about the space intelligently
informal so just here to learn it is fine
Business Cards – turn informal encounters into business opportunities
Approach people
by chance – very common and easy here
And you are???
Ask about them
help them introduce yourself
we don’t always speak same language
Hi (their name)
repeat the name of the person and remember it
it does not work for her
but if it works for you, go for it
but next time if you don’t remember it, it is fine to ask again
your face gives you away if you are faking it
‘sorry, I know we met, remind me of your name.’ – good way to start conversation
ice breaker
not interrogating them, it is you are interested in them
Where you from?
is this your first WordCamp?
How are you enjoying the conference?
What was your favorite talk?
then go in for the kill
So, what do you do for a living?
find business opportunities
Even if not of interest, be polite and kind
Don’t monopolize the conversation
The golden Ticket
their email/ contact info and a knowledge of how you can work together
Her story for her first WordCamp
asked to dinner
did her research and had a good chat
semi-planned interaction
“We heard about you”
she later was approached about working for SiteGround
she is here on behalf of them
so many possibilities present themselves
try it! It is all good!
Go get those business cards
let’s network!

Matt on WordPress
Matt Mullenweg

Matt did a great job of telling us the state of the project from his perspective, which is the point of the talk. I think his intended audience is folks not as plugged into the world of WordPress as I might be, since there were no major revelations in the talk itself. I don’t take notes of Q&A, but there were some great ones and one kinda insane one you can likely read about elsewhere.

Raw Notes:
Last year Gutes had not launched
the block editor
Widgets next, cause if you think about it just code blocks
Multilingual coming in stage 4
Released now, 20M sites
the block editor
kept the plugin going
default ships with quite a few blocks
bringing pre-existing widgets into blocks already
most recent post block
block grouping
nests of blocks
side by side, much easier
lot of work into nesting and columns
delicious little notices
snackbar popup
artefactgroup.com by humanmade
educationleadshome.org – ragtag
Grid Block
add on plugin makes easy blocks
typography connector/divisor blocks
Gutenberg for Drupal
150K posts in Gutes published per day
preview of what is coming soon
Installing a Gutenberg block
JS only blocks loading in background
no loading screen
auto uninstall if not used
ties into a block directory
bring us a place to breath and play
like Lego blocks
Navigation blocks, inline
Atomic unit of a block can be reused everywhere
in usability tests, was confusing since things move around so fast
old way
lucky, tag soup, unlucky, breaks everything
Footnotes block coming
his favorite blogs
would love to see John come to WordPress
WYSIWYG direct manipulation makes alignment hard
working on resize and snap to grid
resize automattically
want to make it beautiful
we are really writing these features 2 or 3 times
for mobile app
devs are working fast but slower to replicate the desktop tooling experience
quick talk, wrapping up for more Q & A

The power of free
Brian Teeman

Founders of any project bring an engaging perspective to any session. The co-founder of a whole other CMS brought a perspective that echoed out that our differences are really only important from an implementation detail, as our underlying freedoms are, and should be, in lock step. I am going to start using his 5th freedom whenever I explain the GPL moving ahead.

Raw Notes:
Issue with the English Language
Free Software is a poor name choice
from the US
Free software is not about the price
it is about who controls the software and what you are allowed to do with it
Do you control your computer or does your computer control you?
Tracking on FB ads
Eyeballs are the most expensive thing to acquire
Big brother is watching
if you land in Heathrow and spend a week, there is camera tracking every step you take
Germany is different
it is hidden cameras
VSCode pings back with your IP and MAC, but does not tell you
needs to give you a choice to accept it, that is a type of freedom
4 freedoms
Freedom 0, use the code, how you want to use it
Freedom 1, study the code
easily see what is sent where
Freedom 2, share the code
not restricting how you share it
Freedom 3, improve the code
this is where we get involved
need all 4 freedoms to have it truly be free
means people we don’t know can invent things that we can’t imagine ourselves
Stallman, founder of OSS is and was a hippy
he say FLOSS software as a battle with Steve Ballmer
Steve also saw it as a fight
saw linux as a cancer
lock everyone in and restrict their freedom
free software rallys and parades, those have faded
was david vs goliath
up until ~1998
The internet happened, specifically the WWW
most people’s software was Free software
this changed the way everything worked
WP, Drupal, Joomla, let people control publishing really for the first time
software gave the freedom
now, we went from hippie to hipster
even he himself is no linger a hippie
now it is hip
it is cool to use WP
we don’t think about freedom, we just use it cause it is good
Microsoft went from “OSS is cancer” to the biggest supporter of projects
1000 PRs to updates chrome engine in first month
Freedom -1 (above 0)
Freedom to have community
person chops down tree, gets resource
then mills it down to add value
build furniture, makes it useful for others
issue is the forest gets destroyed
lose the resource, gets smaller and smaller
we go back to ‘let’s plant some trees’
becomes a circle not a line
take, use, improve, repeat
if you don’t do that, it will die like the forest
we are back at the Hippie again
there are some dangers
his personal opinions
F -1 – Is it free if there is no community?
Cloud computing
is it really free? Can we prove it? Can we see it.
Software as a Service?
you are locked out. No idea what the software does
owner of company might be a good guy but that is their definition of good guy, you don’t know
Closed Development, like Android
completely free to use and modify yourself
no way to give back, no Git repo
Restricted use
that is not a freedom
Are their barriers? Did you have to sign a contract to use or contribute?
No one looking at it if not in with your core people? you are stuck, is that free?
without community there is no real freedom, not FLOSS
Einstein – The mind is like a parachute, it works only when it is open
This is true for Software as well

Find that bug you made months ago with Git Bisect
David Needham

David is not just a great speaker, he is also an amazing teammate at Pantheon. His gentle nature and frequent kind words have been an inspiration to me for the last several years. I realized watching this talk that I kind of take it for granted how technically savvy David actually is, but hearing the murmurs of “woah, git can do that?!” and “What an amazing use of scripts” (two things I actually heard) put that into focus. This is a talk to for sure see once it is on WordPress.tv

Raw Notes:
– Best intro ever! So proud of him and so is the whole dang community
Who here makes mistakes? All hands
His Normandy Project film project
he volunteered as webmaster
subscribe to newsletter section
he did not build the site
one day subscribe link vanished
he started to investigate
3 hours later figured it out
but with git bisect he could have saved some time
git bisect bad HEAD
git bisect good 01-HASH
roughly six steps/guesses to finish it says
git bisect good on first guess
git bisect good
git bisect bad with each commit
eventually get to one commit
either good or bad
if 74 is good, it was 75
if 74 bad, then that is where first bad commit
shows who make commit
he had removed ‘unused’ plugins
git bisect reset
then revert and move on
process he went through would have saved him 3 hours
git bisect start bad good
git bisect start — path/to/files
will reduce number of options
git bisect skip
helpful to know that you can run local for faster results
can write test.sh
git bisect run test.sh
script looking for error code, run the test every time
can bootstrap WP to run a pass/fail test
like BackstopJS as well
git bisect run behat
Other situations where Git Bisect may be helpful
Inheriting a site
large project

WordPress through the bad guys’ glasses
Vladimír Smitka

There is now one other speaker in WordPress, aside from Norcross who inspires fear in me. I mean that as the highest possible complement. Vladimir went through things pretty quickly as this was a lighting talk, but his depth of practical information felt to my brain like I had taken a 90 minute workshop. If nothing else, I am going to strongly consider sanitizing my image EXIF data for any personal posts from here on out.

Raw Notes:
Sample site
see headers, Server info
PHP 5.6
ftp username is easy to see
can guess passwords
extensive information by technical
without proper config, can see website traffic
output of php info
see server paths and versions
enough info on site
rest API for MD5 hash of email
phishing or stuffing
can be in real trouble
many other emails in the WP documents
more than 45K comments with emails
black market emails
with git
if you publish .git folder
easy to find .git/logs/
another config issue
directory listings
can make backups publicly available
unmaintained DB endpoints
personal blog about cat from social media
exif metadata
with geolocation
be careful! smitka.me for more info Q/A

Getting involved

Automating your QA with visual regression testing
Andrew Taylor

I got to be a Teacher’s Assistant for this session and do one of my all time favorite activities, helping people figure things out! We were fighting some flaky, at times non existent, WiFi which caused all sorts of fun issues. Aside from the connectivity issues, I gotta say Andrew’s code was so spot on and flawless that there was very little real technical issues to deal with. I learned a few things, which is the real reward for being a TA and am very glad I got to be a part of it.


Contributor Day

The day before sessions kicked off we got together to contribute to the project of WordPress. I have changed teams since last time I was at WCEU and this year I joined my team at the WordPress.TV team, also known as WPTV. Some of us used the time to simply review and edit videos for publishing. Our incredible team lead Mauricio Gelves helped new people get set up and guided the day. All in all around 400 people gave back to the project in some way that day.

I had an incredible experience of how the community can evolve in a very positive light in many ways but I want to highlight two parts. First, I want to give a lot of props to Mauricio for working with me to find an awesome solution for standardizing the video processing workflow template. I can’t tell you how good it felt to be heard and see the impact of our collective efforts! Also of serious need of props is the fantastic Hannah Smith who joined our table in order to improve the process around subtitling to make it much easier for more people to subtitle things much faster. I am oh so excited about the future if we can keep improving things with such passion.

Get Involved Table Volunteering

One of my favorite ways I like to get involved in a project is being a cheerleader for getting more people involved in the project! I think this comes from my religious proselytizing childhood. For almost two hours I got to sit at the “Get Involved” table and helped about a half dozen people learn how they could start contributing. I have not written this next bit down before I realize as I am writing it, but my favorite way to help people find what team might be right for them is a single question. That question is “If I gave you a fresh, blank install of your favorite operating system, what would be the first thing you would do, aside form downloading Chrome or Firefox?”

The best part is there is no right answer to this, but the mental process everyone goes through is pretty revealing of how they think about problems and how to interact with technology. For example, if your first next step is to make sure your IDE is right and you have Git configured, Core might be a good fit. On the other hand, if downloading and playing with something you have been meaning to try sounds good, maybe testing is for you, at least to start your exploration of what the teams are all about. I also explain that there is no lock in. If you try a team and don’t find joy, like I was with editing documentation, you can keep on exploring because you might find something you really like to do in your free time, like currently editing videos in my case.

Get involved. It is our project! Ours to Hack and to Own

Wrapping Up

I sort of fell in love with Berlin while I was there. The heat did put me off at first, but the more time I spent in this city and the more culture I got to take in, the more amazing the whole place became to me. The real magic though came for me though from seeing the fruits of so many labors as they mature and ripen over the years. Seeing good people pushing for good things makes me hope they reap every bit of what they have sewn, which will make us a stronger community. Next year we will be in a country what will once again be a first for me, Portugal, so I can’t say I will for sure ever be back to Germany, but I hope I get to see Berlin again one day. Who knows, maybe I will take a side trip next when I return to the EU for WordCamp Europe 2020 in Porto Portugal!