This is a demo of postitnow

Hi there

This is written in Markdown

Here is a bunch of Veggie Ipsum

Veggies es bonus vobis, proinde vos postulo essum magis kohlrabi welsh onion daikon amaranth tatsoi tomatillo melon azuki bean garlic.

Gumbo beet greens corn soko endive gumbo gourd. Parsley shallot courgette tatsoi pea sprouts fava bean collard greens dandelion okra wakame tomato. Dandelion cucumber earthnut pea peanut soko zucchini.

Turnip greens yarrow ricebean rutabaga endive cauliflower sea lettuce kohlrabi amaranth water spinach avocado daikon napa cabbage asparagus winter purslane kale. Celery potato scallion desert raisin horseradish spinach carrot soko. Lotus root water spinach fennel kombu maize bamboo shoot green.

And here are raw links to various media things

Design4Drupal 2018: Views from the top floor and walking further than we needed to while a good time was still had

I always consider The Olde Towne one of the iconic American cities. By this I mean that if I go to Serbia or Iceland and talk about cities in the US, people always know San Francisco, New York, LA and Boston. They have a picture in their heads, and with good reason, of some of the oldest buildings, some of the oldest bars and some of the more famous landmarks in this country. It was quite an honor to go be part of the magic of old bean town as I accepted the invitation to speak at Design4Drupal 2018.

Food and Fun

Wednesday

Coffee and snacks and tea were still being set up when I first arrived. But when I finally was able to get some coffee it was actually pretty good for college catering. I think that because there was an open Starbucks in the building they knew they should step up their game. Lunch time rolled around and us special meals folks were treated extremely well. I had a pretty amazing ‘Cobb’ salad with beets and avocado. Even the afternoon snacks had a vegan section what was more than just fruit.

There was no official party or goings on on the first night. This let me catch up with some of my favorite Drupal community members who also didn’t have official other plans. We found a BBQ joint with a reasonable set of veg options and a great mixologist on staff, The Smoke Shop.

Thursday

Very much a repeat of the previous day. Again huge props to the organizing team who really looked out for us with dietary restrictions. Very notable fact, the catering thought that small whole cakes would be a good decision for some reason as snack. I got a good chuckle out of that.

After Party

We gathered at Meadhall in Cambridge for a very fun evening of snacks and beverages and fellowship as a community. No tweets that actually showed the party and the venue in full swing can be found, so here is a sample tweet about the venue.

Yes, we also found some time to do DrupalKaraoke. THanks to the good people of Courtside for letting us celebrate area man’s birthday with y’all.

Friday

Friday was Sprints and Training Day. We had coffee and snacks abounding and lunch even offered up vegan pizza and a pretty healthy salad option.

Sessions

Opening Remarks

10 Vital Lessons For Running A Successful Digital Agency
MaryAnn Pfeiffer

MaryAnn is the kind of shop owner I hope other shop owners are paying attention and learning from. This talk is a no-nonsense look at very practical aspects of running a business. I really loved her approach of laying out the advice, then explaining how she came be believe this and the data behind it. I highly recommend this one if you are running a business of any kind.

Raw Notes:
Her 4th year here
goal is to help save you some time and effort and void mistakes she has learned the hard way
not a coder, pre-internet marketing
marketing communications
personal intro and polling audience
1. Begin with the end in mind
lawyers are better on the way in than on the way out
making sure you get paid for your work and work is not stolen
keep things professional
she learned from a client she had been working with for years
her work was stolen by an advisory board, went to court
2 years
another client who had signed a contract
only took 2 months to get paid
another client wanted to change the contract too much
had to say no
all had to say Attorney and they backed off
even her mom needs to sign a contract if she wanted work
2. Friends can be clients but they are customers first in that case
Specific lens of friendship is bad for business
Clients can make really good friends though
as long as professional lens is there
3. Think long term
don’t just take any project that comes along
you will regret taking bad fits into your portfolio
strapped for cash, will take about anything
Client relationship is a 2 way street
4. Brainpower should cost money
don’t give free consulting advice
your knowledge and time are real assets
been doing this 17 years
for first 10 years did a lot of unpaid consulting time
now has a ‘pick your brain’ paid consulting
written report or other deliverable around advice
5. Realize there is strength in numbers
invest in financial tools and advisors to grow your business
She hired a person to handle finances and accountant much smoother
6. Be a work in progress.
Sooner you start documenting and process management the better
project manager came in and had no idea how to start
all process was in people’s heads, not written down
took weeks to document
had to define the processes
7. business is business
No one is a one person shop
we all have to use outside vendors
choose those vendors wisely
seemed easy to just get friends and ‘down the street’ convenient
but not always a fit
now she has stable of vendors who are trusted and provide real value
referrals must be because of business fit
8. No I in Team
working with partners who can keep your relationship secure
had a server fail, hosting company
known them for year, bad luck run on his part
multi day outage
80% of her sites were down
headache and really should have been end of business event
she was prioritized as a client but still the end clients wanted to migrate hosts
but they all still trusted her
chose Pantheon cause we care
Fiery hoops and made sure the clients were satisfied
(Great job Roxanne!)
9. Transparency leads to trust
clients depend on you but you depend on them
must help each other get better
took her a while to be really transparent
tough position to be in if you agree to do work you don’t know how to do
instead figuring out if can do, otherwise refer them
want them to be a happy client so they trust long term for things they are competent
10. Every little thing, going to be alright
can’t force them to jump though
can be frustrating, you have to just let it go
business is not personal and you need to let go of ego

Wednesday Keynote

The Building Blocks Of The Indie Web
Jeremy Keith

I didn’t go into this talk expecting it to be as technical as it was, but wow I am very glad I went in with an open mind. I left with a much better understanding of what is even possible around owning your own content and how it all fits to make a better overall internet. It is not the responsibility of large corporations to protect your content and privacy, it is yours. Things like OAtuh and ‘rel me’ might seem like technical novelties, but what they represent, if embraced, mean a much freer internet where a content creator decides on when and how their content is used in a more meaningful way than using FB, Twitter, etc, could ever allow. This is also a very entertaining talk in my opinion with some of the better thought through slides I have seen in a while. They don’t work stand alone but amplify his talk when he is going through them.

Raw Notes:
indieweb.org
Owning your content going forward
Ideally Capitalism good
bell curve distribution
in theory it could be economically good
if a level playing field
Rich get richer and poor get poorer due to feedback loops
Internet explorer
wants to see many browsers competing on features
dodged a bullet
routed around it, like networks
hub and spoke
airports still use this, old telephone
single point of failure
ARPANET
well connected nodes distributed network
still possible for network to work even if one goes away
military background survive nuclear attack
but really people working on it thought
nuclear weapons with hub and spoke
reduced the possibility
shared with the Russians
no top down and nodes can add in as needed
no permissions on the WWW to create a new URL or link
no planned structure
wild crawling mess
walled gardens – Compuserve and AOL
the web Won!
wanted free open
but returned to walled gardens like Facebook, Twitter, etc
FB is media company in the world but we make all the content for them
the better the network
the first person who had a fax machine had a completely useless device
before FB it was a singular social
basically pushed us back to the hub and spoke model
hypothetical, an election
single point of failure
like WP and Drupal are popular and get attacked more
temping target, large attack vector
Why?
Convenience is driving it
trade control for this convenience
they now control your content
the movement tries to balance that
indieweb, you should have your own website
longevity
MySpace
link rot is a fact of life
comes back to the architecture of the web
proposal to hypertext conference in 1991
rejected
2 directional links
one directional links
but 2 direction isn’t that hard
link rel=
href
rel stands for relationship
works on a as well
a rel=
a rel=me
but that does not make 2 direction though right?
spec element on profile links
kind of 2 directional
relme auth
piggyback OAuth
can sign in to a service using your own website
why would you even do this?
authentication is the hardest point of an API
micropub – incoming post requests
you can use anyone else’s interface that conforms to this standard
quill
ownyourgram
ownyourswarm
PESOS
publishing elsewhere send to own site
but POSSE is better
Post own send somewhere else
using ITTT for ths
Webmention another W3C standard
brid.gy is a service on these things
monitoring responses and can ping you and push to you by authenticating
can do comment but also do interesting things with the data
facepile
plugins available
works for Drupal as well
but why? why this?
Dri.es/tag/open-web
should all be different whys
but it is about control of our media
but this is all about tech
but that is not what indieweb is about
it is about design principals
indieweb.org/principles
have to have fun!
emoji included
your site is your playground
the original motto of the World Wide Web was: “let’s share what we know.”

How Technical Should A Drupal PM Be?
Matthew O’Bryant

I do a fair amount of thinking about Project Management since I talk to so many people who work on projects. I also see that as an appealing career path to be honest, as it is something that gets things done and in an ideal world, unites folks for the better. Matthew does a pretty good job of reality checking anyone that might be approaching this field lightly. He systematically walked through terms and concepts that PMs of any skill level should be mastering and at least familiar with. The final answer of “how technical” is ultimately “it depends”, as with so many other things in life. However, knowing more and continually learning is certainly a good approach no matter what.

Raw Notes:
Long history of CS sales and technical background around sales and marketing
bought a home loan automation, learned coding and architecture
Dreamweaver, ASP
20 years of this stuff
Digital Project Manager
success
I think in 1’s and 0’s but I speak English
Does it even matter
Main role is
hit deadlines
manage a budget
resource coordination
quality control
client satisfaction
Answer is yes, it matters
carpenter using a hammer vs making a blueprint
actual answers, it depends, on quality of the project
small sites maybe less important
even some medium, depends on what you need to integrate, maybe great contrib modules
maybe less to explain
maybe more technical
support SLA
Endurance vs Stress test
eCommerce
more complex you need to have a better technical understanding and be able to translate it
knowing terminology
adding content
basic HTML and CSS editing
Basic understanding of Views
intermediate skills
paragraphs, pathauto
admin toolbar
many more
know your basic contrib modules
Drupal permissions
views config
commerce features attributes
so you can have the conversation with the clients
version control for Configuration Management
Module configurations
more advanced things
know git
ACESSABILITY IS KEY
W3C WCAG 2.0
Perceivable Information and UI
Operable User Interface and Navigation
Understandable Information & UI
Robust content and reliable interpretation
Peer code review
Cross Browser Testing
Performance Testing
Security and Penetrative Testing
Google Analytics
Google Tag Manager
Heat Mapping Tools
LOT OF STUFF
improve your skills
Build your own website

Storybook: An Interactive Pattern Library for Your Decoupled Applications
Brian Perry

Brian is an excellent presenter and this talk is a continuation of an idea I first heard him discuss at Midcamp. Now, I will always caveat that front end stuff always seems a little out of my wheelhouse, as I don’t really touch that side of things in my day to day. However, this adds a bit of magic show element to any of these talks where I just get to be impressed a thing is possible without fully grasping how it does it’s thing. ‘Knobs’, for instance, seems like a completely logical tool anyone would want to use for making fast changes when prototyping or developing but I can’t point to a single thing on my agenda to have a reason to dive into it at the moment. Still, I am very grateful to get to attend these talks and expand my knowledge base around this area. You never know what tomorrow will bring or when I am going to need to need this stuff. It was a very good demo.

Raw Notes:
Atomic design approach
Atoms -> molecules ->Organisms -> Templates -> Pages
build components and prototype them
integrate with Drupal in interesting ways
test things before you integrate fully
can be Twig
Examples:
Artsy.net
on github as well
website in github
bulk is in React
slide shows, galleries, ect
reaction is the folder you want
Another example
Uber React-Vis
visual storybook focused on components for visualization
JSX add on
knobs
Adding Storybook to a project
npx create-react-app my-app
cd my-app
npx -P @storybook/cli getstorybook
npm run storybook
starts a localhost instance site
going to be pretty bare bones but that is scaffolding
Individual story files
config.js file
iterates through options and pull in what you want
example story: Album
Music discovery app
Row with an album cover, name, render method to render JSX
select album function
src/componets/Album.stories.js
import React
import {storiesOf}
import { Album }
import { AlbumList }
CODE EXAMPLES
Album story
Addon: Actions
Can see a lot of things
log the actions and functions
with Knobs you can fiddle with things in real time to experiment before committing
Lot of demo!
List View story
Combine all this with Puppeteer to test all the things
deploying is straightforward as well
build to a .out directory
or NPM script
and can post that anywhere with static JS bundles
Drupal and Pattern Lab?
style guide guide, gatsby edition
the storefront in the workshop
really is a dev tool

5 Essential Lessons You Can Learn From Art History
Jennifer Smith

I’ll admit it, I didn’t fully read the session description before I got there and thought we were going to be looking at classical architecture, painting and sculpture from all throughout history. Instead we started in 1900 and I quickly got acquainted with the importance of The Bauhaus and Swiss Design and how we can all benefit in our daily choices from embracing simplicity over needless ornate embellishments. I also learned how to quickly apply the Golden Ratio to a layout without a lot of hassle, which I am going to start leveraging as design choices pop up. TL;DR – centering is the lazy way to show you don’t know about design, so stop centering everything and flat is better than drop shadows.

Raw Notes:
There is design in everything
If you follow best practices
looks more professional
takes stress away
impresses others
don’t make your company look bad
10 minute art history
Early 1900’s
could go back further but this is modern era
Emphasis on tech
manufacturing process and function
style subordinated to purpose
Electricity comes around
have to design things to use it
like fans and such Peter Behars
tea kettle
unified appearances
glass walls was a super big innovation
reason behind every component and decision
Van de Velde
trained as a painter
served as an architect, designer, teacher
jewelry and other common things
furniture
first real silverware sets
art to industry as well
German Association of Craftsmen
form determined by function
elimination of all ornament
elevated functional aesthetic
1918 war ends and design things ramp up in post war
1919 Bauhaus school
to this day still think German Engineering is good because of this
free to people who qualified, school just for designers
building for a soft machine, humans
Bauhaus became a philosophy
eliminate elements that do not matter
form follows function
everything is designed
make design accessible, avoid overloading and over stylizing
Craigslist is EVERYTHING at once, Google is one thing, done well
1933 Nazis killed the Bauhaus
1940’s Swiss Design
after exit from Germany, kind of makes sense
not specific to Swiss, but international style
flair for design forever there though
international typographic style
this is used by all large corporations now
Used Asymmetric layout
and GRIDS FOR EVERYTHING!
sans-serif
Flush left, ragged right
preference for photos over illustration
Dieter Rams, less is more
record player
Braun juicer
inspired by that juicer, Apples products in the 90s
10 principals list
Less is more!
don’t give the user more than they ask for
focus on needs not distractions
fierce reduction of elements
United vs American Airlines apps
United has a lot of unneeded parts when you first look
new flat design is actually just the swiss style
shiny is not needed
Windows 10 no rounded corners, grid
LingsCars.com best site about what not to do with design
how to eliminate unneeded objects?
Do you really need this in a box (boarders are a sign of weakness)
Does this need a drop shadow (most likely no)
Does it help to have this in 3D
does the gradient convey more information?
BWI is actually on the right path
but there is a video on their desktop site that takes a lot of space
mobile apps are cleaner
Using mind maps, helps figure out what is important before design work begins
don’t give people sloppy stuff
Eye pattern testing showed no real difference between serif and sans-serif
on-screen considerations
Xheiht 65% of the Cap height
strong counters
do not use Script or Cursive
use a typographic grid
Always adhere to type ramp
visually 2X the size so people can see the import stuff
Rule of thirds
Golden ratio
Fibonacci sequence based on rabbit research
very replicated in nature
multiple by 1.62 for a perfect pleasing size rectangle
helps to not center everything
PhiMatrix
can overlay Golden Ratio on your screen over anything
and break down proportions as needed, repeatedly
Google Materials
https://design.google/

Thursday Keynote

Exploring the New Drupal Front-end with JavaScript
Dries

I always love a good Driesnote and was a bit curious how this would stack up. A visibly more relaxed Dries, in front of a smaller crowd than DrupalCon brings, really had a conversation with us and introduced several members of the audience to the history of Drupal for the first time. More importantly than our past, it was great to hear an impassioned view of the future and what that can look like. Not too dissimilar from WordPress, the take away for me is embracing JavaScript on the presentation layer is not optional anymore, so it is up to us to make sure our testing frameworks and APIs are up for it. Especially in a world where every new dev is at least learning JS basics, it is going to make adopting Drupal even easier int he future and will let us draw from a much larger pool of devs to grow the community.

Raw Notes:
History of JS, Drupal, API-First, JavaScript-driven Drupal admin interface
Brief history of JS across the stack
JS was invented in 10 days
Brendan Eich wrote the first JS version
in the beginning everyone thought it was amateurs
JS was not cool at first
XML
asynchronous JS
lead to AJAX
then frameworks like JQuery, dojo, mootools prototype
adopted by Drupal, first CMS to use JQuery
put it on the map
2008, Chrome build JS engine V8
10 years ago, they were very future looking
10x performance improvement over internet explorer with V8
2010, twitter made unprecedented move,
implemented new API server for everything/everyone
Moved the rendering to the user’s browser
model is common now, but this was a first
over capacity whale showed that this initially did not do well
time to first interaction was pretty poor
had to download a lot of things
in 2012 partial rollback of rendering back to the server
AIRBNB made the code very reusable
JS word right now, Babel, nightwatch
tooling has really evolved
History of Drupal
message board for his friends
registered dorp, means village
typo to drop.org, happy accident
thought up public name for code, 30 seconds. Thought of Drupal
Google and Mobile had no real existence
1 our of 40 sites on the internet use Drupal
14 million visits to drupal.org per year
reinvented ourselves many times
each morning we are born again, what we do today matters most
slow start on D8 after release
but getting better
51% increase in D8 adoption last year
REST API first initiative
Drupal’s REST support is pretty good, rich and mature
user logging/reg, media,
JSON API and GraphQL
pretty robust, moving them into core
pretty close
maybe in 8.6
more and more companies designing API first
Chupachups UK, Warner Music, teach.org many, many others
people at sea using Drupal locally and syncing once back at shore
integrate with anything including other Drupal sites
NewBalance is ideal use of both traditional and decoupled
Working on JS-driven Drupal admin interface
Drupal’s own UI is still not JS first/forward
could be more interactive and better if we do embrace it
Drupal needs cutting edge experience
Trying to replace a single page, they identified 6 steps
1. stabilize the JSON API module, pretty close
2. Improve our JS testing infrastructure
3. Create designs for the administration UI
4. Allow contrib modules to use React or Twig
no big bang swap of whole UI, introduce more dynamic incrementally
not everything needs React, but want it when you do
5. Implementing missing web services APIs
like permissions, found gaps in coverage
Admin areas have some things that are only in that use case
6. Make the React UI extensible and configurable
Good news, this benefits EVERY decoupled builds
why should we care?
used to be you made a site and just left it alone
now people live in the frameworks like Drupal, always changing
Drupal is no longer the Drupal you used to know
it continues to evolve all the time
slides at https://dri.es

Iterative UX: Find It Cambridge Case Study
Benjamin Melançon

I was very curious on this talk what a Find It Cambridge even was. Turns out it is a resource that can greatly help any community better organize it’s events and resources. Benjamin is just the nicest guy as well, which never hurts a presentation. For instance he deferred to team members in the room who had worked on this this project with him for various sections, making it seem like their whole team was up there presenting and he was just a player in the larger picture. I have heard too many talks where this would not have happened, even though the team is literally in the room. It encourages me to think about these sort of opportunities to involve others in my sessions. I don’t actually think my notes on this one are that good, as I had a few distractions in this one, so this is a case study I would encourage you to just watch for yourself on youtube thanks to the hard work of Kevin Thull

Raw Notes:
must have a budget
an ongoing budget if not a large one
Research
iterate on what someone else has built
what another website does
issue is they want Google/FB/other expensive commercial site
find something similar to what you want to build and use the elements that work well
Sommerville pub was there to help them figure out what worked well
research showed more info was expected from a .org vs a .gov
that is changing in Mass thanks to mass.gov!
Resource Portal Interviews
Students from the school of public health reached out as part of a project to research with them and provide analysis
Testing other sites
You need content, you can not design without content
Google sheets originally,
then another content store was used
compare to other sites
see how buttons work well there
a wireframe allows us to experience design while implementing quickly in dev
Best 7 letters when talking to a designer or Developer
HTML
CSS
discontinuous Improvement
have to break and improve things
Go where your users are
use IE if they still use it at your user’s facilities
visualize everything
visual maps
Lessons learned from user testing
there were many
not including 141 programs that forgot to check themselves as All Ages
water play parks
seasonality or weather dependent results
more use cases
curated lists of things

Building a better page builder with Bootstrap Paragraphs
Jim Birch

Going to be very honest here. I originally went to see this because I wanted to support Jim giving the last session of the camp. I always love his talks but going in I had a fear my mind would wander and my notes would be pretty spotty. However, this is actually a really interesting area, even though front end. Jim’s presentation skills are second to none and his raw passion about this subject matter is infectious. At it’s core this is a talk about DRY and how to make everything reusable. This is a great lesson for anyone, not just front end folks.

