Thursday at DrupalCon 2017
Welcome to my final recap post for DrupalCon 2017 Baltimore! As with Tuesday's and Wednesday's posts, I'd like to summarize some of the sessions I took in today. Each summary includes a link to the official recording of the session, if you'd like to learn more.
Technology and Its Workforce at an Ethics Crossroad
Thursday's keynote address was presented by Zeynep Tufekci, an author and New York Times contributor, who spoke about the role of technology in social movements today.
The core message was related to the global rise of authoritarianism, in both right-leaning and left-leaning governments. Zeynep used historical examples to point out that humans normalize to emergencies quickly, and so when authoritarianism begins to creep into any political system, people normalize and socially reassure each other as it happens.
In particular, the technology community was once led by rebels, and people who would be very wary of top-down control. However, it is increasingly corporate, and with this comes less idealism and more strictly financially-driven motivations, paving the way for some less savory decision-making.
Zeynep outlined some of the primary technology trends we should be wary of.
First, surveillance is baked into everything. Advertising is now only profitable when users are extensively profiled. Because of the sheer number of cameras, sensors, and devices connected to the Internet, it is nearly impossible to avoid surveillance. Ads built on this surveillance are also increasingly good at persuading us. Persuading is not bad, but information asymmetry is a problem. Because advertising is targeted and private, if there is a contrary opinion, it cannot react properly.
Second, algorithms drive people to extreme viewpoints. Since monetization is driven by engagement and page views, it pays to polarize people and feed them more extreme versions of what they like. this machine learning also makes privacy more problematic. Even if you do not directly disclose information (e.g. sexual orientation), AI agents can derive that information from patterns of known information.
Third, we are dismantling structures of accountability. Instead of correcting problems with newspaper journalism, we are gutting local journalism. Instead of adding convenience and technology to taxi systems, companies like Uber sidestep all of the regulation and accountability we have erected around transportation.
Fourth, the labor realities of our new economy are not compatible with a middle-class supported democracy. People are either highly skilled, or minimum wage. Since labor is distributed and global, wages are a race to the bottom. The lack of competition fostered by increasing centralization also plays a factor here. Products are increasingly driven by network effects, which reward people for using the same systems as everyone else. This places a lot of power in very few hands.
All of these factors combine to form the right groundwork for authoritarianism to thrive, which is a real problem we need to react to now. At minimum, in technology we need to be constantly asking ourselves questions like, "What data do I really need to collect from people?" We also need to keep these questions in front of politicians, because some of these issues can be self-policed but others require legislative support.
Testing for the Brave and True
Gabe Sullice led a session on automated testing for Drupal websites.
We are all testing code all the time. However, we are not all good at keeping tests for posterity and reuse. Automated testing is about not throwing away the work you're already doing. Writing tests can make you more productive, even though it means writing more code, because of reduced time tracking down and correcting issues.
PHPUnit and Behat are both used for testing Drupal code. PHPUnit tests at the PHP level only, which Behat simulates an actual user of the site. This talk focused on the PHPUnit method of testing.
PHPUnit comes with a testing base class and command line utility. Drupal has extended this with UnitTestCase for unit tests, and KernelTestBase for tests that need a more full-featured environment (with a mock database). WebTestBase and BrowserTestBase are available for situations that require HTML itself to be tested.
Sadly, this presentation was much more surface-level than I had hoped, and did not feature any real-world examples of testing Drupal code with mocked databases, etc. Still looking around for some great tutorials on the subject!
Why Is Drupal So Hard to Learn?
Joe Shindelar led a collaborative discussion on the roadblocks faced by new site builders and developers when approaching Drupal, and how we can as a community improve that in the future.
Joe talked about Drupal's reputation of having a step learning curve, and identified four stages that developers go through when attempting to gain mastery of it.
Phase 1: Hand Holding
In this phase, basic and fundamental concepts are taught by polished resources. Because so many people need help doing the same things at this step, your confidence rises quickly, and it can be an exciting time.
Phase 2: The Cliff of Confusion
Now you are doing things that aren't directly described by tutorials, so it becomes clear how much you actually don't know. You are still learning and gaining capability, but confidence in your ability plummets.
Phase 3: The Desert of Despair
Whatever you try to do seems promising at first, but it is easy to get lost or go in circles. Stage 3 is very long, because it is not clear what questions to ask. The easiest way to get through this stage is with a mentor. Confidence stays low throughout.
Phase 4: The Upswing of Awesome
You start to be able to solve real problems, which provides confidence. This then transitions into learning best practices.
After presenting this framework, a lively discussion ensued. Some ideas about improving documentation came forward, and hopefully we will see movement as a result of that.
At the closing session, the venue for DrupalCon 2018 was revealed: Nashville, Tennessee!
Thanks for reading! Tomorrow we get down to brass tacks with some code sprints. If you are in the Grand Rapids area, be sure to check out our regular monthly GRupal meetup. This Monday, we'll be sharing our DrupalCon experiences with one another, so that's a great chance to learn more if any of these topics piqued your interest. See you then!