My trip back to The House of Mercy landed first in Baltimore, which one of my favorite places, though it did not give me a chance to visit the town proper, just BWI. As I landed I thought I was meeting two of other Drupal enthusiasts who where going to land about the same time. Only, they had landed at Dulles. Fortunately this was one of a limited handful of miscommunications I experienced upon my return to our nation’s capitol metro area, specifically the Natcher Conference Center at the National Institute of Health for Drupa GovCon 2018.
We are proud to sponsor Drupal GovCon 2018 in Maryland, USA. We will be attending the conference from 22 – 24 August 2018. Let's get in touch! https://t.co/eaFTFZrHgR #drupalgovcon #Drupal pic.twitter.com/0957WhaC4J
— Valuebound (@valuebound) August 21, 2018
Ready for the first keynote at #drupalgovcon. pic.twitter.com/KibyTuAgh9
— publicplan GmbH (@publicplan_GmbH) August 22, 2018
Food and Fun
Tuesday night fun
Though I had missed connecting with other fliers at the airports, this was quickly remedied by a call to come to dinner via twitter from some of my favorite people in the world, the Drupal community! We gathered at World or Beer which is not where you think it is. It is behind where you think it is, as are many addresses in Bethesda. That aside, it was a great way to kick off a wonderful week.
I am so glad to be able to be here for #DrupalGovCon with my #Drupal community w/ @StPaulTim @kevinjthull @n3rdstein @bricomedy @DSquaredB @hook42inc @aimeeraed @lgaudinier @WOB_USA pic.twitter.com/bcqwO0UkFO
— Dwayne McDaniel (@McDwayne) August 22, 2018
Wednesday
Getting into the Natcher Center is an adventure in the same way dealing with the TSA is an adventure. Many guards carrying walkie talkies and a long line of metal detector/x-ray machines. After that, a short set of questions, an ID scan and a visitor badge is printed out to be displayed the rest of the time you are on the federal property that day. We get to repeat this feat each morning. Not painful, but this is the only event I go to where security is this tight.
Coffee and teas awaited us including some sponsored iced coffee, which was super appreciated in the summer heat. The morning whipped by and soon enough the familiar extra long lines of lunch that happen at this very well attended event emerged. The food was Middle Eastern, with some terrific falafel and some remarkably good baba ghanoush. I wish I would have written down where it was from.
Lunch line at #DrupalGovCon. This conference is bursting out of its space. Very exciting to see. pic.twitter.com/hNKX2R5RbL
— Michelle Krejci (@dev_meshev) August 1, 2017
FREE FOOD! — Leftovers from lunch are available downstairs!@MobyDickKabobs #DrupalGovCon pic.twitter.com/BxGMypqq0X
— Drupal GovCon (@drupalgovcon) August 22, 2018
Opening Reception
Rather than a giant end of show blowout after party, GovCon chooses to do an opening reception to celebrate sooner and give us a chance to network earlier in the event. We returned to Brickside Food and Drink. I must applaud the food selectors who made sure a vegan falafel was made available, which got immediately consumed and left piles and piles of chicken wings at the end of the night. Perhaps a sign that the scales are tipping away from meat faster than many meal planners have anticipated.
Happy hour 5 minutes in. And the @hook42inc team was walking the wrong way…away from the reception! #OpeningNight #DrupalGovCon #Drupal4Gov pic.twitter.com/MekxCtbnVz
— Hester Prynne (@uniongal) August 22, 2018
Selfie mania at #DrupalGovCon pic.twitter.com/Nrz4SJ6FFU
— Dwayne McDaniel (@McDwayne) August 22, 2018
Some of us extended the evening’s celebrations a tad further as well, ending with some impromtu DrupalKaraoke
Margaritas at #DrupalGovCon with friends new and old. pic.twitter.com/qPie0dAV7n
— Kevin Thull (@kevinjthull) August 22, 2018
Proof! pic.twitter.com/zrITILTNwj
— Dwayne McDaniel (@McDwayne) August 23, 2018
Thursday
Thursday was a repeat of Wednesday with the coffee and the lines. Traffic flowed better since it was a box lunch option this day. I had a hummus wrap with many fresh veggies crammed inside, rounded out by local favorite Utz chips.
After the day of sessions, some people gathered for a Game Night. I just wanted to note it here, I did not attend.
@drupalgovcon game night @ResidenceInn Bethesda #DrupalGovCon #drupal #community #foss #opensource pic.twitter.com/wmFLQiOHmG
— Karl Kaufmann (@karolus) August 24, 2018
Instead I got to go with many other Drupal folks to Smoke and Barrel, a location that is famed for it’s super tasty vegan options and well curated whiskey selection. Some of us ventured out to see some sights after that, including a stop by the White House with our new friend from West Africa who’s giddiness over seeing this so close up was downright infectious. We learned a lot about all the presidents that night too. It was a night to remember.
#drupalgovcon pic.twitter.com/OSPXe97zVM
— Jon Pugh 🌈 (@jonpugh) August 24, 2018
Friday
The morning was slower feeling as is the last day of a conference in general, but coffee perked us up and we got a picnic cookout for lunch with Boca Burgers and some wonderfully ripe watermelon.
Lunch @drupalgovcon #DrupalGovCon pic.twitter.com/aRCxh9LkmR
— Mike (@Gov_Dude) July 31, 2017
We were treated to some cupcakes by the fine and outstanding Joe Crespo of ATEN Design.
Back to back conferences without an opportunity to resupply has brough us dangerously low on swag… so cupcakes!!
(Now we’re low on cupcakes) #DrupalGovCon pic.twitter.com/AXaDTCmOsy
— Aten Design Group (@atendesign) August 24, 2018
After the daytime learnings on the final day, the Speaker/Sponsor dinner was held to give those of us who volunteered and organized and sponsored and did all the things needed to make a con happen a chance to unwind and connect one last time under the banner of the event. We returned to Birckside once again and I got to show off my skills at the first few levels of “Mike Tyson’s Punch Out”. I admit, I completely forgot how to defeat Soda Popinski. Some of us went out after that to some other foods at True Foods and out for some more fun after that.
Time for the thank you happy hour!! Thank you @atendesign @phase2 @getpantheon @NewTargetInc for an amazing happy hour and #drupalGovCon #drupal4gov 2018 pic.twitter.com/88I7YfrPE9
— Hester Prynne (@uniongal) August 24, 2018
Sessions
We need to get organized. Seriously. We are at a point where we can continue to complain about the state of the world or we can actually spend the resources and time to change it. Adam laid out a solid outline for a path forward if we really do want to make sure the community grows and evolves to make sure Drupal exists far into the future. There is a much needed conversation around this and I applaud Adam for pushing it forward.
Raw Notes:
Hero’s journey
Seriously impressive scale
work not done yet
old learning curve joke
still true though
hard to learn Drupal
on top of the base tech, D has its own querks
hope the learning curve is not eternal evergreen
fighting the good fight
ninja turtles overcome adversity
inspire us
Hero’s journey
Act 1 separation
act 2 descent
Act 3 initiation
Act 4 return
parallel steps
Luke Skywalker
Promoting impact
challenges us to find part and help
his dreams shifted from ninja turtle to helping people with tech
Looked at Drupal
how was this possible
The appeal was thousands of volunteers giving away work for free
giving back to make the world better
usage drove maturity and that grew reach
shear scale is immense
potential is great
small acts, when multiplied by millions of people can transform the world – Howard Zinn
not one person dong everything, which is what he previously thought
hard at first to join the community
even submitting a patch was a major issue for him
continued on
slowly got easier and more natural
solving problems for ourselves can help so many other people
reaches out to people who help him and he helps others
makes us better and lets us provide for our families
contributing to something bigger
Only those who dare to fail greatly can ever achieve greatly. – JFK
Dying before going into battle
old samurai way, any outcome is fine
Don’t be afraid of learning in public. the journey is more important that he destination – Kelsey Hightower
Future Drupal Community Vision
Doing things too slow can feel like we don’t care
change is inevitable
accept uncertainty and proceed boldly
continuous learning
ongoing experiments
We can not solve our problems with the same level of thinking that created them – Albert Einstein
people do not spend time on things they do not see as valuable
Aligning the needs of people
Clarity
Clear identity – values and principles, code of conduct, governance, strategic vision
Values and Principles – needs a great deal of community feedback
new committee that is still in formation to focus on this
DGW, working group
looking for new folks
code of conduct
Governance goes well beyond events
Governance task force, trying to improve this
all community lead
Not a guarantee of a fix, but process is moving
Our community is like an elephant
hard to see it all at one time from our perspective
No standard use of Drupal name space
confusing since not all things are applying in same way
need to centralize efforts
to scale and evolve we need to get much better at understanding the whole elephant
make efforts more visible
help people align passions and efforts
Drupal Associations
need legal support, guidance, training
Community has been critical sometimes
need to actually support this effort
We need to have better documentation and easier on-ramp
technical docs are a start, but docs are needed for everything
shift from technical artifact to a useful service
A new community site
centralize info
mission, vision, V&P, strategic plan
groups and events
on-boarding, mentoring
multilingual
Simplytest.me was a project that was meant to lower the barrier of entry for new folks
Inclusion
One important trait of high-performing teams is that they use their diversity to come up woth better solutions – Chris Sims
Sustainability comes from serving people inclusively
open to those that need it the most
Amy June joined after being a hospice nurse
now channels that energy to help people use the web
how do we do it?
it’s huge, how do we start?
community onboarding, but also for existing members need to be able to do things in new ways
builds trust and human connection
local and regional cultural differences, this is associations need
must be transplanted to multiple languages
Kevin Thull, very inclusive, records sessions so we can all benefit from them
the world of knowledge he has enabled is amazing
Creativity is the power to connect the seemingly unconnected – William Plomer
Harness the creativity to foster
Process for advancing is messy and does not scale
need a new group to manage this process better
"The Drupal community has remained sustainable and vibrant compared to other projects because of the opportunity to provide contributions beyond code." Strong keynote from @n3rdstein at #DrupalGovCon this AM. Be a Drupal hero! pic.twitter.com/hYH5MUF3Qn
— Taoti Creative (@TaotiCreative) August 22, 2018
Horizontal DevOps ~ Scale your team and tools across projects.
Geoff St. Pierre
I went in expecting a talk similar to what Kelly Albrecht gives on communication. Ever since I saw his talk, what DevOps even means has shifted in my brain. Instead was a talk on tooling and how technical debt actually costs real hours and real money when your team works on more than one project at once. No matter how many projects, having a project folder and a Lando instance for each makes context switching as painless as possible.
Raw Notes:
Horizontal is scaling across projects
not just scaling for one project
how do we keep people efficient and working on multiple projects?
Common issues around losing whole days switching between silo’ed stacks
Prevent that context switching (Gulp, vs Compass for Sass, Ruby vs PHP, etc)
no one likes to lose time across projects
DevOooops
Don’t be afraid of change
Don’t change too quickly
Introduce change slowly and measure for effectiveness
once measured and proven
Document the thing, how are people actually using it?
Brief history of Local Dev
HTML and FTP
no deploy mechanism, just live!
Applications got complex and enter LAMP
local stack was was fast but hard to maintain, rigid and nearly impossible to share
evolved to Virtual stack
heavy
encapsulated
still difficult to share
composable (verbose)
Containerized
lighter than VM
composable
easy to share
Enter Lando!
vagrant vs lando
71 lines of config
8 lines of config
usability
pure @Docker
bash aliases and commands
@devwithlando
$lando drush migrate-status
there are other solutions
Docker Compose
ddev is another options
start states
$lado init
Recipes!
D8, Pantheon, many more
this writes your config file
you could hand compose
lando start fires off docker compose
you can write your own docker compose files too, tweak to your liking
proxy server, DB server, appserver
node to manage your sass
nginx
and you can version control to distribute
then they just $lando start and we are all good
customizing the whole darn thing
—config example—
you can add run steps
once started run this set of commands
maybe yarn or gulp
tooling
make sure this command is available to lando
terminus or platform
Why do this?
increase efficiency
make your staff more productive
level up your devs faster
increase confidence and ability to deliver on complex projects
become a revenue stream or selling point
interject the needs for this in your projects
advocate for DevOps
‘where are we deploying and how as we deploying?’
Who is on the devops team?
EVERYONE!
Think in interfaces!
what are the places devs and stakeholders and clients touch
are you breaking it by changing how they interact?
aim to make day to fay dev and on-boarding seamless
Documentation is critical
Your company, your tools and every project needs a README
pick good partners
who are you choosing?
everything comes with a cost
Love learning about horizontal DevOps from @serundeputy at #drupalgovcon
Managing multiple people over multiple projects! A serious issue as we scale our operations. pic.twitter.com/ATn0eFuAno— Dwayne McDaniel (@McDwayne) August 22, 2018
Healing a Broken Project
Aimee Rae Degnan
As with any talk she give, Aimee brings a sense of humanity that a lot of technical talks just don’t aspire to do. I love hearing real case studies and anything drawn from hard earned life lessons. This talk was surely that. The best part for me came when she asked us to provide examples of how our projects are going using ‘adjectives in twitter sized descriptions’. The room felt a united sense of catharsis that they were not alone and all people have frustration points with certain projects.
Defining healing
temporal characteristics of issues
acute issues – severe and sudden in onset, life happens
Chronic issues (occur over time)
Comorbidity – simultaneous multiple chronic issues
Complications – a difficulty, a secondary issue aggravating existing issues
how can you tell is a project is broken
Feeling “Will this project ever end?”
Stakeholders ask “Is it done yet?” a lot and intensely
primal analysis
give adjectives to give twitter length descriptions of your project
what does your gut tell you?
1 – large complex, data integration and expertise required, good project
2 – there was a along difficulty, multiple deaths on project, data corruptions – bad sign, bleh
couple examples from the room
“Obstructionist gaslighting (room exploded in laughter could not hear rest)
Understand some project anatomy
purpose and business goals
scope
Normal project pains
work is called work for a reason. Put your grumble filter on
fluctuations are normal for budget, schedule and team
varying velocity based on project phase
calibration of quality and velocity
balace of real world scope and reaching scope
There are ABNORMAL signs though
temperature of the project, look at data
budget and schedule overage
low client happiness
low team morale
things aren’t being built or wrong things built
unplanned impactful events (mergers, deaths)
If you are coming in as project recovery person this is hard to deal with
Answer the distress call
harder to influence change if you are in the mix of it.
First question: What is going on with this project
Triage
noun, assignment of a degree of urgency to wounds or illnesses to decide the order of treatment of large number of patience
to assign degrees of urgency
what is happening RIGHT NOW
what is the FIRST thing that happens NEXT
– Stop all work, Continue with caution to Keep Going
Revisit purpose
Why does the project exist?
what was the stakeholder really trying to do?
is the project purpose still relevant?
is it time for a pivot?
this is a big conversation with stakeholders. Sometimes the end goals get lost in the shuffle
Review the Deliverables
many times, tasks, requirements and priorities are set by transient people to the project
some deliverables may not be relevant. This is a good time for a backlog review
is anything defined?
is anything built?
are the right things built?
Analyze the people
Stakeholders:
expectations
feelings (everyone has them but really pay attention to theirs)
needs
Project team:
Skills
Size
Culture
Behavior
Prepare for the hard conversation
Surface findings from triage
identify next steps
identify methods used to address previous failings
define which phases of the project will need attention and how much
at this point, new estimates may not be possible
use data to support your points
use humanity to convey health
Understand the stakeholders to prep the most effective method
don’t cherry coat things, be supportive and positive though
this is time for real, transparent change
Sometimes you have to restructure the team
open discussion of failures
transparent sharing of improvement approach
remove team members
add new folks: supporting skills, extra hands
provide training, if needed
be open to feedback and ideas from your team
the people will need to be heard!
Start out right!
Kickoff and project one-sheet
project schedule
project status reports
communication plan/set meetings
consistent and capable team
weekly progress report
fine balance structure must be catered to your team. too much or too little structure are equally disruptive
use tools that all team member can access and understand
Keep your eyes on the big picture!
focused, process based on discovery
Functional approach to expose gaps
end to end, as is walk-through of site
use Workshops and time-boxed discovery
BEWARE discovery efforts can lead to more discovery
time box helps
leverage meeting facilitators that can navigate a tough room
record meeting for reference. It keeps people honest and accountable
Redefine deliverables
Provide structure
provide more information
tiered delivery/progressive product features
perform a needs recalibration
-must haves
-should have
-nice to have
-forced
Keep in context
use plain English and avoid jargon!
Then work and work and time passes
but sometimes the project does not heal
causes and responses
no executive sponsorship/suport
no clear purpose
no clear budget
schedule slippage
mismatched team
behavioral issues
Healing together at #DrupalGovCon with our doctor for the day @aimeeraed pic.twitter.com/UWOHrWCXxo
— Dwayne McDaniel (@McDwayne) August 22, 2018
Demystifying Composer
David Hernandez
Composer is a magical black box to me that I barely understand outside of how to copy paste the commands from other peoples’ repositories. That is much less true now than it was before I saw this talk but I have not yet done the work to really understand it. I am admitting this because David flat out explained we are not going to ‘get it’ until we do that work and that is why hy has made a tutorial repo available to us all to help us figure this thing out and remove the magical veil. I can’t wait to dig in when schedule allows!
Raw Notes:
Made a gihub for us
run it step by step
don’t just read it or watch this talk
tutorial intro really
some commands are slow
davidhernandez/composer-tutorial
A dependency manager
Packagist
Drupal is the worst implementation of composer is the issue
not built from composer, it adapted composer to Drupal
it is a command line tool
no GUI
Getting started
dependent on your CL in your terminal
make sure you are using the right version of PHP
run composer in the container if using Docker
everything we do ends up in a composer.json
that is config file
it tells composer what to do
most important file
then the lock file
it writes this itself based on .json and what composer does
packages are downloaded into a vendor directory
composer command
finding into and adding dependencies
composer.json is written and composer.lock is the last thing written
runs as PHP in shell
example
$composer require vendor/package
many commands – will list info if you ask it too
composer init
optional command but this gets you going in an empty directory
runs a wizard to set you up right
you can just write the JSON but this is handy and nice
nice because correctly writes the json
example json
require is the most important part of the json really
composer install
run this to read the composer.json and write the composer.lock file
writes a vendor directory (in Drupal, this can be very bad, it is actually bad)
commands that gather data and install dependences are memory hogs!
composer.json = 43 lines
composer.lock = 4300 lines
composer require
go get it and put it in right
composer require –dev
adds info to require-dev section
by default composer will download the dev dependencies section
use –no-dev with the install command to avoid it —
Version Constraints
getcomposer.org/doc/articles/versions.md
exact 8.5.1 = 8.5.1
wildcard 8.5.*
range >=8.5 <8.6 (be careful to make sure you are telling it right range)
Stability contraint 8.6.x-dev = unstable (dev) branch 8.6.x (alpha, beta, stable, dev)
increment last digit ~8.5.0 = 8.5.0, 8.5.9
increment last two ^8.5.0 = 8.5.x, 8.6.x, 8.7.x ect
IN semantic versioning, first digit is a significant digit, it will not change this, you have to manually change this
implementing versions is just adding it to the end of the command
$composer require drupal/console:^1.0.0 –dev
Minimum stability
understand this one
to composer this is the minimum stable version I will accept
it is OK to get dev if I say
dev, alpha, beta, RC, or stable
works with version constraints
project wide or per package
more instability
“prefer-stable”: true
prefer to download stable, but other versions can be specified
only do dev if you force –dev
Adding repos
out of the box COmposer looks to packagist.org
Drupal can be retrieved from there, but not themes or modules
neither will pages
need to tell it to packages.drupal.org
Scripts
can run pre-install, post-install, pre-update, post update, ect
this stops Drupal from adding to the Vendor directory
Extra
used for metadata
installer-paths:
drupal/drupal and drupal/core
complete copy of Drupal 8
Essentially webroot
don’t use
Subtree split of just the /core directory
use with scaffold
docroot/core
Updating is actually pretty easy
composer update
composer update drupal/console
look at your .json and .lock if this fails
Patches
composer does not do this by deafault
so someone made composer-patches
path to the patch can be a URL or local or within the project
create-project command
create project basically clone an existing repo, acts a a starting point
$composer create-project drupal-composer/drupal-project:8.x-dev
Remember:
Composer will not install modules for your
this is not drush
be mindful of the .lock file
it will contain exactly what happened
think ahead how you will manage Compose as a team
read the messages
it will likely tell you why something didn’t work
it can be slow
it actually solves more issues than it causes to add vendor to git
this is controversial
I love any talk that says 'my GitHub repo is here, go do this tutorial to get the most out of my talk and get your hands dirty". Glad for @davidnarrabilis at #DrupalGovCon for doing this for #Composer pic.twitter.com/e3tgMWK6EG
— Dwayne McDaniel (@McDwayne) August 22, 2018
Can We Figure This Drupal Component Thing Out Already?
Brian Perry
Adam Bergstein
I will admit it again and again, I am not a front end expert. But just like any other topic I don’t understand I am going to keep on going to these sessions to learn more and at least be able to talk at some level of competency when I do ask questions about this from more knowledgeable sources. I am not aware of too many more knowledgeable sources than Brian and Adam. The other big reason I went to this talk was because there is a tacit disagreement between these two on implementation details. However, the level of professional respect for one another overcame any negativity this disagreement might have generated. This talk is a wonderful example of how we can disagree in the most constructive and productive ways!
They had debate at Midcamp, turned it into a talk
Design and implementation
pattern lab was an attempt
making best use of reusable pieces
ongoing conversation, might change their opinions
how do I reuse the design assets through the web
examples in wild
pattern lab Drupal starter kit
Emulsify Drupal theme
Shila Drupal theme
and several others
also worth noting is DYI custom theme for this
limitations
might be only able to do this on one site
if a theme, then very hard to share and get exact results
outside of Drupal is impossible with this path
tech bias (SASS vs LESS, etc)
poor documentation on how and why problems were being solved
need flexibility in Adam’s mind
Problems Adam hit when setting out to try a fix for this
-Creating a fully decoupled solution
-shared tech baseline between the design and the CMS
use the right tech for your team
looked at Twig
having aggregation in a single file with Gulp/Grunt is essential for him
-the packaging and delivery of design system assets
-the implementation of design system assets in the CMS
-Change management of ongoing changes
Normalization – Atomic design
design patters resemble db normalization
create patterns in their most atomic form
reuse as needed, DRY principle
Really this was all intended for prototyping
work fast and separate from actual implementation
KISS concept
design system should define the simplest version of the ideal model it is expecting
this should reduce the need for the design system to perform heavy/complex processing
can be a warning sign you doing too much if can’t follow this guiding principle
code examples
raw values of what to expect
spitting out data, that is all the design system is doing
Least responsibility principle
the design system own the ideal model
twig example
just includes a patternlab twig file and map to elements
Understand pattern variations
patterns have attributes that are defined in the data
data is often thought of as content
example code template
Let’s adhere to standards
Atomic design
BEM – Block Element Modifier
SACSS
Drupal/CSS/JS framework standards
Implementation ideas!
Process of packaging, releasing, change management
create releases of design system
leverage task manages like Grunt to build on CSS file and multiple JS files
use COmposer to bring in dependencies
Map design assets in the theme
remediate and launch CMS changes
Dependency
in design system
ass composer.json
in Drupal project
add repository entry in composer.json referencing system repo
configure installer paths to install in docroot/libraries
composer require your design system
Adam does not like to do this, leaves in Vendor directory and Drupal caches it
Patterns are not a one to one mapping in the CMS
Flexibility to use any pattern in any way
provide well defined approach to handling design system overrides
some patterns are not implemented in a CMS
Pages are often just mockups and representation of pattern usage
must use core sponsored tools
custom block types
layout discovery/ layout builder
views
content types
view modes
Optional contrib modules
Paragraphs module
UI Patterns module
Display Suite module
Gutenberg!
This was just a WP specific tool
Very recently, someone wrote a session about D + G
experience of using a WYSIWYG better
it falls down in how it structures data
difficult to do with design systems
big red flags going off in Adam’s head
If any two people can help us sort out components in #Drupal I believe that @n3rdstein and @bricomedy might. #DrupalGovCon pic.twitter.com/iiJ2BPOc9t
— Dwayne McDaniel (@McDwayne) August 23, 2018
There are few companies that have the track record with Open Source that RedHat does. And there are very few people who have the credentials Deborah Bryant has around the Open Web. She laid out the case for a free and open internet not by reciting facts and figures, of which there are many, but instead encapsulating these into very relatable and repeatable stories. Stories have the power to travel and be repeated for hundreds and in some cases thousands of years, as Neil Gaiman explained. I know I will be telling these stories of why Drupal is important and how we can advance to make the world a better place together!
Raw Notes:
Oregon open source bill
she had to testify the bill, as it stood, was bad
Open Source Values
openess
transparency
meritocracy
collaboration
the more time she spent at Oregon State
she came to believe:
The development model may be more important then the code itself
she founded the Government Open Source Conference in 2005
ran until 2012
started evaluated many OSS projects
in 2008 OSS pops up in Washington DC more and more
administration change
OSFA Open Source For America
freethecode.org
increase in conversations about how government operations can benefit from open data
dispelled a lot of myths
international crisis congress
infrastructure mapping, was amazing to save live with OSS
Healthcare IT
Disaster Response
Open Streetmaps
Human rights
Social Good
Hacker Bus: Teaching Brazilian kids computer ethics
Sri Lanka has the highest % of oss devs in the world
Country Portal project
elevated for economy for the country
answered how do University students get trained in this stuff
Helped Malaysian get to non-proprietary tools in government
ICT global operations team for the World Bank
extending OSS to developing nations
ad-hoc consulting services
If you know how to open source…
Then Share MORE!
Volunteer
Mentor
be an ally
be available
support something you care about
one concern many folks have is how to build community
RedHat is looking for help on this
Documentation is a real need across all projects
not accessible if people can’t find the docs
Deb is invokes with lots of open source advocacy #DrupalGovCon #drupal4gov pic.twitter.com/J1TbbMTOEd
— Hester Prynne (@uniongal) August 23, 2018
Government Issue(s): Leveraging Accessibility with Usability to Serve Really Diverse Audiences
Tearyne Glover
If any member of a community can not access public information on their government’s website and as a result, not get access to services they need, then we have got to do better. You sometimes see diversity talks that give you all sorts of reasons to feel bad and not a lot of actionable insights on how we can try and make it better. Tearyne got up and explained how to use data to drive the conversation forward for a more inclusive internet in very demonstrable and replicate-able ways. Understanding who is actually using your website and how they understand what is written on your website is a mandatory step int he right direction. Only with data can we help others change their minds. And helping the folks in charge of things like web portals change their mind is the only way we are going to advance!
Raw Notes:
What they got wrong and what they got right
UX front end dev for City of Dallas
a communications specialist
Curb cuts example
Who benefits?
Wheelchairs,
visually impaired
strollers
many others too
She used to answer phones a lot and got swimmers ear from holder her head on the side
was hard to use headphones
started using subtitles
realized this was useful
Accessibility:
Ensuring direct and indirect access through accommodations to people with disabilities
accessibility is heavily related to universal design which aspires to create environments that are designed to be accessible to older people
Design for All
a philosophy targeting the use of products and designs for all people
ERF
Employees Retirement Fund
Dallas has 12,911 employees, 9,690 are unsworn
sworn pension contributions are 13.32% of employee pay
2002 ERF launches first site, static
2015 launched active employees’ portal
2017 launched retiree portal, giving them access to their 1099-R forms online
2018 Pay stubs launched in retiree portal, giving access to pay stubs online and stopped mailing physical stubs, saved a lot of money
You have to know your audience
Diversity and inclusion is a good definition but what does it mean in reality
we are good at making images and some words
but let’s get beyond the fluff top level
Dallas stats
1.3 Million people
33.4% native Spanish speakers
most employees 62.9% do not live in city limits
Languages in Texas
many varied languages, need to deal with them
COD employee ethnicity, very diverse
and ages, she is keeping track of a retirement system, so very important
Income diversity
average salary between $35K and $90K
3,913 employees make up our top five departments
top pay compose only 3% of total workforce
Instead of lip service, how do we serve them?
1. build the margins in your product from the beginning
Summer sessions, what are their concerns.
economic
educational
language
technical – many people only have phone access
access
intersectional issues you solve doing this alleviates many issues
example
image in text sliders
obviously an accessibility no no
no alt text
how can people see it
or translate it
solution: Front page panels
new front page slider
actual text from a node, can be swapped around
simple HTML but shows all the same information
username and password screen
same screen
harder to brute force
reduced the number of attacks
used modal
on checking our Drupal analytics
the forgot password link showed up as a Spanish search
nobody translated it
being able to talk conversationally vs financial planning in second language very different things
They did translate modal before getting rid of it
this solved majority of issues
2. Identify pain points that create challenges
3. Design you products to offset the situations that result from the marginalization
commute times
City Hall, street department, parks, city attorney’s office can have very different experiences
retirees have different needs and requirements all their own
resulting in very different user experiences that need to be accounted for
due to her hybrid role, has a lot of one on on experiences with members
make sure you ask people
also use analytics data
Feedback tools
bad reviews are helpful to fix issues
What have they learned?
have to hold self accountable
New standards for Dev
checklists
one they had portal, now have customers you need to service
Frontend to UX dev transition
ticketing system
adopted a PM system
standards list
Spanish must be easy to access
device
Screens and Devices
tablet and smaller screen view must be accounted for
many internet explorer users are forced to use it
Cost of exclusion
counselors end up with more calls about basic knowledge that don’t need human touch (data gathering)
Members end up frustrated
instead of resorting to the source of truth, members sometimes disseminate incorrect information among each other
members make decisions that can harm financially in the long term
‘windfall tax’ issue
benefits of including people
members know they have a resource always
self service nature makes them empowered
members generally make much better decisions fo their futures
the portal frees counselors up to service more people better
we should hold ourselves accountable to be inclusive
incremental changes as we learn
Excellent session on designing websites that are *really* accessible – from alt text on homepage sliders to translating security questions @TearyneG #DrupalGovCon pic.twitter.com/QtvVWPsm0X
— Emily Patterson (@EmilyLPatterson) August 23, 2018
Automated Accessibility Testing
Brian Thompson
I go to a lot of talks, as evidenced by my notes repo. So many talks I go to expose an idea but stop short of giving firm steps for what to do about this information. This leads to a feeling that Brian described to me as “a need to go do a bunch of work to figure out what how to use the ideas presented”. He seeks to remedy this in his talks and does so by giving not just concrete examples, but giving exact commands to add to your testing scripts to accomplish the goal of testing for accessibility. Now, instead of reading a bunch of docs and trying to figure out so many things on my own, I feel I have a new tool in my toolbox I just have yet to implement. I wish all talks were this actionable.
Raw Notes:
His grandmother could not really see domino later in life
was feeling the dots to understand what she held in her hand
this was his first accessibility lesson
would you build a bridge that only a specific type of car can use?
Andrea Fercia
Accessibility cases
blind woman sues toys R us for not being accessible and violating law
Winn-Dixie must update website for the blind
wet willies (bar in Florida)
terrible website
also sued along with Sabre technologies got sued for building it
we could be at risk for not building accessible sites
we need to care about this!
how do we go about doing that?
how much does it cost? that is what the sales people ask
WCAG just came out
automated accessibility testing
automated tools can be temperamental
big websites take long times to test
WAVE API
Cool demo
URL and API key to request reporting
can make json for readability
2 or 3 levels of digging deep on Drupal makes this tricky
reportype=2 is more useful
Google Lighthouse
in chrome, audits options in dev tools
you can pick a lot of options and run a report against not just A11y
seo, and other options
quickly identify elements from the reporting
lighthouse can tell you what needs checked manually
visual version vs CI version
On Gitlab, likes the CI system
one command with passed chrome flags
can use in docker very easily
commit it
they represent CI with a rocketship, which is pretty cool.
CI output does not automatically fail test
you need to write a parcer to understand reporting
enter AXE CLI
Canadian company, open sourced it
been around since 2016,
Designed for CI
one command, $ axe url –exit
–exit is what emits an exit code if problem persists
Bring it all together
many options
Google Lighthouse gives you many other things as well
think automation in all things
how do we do this?
docker containers for lighthouse and aXe CLI are available
see slides for URLs
no more chrome support in RHEL
Automated accessibility testing with @rvtraveller26 from @mindgrub at #DrupalGovCon in balcony C. pic.twitter.com/kxHmEe2SFL
— chris zietlow (@aczietlow) August 24, 2018
Keynote day 3
Julián Rodriguez Orihuela
I honestly had not read the session description and went in rather blind to what was going to be presented. I left the session with a pretty big sense of ‘wow’ at how fast and how dramatically the team rebuilding and unifying their central government’s web presence is working on improving services for their customers: the citizens. While the technical details are indeed interesting the lingering impression came from the sense of duty to their fellow Argentinians. This was not just a case study on how things can be implemented but what these changes can mean for disenfranchised parts of the population, helping make services much more available to those who really need it the most. Next time someone asks about a use case for Drupal that highlights how it is different than closed platforms, this talk should top your suggestions list.
Raw Notes:
Argentina is pretty great in many ways
G20 held there
more than 25% of citizens in poverty
in a journey
strong emphasis of saving and preserving life
mandate to work to make more professional civil service leveraging technology and egovernment
when they arrived, there was no digital strategy in 2015
separate things in different ministries
very sparse platforms
experiences varied too much
principles on how to serve citizens
Focus on the Citizen!
One government, don’t need to know every ministry or agency, just should act like on thing
We go to the citizen
Measure and improve – don’t have to get it right the first time
need humility to make it better
Strategy
Rewrite official website and guidance
one platform for the whole government
plan for multiple channels
Example
took their service guide
remade in Drupal – put beta in the name
wanted tog et conversation going with citizens
migrated their own website to this new site
Then they need to grow up
how to get other ministries involved
had a mandate that 1 year after started
“All internet portals of the National Public Sector are to be developed through the General Web Portal GOB
used the formula YMMV
consistent strategy, similar strategy from local civic team strategy
presidential mandate
huge deficit
a couple big early adopters
scalability and security issues in current platforms
some stats
292 gov orgs to be migrates
2/3 of the way there
8 content types
faceted search
using panelizer
services 1,800
Areas, 600 (homepages)
news articles 14,000
pages 4,000
book paged 4,800
plan for 100% migrations by end of 2018
500K visits per day
8-10M a month
how the heck they move so fast?
our v1 methodology
Migration means rewriting the stuff, not using the script to move from one place to another
archives of news they do that but mostly it is just rewriting it elsewhere
v1 is better than what had at least
“not the best, but better”
adjust content based on analytics – data driven
trains people working on sites
focus on the service guides, the most important part for them
Don’t bother with the ad-hoc features yet – letting people maintain that themselves if too complex to move
have to compromise on things
ministry of health and the Press team for the president
they want their own special landing pages for important things
vaccinations, taxes, emergency situations
what’s next?
content audits
user research for content
end to end services, show all transactions needed for larger life events – ‘how to buy a house example
multilingual
multi-platform
Creating a digital strategy for Argentina with Julian Rodriguez Orihuela #DrupalGovCon #drupal #Drupal4gov pic.twitter.com/UOjXYnnKVc
— noemi (@nlucciola) August 24, 2018
Motivate Your Agile Team with an Open Source Mentality
Laura Lacy
My favorite part of this talk might have some near the beginning with a modified explanation of Maslow’s hierarchy of needs that replaced the lowest tier with WiFi and Battery Life. Truer essentials have never been defined. In all seriousness though, having lead many a team and going through many methodologies, Laura sharing her experiences was at the same time entertaining and highly informative. I had not heard of the RE:WORK project yet and am looking forward to digging into that more to expand my project management vocabulary and tool set.
Raw Notes:
What motivates people?
Maslow’s hierarchy of needs
wifi/battery
see tweet
motivation 3.0
extrinsic vs intrinsic motivator
motivated to perform to earn reward or avoid punishment
intrinsic is doing ti for its own sake
extrinsic motivation
good for routine work
can decrease intrinsic motivation
we begin to expect rewards and can perform worse when they arn’t met
Intrinsic
best for creative or knowledge tasks
examples, Montessori school
20% time – work on what you want
extrinsic has a hidden cost of rewards
“now that” rewards vs if-then rewards
preschoolers and watched kids color
3 groups
group 1 offered a cert before coloring
group 2 gave cert after coloring
group 3 no reward
group 1 significant decrease in desire to color, 2 weeks after the fact
The candle problem
examine different aspects of what motivates people
candle, matches and box of tax
affix candle to the wall so the wax doesn’t drip
functional permanence, must use the box from the tacks
2 groups
group 1 timing just to get a baseline
group 2 has incentives $5 for top 25%and $20 for #1 performer
group 2 took 3.5 minutes longer on average
Atlassian case study
Fedex shipit days
occur once per quarter
24 hours
must deliver something of value to customers
innovations delivered!
faster jira load times
confluence plugins
better retros
24 hours to innovate, is like 20% time on steroids
INtrisic motivation
wikipedia – 27 MIllion registered users
linux – 75% of cloud apps
apache – 26% of the top 1M sites
Drupal
Firefox
re:Work project from Google
1. psychological safety: can we take risks on this team without feeling insecure or embarrassed
2. dependability: can we could on each together to do high quality work on time
3. Structure and clarity: are goals, roles and execution plans on our team clear
4. meaning of work: are we working on something that is personally important for each of us
5. impact of work: do we fundamentally believe that the work we’re doing matters
https://rework.withgoogle.com/blog/five-keys-to-a-successful-google-team
Agile manifesto
individuals and interactions
working software
customer collaboration
responding to change
management 1.0 – treating people like cogs
servant manager
zappos
embracing culture
deliver wow through service
embrace and drive change
create fun and little weirdness
be adventurous, creative and open-minded
pursue growth learning
build open and honest relationships
builds a positive team spirit
be humble
GREAT RESULTS
what van we do personally
what keeps you up at night, what gets you up in the morning
flow test
motivating motivators
Do you want to feel accepted or do you just want get things done
diverse views are important to get things done
AS a leader
make team decisions
involve all in gaol setting
rotate facilitators
team health check
promote the culture
hold space of the room
making sure people know how we act together as a group
need to act it, live it
get to know each other!!
http://www.funretrospectives.com/
Motivating teams. #drupalgovcon pic.twitter.com/hrPYAzs7Sy
— Dennis Sutch (@dsutch) August 24, 2018
My Sessions
I got to give two talks at this event.
Let’s Learn Git. No More Excuses.
and
Discovery, discovery, discovery, discovery! The most import part of the project
I really love teaching people things and helping people learn concepts. In the case of git, I have a pretty simple goal: Let’s get people over the hurdle of being afraid of the darn thing. I got a lot of great feedback some of the participants that this helped sure up certain concepts or had indeed given them confidence that they could in fact get this stuff figured out.
In the case of my Discovery talk, the goal is slightly different than explaining a technical concept with a very clear correct and incorrect way to do it. As with anything that involves the people part of a process, I am not sure there is a true right way or wrong way, only tactics and strategies that are effective or ineffective situationally. The real value comes from the conversations that the attendees have in the Q and A and hopefully out in the hallways and the streets afterwards.
It was a great honor to give these talks and participate in this conference. I learned so much giving these talks and having these conversations.
"You can't teach a kid to ride a bike at a seminar." – @McDwayne So excited to be learning about Git! And he's right, totally feel like a kid trying to learn how to ride a bike 🚴♂️ #DrupalGovCon
— Julia Gutierrez (@jajahulia) August 23, 2018
@McDwayne of @getpantheon stepping through to talk project discovery at #drupalgovcon #discovery #process pic.twitter.com/JXbNTP4NDi
— Karl Kaufmann (@karolus) August 24, 2018
Wrapping up
Ultimately this conference was about us, the true owners of the republic and of the open source code. You and I. Being in a place once decribed by The Magnetic Fields as “The seat of freedom and sweet democracy” gives a certain pause to the normal processing of thoughts that accompany these technical conferences. The ‘why’ of the event might have been on the surface a way for Government employees using Drupal to connect, similar in that regard to Stanford’s Drupal Camp, but the real why we are doing any of this felt better pronounced for me. We are doing this because making an Open Web out of Open Source technology ensures a freedom that we are realizing ourselves. Not handed to us by higher authority, but forged by the participants and constituents themselves. Messy and loud and maddeningly slow at times, democracy of software or of our way of governance is self determination in action. I can’t wait for next year already, when we can yet again rejoice together as we reflect on our shared values and vision for a just, free and equitable society at Drupal GovCon 2019.
#DrupalGovCon #Drupal #NIH pic.twitter.com/CJGcB1tQcs
— Adrienne Dao (@adrienne_dao) August 23, 2018
Greetz from #drupalgovcon to @HornCologne ! pic.twitter.com/kBzGtGPjzK
— Dr. Christian Knebel (@cknebel79) August 22, 2018