Raw Notes:
Why?
Different widths for different content elements
better typography
wanting images
structured content
ability to add semantic markup
easy to administer
slide things around
Bootstrap framework – HTML and JS pre-configured
powers about 25% of the web as a front end
mobile first and responsive
Create grid markup and readable
documentation
standardization helps
on-boarding is easier
Customizable
completely
mixins for adding existing styles to semantic html
best practices for small/lo budget projects
get 80% there when you start
Open Source – MIT license
If already using Paragraphs
how many times have you repeated yourself
but a litttttle bit differently
install this modules and start exploring right ow
Strategy – create a module to give you want you need
create base templates and CSS that could be included with any Bootstrap include
harness the power of Entity Reference Revisions fields to neat Paragraphs
Have global width and color options
Inspiration – Les and David Needham’s great presentation using Paragraphs
they came out with idea of paragraphs as content paragraphs and layout paragraphs
and ponies
Global settings
Every paragraph should gave widths and backgrounds
list/text
widths
tiny/narrow/medium/wide/full
background colors
empty classes follow the standards for bootstrap conventions
Content bundles
layout bundles
image includes a link field
blank
embed JS or connect to mailchimp, Pardot, Eloqua, etc.
Drupal Blocks – render them in line with the other paragraphs
not everything works though
copy and extend for custom blocks
Views paragraph bundles, reference field, lets yo put a view into a paragraph, even with an argument
Columns
up to 6 pieces of content
distributes equally
two uneven columns 1/4s and 1/3s
3 uneven columns, it gets messy but possibilities are wide
column wrapper
another layer
carousel for those that like them
images and text, just no other carousel inside a carousel
slide interval speed settings
Accordion
collapsible
Modal – 4 fields – title, body, footer
Tabs like the accordion
tabs and accordions in a tab
2 Submodules
contact and webform
Contact form let’s you reference the content form entity
add new or use existing contact form
Webform, same thing but for Webform module
using Block element modifier markup
BEM
Markup – div.paragraph
modifiers
Twig – width example
Drupal asset libraries to apply styles
theme has hierarchy to the modules
module libraries folder
custom blocks
add fields
dropping in setting default
make your own content fields
manage display
Working globally
mostly config and a couple templates
packaged up in a module
thought was ‘how can this be reusable?’
does not want to rebuild again and again
create a module structure
Drupal console has a command that magically does this
add templates and CSS and JS
configure in the .libraries file
export the config
Just delete the UUIDs
Rename field_ to your own machine to avoid future collisions
if needed, add function to override template in .module
Bootstrap Pages module
article content type and an author and a landing page
meta tags and schema.org, optimized images, responsive, precofigured URLS
taxonomy
views
use frameworks to save time and be more productive
this is his attempt to do this
also can use this approach for any other framework
make it reusable

My Sessions

Nobody Wants a Website. They Want Results!

Discovery, discovery, discovery, discovery!

I got to talk at MIT! This is pretty exciting to me. I not only got to deliver 2 talks at this camp, which is cool into itself, but I also got to give two related talks that are part of a larger set of topics, which is the sales/project process. With ‘Nobody Wants a Website’ I focus on the qualification process and uncovering KPIs or at least what is measurable early. I got to follow that up a day later with ‘Discovery, discovery, discovery, discovery!’ and dig into what I think of as the most important part of the whole process. It was a really great feeling to give this ‘cycle’ of talks and I am guessing this is how Matthew Barney feels whenever they show all of Cremaster Cycle at once.

Sprints Day:

I always love a contribution day. The community coming together to make the project happen and evolve the state of things. I was very happy to get a chance to wrap my head around the Tour module, specifically the notion of leveraging routes and attributes. This is one of the more overlooked aspects of Core in my opinion and I look forward to being able to better get a grip on how to contribute back to the project moving ahead

Wrapping Up

I always will like Boston for the history, for the warm people if it is warm outside and for the pretty awesome Drupal community based out there. I am actually going to be headed back that way in the near future for another event. I am already looking forward to next year when I might again get a chance to speak at MIT in the shadow of the offices for the W3C, Stallman and Tim Berners-Lee at Design4Drupal 2019!

WordCamp Europe 2018: Belgrade in the rain and understanding jet lag in whole new ways

I do not often get to go to Europe. Not as often as I feel I should. Visiting a place with so much history, with such a differing culture, I always feel so small and inexperienced. This feeling comes with some small level of frustration, resulting from the forced immersion in foreign culture, foreign currency, and foreign everything else, especially time zones. At first I was a little too out of my element but was grateful I found footing quickly. I was superbly happy that there was one thing that was very familiar to me, my amazing WordPress community, who all were gathered for WordCamp Europe 2018

Food and Fun

Tuesday

Arriving in Serbia, between the Sava and Danube rivers after a brief layover in the Munich Lufthansa lounge, I was met with one of the hottest days in recent memory for the city. Fortunately for me I quickly ran into some of my WPLife folks who had a tremendous idea for cooling off, getting some awesome gelato and espresso. It was a fantastic way to start trying to fight the jet lag, which would prove to be a pretty intense battle throughout my entire trip.

Wednesday

Part of the reason that I am so in love with the free and open source community is the spirit of cooperation and competition between the service providers. I work for a website operations platform Pantheon, which can be seen as a GoDaddy competitor from a certain point of view. However, our offerings really address different concerns and use cases at the end of the day. In the spirit of an open and cooperating community the GoDaddy team opened their local office space to anyone who wanted to co-work. I took them up on the offer and got to see so many awesome people and even got some direct help on my Postitnow project on the matter of tagging from the always gracious and oh so talented Alain Schlesser. They even bought us all lunch!

One of the things I was repeatedly told about Eastern Europe was that there would be no vegan or even non-dairy options on the menu anywhere. Based on my experiences in Paris last year I came in with a bit of hopelessness that I could keep to my plant based food options. But this was a completely unfounded fear since it turns out that a) Serbia has some of the best produce I have experienced outside of California and b) vegetarianism is clearly starting to win across all cultures.

Also, I am not alone in this struggle to consume more sustainable and responsible foods in the WP community. I was invited by the just swell Monique Dubbelman to a fantastic vegan dinner at the funky and quality focused Mayka. Sunflower cheese is pretty great though a tad salty. The Belgrade Stake, seitan based, come with an ‘eggplant caviar’ that I am not entirely sure how they made but I will be attempting in my home kitchen in the near future.

Thursday –

I got much more to say about Contributor Day later on, but for this section, just focusing on the food. There were the weird, tiny cups of coffee you only can get from European catering, served and oh so many pastries and fruits for fueling us all day long. the catered lunch options were spot on and very dietary restriction friendly. It was so great to feel welcome and know others felt it too.

Speaker Dinner

It wouldn’t be a WordCamp if there were not a Speaker/Sponsor/Volunteer/Organizer dinner. As a backup workshop presenter I got an invite. We got to party at the top of one of the tallest buildings in all of Belgrade, at the Top Of The Hub, Restaurant and Lounge. While there were some vegan options, including a pretty terrific blackened tofu that even the omnivores were raving about. It was amazing to meet so many new people while seeing so many familiar faces and raising a glass with them all.

Friday

In my experience, Europeans take their pastries very seriously. I was not prepared fully for how seriously, indicated by the sheer quantity of options at the Sava Center where WCEU was held. There were also so many beverage choices that if you got dehydrated, that was on you.

There was so much amazing food for lunch. I have no idea what the omnivorous options were because the vegetarian and vegan options were in their own section. I am not going to keep droning on and on about how our hosts gave plant based options but I find myself just now realizing that I am only verbose on it because it is unexpected, though it should not be. It is kindness. And expecting less that should be a disservice to any organizer. I will refrain from gushing through the rest of this post.

Leaving the venue proved to be a bit of a challenge for some of us.

Do you like ping pong? Thanks to the awesome people at Savvii, the whole community got to come out and play at an event they called WordPint. While my host had paid for wine and beers, I couldn’t help but take advantage of the exchange rate and very, very affordable local prices on highest shelf liquids.

WCKaraoke

One of the things I learned previously ‘on the continent’ is that karaoke is not as well adopted as it is in the ‘new world’. I originally had a bit of despair that all the avenues I investigated left me befuddled at best. Fortunately there exists a most resourceful and energetic man named Vladimir Ranđelović who introduced me and the WCEU crew to SongWars. Imagine playing “Rock Band” with four singers at a time with multiple teams playing a round robin style tournament. This is not the karaoke I am used to, but my goodness, this is one of the most unforgettable nights WCKaraoke has ever known.

Saturday

Day two of sessions brought so many more pastries, fruits, coffee, beverages and rice cakes. It also brought another amazing day of food.

If I could say enough good things about my colleagues, it would take more pages than the whole sum of the world wide web currently have capacity to display. What I can say is it was a true honor to find spectacular vegan food and completely unexpected Experiment unfiltered wine at Radost. This very elegant eatery is also the home to a delightful family of cats, who entertained us endlessly as we dined.

After party:

I could try to explain the after party, but there would be no way to convey it all in text. So here are a few tweets that I think summarize it.

Sunday tour:

Serbia is so full of history and amazing sights. I am grateful for Mike Demo for organizing a walking tour of the city, including the Nikola Tesla Museum and the Serbian Orthodox Church. It was a delightful way to spend a Sunday. Capped off by a wonderful last group diner with the awesome Tina Todorovic and Dejan Markovic and a few others at the tapas joint Ambar.

Sessions

Contributor Day

The main reason I was very excited to go to Belgrade was not the food or the fun or the sessions this year. Those things are all important and I am grateful for all of it, but the real reason I think WordCamps should exists is Contributor Day. A day we dedicate to work on the project collectively and share in the energy of making WordPress together. This is the heart of what Free software is all about. Free as in speech.
Though we are building for a tool set to be used on the internet, the WordPress community and what we are building is far from just code and electrons. We had this shown to us by the internet not working almost all day. Even when we could connect, it was terrible. But you know what? That did not stop us from writing new copy, or from making plans, or from doing the thing we really had meant to do all along and connect as people.
I have rarely been prouder of my team and how far we have come in just one year. Taking the on-boarding process down to a single PDF printout and giving new users clear and simple steps to get to contributing. Things we wished we had, we made. Things we wanted to see, we invented. Getting to be part of the pioneers that made the next level and generation of community happen is unlike any other feeling I have ever had. I am so thankful for it I can barely contain it.

As far as what we actually got done, I am going to be really lazy and just link us over here.

Opening Remarks

JavaScript APIs in WordPress
Adam Silverstein

Fist session up and I thought I had enough caffeine to keep up with anything. Then the session started and Adam went so fast that he actually had to build in rest points to his talk in order to slow down. Basically there is a whole world of WP features that live right in the developer console and are exposed on every page thanks to the REST API. Some things are well documented, some are not. Overall, there is a whole world to explore here. This is an area I know I want to learn and will eventually have to if we keep making everything JS, but other areas are just calling for my time a little more these days.

Raw Notes:
Really about functions and utilities and
On github.com/adamsilverstein/wceu2018
Ma.tt told us to embrace JS deeply
Deeply = learning frameworks and build systems
Hello WP JS
RestAPI and Gutes,
hello window.wp global where JS features live
the wp name space
in console
lot of objects to play with
objects tools
docs are coming, workng on it
demo code
editor
ads.txt plugin
more code, see github
text to rich code editor
wp.media
you can customize the media editor
very complex, not good docs
tips
github.com/ericandrewlewis/wp-media-javascript-guide
plugin
attachment-taxonomies
from Felix
wp-heartbeat
periodic data transmission between client and server
runs at regular pace
data back and forth on schedule from multiple apps
very well documents
some hosts disable heartbeat due to server stress
import category of posts
2 main event, send and tick
5 seconds heartbeat is near enough real time for updates in a progress bar
wp.customize
customizer api
xwp/wp-customize-featured-content-demo
very well documented, start with the handbook
wp.ajax
workhorse in WP
wp.api
client helper library for REST API
post.set();
post.save();
wp.apiRequest
wp.utils.WordCounter
wp.sanatize
wp.a11y – speaks to screenreaders, important to JS heavy sites, annouce events to screenreads
WP NPM packages
npmjs.com/org/wordpress
gutenberg is making packages
github.com/
wp.hooks
lightweight and efficient EventManager for JS
Gutenberg hooks
pretty OK docs right now
github repo is good, but all falling out of date
wp.plugins
fill slots with custom components
wp.data
manage and interact with state
wp.element
similar to DOM construction and HTML
slew of tools in JS and APIs
NPM lets us build for WP and out of WP and in Gutes and out of Gutes
Q&A – When will it be merged?
A: April, don’t know what year… 😀
learn the chrome debugger

When to use the API
Sean Blakeley

Many a great point was made in this intro talk about the consumability of the REST API and I really like that he is talking about grabbing individual elements from any post programmatically. If you know anyone who is just dabbling with the idea of the REST API and WP, this is really solid content to help get them motivated and the creative use cases flowing.
I kinda hate to say it but the biggest lesson I learned from this is do not trust animated slides and conference centers. He still did a fantastic job even though his slides would not cooperate. But as a result, I think I need to rethink some of my animated gif based slides now.

Raw Notes:
Pragmatic
SCRUM based, 12 years or so in WP
API use in existing projects
today?
Why: what: when
tomorrow?
Why use it?
Devs and for the WP project
prior to the REST API WP was a monolithic block box
APi let us move data in and out of system, liberated data
so we can integrate with other services and systems
innovators dilemma
smaller software projects are going to disrupt and dominance means slow to change to react
WP needs to challenge it’s own dominance, REST API and Gutenberg do this
what is it?
API is like a power socket in the wall
not useful into something is plugged in
translation of what we want to another audience
imagine sports company
want to use WP to make content
also want to ingest news feeds
select and publish some with summary and contextualizing
performance overhead is too much for WP directly
build a content API and do not change the WP layer
API delivery system
simpler architecture
start up wanting to show details of swimming pools
public queryable API
elastic search
WP as the GUI, the real work done by alternative storage system
Existing systems
Fairfax and HumanMade case study
presenting integrating experimenting
PIE
plugin Site In Numbers
Personalization
chunking into zones
push and pull into the JS layer
Using the Rest API to integrate into systems
sage ecosystem case study
advice service
Experimenting
Ionic app – run by WP site
WP as a game engine??
football matches
interconnectivity of objects
time and how it persists in the virtual world
Gutes: As we have moved into modular chunks,
POst and Pages are black boxes
display or not
Gutes splits content into discreet blocks
Performance
transients as a way to store data
a-sync transients by 10UP
Tomorrow:
start integrating with other services that was not possible before

Content security policies: a whole new way of securing your website that no one knows about
Miriam Schwab

Do you remember the moment when you realized “Oh, I should be using HTTPS on everything!” If you have not had that moment yet, sorry for the spoiler. This talk effectively was a wake up call about CSP. It makes so much sense to just whitelist assets that the browser should be able to load, think about the render blocking elements you could halt before they start render blocking. I also kinda feel like I should have heard about this before. It is actually on my to do list to figure this out before my next post goes out, I will report how it goes in the post wrap up then.

Raw Notes:
Either going to love this or sleep through it
WP Garage
Strattic
most attacks XSS
Cross Site Scripting
Load their code in your browser
once in that state, has access to your storage, dom, cookies
persistent Originate in the DB – comment injection
reflected: originates in the victim’s request – bad link
DOM-Based – everything on the browser side
OWASP top 10
XSS the user is the victim, not the application
session hijacking/cookie theft, account takeover,redirects, unwanted ads,
browsealoud
a11y extension in the UK and EU mostly
line of script to use
hack library and turned into crypto mining
CrytpoJacking
user resources
CoinHive
a cryptominer for your site
slower devices
100% CPU, etc
55% of orgs affected
weatherfor.us
How do we protect ourselves and users?
CSP constant security policies
just say what the good stuff is and what you want to load
very few people using it now
not included in the whitelist, does not load
CSP Syntax
Directives
Strings specifying type of resources
content-security-policy: default-src ‘self’ https:;
only allow https assets
script-src ‘self’ https://www.google-analytics.com
font-src
never
unsafe inline
unsafe eval
script-src ‘unsafe-inline’ ‘unsafe-eval’
Nonce or Hashes more secure way to do it
upgrade-insecure-requests
subresource integrity – SRI
hashing to allow only when properly matching
don’t use
x-xss, x-frame,
how to add this in?
Server level headers,
a functions
meta tag – can’t be used with everything
also htaccess
header information and how content securit
keycdn has a tool
CSP evaluator from google
SOPHOS security headers
WP plugins Security Headers
https headers
SRI plugin
Report URI – tools for generating headers
telerik fiddler – only one that can read site and tell what need to add to security policy
adoption, 23,690 out of top Million sites
another way to test – script, plug into console

Keynote:

Keynote and Q&A with Matt Mullenweg
Matt Mullenweg

There already is so much written about this already that I don’t feel I can add too much to the conversation. I will say that I am very, very happy to hear Matt and I have the same favorite feature in Gutenberg, copy and pasting Markdown.

Staying Healthy In the Digital Space
Christina Varro

Not even going to lie, Christina gave one of the most useful talks I think I ever saw on the topic of figuring out WordPress update management tooling back at WordCamp Seattle 2016. I should publish those notes, that was before I started this blog format. The world has certainly evolved in 2 years but management tools are slower to change than the front end and it’s JS wizardry. Anyhow, I was excited to see her talk about something else other than tech because I knew she would bring her pragmatic approach to any subject and it would be awesome. Turns out I was right. Well researched and full of little tips and healthy habits, this was a talk that, since it is a lightning talk, you can send around to any department at the office and to any of your relatives and they would probably benefit. Now, sit up straight.

Raw Notes:
Eye strain
improper computer use
20-20-20 rule
position the screen
late night work
insomnia
anxiety
artificial blue light from monitor disrupts
wear blu-blockers
avoid looking at screens for 2-3 hours before bed
turn down all lights 1-2 hours before bed
expose yourself to bright lights in the daytime
anxiety
take a break
meditation
make an effort to connect to a person in person
Set boundaries between work and personal
back pain and wrist pain
Sitting is more dangerous than smoking
More you sit, the more your blood stops flowing
Stand up every 30 minutes
spend 15 minutes per hour standing
drink water
exercise
invest your office set up
learn to sit properly

Easing the anxious mind: dealing with anxiety in the workplace
Laura Nelson

Another lightning talk. They move so fast. It was solid content and took a lot of bravery to stand up on a stage and do something like this in front of a crowd that big. But I know it helped someone, because it helped me. Hearing that other people have unrealistic worries sometimes and that I am not alone out here with the struggle is pretty encouraging. I hope we have talks like this at every camp.

Raw Notes:
Generalized anxiety disorder she manages
define anxiety
often banded around as worry or stress
anxiety is a constant
1. Keep a diary
a worry journal
in real time
rank them and ‘n/10’ score
exhausting stuff
2. Make plans and stick to routine
hard as a freelancer
give yourself time to think about things
3. talk about it
it can be hard at first
You are not alone
60 Million people in the EU suffer from anxiety
4. Be kind to yourself?
give yourself a break
what’s a reasonable adjustment
1. Work starts when they get there, start later
2. Keep a nice working environment
3. promote a healthy work-life balance
4. listen

WordPress and Inclusive Design
John Maeda

John is one of my favorite speakers in the world. His vision is pretty clear as it underlays every talk I have seen him give. That mission is to help us all make a better world through thoughtful communication. I don’t know if he ever would describe it so abruptly but that is what I see in every talk. His passion to do things that make people think rather than fit into the predefined patterns has driven some very interesting conversations and I think put us on a path towards his goals.

Raw Notes:
inclusivity is hard since it requires change
pushing our limits
fashion always pushes limits
design pushes you to think differently
forces interaction by questioning how it is supposed to be
Wapuu silhouette – some anger but creator loves it since people are using it
without change we only have death
wants to start an Automattic design award focused on experience
issue with design in tech – shallow design
engineer and dev, does not work, re-fix it until it does work
too tired to make it usable
too tired to make it feel good
spray design on it
trying hard to make it look not bad
deep design is not like rocket science, it is 4 things
discovering the problem
hypothesize how to fix
deliver the solution
listen and look at how people use it
we love shipping it, we do not like the feedback
we are very focused on delivery
in deep design must spend time on listening and discovering the problem
hypothesize
all about creative, not about the money
but after a while, should he worry about the money
got his MBA
found that it is important to understand the money
Apple control of aluminum and process
not many aluminum
ability to bend wood
teaforte tea bag vs green tea in traditional bag
analogy for our modern day
FOSS vs Free but I will spy on you
best way to enhance that core service is the experience
everyone copies what is better, like the iPhone x clones
we are in less than 5% of the world that

Intro to Drupal (for WP folks)
David Needham

Yes, I do get to work with this guy. My expectations were high, having seen him talk on a few occasions before, but David brought a new level of everything to this session. From the first words out of his mouth drawing us into a story of how he met Drupal, and all OSS really, to the clear explanations he gave of how Drupal works in a different way than WordPress does, David held the whole room transfixed. I have been trying to explain the differenced between the CMSes for a while, but not have a whole slew of data points and this presentation to send them to if I get asked again. He even gave case studies, which I think are the best way to learn the value of a thing. We do have those in WordPress as well by the way (working on more and looking for new ones still).

Raw Notes:
His origin story
in a class, a professor made them write a CMS
then said “That is why you don’t write your own, now use an OSS one”
everyone else chose WP, he was encouraged to use Drupal
he got involved in the community
volunteering is very important
What is Drupal?
Dries in Belgium created one fo the first social networks
a website where friends could share things like photos
he open sources it and that is what Drupal came from
6% of the top 10K websites
that is where it excels, at the top
over 1Million devs and growing
Drupal.org
Free as in beer
free as in speech
free as in puppies
A website also requires feeding and care
D8 is object oriented
Symfony PHP framework
known as being hard to learn, but standardized now
but a professional PHP from a different project can learn it faster
small business owner at a camp hiring Drupal experience
but since D8 move, as long as they know OOP PHP they can work there
A new person with no Drupal background made a core commit on first attempt since he knew PHP OOP
Drupal is modular
the ecosystem is different, no commercial modules
no ongoing support contract around the modules
Also means less fragmentations
OSS from the Drupal community means all the code back to D.O
Drupal is themable,
extremely customizable
down to a per piece of content basis
box of legos, makes it harder to approach
built in data structure, specific content and field calls
meta around that
very good for data analysis or connecting to multiple applications
Structured content
core, very key to how it all works
build your own data structures
and access/roles is built in
staff directory example
Chicago Park District example
facilities – name, type, photos, address, photos, hours
data created elsewhere and pulled in
editors also editing
pushed out to a few other places
Views
kinda ugly interface to be honest
but configurable in any ways to display anything
slideshow, sidebar footer, whatever
block display
custom admin tables
Hong King Trade Development Council
using Views to build a dynamic front page on their site
Drupalcal to meet the community
free Drupal training online too
experiencing like a different country
see the world a little bit different
advocating checking out other communities and out of your comfort zone
in conclusion, the website for his class
it ended up doing very well and
had a fully functional ecommerce store for fake things
not here to convert you
motivation is to show that we are similar
more alike than different
grown together
Drupal had content types: WP Post Types
Drupal query building: WP has this too actually from Plugins
Gutenberg is also being thought of in Drupal form a different philosophical point
but get out there and learn
Davidneedham.me/wceu2018

Origins of Design Inspiration
Simon Cooke

You sometimes see talks that explain a technical trick or pattern that makes the mind really focus in on details. And sometimes you see talks that speak to how the universe works and how we need to widen our perspective. This talk fell into the latter camp and I walked away with a pretty different understanding of how I should be thinking about time and my day then when I walked into the room. Perhaps you don’t resonate with the findings but for me, I found that the ‘morning focus’ and the ‘evening creative’ pattern was spot on. It made me question a number of things along the way. Still processing all this still at the time of writing.

Raw Notes:
Bob Dylan quote
Finding something,
like inspiration was a think
Egyptians thought it was a spirit
Greek thought ti was something that followed you around, genius
map of the mind in modern times
looked at Design theories
many ways to bubble up ideas to the top
at Pragmatic they use “design thinking”
David Kelly thought leader around this
5 sections
Empathy
Define
Ideate <—-where we will spend most time in this talk
Prototype
Test
things start with rough sketches
digitize and
mussli (SP?) mewsly?
mind-mapping input in new chrome windows
ideation is brainstorming
input and output
I don’t believe the value of brainstorming is the ideas generated
value lies in the shared perspective of the people who participated (paraphrase)
Tim Sheiner of Salesforce
Lot of tools available, may be equal, but some can be more inspirational
The Process:
Start with our own habits
Daily Adventures
change it up, do something different, introduce simple change to change frame of mind
drink something different, new coffee shop, take a different path
Rhythm, normally about timing
creative are creative peaks 7-11am AND 4-9pm
ideation meeting, don’t do it at 2:00pm
Daniel H Pink book “When” on mood swings supports this theory
that curve is split in 2
morinng spike is hyper focused state of mind
most ah-ha moments though are in the evening peak 4-9pm
creatives minds need time to chill out, less pressure
brains get to wander and connect the dots of all experiences recently
that is where creativity really happens
Influence is the past major point of ideation for him
Influence = inspiration
they are equal
transformed in equal quantity
digital environment
physical world
community
digital – screenshots of phone, lot of visual and written content
very much influencing him
other digital content, blog posts, httpster.com,
WOGD – high quality content
http://womenofgraphicdesign.org/
jotting a lot of notes at night
in morning then process it
podcasts and audiobooks
Physical world up next
fun, slides and stuff
should feel comfortable in your working space
but can not compete with volume of written data on digital
but different
experience as much as you can of the physical world
community, there are the people around you
friends, family, co-wokers, Campers
recap:
Tools – find the ones that work for you
Process – tweak a few habits and find a rhythm
Influence – influence = inspiration
challenge, help someone find inspiration in you and find inspiration in them

Anatomy of a block: Gutenberg design patterns
Tammie Lister

My notes are not the best on this one because it is hard for me to watch demos and try to capture what I am experiencing. There was a lot of really awesome stuff but it reads flat on the page. This is THE talk you should show your designer friends who are questioning the 5.0 editor and the thinking that has gone into the UI.

Raw Notes:
Not a technical talk
about the ideas behind design of Gutenberg
basically everything is a block
all we should have to learn is how the blocks work, then we will know all of it
roots of it, sketch of it
basically based on the whole experience of WP
blueprints (shows a design sketch of the thing)
element bar
sidebar blueprint
status, revisions, all the things you expect with WP
adding block
shared and reused blocks
walked through nested block and other blocks
blueprint of a standard block
bar, menu, and arrows
sidebar can be moved and placed as you prefer
Doc sidebar is same as in block sidebar, always there
primary and secondary action
toolbar has primary actions
things it should not function without it
secondary are anything else
transformations
any block can become any other kind of block
work moving transform into one place
Unselected placeholders
selected and with content
unselected but contains content
hoverstate
basic anatomy of a block
example
Gallery block
much closer to true WYSIWYG
every bock should give a preview
and show you what to do intuitively
Blocks should adapt
blocks usable on all devices
Where should blocks live? Plugins so they can be reused!
leave the themes alone
Direct manipulation
receive immediate feedback
expected user experience
Block Styles
editor block
when should you build a block?
there are also other ways to do it
potential ideas are boundless
making content with not much or
Tips – new user experience guide
a bit of a story
thanks for all the contributions

Beyond Gutenberg
Matías Ventura

When you read the phrase “currently leading the Gutenberg editor project” in a bio, that is probably a speaker who’s session you should attend. I will admit my notes are a little lax on this one due to the jetlag yet again, but this is one I am really glad I saw live. The ideas and topics flowed fairly fast as well. The demos were hard to capture as well and should really be seen. We are getting so close to that final release candidate that makes it into the auto update, maybe. Lots to do, but then again there is always a lot to do.

Raw Notes:
how the things have been made and how it is going is goal of talk
30 releases in one year
200+ contributors
3000+ code merges
how to bring a blocked based experience without fragmenting the community and content
took a while to arrive at blocks
principals
optimize for the user
content first
no lock-in
incremental developer
Semantic web
since WP inception this is central
block editing is concern of manipulating content but not for display it
HTML as the format
page as the privileged entity and more meaningful experience
lift up and manipulate blocks
slightly higher order HTML
we are using native HTML tool manipulate content
block attributes
demo time
maintaining since last time he talked is columns block
markdown FTW
reusable blocks
scales up
seeing a lot of plugins creating blocks
needs testing help with
nested blocks
templates
layouts and
child blocks
API tools to allow mixtures of blocks and templates
reusable layout units
locking templates is new as well
experience new page mock up from Mel Choyce

Wrapping Up

In the Lyft back to San Francisco, I felt the cool air and familiar hum of a car made to be driven in America driving over truly Bay Area roads and I felt at home. I don’t know if I really appreciated what Belgrade offered and what the time really meant to me there. So many amazing new friendships forged and memories made. From the sessions where I fought sleep to the dance floor where I introduced someone to crowd surfing. From the pouring rain that overwhelmed a city’s public transportation capacity to the vacant alleys that Google Maps thought I should squeeze through. From the moment I landed to the moment I unpacked, this has been one of the more memorable things I have ever gotten to do.

Thank you everyone who made it happen.

I have no idea if I will make it back to Belgrade or even that part of the world again. I never really thought I would make it there in the first place. Next year, same conference is going to be in Berlin and I have always wanted to go there as well. Hopefully I will see you before then, but if not can’t wait for WordCamp Europe 2019

Twin Cities Drupal 2018: Exactly right weather and learning that a turn of a corner means a very different neighborhood experience in Minneapolis

It might not sound intuitive, and I think this might sound like an advertisement, but I think I get some of my best work done inside the United Lounges at SFO, including the vast majority of this post actually. There are these back cubical co-working spots that feel like a place I used to work at in Oakland when I was first figuring out the Bay Area. A place that forced a good work ethic because you definitely did not want to lip down further on the rungs of quality of labor choices. And the fluorescence flicker is at a temp that raises your anxiety just enough that you fall into quicker rhythm while hacking at something or writing something up. I was getting a lot of work done on a Wednesday morning as I was about to fly out to the Mini Apple for Twin Cities Drupal Camp 2018.

“There are only seasons in the cities,” my Lyft driver stated dryly as we left the airport and ran into a traffic delay. She let out a light sign and continued “Winter and construction.” This was not a joke, as traffic delays getting into the city made me very glad that I could get to almost everything on foot, which is my preferred mode of travel these days. I have found walking in a city reveals more about the character than reading millions of data points. Knowing how the lavender smells and realizing how much I have taken the wild lavender of California coastal climates for granated. Seeing co-working/art/loft spaces that could be in any city ever next to Starbucks which are in every city ever. I came with a different eye this time, evaluating the subtleties of one of the few cities I can say I am frequent enough that the bartenders and KJ’s at the karaoke spots remember my face from last time. It cast a wonderful underglow to the whole trip and made me re-see how really wonderful so many people I already thought the world of really and truly are.

Food and the Fun

Wednesday Night Baseball

Just by happenstance about 12 of my amazing Pantheon teammates were in the area, which is not too surprising give than about 7 of them live there and work from our Downtown Minneapolis office. Thanks to the wonderful and thoughtful Tessa Kriesel the whole gang got to go out the ballgame and see The Twins play the White Sox. It might not have been a great night for the Twins, but it was a great night for us all.

Speaker Dinnner

I always love these things, even when I go into them a little under the weather. Coming out of it I felt on top of the world. Hanging with the crew that put on the camp, all of them volunteers giving of themselves freely to make something bigger than any of us could accomplish alone. Hell’s Kitchen in downtown took very good care of us, helping us all feel full and making sure to cater to our dietary needs. I even learned about this awesome whole repo for FOSS android stuff, F-Droid, which I will be searching first from now on. FOSS FTW!!!

Friday

Coffee was coffee enough to fight the sleepy off for the morning and a light selection of fruits and yogurts met us as we arrived. Lunch was on our own and while it felt a tad antisocial, I did something I have never done before at a camp. I bought groceries and made a salads for both days. I was not the only person to choose to stay at the venue and I got to hang out with a pretty awesome crew of people, so it ended up very social after all!

Friday After Party

Drupal and WordPress differ on a number of philosophical points, that have nothing to do with code. Drupal Camps feel like a reason to have a sprint day and an excuse to get together and play board games, with the sessions remaining very serious and important, but secondary to those two goals. This camp, for instance, had 2 after parties, one after each camp day. The first of them was at one of my favorite art collective spaces I have ever visited, The House Of Balls. This place used to be an underground punk club that transformed into something you would imagine only could exist at Burning Man, but here it is in the middle of the midwest. No real way to explain how this place feels, but there was DrupalKaraoke so you know it was magic.

Saturday

Coffee once more flowed but this time, our voices in the tea drinking community were heard and we had some lovely teas to choose as well. Green for me please. Lunch was again on our own and my prepped salad in a bag was the envy of the table where I sat. Eating high fiber never tasted so good.

The Saturday After party lacked some of the flare of the Friday night fun, but it was so great to see so many people just relaxed and engaging as people, not as work colleagues or business contacts, over great Chinese food and more board games, like The Thing at Advantage Labs at Flock MPLS. 1/2 the place felt like a recycled saw mill operation and the other felt like what happens to lawyer offices if the lawyer suddenly goes out of business. Neither of these things are bad, especially in the context of a co-working space. I had an early flight and did not stay until we all left, but I did get a chance to swing through Otter’s Saloon, my favorite karaoke experience outside San Francisco and would feel bad if I didn’t give them a shout out in this post.

Sessions

Opening Remarks:

Drupal and the Music Industry: Learning from Our Success
Matthew Tift

If you really stop and think about it, case studies are literally the final output of a project. Everything that has ever happened in every attempt to solve the issue, process improvement that resulted, new system integrated with or written along the way, should in an ideal world make it into a case study. I love them and think they are the most valuable pieces of content ever produced. A session that would discuss multiple case studies in one of my favorite industries of all time seemed like the exact right thing for me to attend. I actually ended up seeing this session as the natural follow on to Michael Schmitt’s Keynote which had happened at the previous week’s Texas Camp. While Michael focused on the government use of the tools, Matthew had an aguabaly sexier topic of the music industry, of which he has a deep knowledge. If you want to be able to brag about someone who everyone has heard of using Drupal for all it can do, be proud that list is as far ranging as Beyonce to Tom Petty and from Berklee School of Music to MTV. Be proud Drupal community, we make the world sing.

Raw Notes:
A way to connect live coding and the music industry
Who sponsors Drupal?
You can now acknowledge who paid for you to do that piece of research and development
not a technical session
how the Drupal community has successfully found a niche in music industry
Dreis published 27 posts that talk about musical acts using Drupal
not the ‘official truth record’ but a trail that shows how Drupal was adopted
MTV using Drupal in 2006, 4.3
real developmental period with a lto fo contracts
Many other music sites Dreis did not blog about though…
before that, let’s talk about D.O redesign
for 3 personas
for Marketers
non-profit, Healthcare, Higher Ed, Media and Publishing, Government
Here is where Drupal is successful
used Wappalyzer to who what sites are Drupal
so many sites are Drupal, overwhelming
tom petty, cardi B
labels use Drupal, Atlantic, Nonesuch, RHINO, Warner Music, many others
Also, Music Schools
SO many higer ed
Berklee school of music, ASU, etc
Associations
NAMM, MTV, Classical-music.com
MuseScore
Good for business
you can drop names on clients
you can use it without caring that much about the underlying philosophy
lot of business value we can point to via this success
also Cause and Effect
Standardization – across so many brands, one solid foundation
Cooperation and working together is throughout all this
Sony + Drupal – sponsoring multilingual work in D6
not just building the functionality for themselves, share with the world
not just that people are doing this, but a sense of sharing
this marked a move to the ‘serious developer’ out of the hobby category back in 2009
Sony Lessons
Engage with the community, makes it all better
Working with Drupal core, not against it (don’t hack core)
Fix Core too
Developers like to get to do it right
Went through the commits to see who else has pitched in
Universal music was only other one – environment_libraries from 2015
something special about the Sony case then
Hmmmm
Music is content and we do content management
Most of the web does not need the complexity
audio on the web, internationalization
not everyone has a lot of content, maybe don;t need as much CMS
Dries pushes this idea
‘Ambitious Digital Experiences’
on the front of D.O
there is a whole other level going on with this
a lot of people listen to music and have special relationship with it
many people in Drupal also musicians
Jeff Robins of Lullabot was in ‘Orbit’
A sense of Belonging
Musicking by Christopher Small
we like process of creating and there is something about music that makes it a good fit
Our community likes to get together and there is a lot of music sometimes
Drupal songs!
Robin Hood
taking money from the ‘big evil corporations’ and using it to share code with the community
public good
money to give things away
Metta (kindness in sanskrit)

Progressive Decoupling: A case study with PRI
Brandon Hundt

Having grown up and discovered NPR and PRI on my own as a teen, this organization and all the hours and hours of driving they helped he endure in the first parts of my adulthood hold a special place for me. To hear someone working there personally thank my company for making their life better was more than heartwarming. It was one of those moments that reinforced that I am not really working a job, I am answering a vocation. Technically I found this a very keen piece. If you are considering decoupling, this is a very good session to see as homework.

Raw Notes:
50 -60 RSS feeds built into views
needed a custom platform
Rest API was decided
project did not go well
4Kitchens helped them figure out custom was not the way to go
needed a Viable platform
New Paths Forward
Decoupled D7 was the path after all things considered
What they did
started with the home page for decoupling
RESTFul API – had to develop this for them
Restful module, JSON compliant APIs
read points and CRUD endpoints
robust front end
React to make a component library for UX
using Storybook
it became the favorite tool for whole team on project
live storybook
bit.ly/priStoryBook ~ bit.ly/priReactLessons
Next JS Frontend
1.0 launched in April of 2018
some advantages but also challenges
pros: It works! The goal was met that it functioned
40% faster overall
In part thanks to the edge cache from @getpantheon
Mitigated risk
no migration! this is big, limited budgets meant this was too time consuming
used what they had, saved a lot of work
also set them up for migrating to D8 at some point
Modern framework – a dev said “I really enjoyed working on this stack”
that is a super positive!
stakeholders where satisfied
Not all wine and roses
increased support burden on a small team
time is $$$ and cost is a real challenge
initial thought was he would have plenty of time to rebuild the site year to year
Prioritization is a challenge
not really managing users at all,
traffic is mostly not logged into anything, over 90%
can you tell from React if logged in?
not really, but can get to it if they go down that path
different direction on that now, in the works

The Next Big Thing And Why Should I Care?
Dan Moriarty

I went into this session with no cear idea on what Dan even meant by that title. I was delighted to be able to hear Dan quickly give a brief synopsis of the forthcoming tech and his pros and cons to it as well as a very simple ‘should I care and when’ judgement. Throughly researched and well thought through, I only wish this session had been longer so we could have had a longer and deeper follow up discussion. Hopefully Dan will keep giving this kind of talk as tech ever changes and that change keeps accelerating.

Raw Notes:
Missed intro
CSS grids vs Flexbox
only have so much mental capacity or time
Skeptic vs Cynic
Skepticism is good in general, asks questions
Gartner Hype Cyle
predicing the future based on trends
1. Voice Search
smart speakers
does not have one yet
why care?
Smartphones
20-25% all searches by voice
location based search
more and more popular
Comscore thinks 50% of all search will be made by voice by 2020
What should I be doing
Have online content you can search (duh!)
Plain spoken, natural language, understand how search is differnt with voice
Easy to understand
FAQ
His call: Learn it now!
2. VR and AR
what do we mean by VR?
360 videos
VR
AR
360 video, VRML was predecessor, for house tours
no special devices needed
low bar of entry
no interactivity
VR and Web VR
Traditional VR using devices for an immersive experience
Occulus Rift, Cardboard, etc
leaving the real worlds to work within VR
WebVR is experiencing VR within a web browser, as a progressive enhancement
Only on special versions of borwsers like Firefox Nightly
webvr.directory
Augmented Reality
overlaying real world in your device view
Brining virtual objects into the real
Apps like Ikea PLace and Pokemon Go
Apple AR kits
Google called 2018 the year of AR
My call: Dabble, still 2-3 years out from hitting web designers
AI – what does that even mean?
pattern recognition on a large scale
machine learning algorithms
machine learning
predictive algorithms
speech and image recognition
chat bots
impact to the web? some
tools to enhance you content
Tools to help users
tools to improve UX
Tools to increase engagement
Tools to improve efficiency
to replace your job
grid.io uiKit
What to know
Be informed about the tools exist
Use tools like Google AI.API to contruct tasks
My call, Dabble, 3-4 years out from real tools
4. Chatbots
logic trees based on user input
guide for searcihng/sorting
initial interface for easy to answer questions
NLP to understand requessts
landbot.io, as an example of a chatbot AS a website UI and a service that builds chatbots
why?
Users spend more time in messenger apps, less in social media
want instant info, just by asking a bot
Delivering info to the user
How to use them
Slack, FB, other applications
Create your own
Landbot
his call: Dabble now!
5. Blockchain
shared data and resources
can I use it?
used in crypto currency
could be used in financial transaction, big ticket items
His call: ignore for a few more years
6. AMP
Accelerated mobile Pages
publish mobile optimized content making loads fast
Cched by google
AMP module from Lullabot
Should be be using it?
On article heavy content, easy to implement
Google promoting loading webpages inside email
not for dynamically hanging data
does it create a walled garden??
De we need instant loading
His call: could know and now
Progressive Web Aps
PWA, alternative to native apps
using HTML and JS
Dynamic like an app
Data can be stored offline for phone or tablet
pwa.rocks
Should tou learn?
8. GDPR – Geeneral Data Protection Regulation
sets rules on how companies can use your data
site visitor may be from abroad
His call: do it now!
Feel good about yourself if you don’t know everything.
It’s OK to not know everything!

Drupal 8 Migrate: It’s not rocket science…
Jack Franks

Jack is an immediately likable fellow, in my opinion and his ideas and thorough understanding of migrations in general struck me as a real asset to the community as a whole. Getting to chat with him at the speaker dinner about content deployment and how we might approach that in Drupal effectively made my head spin with the possibilities of using Migrate module for ETL. This talk didn’t exactly address my postitnow use case but it points to at least a viable path which he is already looking down. THis session also should get an award for best use of NASA data for any session ever delivered at a Drupal Camp.

Raw Notes:
But we are playing with a lot of rocket/space data
Not coving D6-D7
Not talking about D8migrate and d7 Migrate
Not Multi language imports
How does this Migration thing work anyhow?
Source -> process -> destination
for the most of our use cases we mean Drupal
can also mean out of D as well
What does it look like?
1. Start with Source plugin, where data comes from
2. Results of source are converted and mapped to your destination with Process plugins.
3. Destination determines where it ends up
This sounds grat, how do we do it?
Migrate is in core, but you need some other things too
Migrate_plus
Migrate_tools
Something that makes stuff way easier
Migrate_devel – print source and map
config_update –
how do we do it?
Create a moduel. (just a .info.yml file or Drupal gm in concole
Create a config/install dir
Ass a config file

run it
Testing is tricky
code is at tiny.cc/d8migrate
Helper module
demo
Let’s dissect a source plugin
sources
screenshots and demo code
process plugins
using lando locally to debug, pretty cool
ton of plugin ids
see if data is what it is supposed to be format
then process and return it
simple, most of them only do one thing
PDF parser example
live demo time
custom destination plugin
demo
every file in every directory of the system
sites/default/files
export.csv
now to the NASA data
rovers on Mars
machine crash…oh no!
restart
demo keeps going
pulling data from NASA API
see this data structure

Antaeus At Work; Human Centrism in Experience Design
Christopher Stephan

I honestly went into this session based on the misguided belief that Antaeus was a framework for design. I am not kidding. Workng at a place called Pantheon that has internal project names like Valhalla and Styx and meeting rooms named Dionysus and Hera, it is not too strange for me to make this kind of mistake. Also, I did not read the session discription too thoroughly after learning that Christopher was from The Nerdery and I knew I would be in for a treat regardless of the topic. All those points plus the exploration of Experience Design, of which I have little direct formal experience, made this one of the first ones I highlighted as a ‘should attend’ on my schedule.
I am very glad I did. Not only did I learn another new story from the seemingly boundless inherited tapestry of mythology, but I also gained some wonderful insight into how others have used the idea of active listening to improve all our lives. Christopher is a wonderful presenter and I feel this is one of the more engaging sessions I have been in at any camp.

Antaeus at work
got to do the work
imagine a hammer, everything needs hits
but need to figure out how to specifically do with it
what do we know about Antaeus?
not much
Antaeus was a child of gods, Giant in greek mythology
used to challenge people to wrestling
as long as his feet were on ground, invincible
Hercules liften him and beat him
His power was connection
HUman centrism
humans
the approach we take and solutions we arrive at are based on…
serving needs
deep empathy
Building that ase is work
needs have to be determined
The needs you serve have to be determined
You can get business values, but not the list that reflects the needs of the populations served
You don’t build empathy secondhand, must be direct working relationship
feedback won’t come looking for you, well bad does sometimes, good does not
We do research to find needs
We do work in person to build empathy
SO that means
You have to get up close and personal with the people you are trying to help
you have to forget about what you want and hear what they want
Terry Pratchett’s ‘first sight’
You’ll need a foundations understanding of the pressures and motivations in play
Iteration is key
Need to share work and accept it’s problems as fuel for improvements
That every change you make, opens the door to new potential improvements or issues
tech is constant change, always new was to fall behind
The needs and expectations of the people you serve is itself a moving target
Needs of the same person at 10:00am are not the same at 3:00pm
or first of month vs end of month
but it is worth it
innovation comes from observation and recognition of emergent needs
You will find opportunities to serve your users instead of someone else’s
but let’s be cautious on Best Practice, that normally means borrowing someone else’s solution
no idea how they were formed for the most part or what issue they were originally trying to solve
Human centrism only works when we make contact with, and learn from, those we want to serve
so why Antaeus anyhow?
when was he strong and when was he weak?
What does this imply about human centrism Experience Design
What happened when le lost touch, he got squished
so will we
so?
Probable Benefit Density Chart
He made it up
y=operating expertise | x=constituents contact
experts
novices
none-> consistent
quadrants Satisfying
Innovation
Experimentation
Bootstrapping
anyone can do usability testing
decent usability testing just means plunking someone down and watching what they do with the thing you built
the more consistent you make the contact, the more yor expertise grows
the more adept at applying methods AND analyzing results, the more value you get
avoid predictive questioning “will you…”
“future me is an unreliable bastard”
Like Anteaus hman centrism relies on contact
never one and done
there is no merit badge, or cert for this
finite shelf life on anything you learn
true iteration means a loop of articulation and testing
prototype just gets a conversation and data, can be a single sktch or a full fleshed out dummy site
The moment you lose touch, you are not Human Centric
this weems like a lot of change
and there is ALWAYS a reason not to engage
timeline too tight
Budget is too small
no access to right people
Changing course is not an option
what happens when we don’t engage
disconnecting is a stakeholder saying you can’t
If you care about experience, you have to stay in touch.
What an I do now and without a budget?
Gather a pool of users, to give feedback or participate in research when needs arise
your intentions and their intentions don’t align, but you can get them in alignment
review ticket queues, analyze it!
look for recurring issues and requests
then you can understand the enduring issues in the system
start planning to conduct research and testing as basic components of every new feature and build
make time, appropriate funds, gather resources
just start engaging with Drupal users and do not stop…EVER!
investing in contact will get us there
Iterative trigger theory
internal iterative trigger
contextual iterative trigger – you and the stakeholders and other devs, etc
external trigger – outside your team completely but cares about the ting you are trying to enable
we already do this with code quite often, this is a further step to the outside

Rediscover Google AMP: Learn to integrate AMP with your Drupal project
Jason Want

As someone who has installed and activated the AMP plugin for WordPress and considered it for Drupal, I went into this talk with a true novice perspective. When I left I had a new vision for how I could think about content and delivery. Rather than HTML, what if we design with an AMP first position that, when breaks, defaults back to plain HTML. This is a new idea in my head but the scalability implications, especially for news and updating information websites seems like it is well worth exploring. Though Google driven, this is actually all open source at the end of the day, so there is that as well.

Raw Notes:
Icebreaker, literally a pic
asks us some questions around news
AMP
we are not using apps anymore really
install, use it once and then back to normal
FB, Chrome, Amazon, ect
using mobile for browsing
increase in retail on mobile more and more
pre-2016 – Fliboard
Apple news with iOS9
2015 AMP annuonced
2016 – AMP results start appearing top story of mobile search
FB supports IA in articles
AMP Preview
Apple News 2 releases with iOS10
AMP in all search results globally
WP – AMP’d up tens of millions of sites
Reddit – Bing – Ebay
SO, what is AMP?
Open SOurce Library that provides straightforward way to create web pages and email that are compelling, smooth, and load near instantaneously
AMP on Github
3 core peices
1 AMP HTML – slightly mod HTML for performnce
2 AMP JS library
-manage resource loading async
-sandbox iframes
-precalc layout of every element
-disable slow CSS selectors
3 Google AMP Cache
using HTTP2
does not serve non-valid AMP pages
straightforward way
basically header does it
AMP components incude their own JS
amp-sidebar, amp-(fill in the blank)
No External Sytlesheets or inline Element Styles
instead use inline stylesheets
max 50kb of inline style
but include tag for fonts from some sources (limited)
disallowed CSS
Margin: 0
fiter: greyscale
only GPU accelerated
disallow regular markup, alternatives in component library
Forms
requires amp-form-0.1.js
uses Ajax and more involved of a setup than normal CMS forms

invisible sidebar to add things to
amp carousel, specific to what it can include and individual attributes
Amp-bind
Like Angular – change elements with the state of a selector
attributes can be set with this, so ecommerce possible, ebay biggest user right now
2017 – history again
Triple Lift serving AMP ads
canonical URL
amp-install-serviceworker for PWA
enhanced analytics
Fast Fetch ads
Adwords announces AMP pages for ads
2018
Many devs don’t like AMP since ‘not really’ open-web
moving to web packaging (open standard)
AMP email
AMP communicates AMP-based tech and web standards
AMP Consent for GDPR
amp-geo, dynamic goe-personalization – based on CDN POP location, low effort to get
Google Mobile Search includes page speed as ranking factor
roadshows
many, many resources
Drupal and AMP
D8.2 AMP Module
provides ability to enable AMP modes for content types
provides AMP formatters
GA, AdSense, DoubleClick, amp-pixel
you do not get AMP components
no sidebar
no AMP first approach
-> 8.3x
AMP is not the only way
existing solutions
component based rendering with use of my_module.libraries.yml to minimize CSS and JS assets
Responsive and optimized image assets
performance audit tools (Lighthouse)
Drupalcon session from Mike Carper Get a Perfect 100 in Google PageSpeed

Steering the Open Web
Michael Babker

Almost as a response to the last session I attended on AMP, this talk actually had to address that question of community driven vs corporate sponsored OSS. This is not a minor discussion point either, as this is one of the things that makes tings like Joomla and Drupal stand out among all the CMS projects in a way others wish they could claim. While sponsored development speeds things along, there is something to the idea of a small group of dedicated developers not only solving a difficult problem and then, on their own, with no financial or material incentive outside of altruism and a spirit of human togetherness, release their work to ther world for us all to share the benefits. This is a must watch for anyone wondering what this Free and Open Source stuff is really all about. (Hint: The Free stands for Freedom)

Raw Notes:
Joomla Background, WP, all across the web space
9 years in army
but always dabbled with HTML sites
Part of the Joomla Association Leadership Board
full time PHP, stopped doing talks for a couple years
used a phrase offhandedly – Open Source Advocate
was at Open Web Lounge at DrupalCon with WP, Joomla and Drupal there
all about OSS
top 3 CMS is 36% of web stpace
owns 78% Web Market Space
We are democratizing publishing
freedom to build! Freedom to change. The freedom to save
Security is a huge issue with us
lot of nuance
Automatic Updates – for the WP market, this is paramount, giving up some feature releases for this
Open Source is collaboration, not competition
Lot of security overlap between the projects
leaders and consumers talking together at Drupalcon
why it is important to keep it open and that is what he wants to discuss
Sustainability in OSS
even if OSS dies tomorrow, projects likely to keep going for a while
Sensio labs taking care of Symfony for example
can’t rely on take, take, take, there must be a give back

Personal Internet Security Basics
Dan Ficker
da-Man.com

To know Dan Ficker is to immediately like him. I could spend a few paragraphs elaborating on that, but for the purposes of this blog, let’s focus on Dan’s passion for doing things the right way. His twitter game, for example, puts mine to shame I feel and his live tweets are every bit as thorough as my notes hope to be. In fact, for the sessions I didn’t go to, but Dan did, I got great overviews of the main take aways. That, to me, is the highest form of Twitter use, conveying a whole session down to a few comprehensible pics and point summaries that are very easy to consume. He brought this same elevation of the form to a talk everyone should send to all their clients and friends if you care about their online security at all.

Raw Notes:
Not about how to make your company safe,
different talk
personal security
Security is an aspiration, not a state
encryption is your friend
What is encryption anyhow?
Math that keeps your data private
Internet is data packets
much like mail, many computers are sent this along the way
without encryption, they can read your data
encryption is the secret code between sender and receiver
one way encryption
also known as hashing
64 character is good
process is irreversible, no way to get back to the original data
commonly used for passwords
Public Key Encryption
Private and Public key
public key can decrypt messages written with the private key
demo/slide
good to send encrypted data
when is data encrypted?
HTTPS = Encrypted
Encryption keeps data secret between your browser and web server
browsers often show a padlock next to the URL
If not using HTTPS, you are sending your password unencrypted to the server
without HTTPS, any router or compoter alond the path can see file resources you are requesting. with HTTPS, they only can see what server you are requesting data from
Email can be secure, but consider it insecure in general
HTTPS does not guarantee no one will or will not see your data, but it is a risk not to use it
Wi-Fi,
radio waves
assume unsecure
public wifi is never secure
with a password and WPA2, it is at least encrypting data between your machine and AP
Passwords
more common one is actually ‘123456’
Traditionally
Come up with one or a few passwords to remember
now ee use them for everything
change occasional and a lot of just tack a number to the end
password resets, clunky
now we use hundreds of sites
sometimes banks, very secure things
some of these will get hacked and your paswords will get leaked out
Now you should probably change that same password on every site
only have a few passwords since hard to remember
Dan once had a ios app that had a site that he created a password for
that password got leaked
he got hacked, lost his netflix account to someone in Peru
got it back, not too bad
but could have been a lot worse
If you give your password to a company, they might not encrypt it
it might get hacked
https://haveibeenpwned.com/
better passwords
Random with alphabet, numbers and special characters
20+ characters long
unique for every site and service
no need to regularly change anymore
impossible to remember, good thing
passwork manager vault
you remember one password
optionally use multiple factors as well to protect this vault of data
Laspass, free
1Password, $35 year
iCloud Keychain, included with apple devices
KeePass, OSS
plugins for major browsers
offer to save any login info you put in browser
apps for desktop too
random password generator
notes for storing other related account data
multi-factor authentication
something you know(password)
something you have (yubikey)
or
something you are (fingerprint, face, DNA)
something you have or know, easier for enemies to use
better to use 2 factor, pass + one of the others
2 step verification
something you will be able to know and have
getting a code from a message for instance
not really multiple factor, but better than single factor
phone numbers are not secure
back end of a phone system is not too secure actually
coerced customer service peple may do the wrong thing
Solutions: Don’t de verification via SMS, Do it via an app on your phone
Google, Twitter, Facebook, etc allow for it
do need to deal with this on new devices
Passwords that are hard to remember
recovery questions on resets are actually a vulnerability
Solution, create random words that can be pronounced if need be
store the questions and answers in password manager notes areas
to some extent, you have to trust:
your ISP
phone company
cloud service providers
Trust no one!
LastPass or 1Password, if you lose yout password to that, you are lost
encryption means you contro your destiny and security
with great power comes great responsibility
Keep those keys safe!
Backups!
have an automated backup plan for important data
backup data on-site as well as offsite
safe deposit boxes or something actually make sense here
Securty Now! podcast
Steve Gibson, security researcher
SQRL – slick new password-less login system
GCR.com

My Session

Nobody wants a website. They want results!

After multiple attempts at this talk, I am really comfortable with it and see another evolutionary step with it to come next time I give it. I am very grateful to the people that came out, since I learn something new every single time I give this talk due to the Q&A being a discussion that I get to facilitate rather than a ‘ask the expert at the front of the room’ type of deal. I am getting better at this approach but I still find myself stealing the spotlight by adding my $0.02 when someone else might have a new point of view in mind who was just about to speak before I monologued on and on. It’s all a work in progress.

Wrapping Up

Almost every time I travel I am grateful for it. From Memorial Day to the end of June 2018 is 5 trips, and TCDrupal was the final one. I had some reservations about doing this right before WCEU, like literally the days leading up to me leaving, being home for 24 hours before taking back off to Belgrade. But was it worth it? 100% yes, absolutely no doubt about it.

There are things I can’t express thoroughly in the limited time I have to write, but there is simething amazingly spectacular and special about the Twin Cities community. Not just the Drupal community, but the whole place. From it’s downtown tourist attracting brightlights to the still of the fields between the freeways and no-mans-lands of industrial parks, there is a something to it all. But the Drupal community above that is even more something.

On the way back home, I randomly got to sit next to Karim Marucchi on a leg of my flight. If there is someone as in love with the ideals of open source and understanding the deep, real value in that for large scale organizations, well, I have not yet met them. It made the flight seem too short for a change. This community thing is amazing. I hope it is not too long before I can yet again return to Minneapolis, maybe for TCDrupal 2018.

Texas Camp 2018: The blazing heat of Austin and learning much about Drupal core

I occasionally get on an airplane and am freezing thanks to the AC being cranked all the way up. This was the case when flying to the lone star state and was immediately met with 104 degree heat when they opened the doors on the ground. To be honest, this is not my favorite kind of weather, but at least I would be indoors for the most part, since I was there for Texas Camp 2018.

This was the second time I have ever been to City of the Violet Crown or Texas at all for that matter. The first time had literally changed my life. It was my first Drupal event I had ever attended, DrupalCon 2014. It was the event where I went from just another sales guy in a another tech job I thought was interesting to full blown community member and Drupal enthusiast. It would be hard to understate the importance of this for my life and there is zero doubt I would not be writing this now, nor would I be even living this well, if it were not for that trip. Tamping down crazy expectations of something that life changing, I went in like I do every camp. What I got out of it was again some of the most memorable moments I have had in this space yet.

Food and Fun

Thursday

Speaker dinner

After a long, full day of training the speaker, sponsors, organizers and volunteers all got together for some Texas BBQ over at Stiles Switch. It was awesome to see everyone. The team made me feel very welcome with the food, by brining in some vegan quesadillas that really hit the spot along with some awesome veggies we all could share. Other folks with dietary restrictions also commented on how inclusive this event was. Not even going to mention it on the other things below, there were vegan options every singe time we were together, just as I think it should be.

Friday

No coffee to be found. I almost cried and went a walking around to try to find some. The only coffee place I could find opened at 10:00am. I don’t know what Texas thinks coffee is for exactly or when they think it should be consumed, but this was literally a first for me and was not too pleasant a surprise. However there were breakfast tacos. No lunch was provided so I ended up eating the really awesome and tasty breakfast tacos all day long

There was a Friday night after party as well. We gathered over at 4th Tap Brewing, another co-op, to play some board games and try their pretty terrific brews. I am normally not a beer drinker, but if you are in the area, drop in and see of they still have the Highland Scoundrel, a 10% ABV malty Scotch-style ale, made with peated malt smoked in-house. Best beer I have ever tried.

Saturday

More breakfast tacos! No coffee, which lead to sleepiness on my end and might have ended disastrously if not for the heroics of David Needham who brought me iced coffee.
We again were on our own for lunch and instead of just grabbing the free option, I ventured around the block to Wich ‘Wich which has pretty awesome selection of subs, wraps and salads. It was great to get to hang out with my Drupal folks over a meal.
The after party was a hoot, taking place not too far away from the venue at The Local Post where we had more drink tickets than we knew what to do with and a terrific spread of food. Afterwards, we found a pretty awesome karaoke spot over at Common Interest and sang and sang and sang until they threw us all out at closing! At the karaoke, we got to see something that was a first for me, a trumpet player playing along with some of the singers and doing the best version of ‘Georgia On My Mind’ I think I have ever heard.

Sessions

Training Day

Training: Visual Regression Testing with BackstopJS

I was super pumped to be able to co-present/assist with this training. I had done so at LoopConf and it was awesome. Being able to do it here again was also good, though this time I had my own agenda. I used the time to really wrap my head around some of the internals and how I could better use them for my workflow that I build Postitnow around. Here is a video of my then current results

Friday Keynote

Keynote: Breaking the Binary: The Politics of Code and Inclusivity in Technology
Nikki Stevens

Inclusion is one of the things we like to pay lip service to a lot I think. When Nikki showed some examples though of us getting it wrong, it was like a gut punch. I love a good gut punch, it makes me uncomfortable but motivates me at the same time. Like when I think about Accessibility, I always get that same feeling of ‘I am not doing enough’ which drives me to always make alt text at least now. Now I am inspired to always consider ‘am I being tolerant or am I being inclusive with this decision’. They are both important but they are very, very different ideas. I am glad to be on this journey of FOSS with so many people from so many backgrounds. This is and excellent talk to put us in the right direction, but it is up to each and every one of us to move down this path and make tomorrow better, and more inclusive, for everyone.

Great intro from Michael Schmid
Are things the way they are now, the way they have to be?
No
binary does not change for instance
code does not change
but we used to have balanced ternary system
nothing is inevitable or unchangeable
can we image a different future?
Politics
definitions from the crowd
slow
messy
intersection of change
manipulative
power is exchanged
tech work is political
algorithm to tell who on skid row on who gets a house
it affects real things
internet exists in the real world
internet is just tubes filled with cats
we forget that this is computers made with stuff from mines
in a system, we are all connected
do small choices matter? yes
vim vs emacs
trello vs jira
vagrant vs lando
all the choices matter
the foundation for inclusion is the ability to imagine new futures
no one knows how tech works in general populations
does you ‘user’ exist
average pilot issue
Open demographics began last year
gender: male/female/other
open-demographics on github
gender form to many more options
small choice, huge difference
distributed credit shatters illusions of meritocracy by showing all the labor involved
supported by charts that show 86% male in the space
reinforcing illusions in the system
What’s the business case?
Diverse companies do better and make more money
changing ideas about women
why are we still here?
what is the business case for not changing our hiring practices
data show this is import to change
what systems are we supporting with our corporate and
why are black women so
things designed for white faces/skin
not taking things like gender diversity in stats
tech is important and impacts the world

My talk

Discovery, discovery, discovery, discovery! The most important part of the project

I really had a great time presenting this. Had a pretty full house and people gave me good feedback. The more I think this stuff is common knowledge the more I am always surprised people say they have not encountered some of this stuff before. I am about to retire this one I think, going to replace it with the best parts of a couple other talks about process and give a polished ‘Follow the Process to Success’ kind of a talk, but no time line on that. Thanks to you if you came out to it or listened online.

Getting closer to your customer: Using Drupal in the last mile
Kelly Albrecht

I honestly went to this talk with the thoughts of a) I think Kelly is an awesome presenter and b) What does he mean by last mile here? I was right on the money with the first assumption, Kelly knocked it out of the park and this was a great presentation. I was honestly surprised by the second part, having my expectations completely subverted and walking away literally pumped about a part of Drupal Core I did no know even existed. I spend a lot of time talking the ‘hows’ around DevOps. Automating and such, which is at the heart of the tech side of ‘What is DevOps?’. I don’t spend almost any time thinking about or discussing the ‘Why is DevOps?’.

Why we are thinking this way and how to implement
How close are you to your customers now?
easy to push customers away if you see them as interruptions
lot of misconceptions of what DevOps is
people think about it terms of servers and machine
DevOps came from the developer and the operations folks not communicating
shortening the feedback loop and adding value to chain
customer benefits
break down the wall of confusion
automation helps
feedback though is critical
narrow version of this topic and that is ok, we talk about it a lot
want to automate to noops (no ops)
this is short sighted
Whole point is delivering something of value to the customer
think about getting everyone in loop to customer as communicative as possible
Dev, Test, Engineers to get to mind set
build,CI,Deploy,Operate,feedback,plan,build loop
manager / maker schedule
feedback comes in as tickets
that is what the devs thought
needs to think wider with it
apply flow and automation ot customer feedback as well
which new thing is more important than the other new thing
what’s new, what is, how is it?, what’s next
people lose faith based on how they misunderstand a product
WP as a community thinks about the end customer a lot more than Drupal generally does
What if we modified the Drupal login experience
Tour is in D8 core, not being promoted but very valuable
?tour trigger tour trick pop-up
demo
end user feedback at the end of a tour
get feedback quiz
if people feel their feedback would be heard, they give it
We need everyone’s perspective to make our product as intuative as possible
keep experimentations simple and cheap,
iterate to get closer to you
related: https://www.drupal.org/contributor-tasks/create-tour

a11y — ARIA Rules: To Use Or Not To Use
Susan LaRonde
Charles Leverington

ACCESSABILITY FTW! You know it as well as I do, this is everyone’s responsibility. As if to underscore this and literally have the universe put a face to the issue, when we went out to Karaoke on Saturday, a group of visually impaired folks were having a party and ripping the stage up with how great they were! I had an ah-ha moment of imaging any of them trying to use this site, or anything else I have touched. These awesome people should have the best experience possible. It is a real blessing that Drupal (and WP for that matter) make accessibility automatically OK and it does not take much to get 100% of the way there from our end as content makers and site builders. Don’t delay, make your site accessible today!

Speaker notes are available on the slides from link
examples of ARIA accessible approved code are freely examples
purpose
add functionality where semantic HTML does not
classes and how they relate
HTTML DOM tree JS Accessibility tree Assistive technology user
right click inspect, look at JS events, look for accessibility tree
only exists since 2012
most roles are automatically made in HTML5, leveraging semantic HTML
roll = navigation
no aria is better than bad ARIA
do not overwrite existing accessibility semantics
do not change the native semantics unless you have to
ARIA uses KISS principal
lot of code examples in this talk that ironically I had to strain to see from even my third row seat
third rule of ARIA, always make sure keyboard controls are usable
NVDA – NVAccess, free and open source

The traffic fallacy
Sean Eddings

I work on a team that is in the midsts of trying to adopt a more Agile methodology for working on projects that fall outside recurring events. Every time I see a talk about this stuff, I feel it puts me a much better place to even communicate ideas on how to apply SCRUM or Kanban with others. This talk started with a ‘where is he going with this’ moment. Then he got there and I don’t think I can think about tickets in the same way ever again. If you are struggling with tickets and your whole team being too darn busy to get anything done, this this is the talk for you and a way of thinking that will help optimize everything about functional deliverables.

lives in NYC
traffic is bad and many places are too
but thinking while stuck in traffic
not a ton of thought given to solving
he researched and Houston to Katyland TX
41 minutes to go 28 miles on average
right now, hour and 20 minutes
in 2004 nonprofit said 25million hours wasted
delay would double by 2025
about $503,620,000 lost opportunity per year
engineers, extra lanes means more capacity
Texas spent $2.8 billion to widen the Katy Freeway
average time increased from 41 min to 64 minutes
55% increase
the amount of freeway increased the number of cars increased, ratio remained the same and actually worsened
50 lane freeway in hong kong
freeway engineers have the best intentions
Need a vehicle and progress limit
Manhattan is experiment with congestion pricing
no go on this idea now
Stockholm, Sweden, bunch of islands
set up experiment, costs a $1 to enter central city
when people saw the data after 6 months
travel time decreased by 50%
emissions dropped by 14-18% in inner city
what about our industry
Backlogs are like this, things taking forever never get done
think, more people, get done faster
looked at task list and too many things assigned to single contributors
Value was taking too long to get to the customer, and everyone was too busy
looked at they way they managed processes
realized they had a command and control model
traditional management says 100% utilization of people was the key
but if everyone is busy, delivering value with predictability is not impossible
changed to prioritized delivering work to the customer as quickly as possible
goal: put our good ideas into action quickly
1. Visualize our process
2. limit our work in progress
3. improve as a team
1. visualized
moved away from tech, went to boards and paper
high level visibility for team
bottlenecks easier to see, respect or change
makes hidden work apparent
2. limit work in progress
how many things can you really work on?
excessive WIP heightens distractions
marked WIP limits on board
there is no right WIP limit for everyone
a lower WIP is generally better
a too high WP leaves work idle
too low leaves people ide
WIP limits are not rules
take a list of work, prioritize it based on biz value
that is your backlog
work top to bottom
right now thinking of tasks and breaking them in different ways so something is completed
task that needs approval example,
deliverable is the thing to be evaluated but that is a new card once feedback is given
conversation the team has on who does what
always keep things in motion though to get to value delivered
flow efficiency is the sum of value adding activities in relation to the throughput time
Flow Efficiency = Value Adding Activities/throughput time
Works because devs do not put things in To Do
selected for dev is a parking lot
ready to deploy is a staging area
what stayed the same?
Multi-functional team
dedicated team
queue hygiene
daily stand ups
retros
what changed
optimizing for getting a single work unit through the process as quickly as possible
ea members attached to work
team members pull work
that takes a lot of autonomy
Good to Great teams:
set the stage
gather data
generate insights
decide what to do
clone the retro
What did we learn?
Start with what we have
prioritize our work
visualize our process
limit WIP
Retros are how team improves
goal is to deliver value faster to customer
Agile and Lean, are all about experimentation and learning. Enjoy the trip

Saturday Keynote

Keynote: The Future of Drupal
Michael Schmid

I can not overstate how good this one was. Whatever you are doing when you read this, stop and go watch this talk! My summary is OK for my purposes but it loses Michael’s impassioned tone and the pure excitement he expresses about how we are being adopted as a community philosophy and software by governments around the globe. I went in thinking ‘oh great, another talk on how we are not growing and maybe some hand waving around some stats’ and I left going ‘oh yeah, I forgot that Drupal is the best expression of FOSS Internet CMS anyone has made yet. We are doing some great stuff and we can keep making it great!’ Some version of this should be the keynote at DrupalCon Seattle.

We need to talk Drupal
You taught us a lot Drupal
collaboration
parties
speaking
growing companies
You have changed lives
but you also changed a lot
Drupal 8 is not the old Drupal
Upgrading from D7->D8 is really hard
Modules work differently
OOP everywhere, you have to understand deeply
so many new things to learn
and already Drupal 9 is in discussion
Adoption is slowed down and it is scary
same is true for DrupalCon attendees
no DCon Europe
You also created physical and mental pain
Drupal Confessions
didn’t do his due diligence and found out too late
He is sorry for what happened
it is gone now, but caused a lot of pain he sees now
Had to learn composer and the CLI
so complex now
and now need to learn JavaScript
and it is very different too
and now the Security Issues
so many hours
is Drupal over?
is that our tomorrow?
NO! it is not over
Who is Drupal?
If we blame Drupal, we are blaming ourselves
we are all in there together
The others are not sleeping
Drupal is already powering the web
we have a lead
over a million sites
5% of top Million websites are Drupal
181 governments use Drupal for sites
So many governments decided to use this code we make
Want to buy a car, you are likely using Drupal sites
Lush – Drupal commerce, but because of our code
NBC, Pfizer, etc
Drupal is used more and more by bog and important websites
is more market share really better?
D.O Data Usage is voluntary
many people disable the ping back to Drupal
Now we have a road map!
we have a plan for next
an upgrade path
D9 Upgrade path, as easy as 8.0 to 8,1
will be smooth process
Camps are happening and getting more and more important
Camps are less intimidating than Cons
Camps are closer to the people
and much more affordable
only works if businesses sponsor
It is hard since ‘what do I get back’
small $ back, sure
but you are making Drupal better and possible
and send employees to participate and bring community closer
should be sharing that knowledge internally
lunch and learn it, share what you loved
employees: ask to go to camps
All the major frameworks using Symfony framework
Drupal started that
added complexity, but makes us all stronger
why embracing and using other tools
We have always done it, like jquery
Less overall work
brings us closer to the rest of the PHP world
easier to hire engineers
Composer
We need package managers
there is no other way
everybody uses it
everyone has always used package managers
like driving a car
it seems impossible at first
Secure is much more transparent
Drupal Security is completely volunteers
Same processes like Linux, Google, Apple, etc
hosting companies have you covered
JavaScript?
Most popular tools, tops the list
TensonFlow, React
Stanford intro CS is in JS
Decoupled frameworks
this is how most large sites work now
API first is key
MOre dev, design, UX capabilities
So Drupal, forefront of decoupling
Full support for JSON-API and GraphQL
Contenta CMS
Angular, Elm, Ember, React, Vue
still a hard problem, but this is getting easier
So Dear Drupal
Lets build the future
Accept and embrace change from all of us
we always making it better
but that takes investment from us all
and if we believe

Hmm, I Didn’t know that Module Existed!
Fito Kahn

I started out in 2013 on Drupal 7 and have never really put it away, though I do much more WordPress stuff in my personal dev experimentation. I thought I would go to this beginner talk to learn a little about what Drupal 8 modules were all about, especially after learning about tour being in core earlier in the day. I took incomplete notes because I kept opening tabs for the modules Fito introduced me to and was just like ‘wow, I didn’t know about this one’ with almost every feature. With a goal of introducing the site builder to how to make very customized sites without cracking open the code even once, he made the case very well that through configuration of the modules alone, D8 can do just about anything out o the box or with a couple easily installed components. Again, this list is incomplete, but good thing there are also resources like this.

Drupal?!?!
What have I gotten myself into?
Fear!
Some people on first site right now
Overwhelming at first
but there is hope
there are so many modules
and the Joy of D8 being awesome
History of D8 75 core modules in D8
not as many contrib modules needed
30 core in D7
important dates
3982 D8 modules in 2018
8641 D7 Modules
Experimental Models as well
many in core are turned off, just need activated,
Modules that will make life better
– Admin Toolbar/Tool Bar Extra
– Coffee and Coffee Extras – search in admin that is easy to use
– Pathauto – makes URLs with tokens easy
– SEO Checklist 0
– Content Moseration/Workflows – in core!
– multilingual support, content translation in Core – 4 modules
– Webform – you can design your own
– Simple Sitemap – lighter than XML sitemap
– Slick/Slick Extras – one of many solutions for slideshows/carousel
can be touch to configure
– Focal Point – crop API
– Honeypot – defer spam bots from completing forms, not as intrusive as captcha
– Autoban (Automatic IP ban) using watchdog table
– Scheduler
– Paragraphs – editors control flow of content – replaces bidy field with content types you can mix and match
– Views Reference – field conjunction with paragraphs, adds more flexibility
– Panels/Panelizer/Display suite – create drag and drop layouts for customize looks of site
Let’s remember this is all to avoid actually touching code
this is all just install and config, very different than hand changing views
– settings tray – core. Customizer for Drupal
– Bricks
– String overrides
– Statistics – in core – can slow down the site but valuable info
– Module filter
– Alexa – yeas integrate Alexa with a D8 site

Archiving and Visual Regression Using Drupal 8
David Stinemetze

David was so impassioned about this idea, I just had to see this in action! Going in I was not 100% sure what to expect from this. The idea, as he had described it to me, seemed logical but I wasn’t sure about how it did it nor did I really get an idea of why you would even do this. Leaving the session, I was blown away by the quality of what they are building and sharing with the community. Leveraging the beautiful solution of BackstopJS, we get a solid path for backups, archiving and automatic testing that I had not thought of before. It is well worth watching just for David’s enthusiasm.

Old parts of site don’t change
testing anyway
add on a wayback machine element
Module overview
Web Page Archive module snap local or remote, triggered periodically, compare snapsops based on URL or XML sitemaps
Snapshops can be captured on any site
not just current instance, not just drupal, not just sites you own
Requirements, D8
Why?
Learn D8, Ease of use for non-tech users
Drupal 8 plugin ecosystem makes it easy to support additional use cases
give back to the Drupal community
Capture Utilities
Drupal plugins responsible for performing captures
uses annotation based discovery
configurable per instance
Captures screenshots of URLs
uses Headless chrome and puppetier
examples
can also capture raw HTML
Skeleton Capture, prototyping tool
Web Page Test Capture Utility
Captures web performance test results
just capturing it now
other proposed use cases
Configuration Archive Capture
Rendered DOM capture
Google Analytics Capture
Security Scan Utility
can configure easily with dropdowns
don’t want to manually capture each page, use site map
capture stores things, storage can be an issue
Current Project Sessions – yesterday Spot the Difference tool
Visual Regression is all about the things human eyes easily overlook
slider compare
compare screenshots Heatmap
bright red to highlight differences
Release plan drupal.org/node/2930857
Some remaining issues
You can help
needs new code, needs reviews, etc
demo time
in config, website archive tab

Goldilocks Decoupled: What the Future Holds for Decoupled Publishing
Mike Minecki

I hear decoupled being talked about a lot and I am certainly one who has seen it as not only a better way to think about building for multiple end user system. Mike reminded us all that this is not a panacea for all our issues and there are a lot of disadvantages for decoupled systems if the team is too small, the use case requires a lot of the CMS solved services or other things that a REST API can not do well yet. Even though this was towards the end of the camp, the conversation that flowed from the end of the presentation was lively and I didn’t capture that effectively. If this sparks an interest, go listen to the conversation from the recording.

This is not a demo or a show and tell
why Devs love Decoupled
Hard choices
are you doing stand alone or hub
chart for this out there
simplifies the ideas of it
if there are other apps basically
heart of the chart is layout and display management
modules, toolbar notifications, caching and performance
end up with choices
coupled, progressive, fully decoupled
more JS –>
Why do Devs love it?
bad reasons
new and shiny, Drupal is hard, performance, Dogfood API
Why good
good reasons
Shared templates and language
building frontend in JS is really fast and rather easy
Static site generators are really performance
separation of concerns
a lot more to a website than static markup and content
Content routing and complexity for instance
Decoupled pitfalls
Snowflakes – every front end unique
can’t install stuff (like twitter cards or sitemap.xml)
caching and routing – static site generators don’t work for bigger sites
Progressive Decoupled – the middle way
Cons
Redheaded stepchild of the monoloth and JS framworks
need deep understanding of both to build new stuff
DX is only great if 2 teams
Tons of Content APIs
0 ways to render them without a dev
44 decoupled backend listed on headlesscms.org
that’s weird
off the reservation – Arc publishing
a pagebuilder
Superdesk publisher
lightweight source renderer
Goldilocks
benefits for devs
100%JS
Declarative
Editorial controls
Built to work with reverse proxies
Standardized workflows

Wrapping Up

It was an intense few days for me. Some personal stuff happened, like it often does, that distracted me a bit. Very fortunately for me I was far from alone and had my Pantheor and Drupaler family members there to help me get back on track. This event also re-sparked an honest curiosity about what this D8 thing can even do. Time to get exploring now for sure. I know I will be digging into a few things more deeply and don’t be surprised if you hear me talking about tour sometime very soon at a DrupalCamp, as a BOF if nothing else. Also, I didn’t have the chance to see it live, but for sure check out the session about Drupal’s Layout Builder that I am pretty keen on as well. So many good ideas, hard to fit it all in one blog post.
I do hope I get to go back to Austin again in the future, but man I sue hope it is not nearly as hot when I got back. If nothing else, I hope to return for a future Texas Drupal Camp!

#WordPress Jargon Glossary

What does that even mean?

Originally published:
https://make.wordpress.org/marketing/2018/02/28/wordpress-jargon-glossary/

It’s easy to forget that in WordPress we use a lot of jargon. So the Marketing Team has created this document and a downloadable PDF as a resource for you.
https://make.wordpress.org/marketing/files/2018/02/WordPress_Glossary_of_Jargon_for_print.pdf

.htaccess

.htaccess is a configuration file for use on web servers running the Apache Web Server software. When a .htaccess file is placed in a directory that is in turn ‘loaded via the Apache Web Server’, then the .htaccess file is detected and executed by the Apache Web Server software.

a11y

Accessibility (https://a11yproject.com/). A11y is an acronym for accessibility. The 11 represents the 11 letters that that were removed between the a and y to make accessibility shorter to write particularly on social media.

Apache

Apache is the most widely used web server software. Developed and maintained by Apache Software Foundation. Apache is an Open Source software available for free.

API

An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

Atom

Free and Open Source text editor designed for code development- https://atom.io/.

Avatar

An avatar is an image or illustration that specifically refers to a character that represents an online user. It’s usually a square box that appears next to the user’s name.

Back-end developer

A back-end developer builds or manages the WordPress database, CMS and how it connects to the server. The front end user, for example, a content creator, can then use WordPress to create content and other applications available at the front end of the website.

Backlink

Incoming links to a web page. Search engines view backlinks as a reputation builder. The more quality (as determined by the search engine) incoming backlinks a site has usually helps a site to rank better in search engine results.

bbPress

Free, open source software built on top of WordPress for easily creating forums on sites. https://bbpress.org.

Beta

A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process.

Block

Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the Gutenberg editor and some plugins. The idea combines concepts of what in WordPress today we achieve with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.

Category

The ‘category’ taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging.

Child theme

A Child Theme is a customized theme based upon a Parent Theme. It’s considered best practice to create a child theme if you want to modify the CSS of your theme. https://developer.wordpress.org/themes/advanced-topics/child-themes/.

Chmod

“CHange MODe” is a way to make a file executable by a linux or mac based computer.

CLI

Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress.

Contributor Day

Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/.

Core

Core is the set of software required to run WordPress. The Core Development Team builds WordPress.

Core Contributors

Core contributors are those who have worked on a release of WordPress, by creating the functions or finding and patching bugs. These contributions are done through Trac. https://core.trac.wordpress.org.

Cowboy Coding

This refers to making code changes on a live site rather than in a staging site.

cPanel

The brand name for a specific type of standardized web hosting control panel used in shared linux web hosting environment. https://cpanel.com/.

CSS

CSS is an acronym for cascading style sheets. This is what controls the design or look and feel of a site.

Custom Field

Custom Field, also referred to as post meta, is a feature in WordPress. It allows users to add additional information when writing a post, eg contributors’ names, auth. WordPress stores this information as metadata. Users can display this meta data by using template tags in their WordPress themes.

Custom Post Type

WordPress can hold and display many different types of content. A single item of such a content is generally called a post, although post is also a specific post type. Custom Post Types gives your site the ability to have templated posts, to simplify the concept.

Customizer

Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings.

Development Site

You can keep a copy of your live site in a separate environment. Maintaining a development site is a good practice that can let you make any changes and test them without affecting the live/production environment.

DNS

DNS is an acronym for Domain Name System – how you assign a human readable address to a website’s exact numeric coded location (ie. google.com used the actual IP address 216.58.194.206).

Excerpt

An excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that plugin’s metabox.

Extensible

This is the ability to add additional functionality to the code. Plugins extend the WordPress core software.

Featured image

A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts.

Filter

Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output.

Footer

The term Footer usually refers to the bottom section of a web page. It usually contains information like copyright notices, links to privacy policy, credits, etc. It may also contain source code to include scripts that a WordPress theme developer uses, and putting them in the footer is considered good practice.

Front-end developer

Front-end web development is the practice of producing HTML, CSS and JavaScript for a website or a web application which a user can view and interact directly.

FTP

FTP is an acronym for File Transfer Protocol which is a way of moving computer files from one computer to another via the Internet. You can use software, known as a FTP client, to upload files to a server for a WordPress website. https://codex.wordpress.org/FTP_Clients.

Git

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Most modern plugin and theme development is being done with this version control system. https://git-scm.com/.

Github

Github is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. Github introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/

GPL

GPL is an acronym for GNU Public License. It is the standard license WordPress uses for Open Source licensing https://developer.wordpress.org/themes/getting-started/wordpress-licensing-the-gpl/.The GPL is a ‘copyleft’ license https://www.gnu.org/licenses/copyleft.en.html . This means that derivative work can only be distributed under the same license terms. This is in distinction to permissive free software licenses, of which the BSD license and the MIT License are widely used examples.

Gravatar

Is an acronym for Globally Recognized Avatar. It is the avatar system managed by WordPress.com. https://en.gravatar.com/.

GTE

General Translation Editor – One of the polyglots team leads in a geographic region https://make.wordpress.org/polyglots/teams/.

Gutenberg

Forthcoming editor for WordPress coming in 2018. The editor will create a new page and post building experience aimed at making writing rich content much simpler, It will use ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/plugins/gutenberg/ https://ma.tt/2017/08/we-called-it-gutenberg-for-a-reason/.

Header

The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes.

Hooks

In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.

HTML

HTML is an acronym for Hyper Text Markup Language. It is a programming language that is used in the development of web pages and websites.

HTTP

HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands.

HTTPS

HTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The ‘S’ at the end of HTTPS stands for ‘Secure’. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information.

iFrame

iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser.

JavaScript

JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/.

JSON

JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.

Kitchen Sink

When using the WYSIWYG (What You See Is What You Get) editor in WordPress, you can expand the capabilities to allow more options. This expanded area is called the “Kitchen Sink.”

LAMP

LAMP is an acronym for Linux, Apache, MySql, PHP. It is the underpinnings of WordPress.

LEMP

LEMP is an acronym for Linux, NGINX, MySQL, and PHP.

Local Install

A local install of WordPress is a way to create a staging environment by installing a LAMP or LEMP stack on your local computer.

Loop

The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop.

Major Release

A set of releases or versions having the same major version number may be collectively referred to as “X.” — for example version 2.x.x to refer to versions 2.0.1, 2.3.1, 2.7.10, and all other versions in the 2. (two dot) branch of that software. Major Releases often are the introduction of new major features and functionality.

Meetup

All local/regional gatherings that are officially a part of the WordPress world but are not WordCamps are organized through https://www.meetup.com/. A meetup is typically a chance for local WordPress users to get together and share new ideas and seek help from one another. Searching for ‘WordPress’ on meetup.com will help you find options in your area.

Meta

Meta is a information about data. The word “Meta” can be created for Posts and Terms. Meta is also a name that’s used for the inside workings of a group of the WordPress community. For the Marketing team, we work on internal WordPress sites like WordCamp Central and Make WordPress.

Metabox

A post metabox is a draggable box shown on the post editing screen. Its purpose is to allow the user to select or enter information in addition to the main post content. This information should be related to the post in some way.

Migration

Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies.

Minor Release

A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 2.2.x to refer to versions 2.2, 2.2.1, 2.2.10, and all other versions in the 2.2 (two dot two) branch of that software. Minor Releases often make improvements to existing features and functionality.

Multisite

Multisite is a WordPress feature which allows users to create a network of sites on a single WordPress installation. Available since WordPress version 3.0, Multisite is a continuation of WPMU or WordPress Multiuser project. WordPress MultiUser project was discontinued and its features were included into WordPress core.https://codex.wordpress.org/Create_A_Network.

MySQL

MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/.

Navigation Menu

A theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site.

NGINX

NGINX is open source software for web serving, reverse proxying, caching, load balancing, media streaming, and more. It started out as a web server designed for maximum performance and stability. In addition to its HTTP server capabilities, NGINX can also function as a proxy server for email (IMAP, POP3, and SMTP) and a reverse proxy and load balancer for HTTP, TCP, and UDP servers. https://www.nginx.com/.

Open Source

Open Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source is often delivered via a licensing model, see GPL.

P2/O2

P2 is the term people use to refer to the Make WordPress blog. It can be found at https://make.wordpress.org/.

Page

A page in WordPress usually refers to the page post type. It is one of the default pre-defined WordPress post types. Pages are static one-off type of documents which are not tied to the blog’s reverse chronological order of content.

PHP

PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. http://php.net/manual/en/intro-whatis.php.

Ping

The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.”

Pingback

A pingback is a special type of comment that’s created when you link to another blog post, as long as the other blog is set to accept pingbacks. Pingback allows you to notify other bloggers that you have linked to their article on your website. Although there are some minor technical differences, a trackback is basically the same thing as a pingback.

Plugin

A plugin adds code which performs a function on your site. These can be free in the WordPress.org Plugin Directory or can be cost-based plugin from a third-party.

Plugins

A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. https://wordpress.org/plugins/.

Point Release

The least significant digits in a release number, refers primarily to the patch level. For example 2.2.1 or 2.2.5 Point releases are often bug fixes or security patches, sometimes adding new functionality but mostly just amending an issue with a Major or Minor release.

Polyglots Team

Polyglots Team is a group of multilingual translators who work on translating plugins, themes, documentation, and front-facing marketing copy. https://make.wordpress.org/polyglots/teams/.

Post

Posts are entries listed in reverse chronological order on the blog home page or on the posts page.

Post Meta

Post meta are also known as metadata or custom fields in WordPress. They can be defined as data that describe posts. For example, the post type is a meta data, or the post format. In WooCommerce, the price is a post meta, or the product type.

Post Slug

The post slug is the user friendly and URL valid name of a post. Most common usage of this feature is to create a permalink for each post.

Production Site

A production site is a live site online meant to be viewed by your visitors, as opposed to a site that is staged for development or testing.

React

React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/.

Release

A release is the distribution of the final version of an application. A software release may be either public or private and generally constitutes the initial or new generation of a new or upgraded application. A release is preceded by the distribution of alpha and then beta versions of the software.

Release Candidate

A beta version of software with the potential to be a final product, which is ready to release unless significant bugs emerge.

Release Lead

The community member ultimately responsible for the Release.

REST API

The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.

Revisions

The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision.

RSS Feed

RSS is an acronym for Real Simple Syndication which is a type of web feed which allows users to access updates to online content in a standardized, computer-readable format. This is the feed.

SFTP

SFTP is an acronym for Secure File Transfer Protocol: A standard protocol to move computer files from one host to another over the Internet with enhanced security.

Shortcode

A shortcode is a code generated by your plugin to insert a form or function in a specific location on your site like a widget or in the copy.

Sidebar

A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.

Slack

Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/.

SSH

Secure SHell – a protocol for securely connecting to a remote system in addition to or in place of a password.

SSL

Secure Socket Layer – Encryption from the server to the browser and back. Prevents prying eyes from seeing what you are sending between your browser and the server.

Staging Environment

A staging environment is a non-production copy of your site. This is a private place to build the site — design, copy, and code — until your client approves it for production or live. Sometimes used in addition to, or as a Development Environment.

State of the Word

This is the annual report given by Matt Mullenweg, founder of WordPress at WordCamp US. It looks at what we’ve done, what we’re doing, and the future of WordPress. https://wordpress.tv/tag/state-of-the-word/.

Static Front Page

A WordPress website can have a dynamic blog-like front page, or a “static front page” which is used to show customized content. Typically this is the first page you see when you visit a site url, like wordpress.org for example.

Support Forum

WordPress Support Forums is a place to go for help and conversations around using WordPress. Also the place to go to report issues that are caused by errors with the WordPress code and implementations. https://en.forums.wordpress.com/.

SVN

Apache Subversion (often abbreviated SVN, after its command name svn) is a software versioning and revision control system. Software developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly compatible successor to the widely used Concurrent Versions System (CVS). WordPress core and the wordpress.org released code are all centrally managed through SVN. https://subversion.apache.org/.

Tag

Tag is one of the pre-defined taxonomies in WordPress. Users can add tags to their WordPress posts along with categories. However, while a category may cover a broad range of topics, tags are smaller in scope and focused to specific topics. Think of them as keywords used for topics discussed in a particular post.

Taxonomy

A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies.

Team Rep

A Team Rep is a person who represents the Make WordPress team to the rest of the project, make sure issues are raised and addressed as needed, and coordinates cross-team efforts.

Theme / Parent Theme

A theme dictates the style and function of your WordPress website. Child Themes derive from the main parent theme.

Trac

Trac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/.

Trash

Trash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days.

Trello

Project management system using the concepts of boards and cards to organize tasks in a sane way. This is what the make.wordpress.com/marketing team uses for example: https://trello.com/b/8UGHVBu8/wp-marketing.

UI

UI is an acronym for User Interface – the layout of the page the user interacts with. Think ‘how are they doing that’ and less about what they are doing.

Update

This is the mechanism by which WordPress releases new features as well as provide security patches as needed. You should always update WordPress to the latest version. When a new version of WordPress is available you will receive an update message in your WordPress Admin Screens. To update WordPress, click the link in this message.

URL

specific web address of a website or web page on the Internet, such as a website’s URL http://www.yourwebsite.com.

UX

UX is an acronym for User Experience – the way the user uses the UI. Think ‘what they are doing’ and less about how they do it.

Vue

Vue (pronounced /vjuː/, like view) is a progressive framework for building user interfaces. https://vuejs.org/.

VVV

The primary goal of Varying Vagrant Vagrants (VVV) is to provide an approachable development environment with a modern server configuration. VVV is ideal for developing themes and plugins as well as for contributing to WordPress core. https://varyingvagrantvagrants.org/.

W3C

The World Wide Web Consortium (W3C) is an international community where Member organizations, a full-time staff, and the public work together to develop Web standards.https://www.w3.org/.

WCAG

WCAG is an acronym for Web Content Accessibility Guidelines. These guidelines are helping make sure the internet is accessible to all people no matter how they would need to access the internet (screen-reader, keyboard only, etc) https://www.w3.org/TR/WCAG21/.

Widget

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

WooCommerce

Woo Commerce also known as Woo, is an eCommerce solution for WordPress. If you are going to set up an online store or marketplace, WooCommerce powers a great deal of online transactions and is a good choice since it has a robust community behind it. https://woocommerce.com/.

WordCamp

A WordCamp is a conference where the WordPress community come together to teach one another what they’ve learned throughout the year and share the joy.https://central.wordcamp.org/about/.

WordCamp Central

Website for all WordCamp activities globally.https://central.wordcamp.orgincludes a list of upcoming and past camp with links to each.

WordPress Codex

Living online manual to WordPress.org https://codex.wordpress.org/

WordPress.com

An online implementation of WordPress code that lets you immediately access a new WordPress environment to publish your content. WordPress.com is a private company owned by Automattic that hosts the largest multisite in the world. This is arguably the best place to start blogging if you have never touched WordPress before. https://wordpress.com/

WordPress.org

The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/

WP-CLI

WP CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/

WYSIWYG

What You See Is What You Get. Most commonly used in relation to editors, where changes made in edit mode reflect exactly as they will translate to the published page.

tags:

glossary, #jargon, #wordpress-terms

A case for Markdown and the WP 5.0 Editing Experience

(Note to my loyal readers, yes this is not my normal format, but I wanted a platform to say this out loud, so here it is.)

I am pretty darn excited about the possibilities of the WordPress 5.0 editing experience. You might still be calling it Gutenberg and that is OK, but when WP 5.0 drops it will just be ‘the editor’. The idea of manipulating my content with drag and drop and no more messy handwritten shortcodes is broadly appealing. I have a few awesome personal anecdotes about why this is so awesome but the more I talk to agencies the more I see that one of the serious concerns is giving the content editor too much control. If you can insert columns or other strange blocks ‘where they don’t belong’ on a landing page, all hell is going to break loose with brand standards.

Enter the Markdown…

What if instead of freaking out about how to retrain our clients, we seize the opportunity to help them embrace a much cleaner path that would require almost no change in their tool chain and less than 30 minutes to master (with a cheat sheet handy of course).
Markdown was specifically created as “an easy-to-read, easy-to-write plain text format, and optionally convert it to structurally valid XHTML (or HTML)”
Do you want to something in italics? word
Do you want to bold something? word
The notation is very stable and can be written in Word, Google Docs, notepad or (insert your favorite text editor here). Hundreds of resources are available online to help you learn it and there are so many reference materials, that might be the most overwhelming part.

And what does this have to do with the WordPress 5.0 editing experience?

You can cut and paste or WP-CLI post create from a text file into Gutenberg and it will correctly transform it into beautiful HTML. Once there, you hit one (1) button from a dropdown called ‘Convert to blocks’ and then you have every line break as it’s own block. And the kicker here, is if you just paste in a URL to some media asset it can recognize, like a tweet or a youtube video, it will just auto form a proper block around it.

This is literally random, from wikipedia

Once the ‘base content’ is there in blocks, well, the art of setting this image here and that image there and such is actually quite fun. In fact this post was made exactly this way and yes, there are random pictures from wikipedia throughout it to prove a point. I did not type those on my original post with you can see over on my Github, here: https://github.com/mcdwayne/PublicDocs/blob/master/A-Case-For-Markdown.txt

Why not just use the 5.0 editor to write your content?

For me personally, this comes down to workflow and tool choice. I have burned myself way too many times asking my browser not to crash, refresh or otherwise forget what I am currently doing in that window while typing. Auto save points like Google Docs can make that better, but you know what never forgets? Sublime text. You know what works on airplanes? Sublime text. I do however accept that I am in, what was once descried to me as, the 0.2% of content creators who think this way currently.

But what if, instead of giving your content creators a new window and a lot of shiny new toys that you might be able to lock down but would raise so many more questions than answers, what if instead you showed them a way to be consistent with their brand content and made formatting and publishing this content a very simple, well understood process that would let you then better explain the entire editor slowly to their trusted team members. Let every intern and new person write all the Google Docs in the world, but only the trusted get to use the WP Editor.

What world does that workflow exist in?

Don’t copy the URL, just Copy Image and paste that, 5.0 Editor 

That is a data point I don’t have. I will admit I am not doing a lot of client work where content creation is something I am involved with and have no idea if there is an audience for this beyond getting devs to turn in content faster, but I wanted to say my peace about it somewhere. Let me know on Twitter or in the comments what you think.

Thanks for listening. Next post should go back to my normal format.

WordCamp St. Louis 2018: Bowling under the arch and building a something

When I was 19 years old, I drove to Branson, MO basically because I thought it sounded fun based on a Simpson’s reference and a desire to see some true American camp, before the monoculture swallowed us whole. On the way back I got to see Hannibal, MO where Mark Twain originated from. On the way there, from the freeway, I got to see the great national civic treasure known as The Gateway Arch. Twenty years later I finally made a pass back to the Gateway to the West for WordCamp St. Louis 2018

Food and the Fun

Speaker Dinner

I landed and was immediately greeted by 88 degree weather, which was quite the jump from my lovely hometown’s cold, blustery wind. A quick drive from the airport found me at my hotel, where I had just enough time to drop bags and head on down to Urban Chestnut Grove, a local brewpub with a wide selection and highest standards. The food was about as middle of the southern Midwest as you can think. I had pretzels and fries while the rest of the party feasted on charcuterie plates and deviled eggs. It was awesome to catch up with old friends and meet some new people. It was a great way to start the weekend.

Saturday

I was happy to find coffee and tea awaiting me to set up before registration. College catering has one consistency across any campus: it’s coffee is never too strong. Lunch found a very nice twist on box lunches where I get a Mediterranean plate with lovely tabbouleh and hummus with a really great vegan oatmeal cookie. I was super happy. We ate scattered throughout the halls and everyone had some time to get outside and enjoy that super warm weather, which many folks remarked had come from nowhere and how it had just plum skipped over spring and got straight to summer.

After Party

We went bowling! At the Tropicana Lanes. This is the largest bowling center in Missouri featuring 52 lanes. That is a lot of bowling balls. The food was very meat and cheese pizza based with a salad somewhere under a mountain of parmesan. I was fortunate they got a few vegan pies from Pi Pizzeria with plant based ‘cheeze’ and, new to me Match Meat which honestly tasked so much like sausage I didn’t believe them at first. We also played a few board games, but the star of the evening was in fact the bowling. The crowd, the noise, the smells. It was a really fun time hanging with the fine folks of St. Louis.

Afterwards some of us ended up finding no good karaoke options but a good late night time was had

Sunday

Same old coffee and tea. I got my own lunch from the local culinary jewel Revel Kitchen. Their southern style jackfruit wrap is just too good. If you are in the area, check them out. The black bean brownies were also solid.

Sessions

Opening Remarks

Saturday Keynote

Keynote: Build With the Community
Chris Wiegman

This was the first time I had gotten to hear Chris speak and that is a shame. His no nonsense style really reflects the professionalism you would want in an airline pilot. Matter of fact and honest. There are a lot of ways to get involved with this community and a lot of communities within to get involved with. I loved his advice of solving an issue you have and donating that code out into the world. Spoilers: I did that based in part, by motivation from this keynote. See the wrapping up section to see what I mean.

Raw Notes:
The community is big
complex
lot of smaller communities within
WordPress plugin to make my life easier
paid to maintain websites,
did it for himself
then uploaded and successful
really took off
scratched someone else’s itch
Not a ton of other security at the time
was originally the only thing there really was
before wordfence
go big or go home
Release often
great code is great
but personal connection is best
put all the posts out you want, but knowing someone goes so far
Dont be afraid to say it
use your own voice
imposter syndrome
Community is great
But people do burn out
some people give everything
don’t be afraid to ask for something back
take donations
be prepared to say NO!
Know when to ask for help
Caldera -Josh asked for help and it blew up successful this year
Keeping up with support requests
Don’t underestimate how big community can get
pay attention to the data
pay attention
TEST THINGS
at least read your work and hire someone to read it before publishing
New features !== a better product
get involved! First step is easy, meet people
Meetups, camps, you aleady took it be being here
Hallway track is super important

Debugging WordPress: Tips, tricks, and tools
Joe McGill

Debugging is hard. Well, everything is hard if you don’t use the right tools. Joe sat us down and walked us though things he had to learn the hard way. Some of this stuff was old hat and some of it I didn’t ever see anyone ever demo before. This is one of the kinds of talks that I think make up the heart and soul of a camp. Folks learning basic best practices from one another and improving the way we all make code.

Raw Notes:
BEfore you begin
check up to date
check other things first
Debugging constants – part of wp-config.php
WP_DEBUG – Display PHP errors, warnings, and noticies
WP_DEBUG_LOG – Sav errors to log
WP_DEBUG_DISPLAY – Hide errors from the Browser
SCRIPT_DEBUG – will load dev versions of CSS/JS
SAVEQUERIES – save every query along with execution time and what called it
WP Developer Plugin
installs a menue of tools you might find helpful
Debug Bar – add debugging info to admin bar
Debug Bar Console – PHP/SQL console in admin to test with
quick dummy checks
DEBUG BAR CRON – see stats of cron jobs
Rewrite rules inspector – View and flush rewrites
Log Depricated Notices – notes deplricated fucntions
User Switching – quickly switch between multiple users
Beta Plugin – run beta versions of WP
Demo time!
Debug bar
XDebug – general use tool for PHP on local installs
upgrades var_dump()
adds stack traces for noticies, errors, etc.

WordPress, The GPL, & Ethics
Wolf Bishop

For any talk about the GPL, I am already going to attend and take notes. But Wolf was presenting on something new to me that was based on a specific reading of the GPL and something I have been turning over in my mind since that session. That topic is the GPL clubs that have spring up. Redistributing code in a way that some people see as abuse and others see as a blessing. It is one of the messy parts of any democracy that some people will read things different I suppose. Ultimately I think there is more of a market in services based companies rather than licensing. At least that is what I am hoping is true with this whole hosting thing.

Raw Notes:
Basic rules:
Do not claim another’s code as your own
Cite original
Do not released forked items under the same product name
if you modify GPL software, it must remain GPL
Dev edition:
Expect the product to be forked
accept that you are giving others permissions to redistribute your work
Do not whine when people give away your work, that is what you signed up for
What is forking?
Modifying software into a new product regardless for public or private, free or paid
is forking Ethical? YES!
Examples:
WP – forked from B2
WooCommerce is a fork of Jigoshop
CMS Commander fork of ManageWO
WP Sync DB fork of WP Migrate DB
Pretty common process
GPL Clubs
a website that redistributes WP themes and plugins, usually for a monthly fee or one off purchase
are they ethical? Yes
well….mostly. These operate outside the GPL do not last very long
activate a license as they are
gpldl.com
gplguru.com
search ‘gpl club’
Pros/Cons
cons – no support
no auto updates
Pros – Test premium plugins/themes on the cheap
Cheap premium plugins//themes
nobuda.com (sp?) only one that can autoupdate
basically fee marketing channel (if above board)
protecting yourself
Truly understand the GPL
Provide rock star support
fair pricing
frequent updates are really key
release for free and charge for auto updates and support
His opinion:
Forking and GPL clubs are ethical and legal
devs who release under GPL must understand implications
Devs should release plugins/themes for free, but charge for support and auto-updates
End Users have a responsibility to understand the GPL

GIT it under control: an introduction to GIT and code management
Paul F Gilzow

Go, git, go! I love git. I give talks on git as well as workshops. Even though this session was for the complete novice, I absolutely loved it. Paul’s energy is infectious and his war stories from the field are very real. Seeing someone get it for the first time is just amazing and we got to see Paul talk some people through points to comprehension for the first time, with a little help from some blackboard diagrams. Go learn git deeply as you are learning anything else.

Raw Notes:
Version Control System
not necessarily software
but git is software
Local, Central, Distributed
local VCS
examples dates directories and or fies
revision control system
advantages: cheap, simple easy to work with
Disadvantage: collaboration can be difficult
error prone
can’t work offline
Central
Subversion
Advantage: Collaboration much easier
Everyone knows where the latest version is
more control over who has access
everyone can clearly see what everyone else is working on
Disadvantage:
single point of failure
you can’t commit changes if you don’t have access (no offline)
can be slow
Distributed
Peer to peer version
everyone has their own complete copy of the repo and exchange patches.
Advantages
Collaboration is easy
every clone is full copy
you can work offline
local changes/commits can be made, history maintained without having to share with anyone until you are ready
common operations are fast
permissions are lightweight
Disadvantages
Every clone is a full repo copy
does not handle binary files well
no built in error handling
management permissions are lightweight
Git advantages:
Everything is local / the ability to work offline
branching is easy and really really fast and easy
disadvantage
can be confusing
does not impose a specific workflow
CLI based, though not always intuitive
145 commands in git
access control is read or notread
Does not support empty directory
What is GitHub? (or bitbucket, GITLab, Gogs, Gilea, etc)
Git Basics and Terms
everything starts with git
GUI is available
git –help
branch (the noun) not the verb
default new repo has master
but names do not matter
branches are unlimited
start from a specific history in an existing branch
Branching is BIG
you can have your own little universe to experiment in
freeing!
clone
create a copy locally and track changes against the remote
HEAD – the current branch
Working Tree
The files you are working on
Normally contains the contents of the HEAD, plus any changes you have but not committed
there is only one working directory, if you switch branches, GIT replaces
Index
where things live
Status, tells you what is going on in the world
add
commit
store all the contents of the index and a message
how the file changed
a reference back to the commit it came from
an ID (hash)
pull gets it from remote into working tree
merge

Sunday Keynote

Mothers: Our Very Own IRL Heroes
Josepha Haden Chomphosy

I likely have told you this story if we have ever mentioned Josepha, but she is my WordPress hero. It was at WordCamp Dayton 2016 where I first met her. It was there that I watched her, fighting through a cold, help person after person with any manor of WP issue. It was there that I caught a vision for a career that was based on helping people that led me to where I sit now as a Developer Advocate. This talk tells the story of how she got to be how awesome she is and who inspired her. Most heroes don’t wear capes, but an awful lot of them answer to ‘mom’.

Raw Notes:
Mothers Day
What are heroes?
Superheros
Green lantern
the hulk,
you don’t run into these people every day
feats of strength
spandex
they are rich, alien tech, magic, ect
Academic
Ada Lovelace
Grace Hopper
Mother Theresa
Einstein
what they got in common?
All human
some famous because of their actions
smart, empathetic and future minded
much closer to us,
try to be as great as they are
Her heroes
mother
best friend’s mother
her optometrist
but why?
Didn’t know until much later didn’t know they were her heroes
Her optometrist
her willingness to change
went back to school late in life
got a job at chain ophthalmologist
she got passionate
late in life started her own company
Best Friends Mom
designer
determination
she knew what was best for her clients
and always fought to the end of the day
to get the best middle solutions for everyone
holistic
Her mother
She can inspire people
a teacher
taught ESL, classroom, college
on more than one occasion
said her mom made them want to do better
changing lives
Origin story
Josepha only knows about WP because of her mother
Vocal Performance Major
went to college for singing
Bachelors of science
starving artist
went home, mom was going to WordCamp
her first WC she did not know what WP was
people seemed into it
5 things
Mom’s
1. Assume no ill-will
2. People fight for the best choice
3. Always be punctual. (Being late says your time is more important than theirs)
4. Listen through anger
when you gt mad, you get a cloud of anger fog
body does not receive all signals right
5. SLAY THAT INNER IMPOSTER!!!
Josepha’s 5
1. Be Realistic about pursuing passion
2. Change your perspective. If you are stuck, it is just a day, do something different,
3. Always, Always be learning
4. Be: Flexible, Forgiving, Fair
Change with the times
Remember you have to be fair
5. Flex your people skills

Local WordPress with Lando
David Needham

It was a real treat to hear David give this talk. I have the extreme honor to work with him and use the same tool chain he does from time to time. Lando is the real deal. This is not just a local environment for WP, this is advanced Docker management with a future leaning edge. I will admit my notes are scattered here but so much of his talk was code and demo that it would be hard to capture it all in notes anyhow. The best way to learn is to do, and since Lando is FOSS, what are you waiting for? Get started with Lando right now!

Raw Notes:
devwithlando.io
by tandem
based on docker
uses idea of recipe
code example
lamp
can be anything
many recipes
many people making these
opens simple php info
look at lando and
Why? Because you should cause you can
thats why
start stop
restart
rebuild
destroy
db export
composer out of the box
landoexample.localtunnel.me

YAY, I’m Working Remotely… Now What?
Jamie Schmid

I did not join as a remote worker, but I work with an all other but me remote team in my capacity as Developer Relations. It is easy to forget what it is like working from home, even though I have done that in a previous working life before I got into the Drupal and WP space. This talk was a great reminder of what they are dealing with and gave me ideas on how to better support them. Number one thing is having patience because they will not have the same chance of hallway conversations that you get working in a central office and some news just moves slower than others. Always strive for clear communication and you can’t go too far astray.

Raw Notes:
Working in a company
Bad
commuting
costs
early morning
not flexible
Not so obvious good
social interactions
leaving work behind
company resources
remote?
not so obvious bad
working too much
no separation of work/life spaces
life distractions
difficult communication
out of the loop
collaboration is difficult
timezone issues
lazy health habits
not leaving the house
expenses are all on you
time management
make sure you monitor your time
there are software tools for that
pop ups to tell you to get back to work
rescue time, time doctor, IDoneThis, Trello
Daily/Weekly scrum
Tools are there to help you do things more efficiently,
Google is great for this stuff
password managers
Asana
lastpass you can safely share!
get out of the house!!!
good for your mental health to get out

Improving WordPress Development Efficiency With Your Own Framework
Heather Acton

Heather had a hand in my very first talk I ever gave in this industry. Way back in 2016 when I was nervously submitting and building new slide presentations I went looking for a calculator a freelancer might use and came across her worksheet she had presented in her talk Financial Business Planning for Freelancers. I asked if I could borrow it for use in my talk and was met with a very friendly “go for it.” I will never forget how that made me feel. Connected.
This talk comes at a very interesting time, when the editor is about to change and force all our hands into design based on modular components. It is a great thing to discover the path you are on sometimes is the one everyone else is trying to catch up to. My notes are spotty on this talk, so I highly encourage you to go see it yourself once posted.

Raw Notes:
Before frameworks undercharging
framework helped them raise their rates
what is in a framework
many things on front end
modular building
if 80% of clients use it, it is in the framework now
reduce what is not used
copy block, callout block
text icon block
style premade and you can pick and choose
very fast to implement
slider
Modular design
a list apart language of modular design
naming convention according to blocks
sass files and ACF layouts
Underscores and SASSified
Bootstrap Grid
ACF JASON
Slick Slider

My Session

WP-CLI: Don’t Fear The Command Line

I love giving this session. I really like the fact that every time I give it someone in the audience has a ‘oh, wow, I didn’t know it could do that!’ moment. Makes me feel great sharing knowledge and explaining it in a way that engages at least some people. This time I even got to talk about what I think I see on the horizon, where we need to start automatically testing content before a final deployment. More on that in my wrap up, but this time giving this talk was the first time I had brought this up in a public forum and the number of nodding heads suggests either I am on the right track or others at least are on board with it. I hope to keep evolving this talk and give variations as long as I can get to camps.

Wrapping Up

It took me about a week longer than I had originally planned to post this post. Well, to even write this post. Based on my little demo of the wp-cli post create script I put together for my demo, I just couldn’t stop thinking about making that a real utility for myself. So I did. It turned into 2 parts of a project.

First, there is postit which has 2 tools based on how I want to run my workflow. the command postit will create a post based on a github address, asking for the RAW. Crude but effective. The second is postitnow, tailored for my nutty workflow of pushing to github and then just posting the most recently used file as a new post. I also built in a drag and drop to the terminual way to post the file from local and a featured image. But with Basically this is a static site generator for WP posts based on markdown, but I love markdown, so that is why I made it. Feel free to play with it and maybe help optimize if you are so inclined.

Second is a new Terminus plugin called WP Clone Content which let’s you clone a post from point a to point b. It is a work in progress that is good enough for my current workflow, but has issues, depending on how featured image was set and some other small factors like Tags which I still need to unravel. THis was the first time I have ever even tried to extend Terminus, and man, I am not a PHP expert at all. I can do it in bash, but 6 hours of this effort were just reading basic PHP examples again. Again, free and open source, so please help if you think this is a good idea for a tool.

Why do I think WP Clone Content is a good idea for a tool?

Basically, the future of Gutenberg and the WP 5.0 changeover is heralding in a new age when functionality and configuration are being moved back into content. I personally believe that we are going to have to start testing content in automated ways more often and multi-environment workflows, eventually harvesting REST API calls, is going to become critical. I don’t envision a world where we are actually directly touching mysql that much anymore, the same way you don’t likely touch your underlying OS kernel that much directly anymore. This is not a final product but gave me insight into the world of how content is constructed and made it clear there is a lot more work to do in this area. The future is bright but we have to work for it.

I immediately had a good feeling about St. Louis and still do a week later. I can’t quite put my finger on it, but there is something to it. Maybe it reminds me of where I grew up a lot more than most other places I have been. Maybe it is because it reminds me of Detroit 20 years ago, when the opportunity to build was the only thing that was in high supply. I do know that the people are some of the nicest, most grounded and honest folks you can expect out of the Midwest. I hope to get back before too long and spend a few more days exploring the Rome of the West, at minimum for next year’s WordCamp St. Louis 2019.

WC Chicago 2018: In the cold shadow of their tallest building and finding out their Chinatown is small

For the second time in 2018 I get to go to ‘the windy city’, which in my experience isn’t the most accurate name. It could be I am biased because I live in the wind tunnel that is downtown San Francisco, where the Mediterranean climate causes severe wind gusts every afternoon before sundown, the likes of which I personally have not experienced in The Second City. At least it wasn’t as cold as the last time I was in town

I got in town a full day earlier than I needed to, but got to catch up with old friends, see some improv and have some super tasty vegan grub at the heartiest diner in town, the Chicago Diner. So good. I also got to wander around Chinatown for a little bit, seeing my favorite thing in a large city: The Chinatown Gates.

Of course, this was not all a personal trip. The real reason I had returned was for rejoicing with my WPLife family for WordCamp Chicago 2018

Food and Fun

Speaker Dinner

Friday night we gathered together, speaker, sponsor, organizer and volunteer alike to rejoice in the kicking off of camp officially at Jefferson Tap & Grille. It is always an amazing experience to get a preview of what other people are going to present. There is clearly an excitement in everyone’s voice and a chance for people new to speaking to seek advice. The food was OK, I ended up with a hummus sandwich and fries all night.

Totally not our party in this tweet, but not too far off from what went down:

Saturday

Breakfast was served! Not just coffee and tea, but fruit and more candy than you could/should eat. Some other sponsors brought doughnuts and bagels as well

Lunch on day one was one of my favorite options for catering, Chipotle. I think their quality is OK, but I love the fact that there was a whole vegan section set out and boy oh boy were the options plentiful! More black beans and Sofritas than any conference could have eaten and all the corn salsa I could pile up. If you are an organizer reading this, a taco bar is a great way to include all dietary restrictions and still serve the meatiest eaters.

no actual tweet of lunch, but this is what we were dealing with

For dinner before the official party some of us got to talking about “The Impossible Burger” and burgers in general, so with Joe leading the way, we went over to Umami Burger and chowed the heck down. With a full stomach we set off to meet the rest of the campers.

After Party:

If you would have said I would have had as much fun as I had playing ping pong, I would not have believed you. We went to AceBounce Ping Pong Bar and had a magnificent time of fellowship and friendly competition. It was a cash bar but the appetizers were free flowing and the ping pong was free on 4 reserved tables! I will take this arrangement over too many or not enough drink tickets any day of the year.

And yes, there was WCKaraoke in full effect. Special shout out to my buddy Doug, from the Drupal world, who introduced us to the DJs here t Blue Frog’s Local 22. It was truly a night where it didn’t matter if you had been at WordCamp or not, we all treated each person as if they were part of the WPLife community!

Sunday

More coffee, more snacks and a lot more candy

We were on our own for lunch, so I got to go to one of my favorite chains, which I really wish we would get in San Francisco, Native Foods. The best vegan bulgogi tacos I know about.

Sessions

Digital Therapy
Ellie Saldana

If there is one thing I wish all people got better at, it is emotional intelligence. If people can empathize with one another, so many issues are cleared right up. Instead of fighting and forcing our own way, we have the option to listen and relate to their position and find a path forward. It sounds overly simple and optimistic, but it is a truth that keeps shining forth in brilliant talks like this one. Make sure the people you are talking with know that you are hearing them and for sure take the time to make sure they feel heard. We will all do a lot better if we all embrace this idea.

Raw Notes:
Story about client who was afraid of getting fired from her role because spikes/lulls in traffic
she helped her realize that was seasonal and normal
saves her a lot of issues
Bringing emotional intelligence into the digital experience
Why? Clients feel unheard. Looking for validation
Clients don’t feel ownership over the digital sphere of their business
how:
Pick up the phone and smile
be transparent, even if you are at fault
dig deeper into understanding client frustrations
help clients understand the process
You don’t always have to say yes
a strong client relationship makes it easier
Don’t just day no, NO but…, NO because…
Give clients a win when you can
not all clients are created equal
remember what worked last time might not work this time
your last experiences with them does not mean next one will be the same
Few different kinds of clients
Lone Decision Makers
client is empowered to make decisions on their own
Answers To A Higher Authority
have to report up a chain
accountable to others
Often times not the person qualified to run a site
need to help them look competent to their management
THE COMMITTEE
Hardest one to her
multiple contacts all with different points of view
need help coming to consensus
lot of active listening needed
client needs to do homework to find out that is actually important to the org
they need a unified vision to get the help they need
Conclusion:
Engage the client
Listen actively
Problem solve collectively

Data Science and Web Development
Joshua Alexander

Data science is a buzz word for sure but this emerging field is still pretty young. Let’s not forget that our current output of data is roughly 2.5 quintillion bytes a day. This number is only going up. There has never been this much data to parse. This talk, rather than give the market-y spin on why data science is good, we rooted in the practical aspects of the fact this requires both math skills and computer languages different than those we use ofr web development. The awesome part about skills is they can be learned over time. No one is born with a skill. If you want to learn it and become a top data scientist, then get to it!

Raw Notes:
What is Data Science
Short answer: Mine data to Make better business decisoins
Very indemand
Full stack $88K
Data Science closer to $118K
does require math and most people all like
Math is Mental Abuse to Humans (not really)
math is not bad
just enough to make the machine do the math
Additional skills
JS, Python, SQL, C++, C, Scala – for algebraic equations and covariance and contra-variance
R – OSS stats software and language, SAS, Julia
What do we do with it all?
Case studies
Scenario 1: try and predict sales based on time on day and weather patterns in common industries
Scenario 2 – (Missed it)
You need to do anything that requires data and math operations. The programming end of things you need to be able to make decisions

WooCommerce Success
Patrick Elward

I am fascinated by WooCommerce from a number of perspectives. One of the angles I had not really thought fully about is the logistical overhead that mandatorily comes with actually running an ecommerce store of any kind. Even if you are doing all drop shipping, there is a cost and a management overhead you have to take on. This talk is an absolute must see for anyone in the world thinking about starting an online store of any kind. So much practical advice, learned from actually doing this in the wild. For instance, I would have never guessed the most expensive part of mailing fish was the water weight.

Raw Notes:
I got in a little…
Someone has o take ownership
Many of the tasks you hav with other ecommerce is same with Woo
but Woo is arguably easier
Store owners
Who has an online store now
financial commitments tt operations
Review, review, review
How much budget? 10-15% of annual sales is realistic expenditure for eccomerce operations (not ads, just logistics and such)
Shopping cart vs Woo
Key e-commerce tasks to be discussed before starting
tax levels, ownership…..
Product Management Success
What thy have to sell, right now!
how to display these on the site
many ‘Product Import’ plugins available
how to organize by attribute
setup tags and keywords for sorting
Go through product with the customer and weigh everything
sizes and weights are super expensive if we get it wrong
attribute in Woo lets you assign this easily
Photos must be realistic
it is how the client will judge the product they receive
Reviews matter
they MUST be monitored though
Inventory management is a challenge as well
How to handle ‘out of stock’
hide product or display Out of Stock
who receives ‘low inventory trigger’ and what is that threshold
Drop shipping and custom labels, look into SaaS solutions for that
“Does it save my warehouse money or can we do it cheaper ourselves?”
Shipping management
Fedex, etc…
3 main ways to get shipping costs
per total weight (most common)
Make sure you are only shipping places you want to ship
or charge more
Prelaunch comments
ALWAYS check on mobile devices
ongoing support and maintenance
Common mistakes
budget not realistic

Erasing the Stigma: Mental Health and Tech
JD Flynn

I am proud to call JD a friend. I have known him mostly from the Drupal community, as he is a co-organizer of Midcamp. but more recently I have come to call him brother in the struggle to get everyone to try going to Karaoke events. In Chicago, he leads the charge finer than anyone I have ever seen lead it, rallying everyone and making sure that all are invited and feel included.
In addition to this amazing talent, JD is one of the braver speakers I have known, standing up and speaking truth about something that carries a pretty hefty stigma, mental health issues. He is up front and truthful about what he has gone through and is living proof that help exists and with the right support you can do anything! We are very fortunate in our FOSS space that there is a lot of people who want to see everyone else succeed and are here to support each other. The only way we are going to get over the stigma is to have these conversations and admit we are not broken or bad people, we are unwell, or sick, like breaking a leg or getting cancer. Just as real and needing medical attention just the same. Talk with people you trust about this subject in a supportive way and you will be amazed how many other people feel the same way.

Raw Notes:
Has mental illness,
Most costly health concern right now
lot of stigma
Why should this be important?
Suffering in silence and denial
afraid of admitted it it would make it more real
Thought was perfect health until doctor said otherwise
people
Major depression – every day for at least 2 weeks
very wide range of incarnation
Anxiety disorder – fear of daily activities
PTSD – failure to recover after an experience
a phycologist explained it
RAM vs hard disk
short term and long term memory
RAM is fast and HardDisk is slow
PTSD something stuck in RAM and trigger makes them relive the trauma
I accepted something was wrong – THE HARDEST PART
then got treatment
your first therapist will not likely be your last
must find one that works with you and communicates with your style
got involved in community (band, OSS, etc)
got to be comfortable that not everyone is OK talking about this
Before treatment, thought only crazy people sought help
felt like would mess up everything he touched
was easy to get into a downward spiral
paranoid, afraid of social situations, isolated was self imposed
Misunderstood, thought he as angry when he was just anxious
in a wedding standing up, trying not to screw it up
people thought he was being mean
How has treatment affected him?
the symptoms have not completely vanished but gotten better
lizard brain is still there
lot more comfortable in social situations
I’m not/We’re not alone
Why Tech and mental illness?
tech specifically affected
increased IQ linked to more mental issues (studies suggest)
You would never tell someone in a wheelchair to ‘get over it’
but we socially do this to mental issues all the time
need to be stronger than fear!
Do you think an employer would have negative consequences after talking wiht them about your mental health, most people that yes
as of 2015 17.9% of all US Adults had some form of mental issues
We are afraid to talk about mental health
it is a stigma
afraid honesty has negative consequences
Afraid of getting sent to HR
Why should a workplace care?
Impact on performance, job insecurity
HR does not want to hear about it
We should fight ignorance with information and knowledge
Get the OSMI handbook
In OSS, 50% of survey respondents said they had some form of mental illness
we are people together
not 1s and 0s
we are people
we are not damaged, we are sick
1-800-therapist
psychology today has a search
look for someone who can help, not just tossing meds out

90 Days to Live: Finding Your Place in the WordPress Community
Joe A. Simpson Jr.

You want to hear about an inspirational story? Go watch this talk. Going from almost dead to thriving is the central plot of this session that left me wanting to embrace the WP community even more. It is one of those talks I want to show at a meetup where new people have been wondering if there is a path for them as community members and if it is worth it. It is worth it. Keep believing!

Raw Notes:
Was just getting into WP converting a site
then had a heart attack
still many health issues
been uphill climb
Reboot, Level up, and give back
the community has helped immensely
so how did he get involved?
Story of his brother’s print services business
terrible theme and bad site
fixed it with WP
learned about the supportive community
Joined it
went to all the meetups he could find
LA,
Orange County = women in WP meetup
they film all the meetups
Alex Vasquez actually handed him a mic and told him
WCUS is super valuable as well
can watch remote
Volunteered at LA WordCamp, whole new perspective
lot goes into
one night 10:47 pm, driving back from a meetup
though: Why don’t I make a meetup?
Santa Clarita Valley Meetup was born
slack is also good way to get involved
WordPress.tv
He want sot put on a WordCamp Santa Clarita
Live as if you were to die tomorrow
learn as if you are going to live forever

Meta and Schema: Defining the Content about your Content
Jim Birch

Do you like whirlwind, two fisted, no holds barred, data filled sessions that have almost too much information shoved in your face? I love them. I wish every talk I went to I learned anywhere close to as much information as Jim presented. I will admit I started playing with a couple of the resources he introduced me to and might have missed part of what he was presenting in my notes. If you think you have meta nailed down, good on ya, but still, check this thing out. I am betting you will find a new tool or trick in here somewhere. And for those who have never thought about meta or schema before, prepare to have a new world view opened to you.

Raw Notes:
How do we look to others?
How does content look to others?
what you do for google is good for all the other services
TL/R Specs and validators
w3c HTML 5.2 specs
WATWG Meta Extensions
Open Graph
Twitter cards
schema.org
Meta, from the greek, prefix, concept
like card catalogues
full time gig back in the early days of libraries
computerize
Dynix, early but popular
Enter the W3C defining 5.2 spec
4.2 docs about Document Metadata
6 things
– head element
– title only one
– base tag, element to set the base for something
– link, link to other resources
– style – embed information in the doc for styling
– meta – for everything not the previous 5
all name value pairs, only in the head of the doc
name=> value(content)
There are defined metatags in the spec
author, application-name, description, etc
pragma directives language construct that specifies compiler and other technical information
Other Metadata names
WHATWG
list all that have been applied for and their extensions
You can make your own metadata you define on your own
no one would know it was there but you, but you can do some stuff like priority of search engine
Unicorn from W3C
see how good of a coder you are?
pass/fail for
https://validator.w3.org/unicorn/
Validation
Google meta tag validator for things it understands
title, googlebot, refresh
that is it for google, one document, that is all
Open Graph Protocol
Let’s webpage to become object
required fields
title, type, image, url
Types:
music, video, book, etc
FB has a debugger – important to use for FB to re-scrape content
pinterest validator
LinkedIn – using random variable at the end of url to force them to refresh
(?hfhfsh)
twitter card
rich photos and such
summary
summary large image
player card
app card
they also have a validator
How to implement in WP?
Yeast SEO plugin
add meta and fills in some things for you
can but in Open Graph tags
same with twitter cards
Theme itself can use logic to use image via php code
Schema
Started by google, Open source
way to put structured data on sites, in email messages and beyond!
schema.org
goes on for days
drill down into most of them
Most popular are creative works
can implement a few different ways
inline was first and popular
JSON-LD
What does Google care about?
Google Search Gallery Page
https://developers.google.com/search/docs/guides/search-gallery
How? Yoast of course
Schema Plugin
JDFlynn made a tool to generate the needed JSON
again, theme can use logic to suss this out
Test and Verify
Google to test

Developing for Gutenberg – Converting a shortcode to a block!
Jeremy Josey

I went to this thinking, ‘don’t we have a shortcode block, is this just a talk about using the shortcode block?’. Well, turns out yes, there is a shortcode block solution but when you step back and look at it, this is sort of like writing in Spanish for your website for a Chinese speaking audience and hoping the translation plugin keeps up and is ultra stable. Writing a plugin to properly leverage the concept of blocks will give overall better performance, stability and ultimately supportability. Fortunately there are an emerging number of resources to help you do this. If you have a plugin, get that thing converted today!

Raw Notes:
prerec: HTML, CSS, React, CLI
It’s OK to get lost
you will have to go over this again and again
Learn JS Deeply
Customizer and Gutenberg are the result
JS API driven interfaces are the future of the web
Gutenberg
what it is
demo of it
block is an abstract term to define units of markup
goal today, convert a CTA shortcode to a Gutenberg block
do you really have to? No…….but,
there is a shortcode wrapper block
but you should!
First, install Gutenberg
have NODE.JS
install create-gutenberg-block
npm install global (see his slides)
will spend most of the time int he source mostly in the sub-block.js file
npm start in right folder
Enqueue block JS in the main plugin file
…. (code)
define category for block
…. (code)
Edit function
meat and potatoes of the block
…. (code)

Plugins vs Themes. Functionality vs Format.
Austin Adamson

This is one of those topics that on the surface is easy, but the more you dig the cloudier it gets. Especially when most tutorials and code snippets say to just toss functionality into the functions.php file. What should a theme really be doing and what are the lines? Again, it sounds simple, but if you changed your custom theme right now could you say with a straight face that no functionality would be affected? Austin shows us a path to that kind of a world through some pretty rock solid examples and analogies. This was his first talk and I have a great feeling he is going to be one of the better speakers out there as he dials in his style because the content is great!

Inherited an old site
When activated new theme
all office staff and content just vanished
oh no
put so much functionality in themes
realized he had been doing same thing
plugins and themes do different things for a reason
what is supposed to do what?
building a house
start with a frame and a foundation
the utilities (water, lights)
lastly we paint
we live there for a while
repaint the walls
didn’t have to call the electrician or bulldoze the whole thing
but we do this with websites all the time
WP core is frame of the house,
plugins are utilities
and theme is the paint
repainting is a new theme
should be just that easy
what is even core?
file structure from WP.org
functionality should not be in themes
example
AgentPress Pro theme, $99
when you get theme, must download a free plugin that gives functionality
registering custom post types, should be in plugin, in agent plus plugin
metaboxes,
gravity forms, output CSS yes/no
turn it off, don’t overwrite gravity forms style
wpmeetup plugin
forces big red button
can’t turn it off, hard to override
theme controls presentation of content
plugin controls functionality

My Session

Let’s Learn Git. No Excuses!

I was super grateful to get to present on Git, really one of my favorite subjects. The crowd was awesome and I got to explain one of the more important things we should all be using. One thing I did a little different this time and feel like I need to do better at for all my talks, is giving a clear ‘do this next’, also called a Call To Action (CTA). I did this in the follow up tweet, pointing people to Try Git using Github’s awesome demo site. In fact, if you have not done that tutorial yet, even if you use git already, give it a whirl.

Wrapping Up

I love Chicago. If it didn’t get snow or down to −27 °F sometimes, I would consider it as a place to possibly spend even more time. But the warmth of the WordPress and the Drupal communities there is so worm, that when I do go it never feels that cold. I might well go back once more this year for WordCamp for Publishers: Chicago Edition but that is still undetermined. I hope I do, since that would let me experience the place in full summer swing. Otherwise I am going to for sure count on being in Chicago at least for WordCamp Chicago 2019! *

  • yes I know this link does not work yet.

DrupalCon 2018: A little bit country and a whole lot of amazing conversations

Way back in 2014 I started working for Pantheon and at first it was just another gig, working in Open Source and selling a platform. Then I got sent to work the booth at this event in Austin, TX called DrupalCon. It was there that I met the users of the platform, the developers, face to face. It was there that I finally understood what it meant to be part of the Drupal community. Drupal events will always hold this extra special place in my heart which is way I was so darn excited to get to go to the SuperBowl of Drupal, DrupalCon 2018

This was the 2nd time in a year, and in my life, I had been to Music City USA. While a little more familiar, there was a ton left to explore and so much I have not yet gotten to do. I think the fact that the city was not as mysterious made this trip seem to fly by extra quick. From the time I land until I flew out felt like a few hours, not a few days. Lot to cover, so let’s rock it!

Food And Fun

Sunday Night

I landed and was immediately invited out for a night of good fun with the Drupal community. There were a lot of folks that rolled into town early to take advantage of the night life and sights of Nashville and it was like a whole ‘evening of hugs’ where we couldn’t walk too far without getting a hug from someone you had not seen in a while.

Monday

Coffee and tea and some high carb breakfast options were on hand as we started the day of training and Partner Day. Not terribly coffee but not great either. I opted for tea for the rest of the event after that first cup.
Lunch on day one had a very solid vegan option: tofu steaks, quinoa stuffed peppers and some pickled veggies on the side. Can’t find a picture of lunch options on Twitter, so here is
There was the Opening Reception for the sponsor area/main floor for the event with grits and other options. Since there was cheese in everything save the mushrooms, I found some crackers to munch on and a little fruit, but otherwise saved room for a the food at our Pantheon Team Dinner a little later that evening.
Monday night found me at the Pantheon team dinner, which happened at Pinewood Social, a super hip bowling alley/mixologist bar. I put a short hold on my ‘vodka+soda only’ approach and indulged in some good Tennessee whiskey. I carried this over from our team dinner to the official unofficial Drupal Bar Crawl, alo known as the DrupalCrawl. This year we crawled into HQ Beercade Nashville and many of us did not crawl anywhere else, given you could play most of the games for free, including one of the greatest games ever sponsored by a beer, Tapper which you can play here

Tuesday

This was the first full day of the conference and for me it started really early and I brought my own coffee. There was a coffee option but I didn’t see it til later in the day.
I had my hopes up for lunch and unfortunately the option for the catered line was not quite as stellar as the previous day. Though not too bad, cold quinoa salad had my protein needs covered and there was as much fruit as I could eat. The veggie sandwich was just OK.

Tuesday evening found me at the Pantheon Parter Dinner. We gathered at the Country Music Hall Of Fame for a great evening of celebration, a few speeches and some quality meals. It was awesome to hear so many experiences and points of view being shared. There are few things that inspire as much confidence in the community than agency leaders sharing what is working and what they are working. This ‘collabratition’ approach is pretty unique to the FOSS world and it is part of what makes it so great.

Can’t find a tweet for this, so here are some of my favorite Drupal people instead:

DrupalKaraoke

Tuesday night ended with some amazing singing by the community at a couple different places. First was the official Mediacurrent after party with much singing. I didn’t go, but thought it deserved a mention

Then a good number of us went first to Ms. Kelli’s, but there was another convention that had already settled in there. But thanks to the quick thinking and hard work by the amazing Stephanie El-Hajj we found ourselves in a much better spot without any competition from any other conferences at Wild Beaver.

Can not find a tweet with a pic, so here is another group enjoying another Karaoke bar in Nashville:

Wednesday

After a long night of singing and rejoicing with the community the next morning was a little rough, so thank goodness for that conference coffee!
Lunch was a serious step up from the previous day with green beans and potatoes along with more quinoa salad. Very full at the end of the meal.
One of the things that stood out was the cards on the tables that gave people talking subjects. I sat at the PHP table be happenstance and had a really great conversation about deployment pipelines and automated testing. There were a lot of topics

Wednesday night brought the Official Pantheon + Lullabot party at FGL House

And yes, there was an after party

Unfortunately I had to leave Thursday morning. It was for a good cause, one of my best friends in the world’s wedding in NOLA.

Sessions

Training Day

Automated workflows in Drupal 8 with GitHub, Composer and CircleCI

I didn’t have a session accepted at DrupalCon this year, but I did get the chance to co-present part of David Needham’s awesome training. I want to take a second to tell everyone reading this to stop for a few minutes and go read Martin Fowler’s definitive paper on Continuous Integration/Continuous Delivery. So much of our modern work as website professionals come from thought leaders like this. It is amazing to stand on the shoulders of such giants and participating in discussions like this. Also, getting to lay down knowledge with the likes of Drush maintainer and all around genius Greg Anderson is intimidating and inspiring all at once!

Partner Day

While I didn’t get to attend this event, it looked like it went amazing. Worth a mention here.

Prenote

The official Pre Driesnote Fun You can watch it online, but it is not nearly as fun as being there!

OK, I will admit it. This is my favorite part of the actual conference. My real favorite part is hanging with the community but as far as planned things officially on the schedule, nothing beats the Prenote. Lead by the one and only JAM who is one of the most recognizable mustaches in all of Drupaldom. Every year he and the rest of the amazing community team go out of their way to wake us up and have some good clean fun before Dries gets up and takes a more serious tone. I do hope you can go next year and see it yourself.

Driesnote

There was a lot said in this year’s keynote delivered by our project lead Dries Buytaert. With an introduction that was second to none by my colleague and team lead Steve Persch, the tone was set to get serious and address some big picture things that affect our entire space.
Rather than try to summarize the talk, I encourage you to go watch it. Below are tweets I thought captured the spirit of the event well.

And the rest…

Unfortunately, other than the Prenote and Dreisnote, I only got to go to 2 sessions with the way my schedule worked out. Fortunately I get to go to more sessions per year than the vast majority of people. Also fortunately all the other talks are recorded and available on the DrupalCon site

Don’t trust your gut: agency operations metrics
Ashleigh Thevenet

I will admit, I misread the topic description and thought this was going to be a talk about client KPIs, which is something that is of great interest to me currently. Instead I got an amazing overview of what an agency COO actually cares about, Which in and of itself revealed more about KPIs than I anticipated. This is also one of those talks that stands out as unique to the FOSS world. Literally a COO standing up and saying ‘this is how we do things where I work’ and providing spreadsheets to show how. Dummy data obviously, but if you are a freelancer or small agency and want to know how to get to the next level, her spreadsheets are freely available to clone and leverage. I left feeling amazing about this whole space and our future together.

Raw Notes:
Don’t Trust your gut,
Chief operating officer at BlueSpark
Metrics of her,
number of hours spent with her life
Context makes data meaningful
Lot of spreadsheets in the talk
https://bit.ly/2qjlDOZ
Billable hours,
got to understand where you are spending your time before you can optimize them for billable time
Adapted the billable hours matrix for annual revue per role planning
rev, profit, margin at various utilization rates
Booked Capacity vs Capacity comparison with Monthly and Annual sales targets
Under contract was a runway pipeline
MEGASHEET
https://bit.ly/2qoxJXl
gives actuals and updated a lot
things shift, availability. extention of contratact, act of god, etc
sheet needs to be as fresh as possible
values of accounts
timelines and budgets for all current accounts
remaining budgets
time left
Will my current config of team be able to complete the work they have lined up
capacity
how did the team perform
how is the
Let’s back up to the Billable Hours template
rate and expenses
lists out whole team individuals, roles and such
number of hours per week
realistic utilization planning is the goal
Monthly
potenial revenue per role is the thing she cares about a lot
helps understand when and who to hire
expenses are import to track as well
want to end up at 98% of realistic target
ie 34 hours not 40 a week,
80% utilization losing money
MegaSheet
All project projections
timeline, start date and end date for each phase
Weeks to complete,
Contract
fill in rates and hours for each phase
rate x hours = contract value
time logged, from Jira, manually pulled in
then pulled into actuals tab
Weekly velocity to complete, the number of hour s and weeks and how many hours per week need logge to stay on track
Color coding will help yo a great deal at seeing things at a glance
easy to get overwhelmed but this is needed to project revenue
things will deviate, so you must adjust as you go
assigned some of the work to ‘unknown’
Unknown Frontend and Unkown Backend
makes planning more flexible
color coding red not booked enough, green capacity,
blue under water, overbooked
sometimes 4 to 5 week differentials with how days fall can be tricky
eventually all comes down to hours though
lets you shift projects as needed
don’t try to adjust in your head
important to see big picture as you plan each individual part

Extending the abstract class of privilege: outcomes and lessons learned
Farah Sabbagh
Ashraf Abed

Of all the talks about privilege I have attended, none felt more poignant or a straight up punch to the face than this one. The stories they shared shook me and made me feel sad and angry and really wanting the world to be better than it is. I even found myself squirm as they completely debunked the idea of ‘seeing past race/gender/ect’ being ‘colorblind’, which I will admit here and now I have said before. That does not work in a world where no one else is ‘colorblind’ and only blinds you to the intolerance going on around you.
It gave me a lot to think about and some straightforward examples of how to be a better ally all around. Very grateful for Farah’s and Ashraf’s courage in speaking up and helping us all get better as a community and as people.

Raw notes:
Privilege
Lacking access
real story, got arrested for speeding
that cop became an ally but every cop after had same initial reaction
bad
this affected his life later as had to admit he got arrested
We all have biases
blindly trusting our intuition in social interactions is naive
think before you speak, reassess your initial reactions!
Keep your bias to yourself
Unconscious gender bias
people assumed she knew less than she did when she started out
took her until a job change to get out of that rut
women tend to be assigned tasks that are less impressive
contributes to women being overlooked for promotions
long term impact on their career paths
consider adopting self-selection task assignment
trak, support and encourage female employees to work complex tasks
don’t assign women empathy-based tasks by default
She was accused of being too social to be a real developer
accuser had ‘feelings’ for her
she was new, didn’t have tools to handle the situation
but ‘luckily’ got sick and when came back he was gone
They walked her to her car every day
turns out the accuser had fallen apart mentally and was a threat after that
she stayed around for too long
BAH was a great move for her, a lot of women in tech and improved herself a lot
wording really matters
women they have spoken with are just as interested in pursuing a programming career
Female students are typically top performers
how to extent privilege?
-encounrage and reassure them –
give them homework to see if right for them before class starts
let them see if right for them, don’t penalize them for not wanting to keep going
encourage they will fit if they want it
strongly endorse them to key decision makers using Truthful information
Want to help grow Drupal?
we put a ton of thought into patches for Drupal
Put that much effort into helping your female colleagues
really lay it out clearly, it might feel like overkill but it is necessary
employers make a lot of decisions in the wrong direction with female employees
Older people also have this Bias
assuming they can’t learn new tech
her dad is an accountant, even though he was performing well, they pushed him to retire based on this bias
assuming they don’t want to learn
assume they will just be slower pace
people are not crediting all the experience that is brought ot the table
forgetting most technical problems have been solved before
Racial bias
black person early in career usually has to prove their personality doesn;t fit a preconceived notion
to be seriously considered for tech, black grads must be well spoken, charming,
others can get away with being quiet
‘but I don’t see color’
thats a start but it is not enough
the objectivity ship has sailed
too many others see color for neutrality to work
underprivileged people have faced barriers all their lives
evaluating a person’s fit for tech truly objectively would be to give them experiences, exposure and support before evaluating them
You can’t truly test aptitude with a programming test
posted his grads group picture on FB, got terrible racist hateful comments
people that do see color create a really crappy environment
There’s more
Family life – assumptions that people with use their family as an excuse to work from home or leave early
disabilities
assumptions that people with visible disabilities are less able to perform
single employees are assue to be available 24/7 because they don’t have things going on and they have ‘no one to look after’
Whose job is it to fix this?
nothing is too small – small things can make a big impact
track, support and encourage individuals from underrepresented backgrounds
reach beyond your inner circle
participate in free training events such as GTD, hour of code, etc
Encourage your employer to set up paid internships
AT THE LEAST: RAISE AWENESS! thereby extending privilege
ripple effect can go far – a single top developer can impact Drupal significantly
@webdevdeja
what does better look like?
Documentation initiative
package contrib Composer dependencies in a .zip file (like core does) (think, bad internet connections)
auto-populate tailored documentation
resulting in centralized docs
D8Academy got involved
people who never heard of Drupal dl and install and contribute
Barrier free sprint
step by step instructions very easy to follow for novice
Drupal only benefits from inclusion

Wrapping Up

It was with very mixed emotions I left early to go to a very joyous occasion, a wedding. While I was super looking forward to see a best friend from college ‘tie the knot’, I was sad to leave all the fun and excitement of my Drupal community. I was super fortunate to get to attend and be there for what I got to be there for, but it flew by. It was an absolutely a pleasure and an honor to be there and can not wait until 2019, when Drupalcon goes to Seattle!