Upgrade Your Drupal Skills

We trained 1,000+ Drupal Developers over the last decade.

See Advanced Courses NAH, I know Enough
May 20 2020
May 20

Your browser does not support the audio element. TEN7-Podcast-Ep-090-Heaher-Rocker-and-Tim-Lehnen-Drupal-Association_0.mp3

Summary

Heather Rocker and Tim Lehnen discuss the multiple missions of the Drupal Association, turning DrupalCon Global 2020, and the upcoming Drupal 9 release.

Guest

Heather Rocker and Tim Lehnen of the Drupal Association

Highlights

  • Drupal Association (DA) covers three areas, drupal.org (open source projects), DrupalCon, the Drupal community
  • The DA doesn’t build Drupal directly, they build and enhance the tools that enable the community to build Drupal
  • It was a tough decision to make DrupalCon 2020 virtual, but Minneapolis community was supportive and forgiving
  • With loss of DrupalCon, DA lost 60% of its total funding, but with emergency #Drupal Cares fundraiser, the Drupal community made up the $500K shortfall
  • Drupal 9 is coming June 3, focused on empowering less-technical users
  • Drupal 8 to Drupal 9 upgrade will be as easy as minor upgrade, and that sentiment carries forward to all future releases
  • Drupal 9 has a new evergreen logo, and will help with brand recognition

Links

Transcript

IVAN: Hey everyone! You’re listening to The TEN7 Podcast, where we get together every fortnight, and sometimes more often, to talk about technology, business and the humans in it. I’m your host Ivan Stegic. As most of you know, TEN7 is squarely focused on Drupal as a technology. We live it, we breathe it, we create and we care for Drupal power websites, and we do what we can to support the community by donating our time and money by contributing to camps across the nation and of course, to Twin Cities Drupal Camp here in our backyard. Even though we’re a fully distributed firm with team members in Portland, Austin, Boise and Chicago, our roots are here in Minneapolis.

So, we’ve been giddy for almost two years now with the anticipation that DrupalCon 2020 was scheduled for Minneapolis. DrupalCon was finally going to be in our hometown, and we have been really looking forward to that. But as the Coronavirus pandemic has raged it’s not only devastated families, but it’s affected the global economy and has certainly left an indelible mark on the conference and events industry as well. DrupalCon Minneapolis has been transformed into DrupalCon Global with a new date and virtual presence online. Mark your calendars, July 14 to 17, 2020.

Today’s episode is publishing on what would’ve been the Wednesday of DrupalCon Minneapolis 2020. Trainings and summits behind us, we’d be listening to the Dries Notes and looking forward to sessions, BOFs and of course a sprint day, DrupalCon. And what better way to celebrate what would’ve been than to have two members of the Drupal Association with me today on the podcast.

My guests today are Heather Rocker, Global Executive Director of the Drupal Association, and Tim Lehnen, Chief Technology Officer of the Drupal Association. Heather is a champion for the global ecosystem of Drupal and has been Global Executive Director of the Drupal Association for just over a year. What a time to have come aboard. She has been the Executive Director of Women in Technology and the CEO of Girls, Incorporated of Greater Atlanta in the past. Tim has been involved with Drupal for over 14 years, has been the Director of Engineering in the past, the interim Executive Director, and now serves as the Chief Technology Officer of the Drupal Association.

Hello, and welcome to you both. I’m just so honored to have you on the show.

HEATHER ROCKER: Thank you. It’s lovely to be here. We’d rather be with you in person in Minneapolis though, if we had our way

TIM LEHNEN: Yeah, it would be wonderful if we could’ve been there together, but it’s great to be here and great to talk about how we’re pivoting to DrupalCon Global and making all that happen.

IVAN: I’m just honored,  and it’s nice to be speaking with you both. I want to ask the first question by saying, how are you guys doing? How are your families? Where are you joining me from on the podcast today? And also, who else is using your wi-fi?

HEATHER: [laughing] I’ll let Tim go first.

TIM: Yeah, so, doing fairly well. I’m here in Portland, Oregon and the city has been doing a decent job with our Shelter In Place and quarantine rules. So for the most part we’re doing okay here. Fortunately, my family has been not too disrupted. I, of course, have been working remotely since before all this happened. My wife, who’s a reading tutor, is now working from home and doing that virtually. And so, we just got a few folks in the home, my wife and my brother, all using our wi-fi, but otherwise we’ve been very fortunate and doing very well.

IVAN: I’m so glad to hear that. How about you Heather?

HEATHER: So, we’re doing well. So, I’m in Atlanta, just north of Atlanta, Georgia. We are handling Shelter In Place slightly differently. If you’ve seen the news lately, but my husband and son and I are staying home and staying healthy. It’s an interesting situation. So, I got married in January of this year.

IVAN: Congratulations. Wow.

HEATHER: This is a very interesting way to start a marriage. [laughing] It’s a lot of togetherness that nobody planned, so we’re getting to know each other really well from a living together perspective.

IVAN: Well done. Wow.

HEATHER: Thank you. And my son is in fourth grade, so we’re also trying to be teachers or at least teaching assistance, at the same time as working full-time from home. So, it’s an interesting situation and last week we decided to bring two fairly newborn kittens into the situation just to make things interesting.

IVAN: Wow.

HEATHER: So we’ve got a house full of excitement now.

IVAN: Oh my gosh. I’m sure your son loves having kittens around.

HEATHER: It’s a nice distraction. It’s a lot of upheaval I think for children, and it’s hard to know how it’s affecting them. So, having something fun running around the house that’s not mom and bonus dad is good stuff.

IVAN: I hear you. My kids are [laughing] giving our dog a lot of attention and have been for the last eight weeks, [laughing] and I think the dog loves it. Daphne’s a big fan of us being all around, she loves the attention.

HEATHER: Exactly. Yeah, they say dogs are winning. [laughing]

IVAN: [laughing] I agree. Well, we have a lot to talk about today. I want to make sure we cover not only DrupalCon and what was supposed to be and what it is now and what it might be in the future, but that we also talk about Drupal 9 and that beautiful new logo and brand standards that came out and the thought process behind all of that.

Before we get to that, and all that, I want to kind of go back to first principles, because we do have listeners who sometimes haven’t used Drupal in the past and don’t know what it is. I want to go back and talk a bit about the Drupal Association. Let me thank you both for serving the community as officers on the Association, and I want to go to a basic level. What is the Association? Why does it exist? What role does it play? How did it come about?

HEATHER: So, I’ll hit this at a high level and then Tim, who’s been here much longer than me, can give a great deep dive. So, the Drupal Association is a non-profit organization who exists primarily to accelerate the Drupal project. We do that through three basic program areas. One is drupal.org, which if you are familiar with Drupal Open Source Project that’s what you’re most familiar with. The second is DrupalCon which you mentioned earlier, and we’ll talk about more. And the third is the Drupal community. So, there’s some great programs that we do outside of DrupalCon, although DrupalCon’s probably the most recognized. But for drupal.org, I’ll let Tim speak to that because that’s a key area that he brings to the table.

TIM: Frankly there’s a lot to talk about. We can go on all day just about this, but the Drupal Association evolved organically about the need to support the infrastructure that the community was building. Originally, if we go back more than 10 years, drupal.org and DrupalCon were effectively volunteer-organized. People in project leadership, like Dries Buytaert and some of the key early contributors, started ad hoc, creating tools to manage the contribution system on drupal.org and gathering people together for events. And as that grew and grew it became clear that that needed to professionalize and have an organization behind it, and that was the origin in founding the association.

So now drupal.org is not only the home of the code, the home of the project, it’s also really the home of the community. It’s where we organize all of the initiatives. It’s where you can find information about local events, things like Drupal Camps. It is where we recruit new contributors into the ecosystem, and finally it’s where we promote Drupal itself to the world.

As one of the perhaps the most powerful content management system, particularly for as we like to say the most ambitious kinds of digital experiences, there’s really a lot to say about what the Drupal CMS can do. And it’s part of our role to get that word out, not just to the people who already know, but to people who might be evaluating Drupal for their needs. So, there’s a lot that we do there. And in addition to that, from an engineering perspective, there’s a lot of infrastructure that goes into supporting the project; all the testing, all the code hosting, all the management of the contribution tools. So, a lot to do there, and a lot to support the community and make sure that Drupal keeps moving forward.

IVAN: So, I think you’ve outlined good reasons and areas why someone should care about the Drupal Association. What are your roles in the Association? Heather, you’re the Executive Director. Tim, you’re the Chief Technology Officer. What are your responsibilities? Heather, why don’t you go first.

HEATHER: So we laugh, lately it depends on the day. But I would say in general, it’s a small team at the Drupal Association, and we all take on a lot of responsibility in different roles depending on the day. But if I do my role correctly at the end of the day, I’m an ultimate advocate for Drupal specifically, and open source in general. So, what I try to do on a daily basis is take the vision and strategy from the Board of Directors, from input we get from the community, from working closely with Dries himself, and translate that into operational perspective from the Drupal Association. So, how do we take that long-term strategy and put that into action in both supporting the open source community as a whole, our Drupal community specifically, and then how do we move the project forward?

So, it’s a very interesting role, made not less interesting by the timing, as you mentioned, of mine coming on and a lot of events. But what I think is interesting is we constantly have the opportunity to innovate, and I know we’ll talk about that in a few minutes. But we have to look at what’s the upside from an innovation standpoint. So, that’s what we’re trying to do right now.

TIM: Yeah, and for myself acting as the Chief Technology Officer for the Association, I do a combination of very concrete work to manage the engineering team here. So, there are only four of us the engineering team on the Association side, and we do the support, the care and feeding for drupal.org itself, maintaining that site, making sure it’s up. We ensure that the Drupal CI testing system is there to provide test coverage for all the contributions that come into the project.

And we build all of the kinds of features and support for other program areas within the Association. So, for example, the engineering side of the DA is involved in figuring out our platform to do DrupalCon Global and to enable us to have a virtual version of DrupalCon. So, there’s a lot of different areas there.

I think one of the things that’s often not well understood about the Drupal Association, especially for people who are new to the community, is the DA isn’t a top down leader of the development of Drupal itself. Drupal is built by the community. It’s built by a group of initiative leads and core maintainers and community contributors. So, what we say about our work is, rather than building Drupal directly, We build the tools that enable the community to build Drupal. And that’s really my role and our role.

IVAN: That’s a really nice description of the fact that the community is actually building Drupal, and that you’re almost just facilitating it right with the tools?

TIM: Yeah, in many ways that’s our focus. Every time we can make an improvement to the tools that we provide, that can accelerate what the community does. It can enable them to do that work faster to ensure those contributions are performance and compatible with the rest of the existing code base, and to increase the pace of innovation in Drupal.

IVAN: And there’s so much work to be done there. It’s just amazing that a team of four can be doing that on such a global scale. I commend you. It’s just so wonderful to see. Jeff Robbins has often referred to the role of leading a small company or a big company and the role of CEO, as the Chief Paranoia Officer, and [laughing] I find myself in that position a lot, even more so lately. Do we have a particular person who’s the paranoia officer, the CPO right now, or is it kind of everyone at the DA?

HEATHER: If I’m doing it correctly I’m absorbing some of the paranoia on behalf of the team. The way I’ve tried to navigate is I try to take on a lot of the worry and look at all the worst case scenarios and then figure out what we can do, and then come back to the team and put plans together. So, Tim [laughing] may have another version of that, but I hope that I’m absorbing some so the team doesn’t feel quite as impacted.

TIM:  I think it’s absolutely true. And the truth is the Association, for better or worse, is not necessarily a stranger to crisis. Way, way back in the very beginning, the first shared host that drupal.org used kind of melted down, and there was a call by Dries to get donations for a server. We had a financial entrenchment about three and a half, four years ago. It’s not that there aren’t ups and downs. One thing I really appreciate about having Heather onboard for this last year though is she does exactly as she says. She’s done a very good job of focusing on how to execute to ensure that regardless of the completely unpredictable world of circumstances, we’re still able to move forward and deliver what we can for the community.

IVAN: Let’s talk about DrupalCon Minneapolis a little bit. You guys actually announced this two years ago. It was kind of the first time that the Association announced not only next year’s, like the following year's location of the North America conference, but also two years in advance. You guys have been planning this DrupalCon for awhile. So, making the pivot to online is not a minor feat. Let’s talk about the different scenarios that you were considering early on when this first came to light that there was going to have to be a change here. And how did you come to the decision that you did?

HEATHER: I can tell you we’ve run just about every scenario possible, but both from an execution and financial standpoint. We looked at what was the path early on of moving forward and what would that look and feel like and it became clear that was not an option. So, then we looked at that cancellation. There’s a theory that contracts have force majeure and everything’s okay in a pandemic, and legally that doesn’t always work out. So, we had contracts we were still locked into.

From an economic perspective, of course everybody involved wanted things to move forward because there’s so much economic impact from a conference in a city like Minneapolis. And so it has a much broader reach than just us and our attendees. So, there was some good faith efforts. Cancellation early on was not a choice, and even long-term not even a choice, because it would’ve left such a void between money that had already been spent and the lack of net revenue that we needed to move the Association forward.

We looked at cancelling and moving tickets to honoring them in 2021, but that ended up having a short-term positive effect and a long-term negative effect, where we would’ve landed in an emergency funding situation next year instead of this year. So, what we decided we needed to do was to pivot to online, and that was because two reasons. We knew that we needed a mechanism from a funding perspective. We looked at the gap and we said, Okay, we can’t raise all this through sheer fundraising, or we don’t think we can raise it also through just a virtual conference, so we’re going to need a combination there. So, we decided to move to the online virtual conference.

The other piece is, we remain dedicated to pulling the community together. I think it’s not just a financial issue for us, it’s a community issue. And we were highly disappointed that we couldn’t be together and execute on DrupalCon which, while it’s a fundraiser, is every bit as much if not more mission-centric program for us. So, it was important for us to develop an alternative that not only helped from a financial situation, but that met the community need. And I think while it is going to be a journey for us between now and July to make that happen, we feel good about the fact that we have a mechanism to bring the community together and excited about the idea that we have global.

IVAN: Any thoughts Tim?

TIM: Yeah. I would certainly agree with that. There were some more elements. As you mentioned earlier, I was briefly the interim Executive Director while we were in the search process in finding Heather to bring her on board. And, during that period is when we were making some decisions about announcing DrupalCon Minneapolis and the next events early, doing some contracting in advance with other events. It’s a little unfortunate in retrospect. We were so pleased with ourselves, patting ourselves on the back for securing these contracts in advance, getting some discounts for multi-year advance agreements, all these sorts of things we thought were going to make the next four years of DrupalCon a total shoe in, a really, really successful sort of thing.

And now we’ve had to think about how that changes. And, it’s not clear that even after this COVID crisis resolves, if we can say that it’ll even do that. But even after things return to some semblance of normal, it’s not clear that events will be the same, that they may change moving forward. So, it’ll be interesting to see how this pivot to virtual for this first DrupalCon affects what we do in the following years as well.

IVAN: How is it working with local governments and counties and companies in the Twin Cities region?

HEATHER: Minneapolis has definitely done everything they can to help us. I think where everybody met some challenges is, in lieu of governmental dictation, some of the contracts are hard to negate. And so, everybody was really good about working with each other, but we all had very similar constraints in trying to make things work.

The nice thing is we all landed in a place where we were able to significantly reduce our liability, and in a perfect world we would’ve been able to keep those contracts intact and bring money into the Minneapolis area. But it just wasn’t going to be safe to have attendees there. I think everybody was as nice as they could be. Everyone was very stressed out. It’s a tough time for the event industry on the other side of this as well, and it definitely has an economic impact when you don’t have big events coming to your local cities. And so, we’re very aware that this has an extenuating impact beyond just our circumstances as well. So, we appreciate everybody that worked with us to get here, even though it was really stressful for everybody involved. But we ended up where we needed to be.

TIM: I would add that the community itself, of course for those that don’t know, whenever we’re looking to put on a DrupalCon, we’re always looking for champions of the local region right, the local Drupal community of that city to come together with us and help us. First of all find the parts of the city that we want to highlight to the community, the usually international community that we’re bringing to that place, and also just to help us in organizing the event and selecting the program and finding speakers and all those sorts of things.

And from that point of view, I think the local Minneapolis crowd was one of the most engaged and dedicated and helpful that we’ve worked with for many years going back to all sorts of these DrupalCon events. The excitement was really high, and at the same time I know that they must’ve been, and are, hugely disappointed that we weren’t able to make it happen, they’ve been very graceful about understanding the change we needed to make, so that’s been helpful. It makes it easier for us to make the hard decisions and do the things we need to do in the community and the local region is so understanding and so helpful.

HEATHER: Absolutely.

IVAN: And I think we’re eternal optimists, so hopefully one day we’ll see DrupalCon back in Minneapolis for the conference that we were hoping it would be.

TIM: I would love that.

HEATHER: I hope so. I was very excited about coming to Minneapolis. I’ve never been. So, I would like to visit and I would like to go to Paisley Park. That was on my list of to dos. So, I’ll be back regardless. [laughing]

IVAN: [laughing] Yeah, the biggest joke and concern we had in Minneapolis was, [laughing] what happens if it snows? Because we’ve been known to have a snowstorm or two in the middle of May. I recall two conferences ago, I think we were coming back from Nashville, and I was stuck at the airport, because there was a snowstorm in Minneapolis, and we couldn’t leave Nashville [laughing] to come back home, so it’s definitely possible.

TIM: Oh my gosh.

IVAN: Yeah. Okay, let’s talk about DrupalCon Global. It’s not like all the planning’s done and you flip a switch and all of a sudden, Yeah, let’s go online. Tell me about the event, when it is. And then what about it is the same? What’s different? What are your thoughts going into it? What are you planning? Besides the people, what's new?

HEATHER: So, you’re exactly right. There was no playbook we were hiding for in the event of a pandemic. This is the DrupalCon Global event playbook. So we definitely had to pivot quickly. And I’ll give huge kudos to our Drupal Association team and our Board of Directors for huddling quickly and figuring out what we could do and what we could do well. Tim can speak to the technology pieces of it that we have to nail down, but I think we really sat down as a team and said, Okay, how can we bring the spirit of DrupalCon through a virtual experience, and how can we make this really impactful for people?

Where I think we have some exciting innovation opportunity is it is virtual. So, what are things that we can add to the mix? What are ways that exist now where people can connect virtually? There’s a lot of interesting platforms out there. Some that existed before, a lot that are springing up now, since we are definitely not the only virtual conference pivot that’s happening in 2020. We can’t be together physically, but how do we create a hallway tract? How do we facilitate networking? How do we highlight sponsors? How do we shift so that we’ve got this really great content library of knowledge and speaking engagements, and how do we use the best of peoples’ time so that it’s really interactive?

So, we’re looking at how do we let people have Q&A’s and interaction with the speakers and not just listening to a speaker do their presentation. So, I think we’re going to learn a lot through this, but quite frankly, we may translate to an in-person event in the future, and then my gut tells me that there will be some aspect of online DrupalCon in some form or fashion from this point forward. So, I think we’re going to learn a lot as we go.

IVAN: How do you do BOFs online? Come on.

TIM: No, it’s so tricky. Oh my gosh, it’s really interesting. That’s one of the things that I think has been interesting about this whole process, because obviously your first reaction to, Oh, the whole world is in crisis. Things are falling apart. You kind of clench up in a state of fear, and start thinking conservatively about, How do we just lift and shift an in-person event to a virtual event?

But I think very quickly we realized that that’s not the right approach. We have to understand that human interaction in a virtual context is fundamentally different. So, in order to create the same kind of connections between people, we need to make sure that we’re providing new sorts of tools and opportunities to make that happen. I think, I don’t know, I’ve been to something like 10 DrupalCons or something like that, and for me, one of the most powerful moments of any DrupalCon is not just the incredible information that comes from the formal program, from the actual speakers and the different events within the conference, but it’s the fact that you can find yourself sitting next to someone at the end of a session and get into this conversation about the topic. Develop this new connection to another person and then maintain that connection when you go back offline, whether it’s on drupal.org, through Drupal Slack, or just the next time you see each other at a DrupalCon. And we really wanted that to be possible, to be the case for this global event.

Plus, we’ve been saying the word over and over, we’re calling it DrupalCon Global for a reason. The opportunity of being virtual is that we can bring in people from all over the world. And there’s time zone considerations of course, but it’s a chance to have a group of people together that maybe couldn’t go to DrupalCon before. And so there’s an opportunity here really for some fresh interaction and fresh connections and new types of connections to be forged between people who attend.

Once we really started thinking about those opportunities on a conceptual level, we started asking ourselves, How do we execute that? What’s the difference between what happens at DrupalCon and just watching the sessions on YouTube after the event? What makes the difference? So, we’re looking at platforms that let you have that kind of round table experience of being in a BOF, but have these breakout session tools.

We’re looking at platforms that can simulate what it’s like to be in the contribution room, where you can select a virtual table to join for whatever kind of initiative you’re working on on contribution day. There’s some creative things that we’re looking at there. And in particular we’re trying to find ways to encourage people to be active participants in the event, and not just passively receiving. This shouldn’t be just an extension of the quarantine Netflix binging [laughing] that we’re all doing these days. It should be a conference.

HEATHER: It’s not distance learning, right?

TIM: Exactly. I think it’s going to be really cool. We’re still narrowing down all the technical details. We’re running demos of all sorts of platforms and tools, but we’re really going to try and focus on that, and I think people will find that it’s going to be a kind of unique experience. Hopefully we’re going to move that idea of passive consumption into active participation.

IVAN: I love that idea of actually flipping it on its head and making the audience more involved and be more active as opposed to passive. I think that’s definitely where the value of networking and the value of being in person is so high. And just for the record, for our listeners who have heard us refer to BOFs, birds of a feather, they’re interactive, not like a session, but group discussion almost, where there’s a topic that’s picked and everyone who is interested in that topic gets together in a room and talks about what problems they have, what successes they have, and so on and so forth. So, for those of you listening and heard us refer to BOFs, that’s what they are.

DrupalCon’s a significant milestone for the Drupal Association from a financial perspective, isn’t it? We talked about some of the numbers earlier. Can you guys give me an idea of what the budgets are that we’re looking at, and what kind of a shortfall are we talking about that we’re trying to fill in?

HEATHER: So, when we looked at the initial shortfall, both from a traditional DrupalCon plus some other economic impact on the Association because of COVID-19, we were looking at almost a million dollars of net revenue impact. Sixty percent of our total funding comes from DrupalCon, not because it’s a best practice, we’d like for it to be more of a third of our budget, and that’s where we’re headed strategically. We just haven’t had time to get there. So, it used to be 100 percent, so kudos to everyone that came before me.

IVAN: Yeah, making progress.

HEATHER: Yeah, [laughing] so everyone that came before me has done a lot of work to get us where we are, and we continue to do work. And so, we’re trying to develop obviously some revenue diversification, but you can’t do that in just a matter of months with this kind of impact. So, we looked at that net revenue impact and we said, Okay, there’s kind of two buckets to it. One is that emergency funding piece where we spawned the DrupalCares Campaign, and then the other piece is revenue that we can bring in through this virtual conference, DrupalCon Global.

So, between those two things, the Drupal Cares Campaign has gone exceedingly well, and so we’re hoping that the virtual conference has a similar level of success, so that we can pivot and move forward from a secure perspective. `We’re not naive enough to think that events will always be the same moving forward, so we are being very strategic internally about how can we be smart about what might be around the bend that we don’t know.

It’s hard to replace 60 percent of your income overnight. But we continue to do that through programs and services offered by the DA. And quite frankly, what we’ve seen through the DrupalCares fundraising program is when more people become members, when current members upgrade their membership, and when those that use drupal.org donate to the Drupal Association, that’s the kind of sustainable funding that makes this revenue diversification less of an issue moving forward. So there are ways that we can do this over time, and we’ve seen it be successful over the past month.

TIM: I would add to that, there’s another key area that I think frankly folks like you at TEN7 and others throughout the ecosystem can help us with. Just because of the scope and scale of the COVID situation even Drupal end users, who are not particularly connected to our community, are beginning to become aware of the importance of the Association, and how it feeds and sustains the Drupal project and how that could be important. We didn’t really mention this earlier, but not only is the Drupal Association being affected by the COVID pandemic, Drupal’s also being used in the fight against COVID and to try and manage it. So, it’s used by the National Institutes of Health and the CDC and Oxfam and Doctors without Borders. It’s being used all over the world to support that people's efforts. And the DrupalCares fundraiser, among those things, has given us an opportunity to try and reach out to those end user organizations, because for my money that’s I think where we’re going to find a lot of opportunity for future sustainability. And so, for folks out there listening, helping us get the word out to those users of Drupal about the importance of supporting the DA and becoming part of our community is going to be really impactful.

IVAN: Yeah, you forget that there are users of Drupal who are actually fighting against COVID, and that’s so important to bring to the surface and to remind people. So I’m glad to hear that that’s something that’s been a focus for you as well. In a nutshell, can you guys describe exactly what DrupalCares is? I think the three of us know what it is. For those who are listening who maybe don’t have an idea, what’s the elevator pitch on what DrupalCares is?

HEATHER: So, DrupalCares is the name that we gave our emergency fundraising campaign that launched toward the end of March. And the goal was, as it sounds like from an emergency funding perspective. What became clear to me though I’ve only been here just around a year, is that this was not a crisis we would solve internally. This is a crisis that the community would help us join together and solve. And so, this was the way for us to reach out to the community to say, Here’s where we are. Here’s what we need to accomplish. Now let’s do this together!

And the community rallied and answered that call in a way that proves out everything I’ve heard about the Drupal community and my time here, and even quite frankly, during the recruitment process about how wonderful this community was. It’s true, no one lied to me. It’s exciting. [laughing] Yay!

IVAN: And what was the goal for DrupalCares?

HEATHER: The goal was to raise $500,000 which seemed doable, so really ways that people could participate in that. There was something for everyone as they say. So, new memberships and upgraded memberships counted toward that goal. Cash donations, which we had over 1,000 individuals just donate cash toward DrupalCares. We had DrupalCon existing sponsors that agreed to leave their dollars intact as we figured out what was coming next. We have organizations that donated cash. We had large individual donors. So, all of those things came together to actually help us meet that $500,000 goal, and we met it almost a month in advance of the original deadline, which was the end of May. So, this has been amazing to witness. It proves the strength of not only Drupal as an ecosystem, but the strength of our community, how quickly the businesses came together to make this work.

Dries (Buytaert), our project founder, and his wife, did an initial $100K matching campaign, so that every dollar that came in was matched. And then we had a group of Drupal businesses that came together and did the same, so that all of the impact was tripled. We met the goal! We have a great story to tell! And now we can really focus on DrupalCon Global and all the other things we do at the Association. So, the campaign was a huge success and very heartwarming for all of us involved. We’re glad to ring the bell on that one.

IVAN: How exciting. How terribly exciting that we’re able to reach the goal like that. That’s just wonderful. What else are we excited about besides DrupalCon Global? What are you looking forward to? Is it Drupal 9? Is it something else? I know I’m excited about Drupal 9. I’m excited to tell clients that it’s not going to be a big deal to upgrade, that they’re not even going to notice in most cases. That’s exciting for me in addition to the new features and the new things that it brings. But tell us about what you guys are excited about.

TIM: I can nerd out about this topic for hours, so [laughing] I’m going to jump into this one a little bit. So, of course we’re excited about the release of Drupal 9, just as a milestone for the community. So, that’s a really big deal. But as you say, and what folks out there maybe don’t quite understand yet, is Drupal 9 is the culmination of a huge amount of work over the course of about the last five years, over the entire Drupal 8 cycle, to realize a vision of a Drupal 8 software that receives continuous innovation, six-month feature releases on a regular basis, and that has an easy upgrade between major versions. The days of having to basically do a replatforming, a complete migration to go from one major version of Drupal to another are over, and we’re close enough now to the release to realize that, Yes, we’ve achieved that. We’ve actually reached that point. And that’s phenomenally exciting.

IVAN: [applause] That’s awesome.

TIM: Yeah, it’s just so cool. It’s wonderful to be at that point. I was here for Drupal 8. I was working at the Association during the Drupal 8 release cycle. And there’s just a night-and-day difference between what the struggle was to try and make that upgrade happen, and even just to hit the deadline for our release date back in the Drupal 8 cycle.

And so, every change that was made over the course of Drupal 8 has just brought us to a fantastic place on that front to make these updates easier and to make these initiatives and regular feature releases more impactful. There are a few things I’m particularly excited about over the horizon of what’s upcoming after 9 comes out, the 9.1, 9.2, the feature releases that are going to be coming next.

I think what I would say about what’s going to happen over the course of the lifecycle of Drupal 9 is Drupal 8’s initial development and much of its early feature releases, maybe up through 8.5 or so, were very, very heavily focused on fundamental and powerful architectural features of the software platform itself. There were a lot of the API first work, a lot of the entity management work, revisioning work, APIs for various components in Drupal, a lot of that work was a key focus in the Drupal 8 cycle, And it’s what’s made Drupal the incredibly powerful platform that it is.

I think a lot of work in Drupal 9 is actually going to be focused on empowering users who are not the most technical engineering users, to actually be able to fully take advantage of those sorts of features. So that’s going to come in several different forms, but by empowering those regular users to be able to take advantage of all those great architectural changes, is going to be, I think, the next phase both in adoption for Drupal and in really showcasing everything that it can do.

So, a few of those things include focus on automatic update initiatives for Drupal. There was some good work on the first phase last year, and the second phase work going on now and continuing into next year that will just help reduce the cost of ownership, to make it easier to keep sites secure and up to date, and there’s tremendous work going on there. There’s also work to make both the administrative interface of Drupal and the default theme for Drupal more modern, more robust with modern JavaScript workloads and things like that, but with all the same accessibility tools and everything that have always been a priority for Drupal.

I think what you’ll see is that these first several feature releases of Drupal are going to be about that layer where the regular Drupal user, the person who spends their day job in the admin interface becomes empowered to do more and more with each of those kinds of features.

IVAN: So, when are we expecting the actual release to come out? I think we were scheduled for the beginning of June. With the pandemic going on, are we still going to hit that? Let’s talk about when it’s actually coming out.

TIM: That’s also super exciting. So, I’m going to bury the lead for a moment just to build up the story, [laughing] ‘cause I’m excited about it.

IVAN: [laughing] Good. Good. Yeah, do that.

TIM: Okay, so back in Drupal 8, I don’t know, you probably remember that the Drupal 8 release cycle, I almost measured in terms of DrupalCons. I think there were probably four different DrupalCons where the community thought, Oh, this’ll be the DrupalCon where Drupal 8 comes out. And then it was like, Oh, no, we missed that one. It’s going to be the next one. And we missed that one. It’s going to be the next one. It was an angsty difficult time, and we eventually got there which is wonderful, and I think we’ve realized tremendous work since then. But that was pain we didn’t want to repeat, right?

IVAN: Right.

TIM: So, for Drupal 9, the core maintainer team established three official release windows. The idea was if we hit any of these three it would be an on-time release. So, the three candidates for release were going to be the beginning of June, August or December of this year. So, those were the three windows, and the whole idea was that we’d be very happy if we hit really any of those.

The June date was going to be the most aggressive date for sure. What I’m thrilled and slightly shocked by is, we’re going to hit the June 3rd release, so less than a month away! Drupal 9 is going to be out, and despite the pandemic and everything else, we’re going to be on time with our most aggressive and ambitious release date. So, it’s very, very exciting.

IVAN: That’s amazing. That’s just testament to the organization and all of the volunteers that have done all of the work to go into that and all the planning. And frankly the setup that’s been done in Drupal 8 to go to six-month release cycles to get into that habit and to set ourselves up for a release of Drupal 9. That’s, I would say, early not late or on time, but early.

TIM: Pretty much, yeah. Absolutely the earliest we could’ve conceived it happening. So, it’s really exciting.

IVAN: And what does the launch actually look like?

HEATHER: So, we’re working on that. [laughing] That’s part of the, Will it be on time? Surely not with everything going on. Oh, it is. Pivot again. So, part of what the Drupal Association is responsible for is, orchestrating the Drupal 9 launch. What we mean by that is putting together some of the marketing and PR planning around it as well as a toolkit that we can give to organizations. In particular Drupal businesses, so that they can promote it amongst their current and potential clients. And so, we’re putting that toolkit together now.

We have a draft press release that we’re going to get out to all the stakeholders very soon, so they have time to do translations and to build their press list, so that we can make this truly a global effort. But, we normally would’ve had a big splash in Minneapolis going into this, so we’ve got to find ways virtually to do it, which the community’s helping us organize some of those celebrations. But, we’ve got a lot of the marketing/PR effort on our side that we’re working on right now and should have some things coming out shortly. And Tim, I know you’ve got some more information from the community as well.

TIM: Yeah. Back during the Drupal 8 cycle again. We did this celebrate D8#endcampaign, and a lot of the people in the community who were involved in organizing that effort, are working together through the Drupal community Slack to set up a celebration for Drupal 9. And that’s going to be a way, so that on the release day global communities can have virtual celebrations about the release, and that’s going to be really exciting. I think that handles a lot of the internal side, but I think a lot of the efforts that Heather is talking about are really critical for the external perception of this release, and what it’s going to mean to the larger open source community and the technology community in general.

Major releases of Drupal are typically our opportunity to reintroduce Drupal to a wider audience. Our minor feature releases, even though they often have some really powerful new tools, don’t necessarily get the press coverage in the broader technology media that the major releases do, and we really want to make sure to capitalize on that. And so, that’s why this international translated press effort is underway, new landing pages with all the highlights about Drupal 9 are being built, all of those sorts of things. So, I think we’re really excited about that. And then, at the same time, we want to build that into momentum. I think it’s going to be a story that’s not about, Oh, we build up, we build up. June 3 is a big hooray, rah, rah, rah. And then we’re done. I think we’re going to need to be telling that story over the course of really a year or more about what it means, because we’ll have a lot of people who are then beginning their upgrade process.

We’ll have the feature releases starting to come out. We’re really going to need to share and tell that story. So, that’s going to be really important. And, we’re going to need to continue to innovate. So, Dries just published The Drupal Product Survey for 2020.

IVAN: I was just about to ask you about that.

TIM: Yeah, so that just went live. You can find it in the announcement banner on drupal.org or you can find it on Dries’ blog which is very easy to find dri.es, probably one of the shortest domain names on the web today.

IVAN: That’s wonderful.

TIM: So, I’m kind of jealous [laughing] but anyway, that product survey is something that’s been done annually, but especially around the time of a new major release. It’s a really powerful tool for end users, Drupal businesses, anybody in the community to actually have an influence on what comes next. So, I said earlier that I think one of the primary focuses is probably going to be on empowering users to use those low level tools that have been built in recent versions, to create better user experience to access all of those tools. But I think there’s other opportunities, and the survey is a great way to get that word out to the Drupal project leadership about what’s coming next.

IVAN: So, the Drupal Product Survey is currently listed on Dries'  website. We will link to it from the show notes. Go ahead and take that survey. It gives the community an opportunity to weigh in on the strategic direction of the project, and I think that’s just so valuable to do. Thank you for mentioning all of those things.

I want to say something about the new logo for Drupal 9. It’s so cool. [laughing] I love it. I love that it’s being unified across the brand. That work that SIX ELEVEN has done has just been so refreshing and evolutionary. It’s just lovely to see this is happening. Tell me about the new logo. Why do we need to unify across the brand and are we going to see a new logo for Drupal 10? What’s the thought process behind this?

HEATHER: So it’s interesting. There is not an intent to have a new logo for Drupal 10. Tim and I have been closely involved in this. There was a conversation both from key members of the community and internally at the Drupal Association that we wanted to establish what we call an evergreen logo. So, instead of being tied to versions, which if you’re thinking about most of the software and technology that you use, you’re not even aware of what version you’re using, you just know you’re using it. So, we want people to know they’re using Drupal and be less concerned about the version. So we think an evergreen logo is going to help us with that.

It’s going to help us from a marketing and PR perspective as well. A lot of the input that I get from community leaders in our business community is that we need more brand recognition. We need stronger branding in the technology community in general. And so when you have people spinning up different versions of logo, and you’ve got those all over the world, it’s hard to create that brand consistency. So, we’re hoping this evergreen logo will do that. And then it was important to us to really look at it and say, Given that Drupal the product and project, the Drupal Association and DrupalCon are all really tied together, it’s part of the same ecosystem. And so I really wanted to make sure and luckily the team agreed, and SIX ELEVEN did a great job pulling this together, about let’s make sure that that tie in is obvious.

I think we learned a lot through this DrupalCares campaign, that we can do a better job telling the Drupal Association story, and our tie to the Drupal project–that we’re not at arms length from what happens with Drupal from a technical perspective–that we’re more a part of that ecosystem in a big important way. And so we wanted to make sure that it was obvious that all those three things were together. And so, I like the logo, I’m glad you like it too.

SIX ELEVEN did great work. They stepped in as a really strategic partner at a time where we not only needed creativity in what they produced, but creativity in what they would expect from an expense perspective. So, knowing that we were having a bit of a financial crisis, they really stepped up and stepped in in a major way and created something that I’m really proud of, and to your point about will there be a new D10, the idea is no.

Tim’s been really involved in this too from the very beginning and has some thoughts on it. But I’m really excited that it’s out there. I think it’s yet another thing that I’m proud of the team and the community for coming together and getting done where we could’ve easily said, You know, there’s too much going on. Let’s put this off. But I really wanted to make a push to have these major products move forward.

TIM: Yeah, I would just add a few small things to that, which is just that the evergreen sense of the logo, that notion that we don’t need to change the brand identity for Drupal with major versions, ties exactly into what we’ve been saying about Drupal 9 and it’s upgrade path. The upgrade from Drupal 8 to Drupal 9 is going to be as easy as a minor version update. There’s huge progress in the contribution ecosystem already to make the modules that everybody uses compatible with Drupal 9. Even before Drupal 9’s release, something like 40 percent of the top 200 modules are already compatible, huge amounts of other modules are compatible, we’ve got new automated tools. It’s just much easier to make this transition, and that’s going to be true from 9 to 10 as well.

My understanding from the core maintainers is that this commitment to this upgrade cycle is not a one off from Drupal 8 to Drupal 9. This is going to be true moving forward. So the Drupal 9 to 10 release should be just as easy, if not easier, since we’ll have more time to even further refine these tools and the strategy of doing things. And so, if that’s really our goal, if that’s what we’re saying is important in part of the Drupal development process, that should be reflected by our brand and reflected by our logo. And I think that’s where we landed. I’m really proud of that work as well.

IVAN: I’m proud of it as well. You guys have done a wonderful job of rolling it out as well and showing off the brand and using it, and I think it’s only going to get better from here on in. And I love the word evergreen. It’s just so true that that’s what the logo is intended to be. I wonder if we’ll ever stop using version numbers and just refer to Drupal as the product?

Just like you mentioned, Heather, I don’t think some clients in the business world really care about the version number. In most cases I think it brings angst and concern about the cost of an upgrade for example. So, if we make that upgrade easy, do we consider not even using version numbers?

TIM: You know, I think we’re moving in that direction. I think that the current set of brand tools offers both a version with a much smaller and de-emphasized version number and a version without it at all. And I think increasingly we’ll start to see that non-versioned identity come to the floor. I think right now the lead up to this change and the sense of Drupal 9 being a milestone is still important to people, because it is the culmination of that promise, it is the realization of, Oh yes, we said it was going to be easy, and it actually is. So, I think there’s this sense that we still need to acknowledge that 9 represents that milestone, but going beyond that I think that becomes less important, and hopefully we can realize that with this change.

IVAN: Wonderful. It’s been really awesome talking to you both. I can’t believe it’s been almost an hour. [laughing]. It’s been great having you on the show. Anything you guys want to say in closing before we wrap it up here?

HEATHER: I want to take this opportunity to thank everybody in the Drupal community, whether you’re an individual or an organization or a camp or a local association. Everybody really came together in this time of need and made it possible for us to not only execute on the DrupalCares campaign, but the support around pivoting to DrupalCon Global, the Drupal 9 launch, the new logo. All these things are happening, and we’re committed as a team to pushing forwarding and to doing good things with your investment. And we’re developing strategic plans right now at the Board of Directors level where we’re looking to do even more.

So, I think folks from DrupalCon Amsterdam heard us launch that we’re working on ways to continue removing barriers to make contribution easier. I’m looking at how we increase brand awareness and adoption of Drupal so that we can satisfy the needs of our Drupal business community. We’re looking at further development of security products around Drupal and enhancing our member and volunteer programs, and also looking at diversity, equity and inclusion programming. So, those are all things we’re committed to. COVID or not, that we’re going to create and push out to the community, and not only for the community itself, but to make Drupal an even stronger product.

IVAN: Rock on.

TIM: Anybody out there who’s listening who represents an end-user organization of Drupal, understand that you’re part of our community, come join us. Come participate with us. Find ways to get involved. You can reach out to us at the Association, or you can simply go to drupal.org and find the community where they are. But we’d love to bring you in closer and have you be part of the future of Drupal. So, we hope you’ll join us.

IVAN: Wonderful. Thank you so much, both of you, for spending your time with me today. It’s been a great pleasure talking with you.

HEATHER: Thank you for the opportunity. This was fun.

TIM: Yeah, thanks for having us. This was really great.

IVAN: Heather Rocker is the Global Executive Director of the Drupal Association, and Tim Lehnen is the Chief Technology Officer of the Drupal Association. You can find Heather on Twitter as @hsrocker and Tim is @hestenet. And I’m not sure that i said that right, but it’ll be in the show notes. [laughing] For more information about the Drupal Association, visit drupal.org/association, and don’t forget that you can make a contribution to the DA to sustain it through this pandemic and the devastating effects that COVID-19 is having. Just visit drupal.org/cares.

You’ve been listening to the TEN7 Podcast. Find us online at ten7.com/podcast. And if you have a second, do send us a message. We love hearing from you. Our email address is [email protected]. Until next time, this is Ivan Stegic. Thank you for listening.

Apr 15 2020
Apr 15

Your browser does not support the audio element. TEN7-Podcast-Ep-087-Privacy-Implications-of-Google-Analytics-and-What-You-Can-Do-About-Them.mp3

Summary

Do you know about the privacy implications of using Google Analytics, Google Tag Manager and reCAPTCHA? Have you ever thought about what they might be for yourself or for your clients? Our DevOps Engineer Tess Flynn schools us on the problems with these services and discusses some interesting options.

Guest

Tess Flynn, TEN7 DevOps Engineer

Highlights

  • Ye olde site counter
  • The dawn (and ubiquity) of Google Analytics
  • Alternative analytics apps have the same issues as Google Analytics
  • Behavioral aggregation, or how your TV knows what you were doing on your phone
  • If something’s free, you’re the product
  • Simple Analytics and ProtonMail
  • Keybase, another good idea spoiled by VC money
  • Matomo, an excellent candidate to replace Google Analytics
  • Talking to your client about their analytics needs
  • Problems with reCAPTCHA
  • What some free products are doing with your data
  • Moral of the story: educate your clients about privacy implications

Links

Transcript

IVAN STEGIC: Hey everyone! You’re listening to The TEN7 Podcast, where we get together every fortnight, and sometimes more often, to talk about technology, business and the humans in it. I’m your host Ivan Stegic. My guest today is Tess Flynn, who has been on the show a number of times before. She is DevOps Engineer here at TEN7, though today we’ll be talking a little bit about Google Analytics and reCAPTCHA and the vast amount of data that companies like Google have about us, and the implications that has. Welcome back to the show, Tess.

TESS FLYNN: Hello.

IVAN: Hello! So, this episode idea came from a tweet of yours.

TESS: Cause I like raising trouble whenever I get the chance.

IVAN: Yes, and not only do you raise trouble on Twitter, you post it in Slack and see what people say. [laughing] I’m going to read it for our listeners. So, the tweet went out and you said the following: “I really wish that we in the Drupal community didn’t just roll over and play dead when it comes to Google Analytics, Tag Manager and reCAPTCHA. Each of these have serious privacy implications and we often don’t even bring that up with clients.”

First of all, how’s my Tess imitation?

TESS: Well, what you have to do is you have to prevent the top part of your larynx from actually vibrating and then you’ll get closer.

IVAN: [laughing] I don’t think I can do that. [laughing] Okay, so what’s the genesis of those tweets. Why did you say this?

TESS: So, I was talking with some friends on a Mastodon, instance and one of them brought up that they really don’t want to work on any site that ever touches Google Analytics or any kind of privacy-violating technology. And that got me thinking about this, about the number of different sites that I have worked on over my career, all of which use Google Analytics, and it just occurred to me that I never really bothered to consider Is that a good thing? What do they do with this data? Where does it go?

For the most part we really have had two different eras in website tracking, or I suppose I could say three different eras. So the first era is the ye olde-fashioned counter application from way back in the stone age when we hewed GIFs and CGI scripts with bear skins and bone saws and all of those things. [laughing]

IVAN: One GIF per number of the counter so you only had 10 to use.

TESS: And then came a server-side analytics period where you had some built-in application that either was loosely or tightly coupled with either your application or your web server, and then you would log into a private portal and look at your stats and they were all rendered in hideous tables because it’s all about the data, nobody cares ever about the presentation, right?

IVAN: Right.

TESS: And then Google Analytics came along, and it kind of destroyed that entire market overnight. Here was a product which was ostensibly free, which had decent enough UI to not look terrible, it was relatively easy to set up, you didn’t have to pay for anything in order to use it, and once you had it it was very light on your own website, because you didn’t have to go and update a table or a database or a file somewhere. Instead just a bit of JavaScript sent off an API call to another server somewhere and it ended up in your analytics, and that seemed pretty great at the time.

But, now we’re in this era where technology is very pervasive. You can’t really operate in society without some level of technology. I get incensed when a lot of government officials for example, say that you don’t need the internet in order to live in present-day society. And then I go to their website and say, Okay, so how do I apply for unemployment benefits? Oh, it’s a website. I can’t call anybody. Hmm.

Yeah, it’s things like that that start getting on my nerves, and we’re in this period where we have so much data, so much tracking, and so much of a panopticon, that we don’t really realize how much we’ve contributed to it, either directly or indirectly, because we’re only concerned with our little corner of it, and Google Analytics is one of those things that contributes to the larger panopticon.

IVAN: It really is, but it’s so easy Tess, it’s so ubiquitous. Come on.

TESS: Well, so are some of the alternatives that you could use too.

IVAN: Really? Okay, let’s talk about what alternatives there are, because we’ve all heard of other measurement apps, right? There’s Kissmetrics, Heap, Optimizely and Mixpanel, but they all kind of have the same problem, right? They’re these big companies that gobble your data up and then sell them to other companies.

TESS: Exactly. So, they have all the tracking data, all the behavioral data, and then they resell that data, anonymized or not. And anonymizing data is kind of a misnomer. I have worked with private data, HIPAA compliant data before, and I know that there are ways of scraping information even out of that in aggregate, and that is the primary problem with technology today, is there’s a lot of aggregate data. It’s the old story of, Well, I’m not signed in on YouTube on my TV, and then about four weeks later it’s giving you the same exact recommendations that you have on your phone, which you’re logged in on. How does it do that? Behavioral aggregation.

IVAN: Yep. We don’t like that do we?

TESS: All of those solutions that we’ve already talked about are all data that you’re giving away. The reason why they don’t cost you anything or cost you so little is because you’re the product.

IVAN: That’s the old adage isn’t it? If something’s free and you’re not paying for the service, you are likely the product.

TESS: They’re using it as a con in order to get your information, then they turn that information over to advertisers and that’s where the real lucrative income is.

IVAN: Oh man, okay, so let’s talk about some privacy-respecting solutions then. I read about Simple Analytics a while ago, and that seems to be their business model, right? A privacy-respecting analytics platform. They’re based in the Netherlands, you pay them for the service, they promise never to sell your data. They still have your data.

TESS: It’s kind of a ProtonMail approach isn’t it?

IVAN: Exactly. Tell people what you mean by that.

TESS: Okay. So, ProtonMail is, I believe, a Swiss email provider. It provides webmail access, like Gmail, but it has the same kind of marketing pitch, that they exist in a “politically neutral country” insert laugh track here [laughing]. They ostensibly don’t sell your data again, it’s always private and always encrypted. Okay, yeah. How long until you switch CEOs and you break every one of those promises? Because I saw what happened to Keybase. [laughing]

IVAN: Tell me about Keybase before we go on here. What happened to Keybase?

TESS: Keybase was a very promising project where you could share public GPG keys and other security keys in order to facilitate secure communication with other individuals by verifying identity publicly via web servers, social media posts and so on. The problem is that it got all of that Silicon Valley tech-pro VC money into it, and it turned into a blockchain-riddled bitcoin wallet piece of garbage. [laughing]

IVAN: Yeah, I wondered what happened to that. I didn’t do any research into it, but I still have the Keybase account.

TESS: I still have it too, but I don’t even use it anymore. The primary promise that it had in addition to sharing keys was also the ability to have encrypted communication that was fully anonymous that you didn’t have to surrender some critical piece of information force such as your phone number which is what Signal has as a problem.

IVAN: Yeah, yeah, yeah. Well, it sounds like big VC money corrupts good ideas and privacy, is what I think we are saying here in the last few minutes, right? [laughing]

TESS: [laughing] Yeah, but let’s get back to analytics.

IVAN: Yes. I was talking about Simple Analytics and then I was going to tell our audience how you were telling me about something else called Matomo last week. Something that you can host yourself. I did a little bit of research myself on them, but you’ve played around with the product as well. So, Matomo actually goes back to 2007.

TESS: Yeah, it’s one of these second-wave analytics tracker projects inspired by that. But unlike a lot of those projects, this one actually managed to continue to be maintained, continued to get UI and UX improvements during that entire time. And now, it is a very modern application, which has a UI that’s if not comparable, I would almost say better than Analytics.

IVAN: Yeah, don’t say Analytics, say Google Analytics, because as soon as you just keep saying Analytics then it changes it into Xerox and that’s not what we need. [laughing] So, Matomo had another name, they were called “Piwik,” which I think is “kiwi” with the “p” added on backwards.

TESS: Because it’s a PHP application.

IVAN: That’s just brilliant isn’t it? [laughing]

TESS: [laughing] There’s a reason why they probably don’t have that name anymore. Matomo is actually a lot easier to say.

IVAN: And it’s also a word that means “decent” in Japanese.

TESS: That’s actually their third name by the way. They had even older names than that too.

IVAN: Oh, they did? What were they before Piwik?

TESS: Something like “My PHP Analytics” or something like that, going off of “My PHP Web Admin” and the like.

IVAN: Oh, I remember that.

TESS: It goes that far back. [laughing]

IVAN: Wow. Okay. So that’s good actually, right? Okay, so one of their values is transparency, and they say you own the data. So, what does Matomo give us?

TESS: So, there’s two different products with Matomo. There’s Matomo Cloud which is the one that is a hosted solution which is very much like Google Analytics, and Simple Analytics, and all of these other products. It has, again, the ProtonMail promise of Yes, we won’t ever sell your data, but how much do you really trust that. And then they have a fully self-hosted open source version that’s on GitHub. And that’s what got my attention, because now this is an open governance, open release, open code approach that allows me to actually host it myself, maintain the data myself, make sure that it’s subject compliant to my client’s host country laws.

For example, if I have a client in, say Canada, they don’t want to give their data to an American company which might hand it over to the FBI, or whomever. They want to make sure that it stays inside their country that’s subject to their privacy laws. By hosting it within their country, it is automatically subject to their privacy laws. So, that is a key advantage.

IVAN: That is a really important advantage. Okay, so they offer a cloud hosting solution so you could basically do the same thing as Google Analytics, except now it’s hosted by Matomo. Or you could download it and you can get it from GitHub and host it yourself. How hard is that typically, do you think?

TESS: If you’ve installed Drupal before, this is actually about the same, if not slightly easier. It’s not very difficult. You get an archive of—the techies will call that a Dist—that has the full files already set up, you don’t need to run Composer or any other applications in order to compile it. You put it on a web server, you make sure that you have SSL on it and you’re good to go. Give it a database and you’re ready to rock.

IVAN: Really? And it’s a PHP by SQL stack?

TESS: Yeah, and it can run behind FPM or nginx or Mod_php with Apache. All of those work.

IVAN: What about bandwidth usage and the amount of server resources you might need to run this? I would imagine not very much.

TESS: Well, that’s a very good question, because I actually haven’t had the opportunity yet to hard install it myself. I am still just trialing the cloud version, and I spent most of the weekend trying to build a container because, me, obviously, that will install Matomo itself. And their Kubernetes and container support isn’t really where I want it to be, so I’m trying to fix that and make my own version of it. I had some success making the container, but I haven’t gotten around to developing a Helm chart to put it on Kubernetes yet.

IVAN: So that’s the goal for you then?

TESS: That’s the next thing I’m going to try, and then once it’s on my server I’ll be able to see how much server draw that it actually takes. And then if it’s good enough, I’m going to pull Google Analytics off of my site. I’m not going to use it anymore.

IVAN: I think that’s a good aspirational place to be. I’m not sold that we need Google Analytics on our ten7.com site, and I’m also not sold that we have to be talking to our clients about keeping their Google Analytics either. If we can make that Matomo deployment into something we put into our Kubernetes hosting, I think there’s value to that.

TESS: Yeah, I think that’s actually very possible to set that up as a cluster-wide solution that can be multi-tenant. That’s actually one thing that’s really nice about Matomo is, it is a multi-tenant solution out of a box.

IVAN: Tell me about what that means, multi-tenant.

TESS: It means you can configure multiple user accounts with multiple settings.

IVAN: Multiple domain names, right? So, you don’t have to create a new account for every single Google Analytics client. They don’t all have to have their own accounts. You don’t have to worry about them having to create it all, you just create them for your client, they’re all on the same server, and if you wanted to share information between sites and clients, in theory, could you do that?

TESS: I believe so. I haven’t checked to see what the access restrictions are per user account. The indications have suggested that yes, that is possible, but I need to check on that.

IVAN: Okay.

TESS: And if not, it’s not a very difficult application to spin up. Once you have the necessary database behind it, you just spin up as many of those as you need.

IVAN: So, besides us owning our own data, and besides this information not feeding into the greater Google Analytics machine and the Google corporation or Alphabet, what else do we get from Matomo?

TESS: It also has another thing where it does real-time live tracking. So, one thing that is part of Matomo’s marketing pitch is that [Google] Analytics tends to be an aggregate solution, it doesn’t show you the exact data for every individual user that visits your site. Whereas Matomo does have the ability to do that every single time, and you can see what their behavior is, and what pages they go to. And it’s actually on your dashboard in Matomo. It has a nice little river of visits on your site which shows you the technology, the device type, how long they were on your site, their geographic locality if you have that enabled, and also which sites they visit in what order, which is really, really useful.

Another thing is that if you have something like the do not track headers enabled, it doesn’t track you, at all. It doesn’t have any weird, scummy, We’ll track you no matter what. If you decide to opt out of tracking it will not track you. Period.

IVAN: That’s nice. That’s really nice. So, I know that one of the things that Matomo’s using in their marketing to differentiate themselves from Google Analytics is this idea that Google Analytics isn’t actually giving you all the data when you look at your results. And Google refers to it as Google Analytics Data Sampling, and they basically say that “sampling is the practice of analyzing a subset of all data in order to uncover the meaningful information in the larger data set.” So, Google doesn’t actually give you all your data or analyze it.

TESS: Mm-hm. They keep it for themselves.

IVAN: They keep it for themselves. But Matomo lets you have it all right? And it basically crunches the numbers for you so that you don’t miss out on things, something like sampling is going to cause.

TESS: And It also does other things. It also allows you to run campaigns, just like Google Analytics, track particular subsets of your site, and it has its own tag manager built in.

IVAN: So, it actually competes with Google Tag Manager as well. That’s interesting.

TESS: And there’s a Drupal module for it.

IVAN: For Matomo?

TESS: It’s actually pretty easy. You just install it like any other Drupal module, give it a few pieces of information, and then you’re good to go.

IVAN: Version 7 and 8?

TESS: I only installed the 8 version. I’m pretty sure there’s a 7 version. It’s been around for a while.

IVAN: Yeah, I would imagine that there’s a 7 version as well. Wow. And I also saw that Matomo has GDPR and other relevant privacy-respecting banners and cookie options, right, that I don’t think you see with Google Analytics. At least I haven’t seen it.

TESS: It’s a lot more of a respectful solution compared to Google Analytics.

IVAN: So, what do we do as a community then, and not, like you say, roll over and play dead? I suppose talking about it is one thing, that’s why we’re doing this podcast. What else can we do, do you think, to promote privacy-respecting solutions like Matomo?

TESS: I usually would’ve liked to start a conversation with a client like that by asking, “What do you expect to get out of your Analytics? Are you looking for particular pages that are popular? Are you looking to get into particular market sets? Are you just looking for technology compliance information? What are you actually looking for?” Because you don’t want to turn into Google and just say, “I don’t know what we’re looking to do, we’ll take it all.” [laughing]

IVAN: Right.

TESS: Because taking it all is also not particularly great either, and that’s kind of similar to the whole reCAPTCHA discussion as well.

IVAN: And I suppose if the client’s requirements are We run a shop that is a commerce site on Drupal, and it’s integrated with something on Shopify, and we’re using Google Ads, and we’re using AdWords and Facebook ads, and we’re really trying to track and optimize our return on our investment, then switching out Google Analytics for something like Matomo might not be a good business decision for that particular client. On the other hand, if it’s a nonprofit, and they are simply trying to gauge visitors, and they don’t have all these deep integrations with commerce, then Matomo’s probably an easier solution, and probably something that your constituents of the nonprofit, if they’re interested in privacy, will respect.

TESS: Mostly I keep thinking that a lot of clients, like a lot of individuals, don’t realize the privacy implications of the technology that we decide that we’re going to use even though it’s everywhere. Like, one thing a lot of political activists will tell you is Don’t take your phone with you to an event, ever. Not even if it’s turned off, don’t even take it with you.

IVAN: Because?

TESS: Because it can be used to geolocate you either roughly or exactly without your knowledge.

IVAN: And you don’t want that.

TESS: No, because that can be used even if it’s a perfectly legal, perfectly peaceful event, that can be used to get you fired later, and that actually has been shown to happen.

IVAN: In the tweet you sent out you also mentioned reCAPTCHA. So, let’s talk about that. Remind everybody what reCAPTCHA is please.

TESS: So reCAPTCHA is a visual authentication mechanism. It usually presents you with an image or series of images, and you are to select the images that correspond to a list of text. Like, select all traffic cones, for example. And then you select the number of traffic cones, and then it validates you through. Sometimes it will also gather data silently, like your mouse wiggles, if you’ve changed windows, if that behavior is nonlinear or non-regular. As a result, it can actually determine from there that you’re probably a human with relatively high confidence, because you’re not acting like a script along a particular determined programmatic path to interact with the site. This is used as a stopgap in order to keep sites from having registrations from any number of bot accounts and bot systems and click farms in order to make sure that the people who sign up for your sight are “real people.”

There’s a number of different problems with this. One, it doesn’t always work. There are ways of defeating reCAPTCHA even though it’s there and it works most of the time, and that’s a practical concern. The next concern is, it is a nightmare for accessibility. This is nearly impossible to work if you’re using a screen reader. So, if you have visual issues or motor control issues and you can’t use a mouse, this is just going to make your day that much worse. And that is actually a legal problem for a lot of sites.

Then I usually want to ask a client, Why do you need it? What are you hoping to use it for? And then we have to think about that more strategically, Why do you have users registering for your site? Is that really necessary? How else can you track them? Are there other mechanisms that you can use to delay click farms and other bot scripts from actually accessing your site?

An old-fashioned pattern is you sign up for the site, and you don’t get to log in immediately, you actually have to wait for an email. Some sites like publishing firms that rely primarily on commenting in order to make sure that they have high engagement with their readership, that might not be ideal, but it is an effective method even today in order to prevent people from accessing it. And these were all the label-on-the-tin concerns; when you open the can [laughing] to find the worms inside, I have to drop a bombshell on you.

IVAN: Tell me what it is.

TESS: So, let’s say that you are using an iPhone. You pull out your iPhone and you’re using Face ID to unlock it. Perfectly normal, perfectly innocent.

IVAN: Right.

TESS: The same machine vision algorithm that is used to unlock your phone can also be used for target acquisition for a weaponized drone. Do we really want to contribute to that kind of technology, even as consumers?

IVAN: It doesn’t sound like we do. [laughing]

TESS: [laughing] I wouldn’t want to do that either. It is very uncomfortable and does not sit well with my conscience. And reCAPTCHA is a shadow method to do machine vision learning. That is exactly what it’s for. That’s why it gives you pictures. That’s also why Google Voice existed. Because it was a means to train vocal recognition so they could turn that technology around and sell it.

IVAN: Oh, that’s right. I’d forgotten about that.

TESS: Modern technology companies, if they are selling a product and it seems to be free, it’s not free. In fact, you’re two products at the same time. The one that they’re using to gain your behavioral data, and they’re using it to train something else that they’ll also turn around and sell later.

IVAN: There’s a trend here right? I mean, Google Analytics was an acquisition that Google made of Urchin, and we’ve talked about this on the podcast in the past with Dan Antonson. And so that’s why the Google Analytics UA numbers all start with UA, because it used to be called Urchin Analytics. reCAPTCHA is a Google product now. That was previously open source and was acquired by Google in 2009 I think, or 2008, something like that, so, more than 10 years ago. So, reCAPTCHA has really been this machine learning exercise that Google has been producing and using to the benefit of its shareholders and to the detriment of the community that is giving all this information to them for. So, that’s the trend. But, there are alternatives to reCAPTCHA. You mentioned honeypots and different ways of determining whether or not a user is actually human. But there’s this other CAPTCHA alternative that I read about the other day here, hCAPTCHA. Cloudflare is actually implementing hCAPTCHA across its end.

TESS: Cloudflare, that doesn’t make me suspicious already.

IVAN: Yes, so I have my own thoughts about Cloudflare as well.

TESS: I trust Cloudflare as far as I could throw them.

IVAN: At least, at least, it’s not going to Cloudflare and Google if you’re using Cloudflare endpoints now. I suppose that’s a silver lining.

TESS: One of the things that immediately stood out to me with hCAPTCHA when I was looking at it is, it primarily relies on you installing a browser extension, and that’s already nope city for me.

IVAN: Yeah. Is that really how it works? You have to have an extension?

TESS: That was right on the main info page, yeah.

IVAN: So, you can’t actually visit a site that has an hCAPTCHA on it without having the extension on it? That doesn’t seem like it’s going to work.

TESS: No. It’s probably not a very good option. A lot of these technologies are really trying to work around one fundamental thing, which is, we want to keep bots out of particular sites, keep humans in those sites, so that they don’t start posting ads all over the place. And, the thing is, there’s already an existing solution for that that works.

IVAN: What is it?

TESS: It’s called a content moderator. You pay someone.

IVAN: Yeah, okay.

TESS: [laughing] Because human beings are generally pretty good at figuring out if another person’s a human being or posting an ad when they shouldn’t be. [laughing]

IVAN: That doesn’t scale well.

TESS: And the problem is that it costs a lot of money and it’s very stressful and even then it has ethical implications for the moderator themselves. There are distinct studies that have shown that being a content moderator causes a lot of people to have PTSD issues for years and years and years after they leave that particular business, because it’s just that nasty. There are so many nasty people out there.

IVAN: Lots of trolls. I can’t imagine how it is to deal with that kind of PTSD after moderating the content.

TESS: This is why I keep going back to the same question of, Is this really something that you want to do? Is this something that’s really necessary for your site? Because if it’s not, then maybe you shouldn’t. Maybe it’s not that important for your business. Maybe there’s alternative ways of doing it.

IVAN: I like the idea of putting in your phone number or even your email address to log in to receive a special token, maybe it’s even a one-time use token, so that you can comment.

TESS: An email address would probably be my preferred one. Phone numbers have different implications that are also worrying.

IVAN: Yeah, phone numbers are also a dime a dozen too. You can very easily get them and very cheaply use them with APIs as well, so it’s not going to provide you a great deal of protection, right?

TESS: Mmm-mm.

IVAN: Okay. So, what’s the moral of the story here before we wrap up, do you think?

TESS: I think the moral of the story is that we need to talk to clients a lot more about the privacy implications of the technologies that we’re pulling off the shelf. If we’re going to be recommending a particular solution, we really should take a moment to consider, Is this the right solution? Do we actually want to implement that? Do we want to feed these other corporations who do who knows what with this data later, of which we will become subsequently culpable for supporting, even vicariously? So, that’s something that I think we do have to be aware of and we have to raise the knowledge and the understanding of ourselves and our clients in order to bring this forward. And only then can we hopefully make a small, tiny infinitesimal step towards a more ethical industry.

IVAN: I think you’re right. I think the moral of the story here is education. And as the vendors and the service providers in this situation, we should be educating our clients about options and alternatives to Google Analytics. Maybe Google Analytics is okay in some cases. Most cases, probably alternatives would be just fine, and that goes for reCAPTCHA as well.

Well, Tess, I hope this episode didn’t give you PTSD. [laughing] I really appreciate you spending your time with me today.

TESS: I just want people to think about things that they haven’t thought of before.

IVAN: Thank you very much. Tess Flynn is DevOps Engineer at TEN7, and you can find her online as @socketwench. That’s “wench” not “wrench.” And she’s on Twitter, Mastodon on Drupal.org, Patreon and more. You can check out her website as well at deninet.com.

You’ve been listening to The TEN7 Podcast. Find us online at ten7.com/podcast. And if you have a second, do send us a message. We love hearing from you. Our email address is [email protected]. Until next time, this is Ivan Stegic. Thank you for listening.

Feb 20 2020
Feb 20

Your browser does not support the audio element. TEN7-Podcast-Ep-082-Mike-Gifford-Accesibillity-Is-a-Journey.mp3

Summary

Mike Gifford’s mission is to build better and more inclusive software. He’s a Drupal 8 Core Accessibility Maintainer, founder of OpenConcept, an accessibility consulting firm, and all-around gem of the Drupal community. Mike’s been spearheading website accessibility improvements for over a decade, and we’re thrilled to have him on our podcast. You’ll learn a lot from this episode!

Guest

Mike Gifford of OpenConcept Consulting

Highlights

  • What is accessibility?
  • The four pillars of accessibility: POUR
  • Designing for 80%
  • Permanent, temporary, and situational disabilities
  • How Mike got started fixing Drupal accessibility issues
  • Drupal’s Accessibility Maintainers
  • Rachel Olivero, and the Drupal Olivero project
  • Pivoting OpenConcept Consulting from a Drupal shop to a consultancy
  • How OpenConcept eats its own dog food
  • The future of accessibility is personalization
  • The preferences framework widget
  • Establish trust by showing individual needs of website visitors are important
  • Accessibility and fonts
  • How do you help users when we can’t see their cues?
  • How accessible is Drupal Core?
  • Frontend pages AND backend pages must be made as accessible as possible
  • How are other CMSes and frameworks doing with regards to accessibility?
  • We are all affected by some sort of disability

Links

Transcript

IVAN STEGIC: Hey everyone! You’re listening to The TEN7 Podcast, where we get together every fortnight, and sometimes more often, to talk about technology, business and the humans in it. I’m your host Ivan Stegic. My guest today is Mike Gifford, Founder and President of OpenConcept Consulting, Inc. in Ottawa, Canada. OpenConcept is a web development agency specializing in Drupal, much like ours, and a benefit corporation, a B corp. Mike is also Drupal’s core accessibility maintainer and has been since 2012. Hey Mike, welcome. It’s great to have you on the podcast.

MIKE GIFFORD: It’s great to be on once again. It’s been a while, but definitely enjoy having an opportunity to talk again with you about Drupal and accessibility and things involved with digital tech.

IVAN: I love it. I can’t believe it’s been almost three years ago, episode 6. We’re coming up to episode 84. Wow. It’s been a long time. I feel like we’ve just scratched the surface.

MIKE: Absolutely. It’s amazing how time passes when you’re busy serving client needs and keeping up with changes in the Drupal community.

IVAN: Busy having fun I think, is what we call it. [laughing] So, let’s talk about accessibility. People throw that word around quite a bit, don’t they? I think we believe we know what it means, and some people say, “Oh your site has to be ADA compliant.” Other people say, “Yeah, we need WCAG or WCAD compatibility.” Why don’t we start with the definition for accessibility? What do we mean in our industry when we talk about that for a website?

MIKE: So, essentially it means removing barriers to make sure the people are able to access your content, whatever disabilities they have or whatever tools and devices they’re using to go off and to access it. The World Wide Web Consortium’s Web Accessibility Initiative broke this down into four main pillars that they’re using for the WCAG 2.0 framework, and I think to summarize it quite nicely:

Let’s make sure that your web content is perceivable so that people can understand it and read it and absorb the information.

Let’s make sure that it’s operable so if you’ve got some sort of interface people are working with, then the people can interact with the web forms, and they can engage with it, and click on the buttons and navigate the website.

Let’s make sure that it’s understandable. This is one that particularly government websites fail on. And there’s very, very few websites that really excel at plain language and making sure that things are written so that people can absorb the information on the flow and eliminate all that technical jargon and information that gets in the way of comprehension.

Finally, let’s make sure that it’s robust. So many websites work great if you’re in a dark room with a really new monitor that’s sitting there, but if you’re on your phone and navigating on a bright day, you’re going to have a hard time going off and viewing the information, accessing the information. So, let’s think about this in the real world situations that people engage with technology on. It’s not always going to be in that ideal environment where those light-gray-on-dark-gray backgrounds work.

You really need to be able to think about the context with which people are using the technology. So that’s how I think about technology within the web accessibility framework.

IVAN: And that’s POUR right? P-O-U-R. Perceivable, Operable, Understandable, Robust.

MIKE: That’s right. And there’s a whole bunch of criteria that you can use to evaluate your website based on that. It’s an interesting framework that’s designed to be technology agnostic. It doesn’t really matter what kind of technology you’re working with, whether it’s a PDF file or whether it’s a website—those principles are things that you can use to guide your thinking around accessibility.

IVAN: So those are high-level principles. That’s how we want to design from a design-first perspective so that the context of the design itself is available and accessible from anyone using the site.

MIKE: That’s right. There’s some really interesting work being done by people looking at inclusive design, and this isn’t a new movement, but there’s some neat work that Jutta Treviranus has set up to look at designing for the fringes. So often people think about the 80/20 rule, and it’s like, Well let’s just go off and design for that 80%, and then worry about that additional 20% later. We won’t necessarily factor that into the equation. Whereas, if you look at the fringes and design for the extremes, then you can be confident that everyone’s needs are going to be met, and you can work ahead to see that you’re able to deal with it.

And also, the 80/20 rule is a great concept for many things, but it doesn’t make a lot of sense. Like, how many businesses would just write off 20% of the United States? Would you get rid of New York and New Jersey? Whatever you think about them, would you just eliminate selling to those as potential customers, because it’s inconvenient for some reason? Probably not. It’s a large chunk of the population to ignore. So, thinking about the fringes and accessibility early on in the design process really allows you to go off and to serve a much broader range of the population than most people are aware of.

IVAN: The 80/20 rule is by definition exclusive. You are actually saying we’re excluding one-fifth of the population because we choose to.

MIKE: Because that’s inconvenient.

IVAN: Cause it’s inconvenient.

MIKE: Yeah. There’s really neat work done by Microsoft actually with the Inclusive Design Toolkit, and what they’ve done is try to look at, not just people with permanent disabilities, but to try and extend the definition out more broadly so that you have people that have permanent disabilities. But then there’s people who have temporary disabilities, and then there’s people who have situational disabilities. So, for example, a temporary disability might be you left your glasses at home, so you’re having trouble reading stuff at the office. Or, you’re in a situation where you’re taking medication, and so your eyesight may not be as good while you’re on this particular medication. Or, maybe you’ve broken your dominant arm, so you’re trying to navigate the mouse with your left hand, and it’s just not as good as it was with your dominant hand.

There are things like that, that are temporary issues that we all undergo as part of living in a complex world. But the situational ones are things like you’re in a noisy environment and you can’t use Siri to go off and interact, because Siri can’t cancel out all the noise that is coming from the area. Or, you’re in a situation where you want to use your laptop outside on a sunny day, and you can’t because there just isn’t enough contrast in the pages to be able to read the information effectively. So, again, thinking about all of these different ways that people interact, even if they’re not defined as having their disability, but there are times and places where everyone has a disability.

IVAN: Context is important, isn’t it?

MIKE: Yeah.

IVAN: You’re so passionate about accessibility. And besides it being the right thing to do, to be inclusive, to think about others that might not have the same abilities as you do. How did that happen? How did you get to be so passionate? Where did your start in accessibility come from?

MIKE: I think a huge part of my background came from having a good friend who has cerebral palsy, who is a real champion for disability rights and who schooled me on some of the theory about how to think about disability, and to think about the abilities that I have. So that certainly is a really key element to it. I started making changes to the Drupal community, getting them involved in affecting Drupal. And it suddenly became addictive because many people who work in the accessibility field go off and address a particular issue, and they fix a particular issue for a particular website. But that’s not what I was focusing my time and energy on. I was focusing my time and energy on fixing Drupal, which is 3% of the web.

So, I was able to go off, working with a whole team of other people to transition Drupal from being a reasonably good standards-compliant CMS to being by far the best, most accessible content management system out there, because of some of the work that I was spearheading. It was interesting to go off and look at ways of supporting people, and so the first Drupal Accessibility Maintainer was Everett Zufelt, who also taught me a great deal. When he was contributing the most to the Drupal community, he was working with me as staff at OpenConcept.

So, I was able to go off and learn from him as a blind user, and to learn what his experiences were with Drupal and review my own assumptions about what was possible, and how to address that. Everett is no longer an accessibility maintainer, but in Drupal 8 there are two other accessibility maintainers, Andrew MacPherson and Rain Breaw, who are taking on a role of pushing things ahead and addressing the accessibility community within Drupal.

So, we’re going to be having regular office hours and I think, it is the last Tuesday of every month.

IVAN: I’ve just been so impressed with the amount of accessibility that Drupal has garnered in the last five years. It’s just been so nice to see the improvements that have happened. Of the maintainers, do we have any maintainers that have disabilities that have the inclusive perspective of actually using the web and being able to maintain Core from a disability perspective?

MIKE: Actually no, and that’s an area where we could actually use a lot of additional work. I don’t think that either Andrew or Rain have a disability, at least not that I’m aware of. But we haven’t had enough people in the Drupal community who have disclosed their disabilities and who have stepped up to get involved in the Drupal community. We had a few people who have done that. Everett is one. Vincenzo Rubano was another. He came to DrupalCon Portland from Italy. And as an individual, Vincenzo has contributed more to the Drupal 8 accessibility than all of the governments in the world combined, and this is what he did in the year before he started university. So, it’s quite an amazing accomplishment in many ways, and also, why is it that governments around the world are not doing more on accessibility? It’s a bit baffling.

But the last person we’ve had to sort of highlight in terms of people with disabilities who have been involved with the accessibility team, was Rachel Olivero, who unfortunately died last year. So, that was a sad thing. She was quite involved in the diversity community within Drupal and had gone to two other DrupalCons and unfortunately, she died suddenly and is no longer with us.

IVAN: I recall that. That was devastating news that we’d heard. I’d had such a wonderful dinner with her at that DrupalCon that we both attended on trivia night.

MIKE: Yes.

IVAN: I think she was part of the National Association of the Blind, if I’m not mistaken.

MIKE: That’s right. She was working with the National Federation of the Blind and transferred a few different roles, but had actually just launched their Drupal 8 website and had made a lot of advancements in that, and it was really nice to see that, and she had also made a couple contributions to the Drupal community with accessibility bugs that she had identified. There is now the Olivero project within Drupal with the new themes which is going to be coming out with Drupal 9. I’m looking forward to going off and seeing that, a theme that’s being named in her honor. So, that’s lovely.

IVAN: That’s really lovely. We will link to that from the podcast episode page. So, if you’re listening, do visit the website for more information . Now, OpenConcept is focused on accessibility as a core part of your business, isn’t it?

MIKE: Yes, it is. We’re actually in a position where we’re pivoting from being a Drupal shop where that’s primarily what we do, to actually having a role as a digital agency and doing more consultation and support work with others. Because of the work that I’ve done on accessibility, we’ve been able to take systems perspective to accessibility and sustainability and security and really look at this at a higher level and to step back and address these issues. So, we’re doing more work as a digital agency going ahead, and not just as a Drupal shop.

IVAN: Well that’s a wonderful development for you. You certainly have the wherewithal and the knowledge to be providing that kind of consulting, so I love to hear that evolution. I love the fact that your website itself, openconcept.ca, eats its own dog food, so to speak. There’s a widget drawer at the top of some sort of preferences. I haven’t seen that before. It allows anyone to be able to change, essentially, the design and the contrast and the typeface, and everything you would to make the site more accessible, I would guess. Tell me about that preferences pane.

MIKE: Our own website is one that often doesn’t get as much attention as we’d like to. So, we started a process to rebuild our website, and I’ve had to put that on hold because of some other issues. But, yeah, our website, we’ve definitely built it for accessibility, but accessibility is a journey, you need to be able to invest in that on a regular basis. So, I’d like to be doing more with our website than we are.

But specifically about the widget that we have on our website, I realize that one of the our challenges with the WCAG process is that it’s building a single website, and meeting the needs of everyone through a single website. But unfortunately, disabilities are such that that doesn’t really make any sense. There are people who have low vision, and need high contrast. There’s people who have dyslexia, they need low contrast. That’s just sort of one example. There’s people who get really frustrated when they see Comic Sans as a font. There’s other people who, the best way that they can read content is with having Comic Sans or Openyslexic or some other customized font.

So, how do you try to give people the range of exposure to go off and absorb information in a way that suits their needs? And having a single site, that is not going to be able to achieve all of those goals. So, we see that the future of accessibility is really towards providing personalization. Yes, you want to go off and meet a minimum standard requirement. You want to make sure that your default website is meeting the base level, the Perceivable, Operable, Understandable, Robust guidelines that are being set forth in WCAG 2.1—actually, because the latest one is WCAG 2.1. So, that’s the goal that people should be aiming for. But, if you can extend it to even more people by going off and allowing individuals to have personal choices.

The IDRC, which is the Inclusive Design Research Centre in Toronto, put forward a preferences framework widget that we’ve incorporated in our website. We did this because we were working with the Canadian National Institute of the Blind, which is the equivalent of the NFB in the US, or the RNIB in the UK, and we wanted to incorporate that within their website.

So, we first tested it on our website and looked to make sure that we could work through the bugs and unknowns and uncertainties with that tool on our website, before we went off and implemented it with our clients. Again, that idea of eating your own dog food and evaluating this and building the best practice by demonstrating the best practice is something that we wanted to be able to do.

So, we implemented this widget and have contributed back to the IDRC, because the preferences framework is an open source widget that we were able to build on and incorporate into Drupal as a Drupal module. There’s now Drupal 7 and Drupal 8 implementations of the preferences framework.

IVAN: If you design a site so that it’s meeting these accessibility parameters in WCAG 2.1, then do you need the preferences framework?

MIKE: You don’t for the legislation. If your goal is to try and make sure that you’re just checking a box, and that you’re meeting the requirements and you’re not going to get sued, then no, you don’t need to worry about the widget. But if your goal is actually increasing the use and participation and usability of your site, if your goal is improving usability, then this widget is actually quite useful to go off and to give your users the ability to provide a custom interface, or custom display for the site. And there are ways that people can override the CSS pages that are custom built to their own browser, but that’s more complicated than most users would go off and know how to do, and often it is something that doesn’t work well with the website.

But, if you build in this framework then you can evaluate, Well, how does it work with the dark background? How does it work with the light background? How does it work with a yellow/black high contrast mode? And your developers and designers can evaluate some basic ideas to make sure that your SVG files show up appropriately, that you’re able to go off and provide a good experience for somebody, even if they do need to invert the color scheme. It’s useful to do that even for the number of people who are now preferring to use dark mode for their websites.

IVAN: How do you deal with marketers and brand stewards of corporations and organizations who will, I’m sure, inevitably say something like, “That preferences pane destroys our brand. It’s not consistent with what our brand guidelines say.” How do you deal with that kind of pushback?

MIKE: I think I would say that if something like this destroys your brand, then your brand is not very strong. You want to be able to go off and have some control over your presentation, your site, the default settings, but ultimately a brand is about establishing trust with the customer. And there’s no better way to establish trust with your customer than to demonstrate that their individual needs are important to you, and that you can serve their individual needs.

So, what could possibly be better than having a widget on their website that says, You can buy your Nike runners even if you're blind or if you’re dyslexic. We’re going to make it easy for you to buy our products and give you the support you need, however it is that it serves you best. And you’re not to get stuck on stupid proprietary fonts or highly custom color combinations that were approved by some highly paid branding office. Ultimately the brand has to be strong enough that the trust and that care for the user shines through, and I think that this preferences framework is a part of that.

IVAN: I’ve been tracking the variable fonts recently. I know they’ve been around for quite a while now, but they’ve only recently been getting more traction, I would guess. Do you know anything about variable fonts and how they affect or not affect accessibility? I would imagine there’d be a relationship there.

You have more control over the kerning and the size. They’re somewhat different than regular fonts that have specific sizes. A nd when you say bold for example, they go to a specific bold typeface. You can actually change the size and characteristics of these variable fonts with CSS. And I would imagine that would be highly useful from an accessibility perspective.

MIKE: Fonts are definitely an interesting area and it’s amazing to see the changes in the web that make it look more attractive, more compelling. But there isn’t a lot in WCAG to address fonts. Sometimes it just comes down to a matter of judgment. A lot of times fonts are too narrow to be easily read, and there’s no standard way to evaluate how thick or how thin a font can be without affecting the accessibility of it. And, as our monitors get more and more refined, you can create thinner and thinner fonts.

So, I think we are going to get to the point where fonts are going to be more easily evaluated, but some of it comes down to even just base readability. Like, all the debates have happened between, you know, is Helvetica better than Arial? Better than Times? There’s a lot of studies on this, but again there’s nothing in the standards that we’re looking at that say, This is the best font, or This is the way that you’re going to address fonts in meeting accessibility. Because it’s hard to pin down, hard to go off and quantify, and so much about WCAG is about making it quantifiable.

It’s not just about opinions. It’s about a quantifiable, demonstrable barrier that you’re able to address. I can see that with variable fonts, one of the neat opportunities there is to be able to say, How would you use something like the preferences framework to allow a user to go off and customize the fonts?

IVAN: Exactly.

MIKE: Let’s say you want to have a fat font for this. The font doesn’t need to be larger, it just needs to be bolder, just make everything bolder. And you could with this, very easily go off and have a setting that allows users to have that ability to build that in, and to think about ways—or just switching fonts entirely. You can either stick with just making the font that was chosen customizable, to go off to meet your specific user’s needs. Or you can go off and say, Let’s give them the option to pick from five or six other fonts that might meet their needs and allows them to more easily absorb the information. Because ultimately what we want is the ability for an author to communicate to another person.

So, how do you communicate that information so that the author or presenter is able to go off and convey as rich in information as possible for the person receiving that information to absorb. And, if you were doing it in a face-to-face conversation, we can know how to go off and slow the pace of our speech, or to speak more loudly if somebody has hearing impairments. We know how to do that because of personal cues that allow people to change their presentation for a particular individual.

But it’s harder on the web when you’ve got technology mediating that communication, and we don’t have those personal cues to guide us. So we need to actually give that opportunity for feedback to the user and encourage them to select preferences that allow them to choose something that allows them to more easily use your website.

IVAN: The standard that we’re looking at right now is WCAG 2.1, and people usually say that [level] A is the bare minimum. AAA is, Are you insane, do you have a lot of money? What is the goal of doing AAA? And AA is usually the one that organizations land on, if I’m not mistaken, to describe it loosely. Where are we at with Drupal for accessibility? For Drupal Core? And what’s next?

MIKE: So, just a bit of a correction. In the United States, the standard is still the revised Section 508 standard, which is pegged to WCAG 2.0 AA, and more or less that is the standard. Internationally, we’ve moved on from WCAG 2.0 AA, because that was the standard written in 2008.

IVAN: I didn’t realize it was that old.

MIKE: Yeah, so the original Section 508 that was in place up until January of 2017 was written in 1997, so that was how old the standard was for the Section 508. Which is still better than the—actually no, it wasn’t better than the WCAG 1.0—these are old, old standards. But WCAG 2.1 was released in 2018, so it’s a much more current guideline, and WCAG 2.2 should be released later this year. And the plan is to go off and make these releases much more regular, in order to keep up with the pace of technology. Waiting a decade or two between updates of accessibility standards truly does leave out a lot of people. So, the standards are evolving.

So, as far as where Drupal is, we’ve done a good job at Drupal Core of meeting WCAG 2.0 AA for both the frontend web pages and for the administrative pages. It’s not perfect, and there’s a lot of known issues in the accessibility queue, but we’ve addressed a lot of the base issues that people run into.

Because Drupal 8 has a lot of interactive elements, there’s content that changes on the fly with JavaScript, and we need to be able to add more instances for support for this, so that we can alert screen reader users that the screen has changed. So, ARIA live is something that was introduced in Drupal 8. There’s a Drupal JavaScript function called Drupal.announce() that allows developers to go off and to codify how screen readers are alerted to changes to dynamic content on the page. So, we need a lot more work done to implement that in Drupal 8. Drupal 8 has done a lot of work on ATAG 2.0. ATAG 2.0 is the Authoring Tool Accessibility Guidelines, and this essentially says, we’re going to look at the authoring experience, and Drupal is an authoring tool, and we’re going to say, part A of ATAG is Let’s make sure that the authors with disabilities can actually be publishers of content and not just consumers of content. Right?

And this something really that Everett Zufelt went off and drove home to us, is that we couldn’t just go off and rely on making the frontend pages accessible, we also needed to make the backend pages accessible, or people like Everett were not going to be able to publish content using Drupal. So, we went and, in Drupal 7, made some big advances in addressing the backend accessibility. That’s been carried over in Drupal 8, and that’s part of ATAG part A, it’s just sort of making that the authoring interface be as accessible as possible.

Part B is actually I think more interesting and more useful, particularly for institutions, and I’m sad to see that there isn’t more attention paid to Part B of ATAG, because that’s about how do we use these systems to make it easier for authors to create accessible content? And how if we don’t think about the authoring experience, like we can’t expect authors to be accessibility experts; we need to think through the tools and the technology that they use to support and guide users in doing the right thing.

We need to set good defaults for accessibility in the authoring tool, so that when the millions of users are adding new content to Drupal, the 3% of Drupal websites around the world, it’s a huge number of people that have used Drupal on a regular basis that need to be involved. And if you don’t have the system helping authors make the right decisions, then it should be no surprise that you have accessibility issues being added by authors who are not familiar with best practices.

But if you get the tools involved in setting up proper constructs, then you can limit the damage that users can do. You can guide them to make the right decisions. And there’s a lot more that can be done in that space. We’ve done more than anyone else, but we have not done enough in that space.

IVAN: I like to hear that we’ve done more than anyone else, but I’d be even happier to hear that “everyone else” is close on our heels, and equally accessible. So, before we close, I wanted to hear your assessment of other competitors, other CMSes and frameworks out there, and what their accessibility is looking like. How do they compare? Let’s talk about maybe a couple of the open source ones we all know and love, like WordPress, and maybe talk about React or Gatsby, any of the things that come to mind for you. How do they compare?

MIKE: So, I was really quite hopeful with the WordPress community up until the Gutenberg debacle that came out. When I was in Holland in the fall, I had a great meeting with one of the WordPress accessibility leads that had stepped down because of how that was handled. It was a really interesting presentation that she and I had with others in Holland around accessibility. So, I’m less optimistic about the future of WordPress accessibility than I was, because of leadership issues within the WordPress community.

But there’s lots of good people involved in creating accessible themes in WordPress and that’s great. But it does require it to be a priority for the leadership in order for it to be really ingrained in the community, and that’s one of the things that Drupal has really stood out in.

 I’m really impressed by Gatsby and with Marcy Sutton and others who have a really deep ingrained passion for accessibility that they’re building into the process. So, if you’re building a Gatsby site, or a Gatsby page, accessibility checks are now just part of the process of doing a Gatsby build. And just having that as a framework is just built into the process of how you build a good Gatsby website. That’s so wonderful. Marcy was involved in the Axcore team, which is an automated accessibility engine that the Deque folks built a while back, and it’s really been taking off. And the Microsoft community is jumping on board with that, and Microsoft has built a tool called Accessibility Insights that uses that.

There’s also the Google Lighthouse tool that uses Axcore as well. So, it’s nice to go off and see that that’s built into Gatsby, and that there’s a commitment to that from senior levels in the Gatsby community.

I hadn’t really seen a lot of other examples where content management systems are taking this seriously. I do think that Microsoft is an organization that we do really need to be aware of, both because of their interest in open source and their passion for accessibility, and that has really been a real transition in the last two or three years.  

IVAN: Yeah, who saw that coming?

MIKE: Yeah, like what the heck? So, they’re incredible leaders in the space and making a lot more money because of it, and that’s both wonderful and fascinating. I certainly did not see that coming [laughing]. I was definitely not one of the people that expected this. But it’s quite wonderful, and I think it will be neat to see what Microsoft comes up with, and I’m not sure there’s enough money in the world to go off and make SharePoint accessible [laughing].

IVAN: [laughing] Yeah, SharePoint doesn’t have a great, stellar accessibility. I mean, even for the rest of us, the user experience could be better.

MIKE: That’s right, but it is interesting that Microsoft has made a cultural shift in how they think about both open source and accessibility, and sustainability, for that matter. They’re committed to being carbon negative by 2030, so they are making some big bold leadership commitments in the tech space, and I think that they will pay off for Microsoft, and I think that is something that others will follow, but I haven’t seen a lot from most other, like React itself, I haven’t seen a lot of pickup and movement around this. I haven’t seen Angular or Core.

IVAN: What about Sitecore or any of the proprietary CMSes?

MIKE: I don’t think it’s part of the process. They’re not looking at building it accessible by default and partly that’s because clients are not demanding it. There are not enough organizations who are demanding accessibility as part of the default system. I think this is changing. The governments in Europe are starting to be aware of this and looking at Drupal and looking at that as a model, but it’s not being incorporated into the procurement process. So sales folks are not hearing this is something they’re not losing their contracts around it.

IVAN: Yeah, and you would expect there to be a more vocal demand. As you know there was this report from the World Health Organization in 2011 that said that about 15% of the world’s population lives with some form of disability. And it’s probably higher than that, that’s almost 10 years ago that that report was done. So, you would think that there was a demand, that corporations would see this, and would move in that direction, but I guess not.

MIKE: That’s only the people with permanent disabilities that they were addressing. They weren’t making it either temporary or situational. If you’re looking at temporary or situational, it’s a higher percentage.

IVAN: Right. We all experience high sunlight when we go out and use our phones, don’t we?

MIKE: That’s right. It’s a universal thing. Unless you don’t go outside [laughing].

IVAN: Right. [laughing] and the same thing with getting older, we all lose our eyesight as we’re getting older. Our vision becomes impaired and so there’s that to think about as well.

MIKE: That’s right, and you’ve got the aging baby boomer population. You think about the gray tsunami, all of those ideas require us to think differently about the web, because it’s not just the way that we see color change as we age, the way that we navigate websites changes. Disability is just part of life. We do not have the abilities we did when we were 20. This should not be a shocker to anyone right?

IVAN: I wish I had those abilities still, Mike. [laughing] It’s been so great talking to you. I feel like we didn’t even cover some of the things I wanted to get to, talking about the government and your work with the Canadian government and how you’ve been keeping track of the Accessible Canada Act. Would you come back sooner than the next three years, and we could have another recording and another episode, and we can get into those ideas as well?

MIKE: I would absolutely be keen on doing that, and then hopefully it’ll be something that’ll be done in person as well, which will be way more fun than doing it remotely.

IVAN: You know what, that would be great. Next time you’re in Minneapolis, I know you won’t be here for DrupalCon this year, but next time you are, let’s do that.

MIKE: That’d be great. And who knows, maybe I’ll find a way to get to DrupalCon. Maybe I’ll make that possible but it’s not in the cards right now, but, yeah, it’d sure be a lot of fun.

IVAN: That would be so much fun. Thank you so much for spending your time with me today. It’s been a great pleasure talking to you.

MIKE: No problem.

IVAN: Mike Gifford is Founder and President of OpenConcept Consulting Inc. in Ottawa, Canada. You can find them at openconcept.ca. They’re a web development agency that specialize in Drupal and are pivoting to be more of a strategic consulting firm. They’re also a B Corp. Mike is Drupal’s core accessibility maintainer, one of the few of them, and you could find him online @mgifford on Twitter. You’ve been listening to the TEN7 podcast. Find us online at ten7.com/podcast. And if you have a second, do send us a message. We love hearing from you. Our email address is [email protected]. Until next time, this is Ivan Stegic. Thank you for listening.

Jan 08 2020
Jan 08

Your browser does not support the audio element. TEN7-Podcast-Ep-079-Best-of-2019.mp3

Summary

2019 comes to a close, and with it, another year of fascinating podcast guests that taught and inspired us. We’ve selected some of our favorite clips from this year’s guests for you to enjoy. Listen to the full podcasts if you like what you hear.

Guest Clips

  • Episode 50: Dries Buytaert, Founder of Drupal, on his evolving role in the Drupal community
  • Episode 74: Rob Harr, VP at Sparkbox, on how Sparkbox alums are still part of their story
  • Episode 56: Lynn Winter of Manage Digital on burnout
  • Episode 66: Jeff Archibald of Paper Leaf on the “false hustle”
  • Episode 67: Alison Paris of Parisleaf on G-RICE, their five values
  • Episode 63: Carl Smith of Bureau of Digital on scaling intimacy
  • Episode 53: Heather Schrock of Bonneville Environmental Foundation on their water stewardship business engagements
  • Episode 64: Hans Bjordahl of Culture Foundry on Conscious Capitalism
  • Episode 77: Jeff Geerling, Software Developer and Creator of the Pi Dramble on writing books on LeanPub
  • Episode 78: Gareth van Onselen, South African Journalist, Political Analyst, Author on the similar narratives of Jacob Zuma and Donald Trump

Transcript

IVAN STEGIC: Hey, everyone. You’re listening to The TEN7 Podcast, where we get together every fortnight, and sometimes more often, to talk about technology, business and the humans in it. I’m your host Ivan Stegic. We’re starting off the new year with a retrospective.

We published 29 episodes last year, which is slightly more than once every two weeks, or as we say it here, every fortnight. That’s a great deal of content, all of which was created by an amazing team here at TEN7. So, let me begin with some thanks. I’d like to thank our transcriptionist Roxanne, who works tirelessly transcribing the audio for every episode, so that we can publish the text online. Thank you! To Charlene, who edits each of the transcripts and comes up with the summaries, links and social media posts, thank you! And of course, to Jonathan, the producer of the show, who masterfully records, edits, mixes, schedules, uploads and makes my life magically easy to record this show. Thank you! None of the almost 30 episodes of 2019 would be possible without you.

So we’re going to look back and play some of our favorite excerpts of the year. Before each clip, I’ll tell you who the guest is, what episode it came from and I’ll try to set it up with additional context. And don’t worry, today’s podcast webpage has links to the episodes, so you can always go back and listen to them all.

We started off 2019 with our 50th episode, and who better to have as a guest than the founder of Drupal himself, Dries Buytaert. I asked him about how his role and how it had changed over the years, since starting the project and writing the initial code in his dorm room in Belgium.

DRIES BUYTAERT: I think my role has evolved a lot over time. I mean, in the early days I would write 100% of the code, and I would spend a lot of my time building Drupal.org. I would help run the servers behind Drupal.org. I would organize the DrupalCon events or help organize them, like intensively. And over time I’ve scaled more and more. Drupal Association would be one example of that, as a step in evolving my role, which put in place an entity, a non-profit entity specifically, that could take over the organization of DrupalCon which now is a serious event. It costs a few million dollars to put on and takes a whole team of people to organize. Same thing with managing our website and the underlying hardware infrastructure.

It’s now being managed professionally by people at the Drupal Association and again, also with the help of people in the community, just like DrupalCon. But these are examples of how I’ve scaled my role. Obviously on the technical side, I went from being the sort of single core committer, to now having teams of core committers for each of the major releases, having committees and task forces around different aspects of the project, like a technical working group that defines coding standards. We have release managers and product managers and framework managers, all these kinds of roles to subsystem maintainers that are responsible for different aspects of Drupal core. And so, these are all examples of me scaling my role over time, and we continue to make governance changes all the time and to scale the project as needed.

I think that’s the right thing to do. As projects or organizations get bigger, you need to put the kind of organizational structure in place. You also need to scale the culture of the project and so, I try to help with that through my keynotes. Actually, last year at this time, I helped write Drupal’s Values and Principles document, that’s a way to help scale our culture. So, it takes a lot of effort and different people to maintain and run the Drupal project today.

IVAN: After I had been to the ManageDigital conference, I was enamored with Rob Harr’s keynote and his leadership of a company called Sparkbox. His style is squarely focused on all the people that are connected to his company, whether that’s current employees, clients, partners or even former employees. In Episode 74, that published in November of 2019, I asked him about this focus.

IVAN: I love the friendly disposition you have, and how inviting you are, and it doesn’t just extend to clients and partners and current team members. It also extends to Sparkbox alums. When you gave your keynote at Manage Digital, I was really impressed with how you talked about the wider Sparkbox community, not just the people that are working there right now, but people who have worked and humans that have been with you in the past. What’s your philosophy around that and how do you get those people together, if you do?

ROB HARR: My philosophy around all of this is I got into this for the humans, and I believe that we have to treat them well. I think that your former employees are the ones that actually control your reputation. I want to make sure everybody leaves well, and things end well for people. I think so much of how people view a relationship, and that’s really what employment is, it’s defined by how it ends. A perfectly good, even successful relationship, if it ends poorly, can feel horrible and can color the whole thing, and that’s not at all what I want to do. I think that what we look for is for people who, during at least a season—because there’s seasons for all things—where our seasons line up and we can kick a bunch of butt together on projects, and that season will probably end, and that’s okay.

And I think that’s really healthy to think about life that way that, “Hey, our goals lined up and we did a bunch of great work together, and now our goals don’t and we’re going to go our own ways.” That doesn’t remove that person or alum from our story. It doesn’t take us out of their story. There’s a lot of good stuff that happened. And why not respect that by throwing a party on the way out?

I think the other part that is so fundamental is, I can’t talk about caring for humans the way that I do and believe what I believe and then only live that when it benefits me, when they’re employees. I think that’s fundamental. If you really care about the people, then it has to transcend when it makes sense, when it’s convenient. I invite people to come in and talk to me about what they want to do next, and I’ve written letters of recommendation to help people find new jobs when they’re current employees.

That’s all good stuff. Sometimes people grow. Well, all the times we hope people grow. That should be a common thing that we want out of people. Our alums are part of our story. I still talk to them. If I end up in a city where there’s a Sparkbox alumni and I haven’t seen that person in a while, doing dinner or taking them out, or just saying “thank you” is totally commonplace.

IVAN: Why do you call your company a “studio?” It’s a subtle distinction from being an agency or a firm or a dev shop. I think it’s worth explaining and exploring.

ROB: I hate the word “agency.”

IVAN: Yeah, I do too. [laughing]

ROB: It makes me think of Don Draper, with the brown liquor sitting in his office, smoking, and the whole power dynamic that comes with that. I think the word “agency” has been overloaded a lot and doesn’t make clients think of partnership they have. It thinks like, “Hey, we’re going to throw some work over the wall and it’s going to come back and you’re going to be our agency of record.” It’s everywhere. I like the word “studio” because I think it speaks better to the creative problem-solving work that we want to do in partnership with our clients, and it invokes the right feeling of that.

IVAN: Rob was one of the keynote speakers at Manage Digital, that’s the annual project managers conference in Minneapolis put on by our good friend Lynn Winter. She was on the show as part of Episode 56, in March. And at the conference, she was giving a mini-keynote about burnout, so I asked her about it. She had some wise words to share with us.

IVAN: Let’s talk about burnout. How prevalent do you see that? Do you have any data to show? What have you noticed and what are you hoping to achieve with your mininote?

LYNN WINTER: In general, stats, if you start looking at people across the industry, or working people, and then specifically, across the industry, there’s so much pressure and change of environment from, where is the line between home and work, from working at home or having technology accessible all the time? It’s really blurred the line of when do you go home? When do you put things down? When do you turn off? And it’s becoming a problem, and honestly this talk came out of my own personal challenges with burnout, but as I started talking about it with people, I heard these stories over, and over and over. I’d be speaking at conferences and people would talk to me about, “How do you deal with this?” and “How do you deal with that?” and it was all about boundaries, and all about taking ownership of the path that you actually want to go on, versus letting the path take you.

I think it’s a thing that PMs deal with more in this industry, because of maybe the role and how it’s often positioned at agencies. So, what I mean by that is, a lot of times it’s not as valued as a developer, for instance. Like, when you’re going to hire, “Oh, we can get any old PM, they don’t really need to be a PM, they can be anyone, they can do that, they’re just scheduling meetings,” but hire a developer, it’s, “We’ll get a recruiter and it’s going to be harder.” And, it’s hard for different reasons, to hire different roles, but there’s just oftentimes that situation setup or less responsibility or value placed on it.

Some PMs aren’t even allowed to talk to clients. They have to go through account managers, they’re not given the responsibility or the value in that role. And so, there’s some positioning at certain places, and then there’s also that impact of how you personally come to your role and for me, I personally have an issue, balancing, l like, don’t take on too much, and stop running the hamster wheel kind of situation.

So, I had a kind of career change back in 2017, and I’ve been really trying to force myself to step back and try to realign what are my goals in my career and what are my personal goals, and things like that. So, since I’ve started talking to people about it, I’ve gotten, honestly, a lot of feedback that has been positive, as well as a lot of sad stories. So, it’s something we need to talk about.

IVAN: In Episode 66, from the end of July, I talked to Jeff Archibald, CEO of Paper Leaf, about two articles he wrote, one about the false hustle and the other about the 60-hour work week. I asked him about what motivated him to write them.

IVAN: It segues into this article you wrote on Fast Company about the false hustle, how keeping busy is just a way of not getting things done.

JEFF ARCHIBALD: Right.

IVAN: And you’ve also written about humble bragging, about how a 60-hour workweek is actually symptomatic of larger problems that you might have as a company. I’ve talked to Lynn Winter in a previous episode about burnout, and it just seems to come up more and more. Like we are trying to be cognizant of what we’re doing, of what our employees are doing, so that we’re not detrimental to our own mental health, and so that we’re happy in the work we do, so that we have careful focus in work and life and home. So, the question is, what motivated you to write those two articles? The false hustle one and the one about the 60-hour work week?

JEFF: The 60-hour workweek one was just a bit of a direct response to what I was exposed to, and what I’m sure virtually every listener and yourself has been exposed to as well, through social media, and just is that humble bragging, right? “Oh, man. Crazy week. Finally shutting the laptop down. It’s 10 p.m. on Friday.” It’s indirectly talking about how important we are—and I’m totally guilty of this in the past as well—how important we are, how busy we are and how successful we are. But in reality, that’s not sustainable. It’s symptomatic of not having enough process in place, or not having enough revenue coming in, or just symptomatic of a host of potential flaws with the business model.

So, instead of bragging about it, it’d be great if we were bragging about how everybody in our shop worked a 25-hour work week and it was super stoked, and we’re hitting 30% profit margins, and everyone is getting paid properly. Those are the things we should be bragging about. And I get that, especially when you’re starting a business, a start-up or an agency or whatever, there is an inordinate amount of time that needs to be put in to get to the point where you have enough clients and you can support bringing on somebody to help ease that workload. I understand that. But, if it’s continually what we’re toting as success, then I think we have it totally backwards.

The false hustle article, that was more just like, I suppose, a moment in self-awareness for myself. I’m a productive person, I can get a lot of stuff done very quickly, but I have a tendency to overvalue the volume of tasks I complete, versus the importance of those tasks. I could sit down and crank out 12 things in a day, but did it actually move the needle anywhere? I was working really hard and I was being really busy, but it’s the equivalent on some level of, in that article the analogy I drew to Sammy Sosa’s sprinting from the dugout to the outfield, in between innings, but then jogging after a fly ball. [laughing] It’s the same kind of thing.

For me I just wrote that more to remind myself that I need to make sure and understand what I really need to be working on. What’s truly important. And apply tools like the Eisenhower Matrix to understand what needs to be done now versus what can be delegated and plan my week out a little bit better. Or else you can get to the end of the week and think that you’ve moved the needle because you did a lot of stuff. But it doesn’t mean you actually have moved the needle.

IVAN: How do you keep yourself on track for that? It sounds like a great idealistic way of living, and I would love to do it myself, but how do I actually do it? How do you do it?

JEFF: It’s relatively straightforward, to be honest. It is, I suppose, a series of processes. So, we use OKRs here: objectives of key results. I set one or two objectives for sales and marketing, which is primarily my focus here for every quarter, and then I list out the key results. If you’re a listener and you’re wondering what that means, just google OKRs and you’ll find a whole bunch of really interesting methods and information about it. But I set up those results and those are the things that I really try to focus on. Those are the things that are going to move the needle.

So, I map those out. So if I have an objective to increase revenue for the next quarter, then some of my key results might be to pitch three new projects every month. It might be bid on $1.5 million of work. Just key results like that. So that’s where I start, and then at the start of every week, I have a reminder in my calendar and about a 30-minute window to actually plan and block out my week, and it says right in there, review your OKRs, figure out what you should be working on, and then I’ll go through my calendar and I’ll see what time I have available, that hasn’t been booked for meetings or whatever else.

And I’ll block in time to focus on this particular sales objective, or this key result. Or, this particular proposal that I know was due by the end of the week. So, for me, those OKRs ultimately are making sure I’m working on the really, really important stuff that’ll move the needle, and then that weekly calendar reminder and the subsequent blocking out of my time on a weekly basis, is how I make sure that stuff actually gets done.

IVAN: How many companies have you worked for that have gone to the trouble of figuring out your own personal love language? Well, Alison and Chad Paris, who run Paris Leaf, were my guests in Episode 67, and in this clip Alison talks about their company’s values: gratitude, responsibility, integrity, candor and excellence.

IVAN: Ali, what is G-RICE?

ALISON PARIS: G-RICE stands for our five values. And I do want to expand on that a little bit, what Chad was saying, because I think it’s important to talk about using your purpose and ambition statement and also your core values, to make strategic hiring—and sadly, firing—decisions, I think by evolving our core, kind of brand messaging, and really owning it and metabolizing it for ourselves, it strengthened our ability to make really strategic decisions about who we bring on our team, and as a result, the conversations are so much easier, making decisions as a collective are so much easier because we just bounce it off of our values, which are gratitude, responsibility, integrity, candor and excellence. So, that’s where the G-RICE comes from.

IVAN: How do you know when you’re not living up to those standards and who’s policing them?

ALISON: I think we’re quite a self-policing team. We are very open with one another, and we really turn to one another to hold each other accountable, so if we feel like one another is kind of out of line with our values, we’re very quick to bring that up, in a really kind and empowered way. So, there’s not necessarily one person with the policing badge on, making sure we’re having these as our core values. I think it’s somewhat easy.

And I’ll knock on wood as I’m saying it, it’s easy when you hire and fire for your core values, because the teammates who are ultimately on your team end up embodying those values. So, it’s not as much as a policing as it is like We’re a team doing this together.

IVAN: I met Carl Smith at Owner Camp in Bend, Oregon in the Spring. I went to this Bureau of Digital event not knowing anyone, but came home feeling like I had a new, intimate set of friends and peers I could talk to. In Episode 63, I asked Carl how he planned to scale this wonderful thing he was in charge of.

IVAN: So, I’m going to ask you what your daughter asked. How do you scale that good feeling? How do you make it even bigger?

CARL SMITH: It’s tough right? Because in a way you’re scaling intimacy. Lori Gold Patterson said that to me. Lori Gold Patterson runs Pixo out of Urbana, Illinois and we were at Owner Summit in San Diego a few years back, and she came up to me. She goes, “You’ve got a huge challenge.” I was like, “What is it?” She goes, “How do you scale intimacy?” She was like, “Most of these people know each other because they’ve met, but there are going to be so many people that want in, and you’re not going to be able to do events for everybody,” and all this sort of stuff.

So now, the goal is to find ways to do more stuff online in smaller groups. To have opportunities for people who have met in person to reconnect. And for us to be the facilitator and the organizer and handle the logistics of that.

Because we can do so much more online, that as long as there is some level of in-person connection once a year, maybe twice a year, then the online supplements really well. So, that’s a lot of it. We can’t just have events get bigger, and we can’t just put on more events. It’s going to have to be finding ways, using the means that we have—and a lot of it’s technology—to make sure that everybody’s feeling connected, more frequently. And, even voice over just pixels, right?

Even just like you said, “It’s so good to hear your voice.” So, having that happen. So, we’re working on an idea called Bureau Circles. We’ll see how it can play out. We don’t want to overcommit and then blow it. But the idea of eight to ten people that we help coordinate to get together once a month, it’s kind of like a NEO, kind of like a Mastermind, but it’s super focused on what they do and their role. We called them role calls in the past when there were more people, but this idea is getting it down to a smaller group that is there for each other all the time.

And one of the things, Ivan, that spurred this was we have a Biz Dev Camp. So many camps, dude! I can’t even remember them to list them. But Biz Dev Camp, everybody said don’t do it. Nobody is going to share. Nobody’s going to be willing to share. And we said it when we brought people in.

The thing was, it sold out with seven on the waiting list. And I told them, “We’re going to have an optional show and tell on the final day, where if you show up you have to show. You have to show your pitch deck, or you have to show a presentation, you have to show something.” But what was amazing is when we left that first Biz Dev Camp, monthly calls started.

And it was just hilarious, they started their own monthly call. They called it an “accountability” call. It is just unbelievable. So in a lot of ways, that’s become the model for us as we’re looking at how do we move forward to scale the intimacy, and it becomes, people have said, compared to AIGA or things like this, “I like the grass roots feel,” and, “I like the idea that in those circles there is somebody who connects with us,” but they’re also at liberty to make sure that they’re doing what the group needs, so that we’re continuing to support, but we don’t have to participate in every single thing.

IVAN: In 2019, TEN7 started to purchase renewable energy certificates, called RECs and water restoration credits, called WRCs for every full-time employee. It’s our way of trying to offset the carbon footprint that the company creates by being in business. In February, for Episode 53, Heather Schrock from the Bonneville Environmental Foundation joined me on the show. In this clip, she talks about the projects they’re involved in and how they come about.

HEATHER SCHROCK: Yeah, so I’ll just start with water, because that is, again, our more in-house piece. Because the water projects that we support are all directly—you know, if we’re going to create WRCs it’s from a project that we, as an organization, personally support and are putting some energy behind. Whereas with offsets and RECs, we’re on the retailer side of that relationship. So, we do vet and choose the projects carefully.

For RECs there’s Green-e, the certification for RECs, and then for offsets there’s several certifications that we mainly work with four or five of them, third-party verifiers, and we just like to have a nice array of those projects that we think people would be interested in. Currently in our offset portfolio we have various things from landfill gas to forestry projects. We have an interesting marine project, where it’s a project that makes marine shipping vessels more efficient and also protects some of the sea life. So, always some interesting stuff there.

But the water projects—and I’ll send you the link later—we have a project bank on our businessforwater.org website. So, we have a separate website that we send people to, that really, specifically talks about our water stewardship business engagements, and there’s a project bank, which we started because we were finding with water projects it was getting a little more difficult, whereas with carbon offsets and RECs, there’s almost an infinite supply.

But with water projects, it’s a little more difficult to match the needs of the funder or the person who wants to buy those water WRCs or invest in that type of water project. Trying to matchmake between the funder and the project can be quite difficult, trying to get something in their region, something where they have an impact, something that aligns with their goals and their ideals around what a water stewardship project should look like. So, we started this project bank and there’s now, just scrolling through it, several, maybe dozens of water projects that are in various stages of development.

So, some of them are done, some of them are in the middle, some of them still need funding, have funding gaps, but there’s some great—if you go to that link, again, which I’ll send you later—you can see examples of all these amazing water projects. And, again, we started this bank so that we could solicit water projects from other organizations who have projects that need funding, and then, so we can come in and help matchmake the funders to these projects.

IVAN: That’s wonderful. That’s businessforwater.org and we’ll link to that in the transcripts on our website. Is there one particular project that sticks out for you? Do you have a favorite?

HEATHER: A favorite water project?

IVAN: Yeah.

HEATHER: Oh gosh, there’s some really cool ones. Let me think about that. So, most of our water projects, historically, have been very much your traditional type water leasing type projects, where we’re buying water leasing rights to keep the water in the stream, instead of having it all go to irrigation. Those are very common types of water restoration projects, irrigation upgrades, things like that. We’ve recently branched out into more urban and green infrastructure-type projects, so there’s one we’re undertaking in Los Angeles, which is a green infrastructure project that’s a collaboration with Los Angeles City Council.

There’s a neighborhood association and also an organization called Heal the Bay, and we’re all working together to create this park that will have also an impact on the neighborhood. It will be a safe place for people to play and move, and there will be fitness stations, but the park itself will serve as a water quality improvement project in the Los Angeles River Watershed. So, that’s really exciting, that we’re going to be able to save hundreds of gallons of potable water that will serve this neighborhood, but also creating this safe and fun space for them to interact with. It’s turning what was just a block that had nothing on it, that was not a safe place to be, into something that will be a neighborhood gathering spot.

IVAN: When Hans Bjordahl, CEO of Culture Foundry, attended a talk on conscious capitalism at SXSW, little did he know it would make him question everything he’d been taught about doing business. You can’t just tack conscious capitalism onto a company, it must be baked into the leadership. In this clip from Episode 64, I’ve asked Hans to give us a definition of conscious capitalism. Listen.

HANS BJORDAHL: Conscious capitalism is a model that seeks to unlock the potential for social good and humanistic good in business. Not just do that as a feel good, let’s have a corporate giving program when we’re done counting our money,

but baking that concept right into the core of your company, and doing it in a structured way that actually yields better financial results at the end of the day. When I was first exposed to this system, I was at SXSW. John Mackey, who is one of the founders of this organization and an early champion and ongoing champion, was giving a talk about a book he wrote called Conscious Capitalism, and I’m like, This is interesting. It’s a fairly aggressive assertion that the way we’ve been doing business in this country is wrong, and that we need to evolve it to fit this different, and frankly, more difficult model of how business should work.

But it’s not just profit and loss. It’s things about core purpose and things about stakeholder orientation, conscious culture, conscious leadership. That these things can be defined. That they can be, to some degree, quantified, and that they can, through research, be shown to have not just an incrementally better return on investment, but an exponentially better return on investment. The research around it is still emerging, still evolving. The ideas have really caught fire because the hunger for this in business is acute. And everywhere I come across it, people who feel they have to be one person at home, and bring a different person to work, that they can’t integrate who they are with what they do, that’s a fundamentally unhealthy place to be.

And creating business environments where you can bring your entire genuine self to work and do that, hopefully, where there’s some social good that comes out of that, that’s a very compelling thing. That idea’s been around a long time, but it hasn’t been super structured. Now it’s getting more structured, and it’s getting more structured through conscious capitalism, through B-Corporations, through some of the work that Nick Hanauer is doing. He’s a Seattle billionaire who is making a very aggressive run at redefining what successful economics look like.

So, a lot of people are approaching this idea from slightly different directions. Conscious Capitalism was my introduction into that approach to business. Some of those tenets from the book I picked up directly and plugged them right into Culture Foundry. It’s been very useful to us in terms of how we want Culture Foundry to be, but I also think there’s an imperative worldwide, I won’t even stop at the borders of the U.S., but worldwide, to really think about business in this way, and very aggressively counter the traditional model that you only have an obligation to your shareholders and everyone else can take a hike, that everything else is a commodity.

This model is a broader stakeholder model where you need to accommodate clients, employees, partners, environment, community, and shareholders, but we’re going to slice this pie up many different ways, not just give everything to the shareholders and leave everyone else holding the bag.

IVAN: In my head, Jeff Geerling is the Pi Dramble guy. So, getting a chance to sit down with him and talk about Raspberry Pis and how he’s automated them, clustered them and bent them to his will was a lot of fun for me. In addition to being a lover of software and all things open source, he’s also an author. In Episode 77, I asked him about his latest book and what he’s currently working on.

IVAN: Now, in addition to all the hobbies you have, side projects, and so on, you are also an author, and I would love to hear about your latest book and the book that you’ve written on Kubernetes. What are you working on right now?

JEFF GEERLING: I love writing. I don’t know how many million words I’ve written in my life, on my blog and on other blogs and things, but I love writing. In 2013 or so, I think that’s when I started, I’ve always wanted to write a book my whole life, I want to write a book sometime. I think part of that was jealousy because my brother, when he was a kid, wrote a book and his book, you know, the 15 minutes of fame, his book caught fire and was a local very popular book. He sold maybe 15,000 copies or something. It was pretty cool being the little brother to the brother who wrote that cool book.

But I was also a little jealous, like, I want to do that too. But I also just love writing. I’ve always loved English and literature growing up, and I love reading and I love writing. So I put that together with the fact that Ansible didn’t have a book in 2014. I started in 2013, but in 2014 I’m like, There’s still no book for Ansible, and it’s really popular.

So I decided to start writing it with a goal that I would write 100 pages and sell 200 copies. And it was funny because I started writing it on a platform called Leanpub where you can publish it while you’re writing it and sell it while you’re writing it. And by the time I had written about 40 pages I already had sold 200 copies [laughing]. And then fast forward these many years later, it’s 2019, so it’s been in print for five years now, and I now sell it on Amazon and other places and it’s called Ansible for DevOps. And that book has sold over 22,000 copies and it’s now 480 pages, including a chapter on Kubernetes and a chapter on Docker and a couple examples that do Drupal.

One of them was inspired by the Raspberry Pi Dramble cluster. So, that was my first book effort, and it went incredibly well, and I was floored. There’s no word to describe, when you're like, I want to do this thing my whole life, and this is my goal. And then your goal is surpassed by 50 times over, and you get to meet awesome people because of it. It’s just so many cool things happened because of that book. It also helped my family.

We’ve wanted to remodel our kitchen and after writing the book and making some profit off of it, I was able to remodel the kitchen four years earlier than we thought we might be able to. That’s a huge change for our life, because our old kitchen was kind of hard with three kids, and the way that we live our life and stuff at home, especially since I work remote. And I’m at home all the time. We had an old cramped little kitchen, and we were able to get it better.

So, the book was just awesome. I don’t expect to have the same level of success, but who knows. You never know where it's going to lead. But I’m working on another book. I actually just finished the first chapter a few nights ago, and I have a structure for the rest of it, and I’m working on examples and chapters.

The next book is going to be called Ansible for Kubernetes, and maybe if Ansible is around in five years and there’s another game-changing cloud infrastructure thing, it’ll be Ansible for that and I’ll have a whole series out. But I’m working on that book. I haven’t published it yet. I probably will pretty soon. Even though it’s not finished, I’ll publish in-progress updates on Leanpub, but both of those books, if you go to ansiblefordevops.com or ansibleforkubernetes.com, those are the book sites. I love writing them.

And one of the best things about writing them in progress is for both books I’ve had a lot of interaction with the people who read it, and they can help me. If they’re interested in something, I can write about that. Or if they are like, “Your example didn’t work on my computer,” I can improve it before I actually make a published printed version that people will buy.

IVAN: As some of you may know, I grew up in South Africa only to immigrate to the United States at the turn of the millennium. As a result, my childhood friends are South African, and I was able to interview at least one of them for the show. Gareth van Onselen is a South African journalist, political analyst and author who joined me for Episode 78, right at the end of the year.

We try to stay clear from politics, but in this episode, I was all in. We mostly talked about South African politics, but in this clip, Gareth talks about former South African president Jacob Zuma and the parallels to politics in the United States.

IVAN: I’m glad now that I didn’t read it [van Onselen’s book on Jacob Zuma] back in 2014, because I don’t think I would’ve appreciated it as much as I do now. And mostly it shocks me how much of a parallel there is between Zuma and the current president here in the United States. At some points I was reading the book, and I wasn’t sure if I was reading something that was directed at Zuma, or something that was directed at Trump.

There’s this one place in the book where you say, “He can fill a vacuum with empty rhetoric, but once it is all done, you’re left wondering whether he has said anything at all.” Then you also go on to describe him as something of an ethical black hole. How did such a man become elected? Not once, but twice?

GARETH VAN ONSELEN: I would agree with you 100%. I think Jacob Zuma’s tenure is a brilliant template for what’s happening in the U.S. with Donald Trump. I think they are very similar in a lot of key respects. Not just in terms of the way in which they use or abuse popular sentiment to serve what is essentially an entirely personal political agenda, but in terms of the grand narrative of the entire tenure in office, and how these demagogues tend to affect the way in which society responds to them.

What actually happened with Jacob Zuma—and I think it’s not absolute but in a lot of ways very similar is happening in the United States—is essentially you get elected on a wave of popular appeal, which takes various different forms and has various different causes, but that’s the outcome. There’s some kind of populist zeitgeist that manifests, and you’re swept along by it if you’re this demagogic leader.

There’s then a process of the shattering of the illusion. And that shattering doesn’t happen to the opposition who never had any doubt as to your unsuitability for office. It happens to sections of your own support base. The nature of public office starts to reveal who you are, the demands of making hard, often neutral and magnanimous decisions which you’re kind of incapable of doing, because you’re demagogic, and biased in a certain way, start to reveal your true character.

Then there’s some fundamental problem, either a case of corruption or unethical behavior onto which your opponents then latch as a means to remove you from office. And it becomes a defining battleground along that particular issue. In the case of Jacob Zuma, it was his homestead in Nkandla, this abuse of taxpayers’ money. In the case of Trump, it’s Russia and impeachment and the various things that go about it. But that becomes the mobilizing point.

You then suck in all of civil society and independent institutions to help you deliver the outcome you want, the judiciary and so on and so forth. And how that plays out is yet to be known in the U.S., but that’s the way in which the narrative tends to unfold. As I’m saying all this, I’m realizing I’m going slightly sideways from the original question you asked.

IVAN: No, please keep going.

GARETH: You triggered a thought with regard to the overlap between the two, and I think Jacob Zuma is a real case study for democrats and conservatives in the U.S. to look at, because the narrative is playing out in hugely similar ways on a lot of different levels.

IVAN: Well, that’s it for 2019. Thank you for listening to our little podcast. We’re so glad that you join us as often as you do. We’ve got more in store for you this year, and hope you’ll join us as we continue to talk to interesting people from around the world. If you have a second, send us a message and tell us what you would like to hear in the coming year. Or, just send an email to say hi! Our email address is [email protected].

Until next time, this is Ivan Stegic. Thanks for listening.

Dec 04 2019
Dec 04

Your browser does not support the audio element. TEN7-Podcast-Ep-077-Jeff-Geerling-Developer-Author.mp3

Summary

If this was a certain 90s show, this episode would be called, “The One About The Raspberry Pis.” Jeff Geerling, software developer, author, and lover of all things open source is our guest. It's fun to listen to Jeff and Ivan geek out.

Guest

Jeff Geerling, software developer, author and creator of the Pi Dramble

Highlights

  • Here’s the part where Ivan and Jeff geek out over their love of Raspberry Pis
  • Living in flyover country (Missouri)
  • How philosophy relates to programming
  • Crohn’s disease and its treatments (and the benefit of living in St. Louis!)
  • Remote work lessens the impact of Crohn’s disease on Jeff
  • Brambles, Drambles and Druplelets, oh my!
  • Evolution of Jeff’s Dramble
  • The upside of cloud storage systems (load balancing)
  • Kubernetes: complicated to start, then smooth sailing
  • Running slower systems lets you find problems you’d never notice on faster setups
  • Putting Kubernetes on ARM
  • Can you run Flight Deck-powered Kubernetes on a Pi cluster?
  • The Drupal file system problem (and Jeff’s solution on Raspberry Pi)
  • How to keep your Raspberry Pis cool
  • When your brother writes a book
  • Writing on Leanpub
  • Jeff’s Ansible books

Links

Transcript

IVAN STEGIC: Hey everyone! You’re listening to the TEN7 podcast, where we get together every fortnight, and sometimes more often, to talk about technology, business and the humans in it. I’m your host Ivan Stegic. My guest today is Jeff Geerling, author and software developer, who is deeply involved in numerous open source development communities. He describes himself as a creative person who builds great software. I first saw his name in the Drupal community, but he’s really active in Ansible and is also the creator of Drupal VM for local Drupal development, as well as the Raspberry Pi Dramble. Hey Jeff, welcome. It’s a great pleasure to have you on the podcast.

JEFF GEERLING: Thank you very much. I’ve been looking forward to talking to you guys on TEN7’s podcast.

IVAN: I’ve been looking forward to talking to you as well. I absolutely love Raspberry Pis. I have, I think, at least 10 of them over here. So I don’t know if that’s catching up to how many you have, [laughing] but it’s definitely something I have tinkered with for the last number of years. And so getting an opportunity to talk to you is very exciting for me.

JEFF: Ten is a good start. You’re going to have to up your game a little bit though [laughing].

IVAN: [laughing] How many do you have Jeff? Come on, let’s be honest.

JEFF: Just looking over in my parts bin I have seven that are not in any active use. I have four in my cluster. I have five hot spares for other purposes and three that are running household projects right now.

IVAN: So, close to 20, if not more.

JEFF: Yeah.

IVAN: That’s a lot of Raspberry Pis.

JEFF: It fluctuates depending on what projects I’m working on.

IVAN: That’s awesome. I want to spend the whole interview talking about Raspberry Pis and the Raspberry Pi Dramble that you have and that you’ve been working on recently, and that’s been going for over four years now, I think. But before we dive deep into that, I’d like to get an understanding just a little bit, about Jeff Geerling, the man. Where do you live in the world? Where did you go to school? What do you do in life? You’re not just playing with Raspberry Pis all the time.

JEFF: [laughing] No. I live in St. Louis, Missouri, which is pretty near the geographical center of the United States. Some people call it flyover country, but because of that we actually now have a Drupal Camp named Flyover Camp.

IVAN: Yes, we do. [laughing] It’s awesome.

JEFF: I got to meet one of TEN7’s employees, Tess Flynn there. She had a really good talk on Kubernetes. But I love living in the Midwest. One of the best advantages is I have a lot of family here. The cost of living is lower than coastal cities, and I get to still do a lot of remote work. The coolest thing is, any flight anywhere in the U.S. is only about two, two and a half hours, whereas a lot of times I get somewhere and they’re like, "Oh, I just got off a six or seven hour flight from the other coast,” so it’s nice to be able to get around anywhere in the U.S. and still have family and all those benefits.

I actually studied philosophy, which you could say it has nothing to do with programming or nothing to do with tech, but really, a lot of the philosophy I studied was logic and reason—which, if you’re a programmer—that’s pretty much all you deal with on a day-to-day basis.

Actually, if you’re dealing with Kubernetes, logic is out the window.

IVAN: [laughing] Yes, it is. It’s a different kind of logic, right?

JEFF: [laughing] Yeah, deep down, there’s ones and zeros somewhere underneath, and you have to understand that. So, I studied philosophy. I actually went to a seminary to be a priest for a few years.

IVAN: Oh.

JEFF: I ended up finding out that was not what I was meant to do. I wanted to get married. So, I ended up leaving the seminary, getting married, having three kids and a wife, and I'm happy to be here in St. Louis. One of the things other than that in my life that’s really affected a lot, especially how I work and the jobs I’ve worked, is my Crohn’s Disease. It’s a chronic illness that I have that has required a few surgeries. It’s required a lot of time in the hospital. In fact, I was just in the hospital a couple weeks ago for it, but because of that I’ve always been extremely grateful to have the skills that I have in tech because I can work. There’s been many times where I’ve been in the hospital, but nobody would even know it because I’m still doing my work, since I can do everything I need to on a computer or an iPad or whatever and work remote.

So, I’m extremely happy and feel very blessed to be able to do that kind of work. In open source everything is asynchronous, so that benefits me, because if I had to do a job where I had to be at a desk or be at a place doing manual labor of certain hours in a day and I had to miss a lot of work, I wouldn’t be a very good employee. But I could be a good employee doing remote work and open source work, even though I have Crohn’s Disease, which impacts my life and a lot of my friends’ lives pretty deeply.

IVAN: I don’t know very much about Crohn’s Disease. I know it’s related to your digestive system and I think to your intestines.

JEFF: Yep.

IVAN: Is it something that either you’re genetically predisposed to have? Is it something that’s hereditary? How did you find out?

JEFF: It’s something that’s still under investigation. One of the difficult things is that Crohn’s is in a family of immune-related diseases and for pretty much all of them, it’s hard to say right now with the research we have, if it’s more genetic or more environmental. There’s a lot of theories, and one other interesting thing—and a good reason why I stay in St. Louis—is we have one of probably the top five or 10 Crohn’s research facilities at our local Washington University Hospital and Medical School.

I’ve been able to talk to some of the best Crohn’s doctors in the world, and all of them have theories, and there’s a lot of research but not a lot of concrete facts other than, throw these medicines at it and hope for the best. Unfortunately, in my life, I’ve tried literally every medicine. I’m not joking. Every medicine that’s ever been made for Crohn’s, I’ve been on it. One of them paralyzed me from the waist down, so I got off that medicine.

IVAN: Oh my God.

JEFF: So, I'm not paralyzed anymore, so that's good. Another one caused anaphylaxis so I’m like, Okay, I’m not going to take that one. So, all these drugs, some of them are life changing, but a lot of them don’t last very long because the way that they operate, your body starts reacting to them no matter what. So, once you hit that, you start doing surgeries—that’s the stage I’m in right now—but the good thing is, in my mind, if you have a positive outlook on it, if you could find ways to work with it, you can bounce back. I’m generally a very optimistic person. I think that’s also how I can survive in the open source world where things can get a little bit dicey sometimes.

IVAN: [laughing] They certainly can. Well, I’m glad that you’re able to talk about Crohn’s so openly, and I hope that your last bout wasn’t a terrible one, a bad one, and I hope you’re on the upswing.

JEFF: I was only in the ICU for one day. That’s a good thing. [laughing]

IVAN: Oh my gosh. Well, I’m glad to be talking to you about it. So, you’re in the Midwest. Working remotely is amazing. You might know we became remote in 2017, and we’re not looking back. It’s definitely opened up so many different avenues for us. So, I’m glad that you have that as well to be able to do what you do at home.

The pidramble.com site—I want to start at the end and then kind of work back to how you are hosting pidramble.com in your basement on a cluster of Raspberry Pis. And they run Ansible and Kubernetes and Drupal and NGINX and all kinds of things, and to someone who heard a whole bunch of jargon right now, and doesn’t understand why this isn’t a really cool thing, can you describe what pidramble.com is?

JEFF: So, most of us who have a Drupal site or WordPress or whatever kind of website we’re running, most of us have a cloud hosting provider, and you never have to worry about things like servers and power and networking and all that kind of stuff, you just go online, buy a service, and you update a Drupal site to it and log in and edit your stuff. I’ve always wanted to have as much control as I can over my hosting and my sites and my performance and all that. So, a few years back when the Raspberry Pi came out, it was interesting.

The first couple versions of the Raspberry Pi were super underpowered, and if you installed Drupal—6 or 7 was the current version at the time—even that version, you’d install Drupal on it, it would take a minute or two for a page to load. They were super slow, and didn’t have much memory or anything. But as time when on, the Raspberry Pi foundation kept introducing newer, faster models, and somewhere around 2014—I think, I don’t remember exactly—they introduced the Raspberry Pi 2, and that model had enough memory to actually run Drupal pretty well. So, I bought a few of those to see if I could set up a Drupal cluster and run my own Drupal website in my own house using a cluster of them. 

You could do it on Raspberry Pi, but because of the fact they use micro SD cards which are not as fast or as good as hard drives for longevity, much less SSDs that most of us have nowadays. Because of that, if you just run it on one Raspberry Pi, it’s kind of flaky and it might just blow up and die one day, and then you have to reinstall it and stuff. So, I wanted to see if I could make a robust little cluster of computers to run a Drupal site. And, there was a secondary thing that I was trying to do too, to make a little cluster of computers to demonstrate running Drupal or other applications like it in high availability with multiple servers and have it be able to be in a little box that I could bring with me somewhere.

So, I started doing that. I brought it to Drupal Camp St. Louis, I brought it to DrupalCon. I think the first one was Austin that I brought it to, and Dries [Buytaert] actually took a picture of it. This was before I worked for Acquia—and actually I was hired by Acquia soon after DrupalCon, completely unrelated but it was just an interesting aside. Dries came up and he’s like, “Oh, what is that?” I was like, “Oh, it’s my Raspberry Pi cluster.” He’s like, “Oh, that’s really cool. I gotta take a picture.” So, he and I now have shared more stories about pictures and things. He’s actually a pretty decent photographer.

IVAN: Photographer, right?

JEFF: Yeah. And, I’ve always loved photography. I used to do it semi-professionally with some photojournalism, but don’t get to do it as much nowadays. However, some of my other Raspberry Pi projects do have to do with cameras. 

But, getting back to the Pi Dramble, over the years I’ve made it more robust, I’ve done some more work to automate the setup process, I’ve documented everything in excruciating detail. There’s videos on the website of how to do the first version of the cluster. I haven’t set up videos for the current version.

But in 2017 when Kubernetes was getting to be a lot more popular and I was starting to use it for some things, I thought, Maybe it could run on the Pi. It ran, but it just barely ran. I had a lot of trouble because the Raspberry Pi only had one gigabyte of memory, and that was the absolute minimum you could run Kubernetes on. So, I got it working. It was kind of janky and kind of fell apart sometimes, and I was getting really frustrated. But in 2018 the Raspberry Pi—no, was it 2018 or 2019?—was that this year that the Pi 4 came out?

IVAN: Pi 4 came out this year, I believe it was in June. I think they were talking about it for months, but no one ever knew when it would come out.

JEFF: That was a lot more recent that I remembered. But the day it comes out, it’s really hard to get Raspberry Pis right after they’re released, because they are very popular for makers and hackers and people who have fun with computers. And so I placed an order from a company in the UK for one, because most of them have limits on the orders for the first few weeks. So, I did one from the UK, one from a place in the U.S., I got two from Micro Center, they’re usually the best place to get them in the U.S.

IVAN: Yes, they are.

JEFF: So, I got those four together, and I got the 2 gigabyte models, and with 2 gigabytes of RAM, Kubernetes actually ran pretty well. So, that’s the current state of my cluster. I have Kubernetes running, I have Drupal running on Kubernetes, I have the 2 gigabyte Raspberry Pi 4s and I power them using power over ethernet, which means I only have one cable I have to plug into each Pi. If you go to pidramble.com, the picture there shows you how they look and what they do.

IVAN: Now, what the heck is a Dramble? I know what a bramble bush is, but let’s take it down. What’s a Dramble?

JEFF: A Dramble, is, I guess it’s called a portmanteau, when you put together different words. A bramble is a bush of raspberries. So, when you see a raspberry bush, I usually call it a raspberry bush, but a lot of people call it a bramble.

IVAN: I knew that was the case. Bramble is something I knew. [laughing]

JEFF: Yeah. [laughing] So, traditionally from the beginning of the Raspberry Pi, people who made clusters of them called them brambles. That’s not as much the case anymore since Raspberry Pi has gotten super popular. But early on everybody would say, “I have a bramble of Pis.” But my bramble of Pis was running Drupal, and so I took Drupal and bramble and put them together and it came up with "Dramble." Little did I know at the time, that was also when I registered the domain for it, that the word Dramble, if you looked it up and found it on certain urban dictionary-type sites, it had a very different definition. But I think now if you search on Google, my Pi Dramble site might have a higher ranking for it.

IVAN: I just did that. [laughing] I typed in "dramble" because I want to know what it means on urban dictionary, and the first hit was pidramble.com.

JEFF: Drupal SEO is so good after all these years.

IVAN: Anybody listening out there needs Drupal SEO, Jeff is the guy. [laughing]

JEFF: Yeah. So, that was the original reasoning, but somebody asked me more about it one time and I was like, I’ll look up a little more information, and I found out that the generic term, so, Raspberry is our bramble, that’s their type of bush, but all the different types of berries that are like it like raspberries, blackberries, blueberries, all those things, actually grow in clusters, they call them aggregates of drupelets.

IVAN: What!

JEFF: This is like providence, drupelets? So, it’s a Dramble of drupelets. It’s spelled d-r-u-p-e-l-e-t-s, but that is the official, biological term, I guess.

IVAN: You’re making that up. That can’t be possible. Drupelet. That’s basically Drupal.

JEFF: [laughing] Go to Wikipedia and search for "drupe." It has a whole article about drupelets.

IVAN: Oh my gosh, look at that. A stone fruit.

JEFF: Yeah. I don’t think I would want to eat a stone fruit, that doesn’t sound very tasty.

IVAN: No. That does not sound tasty. How interesting. So, what a great name for this little cluster of Drupal technology. Right?

JEFF: Yeah.

IVAN: So, you talked about creating the cluster. Can we go back to the first version of the Raspberry Pi cluster, the Dramble that you created? What were the versions? Was it Raspberry Pi 2 or 2+ or something like that? I’d like to hear about the stack. I think the stack of technology has changed over the years.

JEFF: Yeah. The first version was a very traditional cluster of web server technology. It was based on LAMP, and actually the first ever version which I never actually put up on GitHub, the first version that I had locally was running Linux, Apache, MySQL and PHP. The way I had it set up was, the top server was running Apache, and Apache was set up to redirect web requests to the two PHP servers, server number two and three. Then I had two database servers, there was the database primary or master server, and the secondary server that was set up to replicate the master in case the master goes down.

There’s still a lot of people that run those kind of setups where there is a server for each one of those purposes. You might be in Amazon or somewhere else, or if you’re using a cloud hosting provider for Drupal, some of them still set up their service that way where you have dedicated servers for a database and all that. The cool thing about it is I used Ansible to do everything, and I actually used almost the same kind of Ansible playbook that I use for Drupal VM to manage all those individual servers and get them set up. I timed it one time. In about 35 minutes it took from the time that you have the hardware plugged in to the time it was serving up a Drupal website with a fully redundant, highly available, relatively high performance, because we’re talking about Raspberry Pis, a cluster of computers.

So, that was the first version way, way back. Then soon after that I switched to using NGINX, just because it was a little easier to configure NGINX to be that load balance earlier, and also NGINX has built-in caching. So, instead of having a Varnish server I could use NGINX for that purpose, because it had the basic caching I needed. Varnish is way better for some things, but I switched to NGINX mostly because you just change a couple settings, and it caches images more easily.

IVAN: How many total versions have there been now if we fast forward to the Raspberry Pi for the cluster that you have now? How many versions have there been, and what are the biggest lessons you’ve learned in the evolution of this cluster?

JEFF: There've been four major versions. It hasn’t been like each Pi miles a new version, it’s more like each technological shift has been a new version. The first version had that first two database servers setup and all that. The second version I actually ditched the replica MySQL server for two reasons. One is, it’s not that easy to maintain a replica setup like that with MySQL, especially for people who are newer to the whole LAMP stack and management and things. And even with automation it can be a little difficult.

So, I ditched that just because that was never a problem in the real world for me, and the most important thing was just to have a backup of the primary server, so I have a nightly backup that it does. The second thing was just streamlining things, making it a little simpler, and the first versions I had had a lot of configurability and things, but really you want the server to be easy to set up and easy to manage, And the more complexity you add to a project like this, especially if it’s a hobby project and I’m not earning tons of income from it—in fact, I’ve never earned a dime from it.

IVAN: Not yet.

JEFF: I have gotten to go to a couple Drupal camps and things, and it’s been great to learn from it, but making it simpler is better. So I think version 2 is just simplifying the architecture, making it so that you could use four or five Raspberry Pis instead of requiring 6, things like that. Version 3, might’ve been the first Kubernetes version. I could be wrong there. That was about a year ago that I came out with 3, and I started working on getting everything into Kubernetes which makes it easier to scale up or scale down if you want to.

You could have 100 Raspberry Pis or two Raspberry Pis or four, depending on how redundant you want everything, how scalable, because Kubernetes lets you say, instead of this server is MySQL and this server is PHP, you could say, I want to have three PHP things and two of MySQL things and one load balancer thing and it just puts them on servers. For MySQL I don’t want the two MySQLs to be on the same server because that would be bad for performance.

So, Kubernetes sorts all that out for you and you just say, Hey, Kubernetes, I have these five things I want to run, and I have these four servers, go do your thing. And Kubernetes manages that for you. That’s the cool thing about Kubernetes. It’s more complicated than that in the real world, but it’s getting easier as time goes on. Kubernetes is one technology that started out crazy complicated and has gotten a lot easier over the years as they refine it, as they make things more robust and a little easier to get started with, and as people understand it more.

IVAN: Is everything in the cluster now orchestrated with Ansible, and is everything virtualized as containers inside Kubernetes, or do you still have an ingress that’s a NGINX or on a separate Raspberry Pi, for example?

JEFF: Almost everything. Right now, the ingress is actually running inside of Kubernetes and the way that I have it set up is you just point your DNS at one of the Raspberry Pis. That’s obviously not wonderful. If that one Raspberry Pi goes down, you've got to point your DNS at another Raspberry Pi. So, that’s one slight weakness of the architecture, but as an alternative you could have another Raspberry Pi being in the ingress and be a load balancer, but if that Raspberry Pi goes down you have a problem. That’s one case where having a cloud hosting provider, like Amazon or Google, is really nice because you can have their cloud load balancers. They take care of all the really complicated stuff in terms of when you get a request for your website. What happens if one of the servers that is routing those requests goes down?

All those cloud systems, they kind of self-heal automatically with DNS and with all their different things. When you’re running a website in your basement, you have one IP address and it’s not very reliable usually, especially if you’re using most ISPs in the U.S.A., and you don’t get any more IP addresses. And if that route goes bad and one server goes down, you can have a lot of issues. So, that’s one area. One of the main reasons why I would say if you have a website that sells things or you generate a lot of revenue off your website, you probably don’t want to run it inside your house like the Pi Dramble website, because it does have 10-20 minutes every few days of downtime, when my ISP is like, yeah, You guys aren’t getting internet for right now. Too bad. [laughing] That happens a lot.

IVAN: What do you think the biggest lesson is that you’ve learned going from your first version to the latest one that you have?

JEFF: I think the biggest thing is that managing Kubernetes is difficult, it’s still not easy, but managing a cluster of application stuff with Kubernetes is a lot easier than it was when it was just individual servers. Because you used to have to manage each application on each server and it would take a lot of time to get things set up and to tweak things and make sure all the backups were good. When you standardize in Kubernetes and have everything run in a container, it is more complicated at the start when you’re learning it, because containers mean that you have to build the container and you have to have a place to store the container and all that. But once you have that set up, everything is automated, like out of the box. You don’t have to spend time worrying about, How do I get this to go here and how do I change the configuration? You just say, Deploy this version, and it’s there and it’s happy. And Kubernetes does it all for you.

That was the biggest lesson; sometimes the complexity does save a lot of hassle if you need it. Obviously, there are a lot of people listening to this probably thinking You might not need to be doing your own hosting stuff. I don’t technically need to, but I do like to because a lot of the work that I do does have to be more complex. So, doing these fun side projects for me teaches me things. Another cool lesson was, when you’re running on a server that’s slower, there’s a lot of things you learn to worry about that will save your skin when you run something on even faster servers when they’re under heavy load.

One of the biggest instances of that is, when you have really slow hard drive access, when it takes a long time to write files on the Raspberry Pi—which it does a lot—you start bumping into weird issues that you never see if you only ran your tests on your local computer that has an Intel Core 2 Duo or whatever, the last i9 chip or something. If you’re doing that with an SSD all the time, you’re not going to run into these weird issues. But when you’re on a cloud hosting provider—which most companies do use those—most sites are on cloud hosting now, disk access can sometimes go crazy, and the error message you see and the behaviors you see can get confusing, because you never really notice that and you can’t replicate it locally. But I’ve been able to replicate some of those weird things on a Raspberry Pi, just because it’s so slow, the disk access.

I actually found a bug in Twig, with the way that Twig renders files. If you have multiple computers writing to an NFS storage device and that device is writing slowly, I found in Drupal 8.0, the first version, right around the beta timeframe was when I found the issue and the issue was still there in 8.0, but they fixed it. It was a race condition, when you have multiple servers writing to slow shared storage, and this was good because other people—it’s not just Raspberry Pis—if you’re using cloud storage, a lot of cloud storage providers have throttling, and you can run into this throttling sometimes, so instead of the site going down, it might just be slow. It’s not all for naught and for fun. There was that issue I found that was an actual bug in Drupal that we fixed.

IVAN: It’s amazing the kinds of things you learn when you try to scale down hardware or scale up requests and scale up bandwidth. You just don’t see things in general unless you do something. So, that’s always interesting to me as well. One of the things that I just realized as you were talking was that you actually had to come up with a way to install Kubernetes on Raspbian, and that means that you had to basically either compile Kubernetes for ARM or they’re already precompiled packages, and that never actually dawned on me. So, how hard was it to put Kubernetes on ARM infrastructure?

JEFF: So, it was perfect timing for me to be getting into Kubernetes on Pi around 2017. There was, I think it was a teenager, I don’t remember the guy's name, but there was somebody who just loved Raspberry Pis and loved Kubernetes, and he spent all this time making sure that the Kubernetes build system built and tested ARM architecture stuff for all the Kubernetes releases. And it just got into Kubernetes 1.8 or 1.9, or something like that, right before I got started. So, when I was looking into it, it’s like, Oh, you just install Kubernetes, just like everything else.

However, Kubernetes is one part of the equation when you’re talking about running a cluster that runs Kubernetes, because you also need something to run the containers, and that’s usually Docker, and Docker for ARM is a little bit different. You have to install it differently and there are some things you manage differently. The versions are sometimes older and there’s weird specific version things that cause trouble. So, I ran into some issues there, and I actually created a separate Ansible role for Docker ARM from my normal Docker one, because the ARM one is more complicated and convoluted. But it’s running pretty well now.

Then another thing that you find out if you’re using Raspberry Pis. Since the chip is an ARM processor, it’s not this typical processor in most of our laptops and servers, which is AMD64 or X86. Since it’s a different architecture, everything has to be compiled for that architecture and container images often have to have a specific version of the image built for it.

So, a lot of times you’ll be like, Oh, I want to deploy this to the Raspberry Pi, you needed to play it in the Raspberry Pi, and Kubernetes is like, I’m not going to deploy that. You’re like, Why aren’t you going to do that? So, I was like, Yeah, it’s not for ARM. Then you have to figure out, is it important enough for me to rebuild this image for ARM? So, I actually build and maintain a set of PHP and Apache base images for the Raspberry Pi, and they’re on my Docker Hub account under geerlingguy. Those are the ones that I use on the Raspberry Pi and build on top of. And a lot of images now are supporting ARM because you can get ARM servers from Amazon and from other companies.

IVAN: But it’s also a little more complex than just ARM though, if I’m not mistaken. There are different versions of ARM. Some are 32-bit, and some are 64-bit, and you can say ARM but it’s even harder because you have to know what architecture you’re building for to make sure that when you build it, it actually runs on that ARM processor. So, my guess is, you actually had to update your images when you went from two to three to four.

JEFF: Yeah, so, Raspberry Pi has its own OS that’s kind of the official one, called Raspbian, and it’s based on Debian, but it’s a 32-bit OS. And there’s some initiatives to upgrade to 64 bit, especially now that the Raspberry Pi 4 has more RAM and can use more of that 64-bit power. But, a lot of the things are either ARM V6, ARM V7, or ARM 64, and you have to always figure out which one is which. And I think, the ones that I’m building right now are ARM V7 because that’s what works on Raspbian.

But if you run a different OS on the Pis which you can, there’s a Ubuntu and actual Debian, and Fedora, and some other versions that you can run on Raspberry Pis, you might have to get a different version of a container which may not exist again. It’s not for the faint of heart to get things running on the Pi all the time. Every year it gets easier, because more and more people support Raspberry Pi stuff.

It’s an interesting thing since I do write a lot about Pis, I found out about a lot of companies who you wouldn’t even think about it, who do remote control systems, they do signage, they do radio frequency stuff, logging systems, all kinds of things that are industrial and commercial applications that use Raspberry Pis for everything. So, there’s a lot more support for it nowadays than there was five or 10 years ago when it was only a bunch of people playing around with stuff in their houses. Nowadays the Raspberry Pi is a more serious computing platform.

IVAN: What a great success story, isn’t it?

JEFF: Yeah.

IVAN: That’s cool. So, you mentioned that you had seen Tess’s talk at Flyover Camp, and so you’re probably familiar with Flight Deck and the hosting that we’ve been talking about, hosting live sites using Drupal on Kubernetes. She’s done some great work in developing that for us, and as you know we’ve open sourced all of it. But one of the things it requires is a S3 block storage like the ones from Spaces from Digital Ocean, for example. I wanted to talk to you about two ideas. One, how hard would it be to get Flight Deck-powered Kubernetes hosting onto your cluster? And two, since it requires S3 block storage, have you thought about implementing block storage on your Dramble?

JEFF: That’s an interesting question, because probably of all the issues there are in hosting Drupal on Kubernetes, or any kind of, what we call now cloud-native hosting environments, one of the main issues is always, how do you store files for Drupal? It’s complicated, because in WordPress or a lot of other systems, usually when you ask that question, you’re just talking about media uploads like, I’m creating a blog post and I upload a picture to put in the blog post, where do I put the picture? That’s part of Drupal’s problem.

That one is very perfectly solved by block storage and works great with that, and you can integrate with CDNs and things, there’s a lot of different solutions for that. What I do on the Raspberry Pi right now is I use NFS, which is not block storage, but it’s just a networked file system that is shared among all the servers, and Kubernetes mounts it into Drupal so Drupal can write to it. But when you’re talking about Drupal, you’re also talking about things like the Twig cache files. Every time that you load up a Drupal 8 website it has to write a bunch of Twig cache files that are like compiled PHP, and that currently writes them by default into your public file system. That’s a lot of files that are read, at least once per server. And so having a slow storage solution can cause problems with that and having slow writes can cause problems with that.

Then you also are talking about CSS compilation and JavaScript compilation. So, there are more complicated things with Drupal. And so, I’ve seen some people do S3 block storage, and as you say as long as you have a provider that is compatible with the Amazon S3 kind of API for writing files, it works so you can do it on Digital Ocean. There are open source block storage software that you can do, and if I were to put it on a Raspberry Pi, I’d probably use one of those open source packages and install it on the Pi. Or, if it’s an internet site, available through the internet, you can even use Digital Ocean Spaces or Amazon S3 even though you’re hosting it locally. So, those are options for it. I think you guys might even use Flysystem or something like that to make Drupal integrate with it?

There’s some PHP level stuff that you can do to write files in different places, but that is probably the number one thing that people ask about and debate about, and I’ve gone a hundred which ways. I think I built it five or ten different ways in the real-world clusters that I built that aren’t on Raspberry Pis. So, that is the million-dollar question right now. There’s even a couple issues on Drupal.org exploring how can we make it easier to use a file system in Drupal that’s shared but doesn’t have to make it so complicated.

IVAN: You’re actually right about Flysystem. That’s exactly how Tess implemented the file storage in the solution we have for hosting Drupal on Kubernetes with Flight Deck, and it’s possible to do if you set up the infrastructure so that you have enough caching, those first-time hits don’t seem as bad. And we run our own live sites and other clients sites live, in production with Flight Deck and with block storage. So, we use Flysystem in Drupal 8, and then we’ve also got Drupal 7 sites that we’re running on the Kubernetes infrastructure. But I don’t recall the name of the module that we’re using. It’s not Flysystem because it came along only in Drupal 8.

JEFF: I know I’ve used in the past s3fs as well.

IVAN: Oh, yeah, that’s it. I think that’s what it is.

JEFF: It’s one of those things where for most sites it’ll work perfectly fine, but there’s always going to be some site that’s doing some weird thing and you’re like, you know. 

IVAN: There’s nothing like beta storage.

JEFF: There’s no good answer. When you have control over the sites that’s the best. I have control over the Pi Dramble site. So, if you look at it, you’ll see I intentionally kept that thing super simple, because even under load the Raspberry Pis can handle that. If I had commenting in accounts, and all kinds of crazy things going on, and real-time chat and who knows what else that I’ve seen on peoples’ sites, it’s going to fall over. 

IVAN: [laughing] Yeah. Well, how taxed do those Raspberry Pi 4s end up being? I’ve seen that you’re writing about the Ice Tower, the need for active cooling on the processors now. How is the cluster handling traffic? And tell me a little about Ice Tower, it sounds so cool?

JEFF: It’s funny to ask about that. Right now, I’m looking at my Mac in front of me, just doing this podcast, the CPU’s at 80% and it’s dying, and the fans are on. And it’s funny because the Pi is sitting over there, the fan's not even on because it’s not hot enough. The Raspberry Pi generally speaking, if you’re not mining bitcoin or something on it, it’s not going to use a whole lot of CPU, and it’s not going to need a whole lot of cooling power. However, when I do these projects I always try to go the extra mile and then an extra ten miles after that, and I always tax them until I can break them, basically. So, I do a lot of performance benchmarking on them, and I found that the Raspberry Pi 3B+ and the Raspberry Pi 4 both, they are not quite as good at keeping their cool.

The Raspberry Pi 4 was even worse than the Raspberry Pi 3, and it was found pretty early on that the reason for that was they had a little flaw in the way that they implemented USB. They added a new USB controller that makes it USB 3, which is awesome. It’s way faster than the old Raspberry Pis with USB 2. You can get an external hard drive and things are a lot faster connection, has gigabit ethernet, that’s awesome, because the old Pis were also constrained to 200 megabits or 100 megabits, way slower. So, it’s really awesome, but the first version of the Pi for ROM or Bootloader, it had a flaw in it that would keep the USB chip in high power mode all the time. So the Raspberry Pi 4, even if you just turned it on and left it sitting there, it would just get hotter and hotter.

If you left it out in the open—which is a bad idea for dust and things like that—if you drop something on it and you short out a circuit or something, so everybody should have a Pi in a case if you’re going to have it running for any period of time. If you have it in a case, it just sits there and turns into a little oven and it cooks itself, and it starts throttling the CPU because it gets so hot. I did an early article about this months ago right after it was released on how it gets super hot, and it’s really bad because if you put it in a case it’ll just cook itself, and that’s without much load. If you put load on it, it just starts throttling right away.

So, I said you basically have to have a fan on the thing. I still recommend having a fan on the new Pi. But they released a firmware update a few week ago that sets the USB chip into the correct mode. It very slightly reduced the performance of USB, but not really in any huge meaningful way for most peoples' usage. But it makes the Pi 8° Celsius cooler, which is hugely significant. That’s a huge difference. I posted one blog post a week or so ago on this, and I’m going to be doing another one because I tested with a couple more cases how that affects the Pi's cooling. Basically, the general thing that I’d say now is, you still need to have some method of cooling the Pis.

So, for my cluster, I have the Raspberry Pi HAT, the power over ethernet HAT that has a fan built into it, and all that fan does is blows a little bit of air onto the processor. That’s enough to keep it cool. You just need some convection over that processor. If you put it in a case, there’s no convection because the case is just going to hold that air inside of it and heat it up. If you have it open air or if you have a fan blowing on it, it will make some convection, it’ll take the air and move it over the processor and take that heat away.

So that’s all that’s really needed. But, a company called Seeed Studio, S2 Pi, they sent me this colossus heat sink, it’s not colossus when you compare it to—I don’t know if anyone ever built a Pentium 2 rig back in the day—you have those giant coolers that are the size of a computer nowadays, and a giant fan or two fans on either side of it, blowing air through it, or If you ever saw the Power Mac G5 quad core. I saw one of those one time, and the cooling system is bigger than everything else on the computer.

It’s kind of the equivalent of that for Raspberry Pi, because Raspberry Pi is a size of a credit card, and this Ice Tower is the size of the whole board, but super tall as well. If you use it, you can’t put it in a case, but it does do an unbelievably good job at cooling Raspberry Pi. It cools the Raspberry Pi so cool that it’s almost like you don’t even have it running when you have the fan on the thing. It does what it says it does, it keeps it ice cold, but at a bit of an expense you can’t use Pi HATs with it, if you use that cooler, you can’t fit it in most conventional cases.

IVAN: You can’t put it in a cluster.

JEFF: Yeah, if you were doing web hosting it wouldn’t be a bad idea to build a custom little case for these things, because that would keep the CPU so cold that it would operate a little better. It would make the Pi operate a little better.

IVAN: Does it have contact with the CPU?

JEFF: Yeah. It comes with a little thermal pad. It’s like a little piece of rubber but it’s thermal rubber and yet you just wedge it between the CPU and the cooler. It has one copper heat pipe that goes up and down, and that copper attaches to cooling fins. The cooling fins distribute the heat. And even if you run it without the fan, it’s going to keep it way cooler than just blowing the fan over a processor. It does a really good job at cooling and the fan makes it do even a better job. The difference was without the Ice Tower it was 60° Celsius, with the Ice Tower it was 30° Celsius. It was a huge, huge difference.

IVAN: Wow. That’s a giant difference. Well, it’s unfortunate you can’t use it in your whole cluster, because that little compact package you have, I would assume the Ice Tower just doesn’t allow for it.

JEFF: Yeah, luckily with the Tower since I switched to the Pi HAT, the power ethernet HAT for it, since it has those built-in fans that’s just enough to keep it from overheating. With Kubernetes running, Kubernetes does take up some CPU constantly, so it does get hotter over time, but it stays under the throttling threshold.

Another option, I actually bought one because I kept having people tell me, “You should try the Flirc case.” I’m like, Ok, whatever. I’ll buy one. So, I bought one this week and I tested it and it doesn’t do as good a job as the Ice Tower. It’s basically a giant aluminum heat sink case for the Pi. The case actually attaches to the CPU, and it does do a pretty good job cooling it. It keeps it down at 40-45° Celsius, which is still way better than just having an open air, having a little fan blowing on it. But, having a cluster of these, they’d probably still get super hot. [laughing] You got to have some sort of fan blowing the heat out otherwise it’s just going to turn into a little oven.

IVAN: Now, in addition to all the hobbies you have, side projects, and so on, you are also an author, and I would love to hear about your latest book and the book that you’ve written on Kubernetes. What are you working on right now?

JEFF: I love writing. I don’t know how many million words I’ve written in my life, on my blog and on other blogs and things, but I love writing. In 2013 or so, I think that’s when I started, I’ve always wanted to write a book my whole life, I want to write a book sometime. I think part of that was jealousy because my brother, when he was a kid, wrote a book and his book, you know, the 15 minutes of fame, his book caught fire and was a local very popular book. He sold maybe 15,000 copies or something. It was pretty cool being the little brother to the brother who wrote that cool book.

But I was also a little jealous, like, I want to do that too. But I also just love writing. I’ve always loved English and literature growing up, and I love reading and I love writing. So I put that together with the fact that Ansible didn’t have a book in 2014. I started in 2013 but in 2014 I’m like, There’s still no book for Ansible and it’s really popular.

So I decided to start writing it with a goal that I would write 100 pages and sell 200 copies. And it was funny because I started writing it on a platform called Leanpub where you can publish it while you’re writing it and sell it while you’re writing it. And by the time I had written about 40 pages I already had sold 200 copies [laughing]. And then fast forward these many years later, it’s 2019, so it’s been in print for five years now, and I now sell it on Amazon and other places and it’s called Ansible for DevOps. And that book has sold over 22,000 copies and it’s now 480 pages, including a chapter on Kubernetes and a chapter on Docker and a couple examples that do Drupal.

One of them was inspired by the Raspberry Pi Dramble cluster. So, that was my first book effort, and it went incredibly well, and I was floored. There’s no word to describe, when you’re like, I want to do this thing my whole life, and this is my goal. And then your goal is surpassed by 50 times over, and you get to meet awesome people because of it. It’s just so many cool things happened because of that book. It also helped my family.

We've wanted to remodel our kitchen and after writing the book and making some profit off of it, I was able to remodel the kitchen four years earlier than we thought we might be able to. That’s a huge change for our life, because our old kitchen was kind of hard with three kids and the way that we live our life and stuff at home, especially since I work remote. And I’m at home all the time. We had an old cramped little kitchen, and we were able to get it better.

So, the book was just awesome. I don’t expect to have the same level of success, but who knows. You never know where it’s going to lead. But I’m working on another book. I actually just finished the first chapter a few nights ago, and I have a structure for the rest of it, and I’m working on examples and chapters.

The next book is going to be called Ansible for Kubernetes, and maybe if Ansible is around in five years and there’s another game-changing cloud infrastructure thing, it’ll be Ansible for that and I’ll have a whole series out. But I’m working on that book. I haven’t published it yet. I probably will pretty soon. Even though it’s not finished, I’ll publish in progress updates on Leanpub, but both of those books, if you go to ansiblefordevops.com or ansibleforkubernetes.com, those are the book sites. I love writing them. And one of the best things about writing them in progress is for both books I’ve had a lot of interaction with the people who read it, and they can help me. If they’re interested in something, I can write about that. Or if they are like, "Your example didn’t work on my computer," I can improve it before I actually make a published printed version that people will buy.

IVAN: I very much appreciate knowing about Ansible for Kubernetes. I didn’t know that was what you were working on. I think we actually bought Ansible for DevOps if I’m not mistaken.

JEFF: Thank you.

IVAN: When Tess first started working for us, we wanted to make a big change to how we were doing things at TEN7 and the custom scripts we had, and we wanted more automation. And Tess was very interested in Ansible being the thing, and we had to learn it. So, you’ve certainly provided a great deal of information and helped TEN7 in that manner as well. We wish you all the best for your new book Ansible for Kubernetes, and we’ll be linking to it from the show notes on the podcast episode as well.

JEFF: That’s great. Thank you.

IVAN: You’re very welcome. Well, I think that’s a wrap. We should say goodbye, and thank you so much for being on the show, it’s been a great pleasure talking to you. I hope to talk to you again soon. And I’m going to go to Micro Center right now on a number of different visits, because you can’t buy more than one at a time and buy some more Raspberry Pis, so I have more than you do. [laughing] I don’t know what I’m going to do with them thought. [laughing]

JEFF: You can always get a bunch of Raspberry Pi Zeros and stick them in peoples stocking stuffers, that kind of thing.

IVAN: Oh, that’s a good idea. Stocking stuffer. Five-dollar Raspberry Pi Zero. Awesome. Thank you so much for spending your time with me today. It’s been great.

Author and software developer Jeff Geerling was my guest today, and you can find him across the web using the handle @geerlingguy. You can also find him online at jeffgeerling.com and of course the Raspberry Pi Dramble is at pidramble.com. If you’re interested in either of those books you should go to ansiblefordevops.com or ansibleforkubernetes.com.

You’ve been listening to the TEN7 podcast. Find us online at ten7.com/podcast. And if you have a second, do send us a message. We love hearing from you. Our email address is [email protected]. Until next time, this is Ivan Stegic. Thank you for listening.

Episode 050: Dries Buytaert

Jan 02 2019
Jan 02

Episode 049: Jeff Robbins

Dec 19 2018
Dec 19

Episode 046: Introducing Healthcheck, a Physician for Drupal 8

Nov 22 2018
Nov 22

Episode 044: DrupalCamp Ottawa 2018

Nov 07 2018
Nov 07

Episode 042: DrupalCorn 2018

Oct 24 2018
Oct 24

Episode 041: Steve Persch

Oct 17 2018
Oct 17

Episode 039: Drew Gorton

Sep 19 2018
Sep 19

Episode 038: The Many Hats of Lynn Winter

Sep 05 2018
Sep 05

Episode 036: Matthew Tift

Aug 08 2018
Aug 08
May 30 2018
May 30

Your browser does not support the audio element. TEN7-Podcast-Ep-029-Wilbur-Ince.mp3

Wilbur Ince, Drupal Frontend Developer and Human Rights Activist, sits down with Ivan Stegic to discuss his career, road to Drupal and the valuable volunteer work he does.

Here's what we're discussing in this podcast:

  • Origin of Ince
  • Origin of Wylbur
  • Growing up in Minnesota
  • Living abroad
  • A short-lived marketing career
  • Discovering Drupal
  • Meeting Allie Micka
  • Impact of joining the Twin Cities Drupal community
  • Twin Cities Drupal Camp's success
  • Raining Training
  • RAGBRAI
  • Team Roadkill
  • Cycles for Change, the Bike Library
  • Amnesty International USA
  • Working Hard – Doing Good

TRANSCRIPT

IVAN STEGIC: Hey Everyone! You’re listening to the TEN7 Podcast, where we get together every fortnight to talk about technology, business and the humans in it. I’m your host Ivan Stegic. In this episode of the Podcast I’m chatting with Wilbur Ince who is a frontend developer at Electric Citizen, an avid cyclist, an active member of the Twin Cities Drupal Group and has described himself as anti-war and pro-people. He’s based right here in Minneapolis, Minnesota and I’m so glad to be talking with him today. Wilbur welcome to the Podcast.

WILBUR INCE: It’s great to be here. Thanks for having me.

IVAN: It’s a pleasure to have you. It’s nice outside again! We’ve been doing all these podcasts in the cold winter and the last couple of weeks the sun is shining. It’s good to be alive.

WILBUR: It has been a very interesting spring, hasn’t it? I don’t know that it’s ever lasted so long before.

IVAN: I agree. And it seems like the trees and the grass suddenly became green.

WILBUR: Right. I think the biggest thing I noticed now is that the length of the days already longer, and it seemed like we missed spring. All of a sudden we’re in summer.

IVAN: I’m okay with that. (laughter)

WILBUR: Yea. Yea. That’s good.

IVAN: So, I wanted to start with your name. Wilbur Ince. I’ve seen it spelled with a “y” online and I’ve made the mistake of actually writing it with a “y”. I think it’s a mistake. But I think that’s your username, I’m not sure. So I want to ask you about the difference between them, because there’s also two websites.

WILBUR: Right. Well, at some point I realized to go on websites with Wilbur you’re always going to be fighting and have to have a unique name like “Wilbur - Ince”, “Wilbur.Ince”, “Wilbur.6148” and I saw somebody else, I actually copied it where they replaced the “i’s” with “y’s” and I came up with Wylbur and I have almost no problem getting that everywhere. So, any social media, any kind of website presence if you look for Wilbur.

IVAN: That’s really a great way to kind of hack the system. I tried doing that as well with my first name, but there’s a ton of people with Ivan.

WILBUR: Yea.

IVAN: And then even exchanging the “a” with the number 4 doesn’t really help either, so, kudos to you.

WILBUR: Yea.

IVAN: Now, your last name “Ince”. I did a little bit of research. It’s either from one of two counties in the Northwest of England, or it’s a Turkish name. Have you researched your ancestors?

WILBUR: You know, I haven’t done a lot of that but my brother and my sister have. They’ve done a ton of work on that, and actually you’re wrong on both and that’s interesting. (laughter) So, we do know and have heard about the, there’s a Turkish movie director that has the last name Ince. I’m trying to think if that’s Will or not, if it's Will Ince. I also know about England. But really where it came from is that we were German immigrants, and we had a very complicated name. It was spelled “Unectz” and at immigration the three brothers were there and they looked at them and they said “no, that’s not going to go here.” And so the three brothers actually picked three different derivations of that – “Unce”, “Unze” and “Ince”. And those three brothers all settled in Minnesota, and so we had relatives that are named Unce that are, you know, far back related to us in the same town that I grew up. I grew up in Shakopee.

IVAN: In Shakopee…

WILBUR: By the Twin Cities.

IVAN: And you said that your ancestors settled in Minnesota, so you are truly born and bred Minnesotan?

WILBUR: Yea, oh yea. I’ve been here my whole life. I actually spent a little bit of time in Brussels in the mid-nineties. Before I was a technical guy I was a marketing guy and I worked with the frequent flyer business and I lived in Brussels for a couple years and I missed Minnesota and I came back here.

IVAN: Why did you go to Brussels?

WILBUR: I worked with Sabena, the ex-airline of Belgium and I helped them launch their frequent flyer program.

IVAN: My goodness, I think they're called Brussel Airlines right now.

WILBUR: Oh, is that right?

IVAN: And we ended up flying over spring break with them, over to Brussels. So we were just recently in Brussels. It’s a beautiful town. Beautiful city.

WILBUR: Yea. And it’s a great place to land as an ex-patriot. I was there for a couple of years and it's nice, but they have Spring and they have Fall. There’s no Winter and there’s no Summer, you know. We’re really lucky to live in a place that you can get 100 degree days and you can get minus 40 degree days, you know.

IVAN: For those of us who don’t have AC, 100 degrees right now sounds like hell.

WILBUR: Yea. Oh, yea. It can be. I think the worst thing about warm weather is when it’s at night. You know, if it's 90 degrees at night, that’s impossible.

IVAN: It is impossible. So, you grew up in Minnesota, spent some time in Brussels, Belgium, came back to Minnesota. It sounded like you became a technical guy from being a marketing guy. When about did that happen?

WILBUR: You know I had a pretty typical American upbringing. I have actually about 50 first cousins. We’re German Catholic, so big families.

IVAN: Wow.

WILBUR: Yea. And so I was one of the first people to go to college and so, you know, you studied hard and I went to college, graduated from the University of Minnesota. I worked a couple years and then went back and got my MBA. And I ended up, you know, working in frequency marketing. And, that’s the marriage of marketing and technology. You know where it’s tracking peoples’ behavior and retracting things and then we’re rewarded for them or encouraging them to buy more things. And in that process I realized I was a technical guy. I just love to solve puzzles and problems. And then have just sort of a terrier kind of personality about learning and finding about things, you know. What I also found out is that I’m not a very good marketing person, because in marketing you have to lie a lot and that was just too much, you know?

IVAN: Yea.

WILBUR: I actually retired from marketing in 1994, after having a successful run as a marketing person. I just thought there was something else, and of course in 1994 technology was just really taking off. So that was the way to go, and I didn’t know what I was going to do after marketing,F but that seemed to figure itself out.

IVAN: I know Drupal wasn’t around in ’94, so you must have done something to do with technology and the web before Drupal? And I guess the question is what was that thing and why did you come to Drupal?

WILBUR: Yea. So after being a marketing guy, really, I made my life a lot simpler and I was doing a lot of work with a non-profit bike shop in town, where we were recycling bicycles and teaching people bicycle skills. And they needed a website. At that time, you know, we were hard coding websites and I got to a point and I said hey, you know, it would be great to have this menu show up the same on every page. And somebody said, you should look at PHP, that’s the thing. PHP is the thing. And, somewhere along the way there I figured out PHP and then I met a woman named Allie Micka.

IVAN: Oh Allie! Shout out to Allie Micka!

WILBUR: Allie Micka is… if you would look at the etymology or the tree of where everyone came through and got exposed to Drupal in the Twin Cities, she probably touches everyone. And, so she got me on Drupal and I started looking at that and, I mean, my intention was really to get websites to people that didn’t have money to build them, you know, non-profits and little local organizations, and that’s how I got into Drupal. And so I just sputtered around and made a lot of websites for a lot of people and a lot of little different causes, and it took me a long time to figure out that, I don’t even know when I became a pro. I think it was a couple years ago. Also, you just sort of realize to yourself, it’s like I guess this is my thing. I’m really pretty good at this. I know a lot more than I thought I did.

IVAN: And I’m writing invoices every month and I’m getting paid to do this, and this thing that I love that used to be a hobby is actually turning into a profession.

WILBUR: Right. I think it came clear when you would get questions from people about how to do something, and then you’d be like oh, that’s easy. Here just do this and that and that. And when you answered more questions than you had, I think that’s when I was like oh, yea, I think maybe I know what I’m doing.

IVAN: So your introduction to Drupal and the Drupal Twin Cities community really comes through Allie, and she is kind of the roots of the Drupal Twin Cities group. I really should ask Allie to join me on the podcast. That would be a really interesting discussion I think.

WILBUR: Yea.

IVAN: And, do you recall the first Drupal event in the Twin Cities that you ever attended?

WILBUR: I don’t. I worked at a non-profit bike shop over in St. Paul. It’s called Cycles for Change. And, we were in the Renaissance Building in downtown St. Paul. I had met Allie at a PHP user group meetup. She was looking for space and she moved into that building and so that was a long time ago…2005, 2004. But I think there’s a lot of common stories in the Twin Cities about people that came to Drupal kind of organically through other things. Especially through the non-profit community and activism. I think that’s really a big part of the Twin Cities. What makes it special is how many people use Drupal because they have this community focus, you know, and giving back kind of a thing.

IVAN: I agree. And it strikes me that everything that Drupal Camp Twin Cities has done in the last several years since its existence, I think we’ve had, what is this now the sixth camp coming up now? Fifth or sixth? All of it has happened through volunteer, and you get sponsors of the camp, but the camp itself is all run by volunteers every year and it amazes me that it happens every year, year after year. And I think that activism that runs through the community is what drives that. You’re a very highly active member of the community.

WILBUR: You know, it's great to hang out with people like that and be part of an organization like that. You talk about this camp, right. When you think about it, we just went through and did the sessions, we picked the sessions. You look at the sessions and we have a hard time every year because we have too many advanced sessions, and we look at the camp and we say what are people that are new to Drupal, do we have enough sessions for them? Because we have such high flyers in this area and such good sessions. If you look at a camp like that, if you look at an event like that, four days and it costs $35. I mean you go to other camps, you know, lunch costs $35. Or $1,000, $1,500 conference fee. We’re doing this for nothing.

IVAN: We’re doing it for nothing.

WILBUR: It’s really amazing.

IVAN: And it's four days of programming as well. It’s not a day conference or two-day conference. Do you want to talk about what it looks like this year? When it is?

WILBUR: Yea. You know every year we plan this thing. We seem to be letting it go a little bit farther before we really dig our heels in and I think we’re really having a little trouble, just because we’re so far behind, but I think that’s part of the mystique of these camps, is that they're organized by people and that let’s all get together and if you have something to talk about then come and talk about it. What’s been happening the last couple days is, our web form on the website was not forwarding messages to us, and so the first day is training and we were kind of scrambling because we were trying to get together some training options, and now we have those three trainings set up and we had three people, three organizations that had contacted us, asking if they could do training at our camp. And so, now, we’re adding a fourth and a fifth training session and maybe a sixth.

IVAN: Wow. I thought we were only adding a fourth one. I didn’t realize we might actually be adding three more. That’s incredible. Six training sessions.

WILBUR: You know the fourth is official and the fifth and sixth are potential. Promet is one of the places. Mike Anello who does a very famous Drupal podcast wants to come and do a session because he’s going to come to our camp. It’s raining training sessions on us.

IVAN: It’s raining training!. So the first day is June 7, we’re doing all of those trainings. The second day is the Friday, the 7th is a Thursday, the second day’s a Friday. The keynote's still scheduled for that Friday am I right?

WILBUR: I think that’s right. I haven’t been involved with the keynote planning, but the keynote would be on Friday and then we’d have just sessions on Saturday.

IVAN: And then a sprint still on the Sunday.

WILBUR: And then the sprint on Sunday. Right. We just published the schedule, so go and take a look at it, but a lot of really power packed presentations. It’s going to be really a fun camp. Great for people that have been working with Drupal 8 and want to kind of level up. This is a place to really get some questions answered and really find out from people that are really doing it in the field. It should be really good.

IVAN: That’s tcdrupal.org right Wilbur?

WILBUR: Yup. Tcdrupal.org. Yea.

IVAN: One more questions about the camp if you don’t mind?

WILBUR: Sure.

IVAN: One of my first interactions I remember with you was helping out with one of the parties. And I know you used to be the head honcho…the main guy…the big squeeze for the Saturday night or the Friday night party. Any plans for that this year? Are you helping out with that again?

WILBUR: You know, I’m not on the party circuit at this time, and I don’t know what’s going on with that. Sorry. There’s a lot to do with the party. The first couple years I worked with the Friday night party. For a few years I was kind of the guy on the Saturday party. Now the Friday party is kind of the official party and then the Saturday party was like ok, this thing is done. And, it’s really more the organizers' party, because we could finally relax. It’s like let’s just hang out. We don’t have anything to manage anymore. And so, that was kind of fun because I took the lead from other people that said you know the best kind of a party is not at a bar where there’s music blaring and you can’t talk to anybody. It’s really kind of a comfortable place to hang out. So, a friend of mine and I do a micro cinema called Casket Cinema, and he has a studio space in Northeast Minneapolis. So I got his space and had somebody come and just cater a barbecue. We shuttled people to and from the event. I’m in a bicycle club and we used our converted school bus, a 1988 school bus to shuttle people back and forth and that was really, for me, one of those really fun times when everybody can just hang out and relax and it was totally that hip Northeast Minneapolis artist scene kind of played out.

IVAN: I recall hanging out on the roof of that bus, and I couldn’t understand how it was that you had access to a bus of such sorts and then I got to talking to, and it was very evident that you were involved in this thing called RAGBRAI that I’m still not really sure exactly what it is. I think it’s a week long bicycle trip? Do you want to tell us a little more about what that is?

WILBUR: Sure. Yea. I’m involved with a very, very unorganized/organized club called Team Roadkill. We had a couple of lawyers on our crew and they got us incorporated as a nonprofit, and we own a bus together, a 1988 GMC customized school bus. And it’s funny because we have this really good organization and sort of look good on paper and it’s just a bunch of people that like to get together and ride and drink beer. So, our big event every year is called the RAGBRAI. It’s an acronym. It’s short for “Registers Annual Great Bike Ride Across Iowa.” So this is an event. Anybody that’s been from Iowa knows this. This is actually the largest and the oldest ride in the country, organized bicycle ride. Every year about 12,000 people go across Iowa. Seven days from the Missouri River to the Mississippi in this annual pilgrimage. They pick a different route across Iowa every year and stop in at small towns and it really captured the small town and middle America feel of Iowa. So, you ride into some small town and you buy homemade pie from a church lady that makes these pies every week for church and she charges you $1.50 for the pie and she thinks she’s making a killing, because she charges just a $1.00 for that pie and you think you’re in heaven because you’re getting a slice of homemade pie from some lady in Iowa for a buck and a half.

IVAN: Wow. So you must have someone that drives the bus that isn’t riding? Someone that keeps track of the whole maintenance of all of these bikes and then do you camp every night? Or how does that part work?

WILBUR: It’s a camping thing. The whole idea of the team kind of came around on the RAGBRAI because when you have 12,000 people going into a small town in Iowa, facilities become stretched to the max and so the team our club, kind of takes care of a lot of things that are difficult in that situation. So we have a shower system on our bus for people to take showers at night, which is pretty decadent on this kind of an event. We’ve been doing this, our club is about 35 years old. I’m not the original people that put this together. We have so many people that have ridden with us and gone along with us that pretty much anywhere we go in Iowa we have connections to somebody’s family and we stay in their yard rather than in the campground over at the county fair. You get to really meet people and it’s a lot more civilized than being in a giant campground with 12,000 other people.

IVAN: Wow. And that’s this July.

WILBUR: Every year the last full week of July everybody rides across Iowa. This’ll be my 20th year doing this.

IVAN: Wow. And you must spend a fair amount of time practicing and training for the ride. I mean, it’s one week from one major river to another in Iowa. I’m guessing there must be 150 miles at least?

WILBUR: The average is about 60 miles a day. They kind of alter the route. Right now they’ve really been keeping the distances per day pretty low to keep the family factor there. So between 50 and 75 miles a day. At some point in the nineties when I was doing it they were really, there’s a lot of partying that goes on, on this ride if you could believe that (laughter). During the day people drinking beer in these small towns. And so they really wanted to get rid of the party factor on the backside of the ride, you know, these are the people that kind of lag, and so they were making one year they had, Tuesday, Wednesday, Thursday were all 90 miles plus per day and that’s…

IVAN: … that’s killer.

WILBUR: It’s killer. Especially in Iowa in summer. You know you can get a 100 degree day, you can get a 20 mph headwind and that can just destroy everyone, you know. But then the partiers just get on their school buses and drive to the next event. So they abandoned that.

IVAN: So, you’re involved in the Drupal community. You’re involved with Team Road Kill and RAGBRAIi, but you’re also an activist. You’ve been doing work with Amnesty International recently?

WILBUR: You know one of the things that changed after I got out of marketing and kind of had some successful years, was that I realized it’s easy for you to get a fancy job and make a ton of money and have as much money as you want. But that’s really not what life is about for me. I did a lot of reading up on this and philosophy of what kind of a person I wanted to be, and I came upon an idea that I was going to spend one-third of my time doing charitable work for other organizations, other people. And, I try to keep that up. And, that’s pretty easy for me. So, I really like Amnesty International right now, that’s a great organization because they speak out for prisoners of conscience. And it's very satisfying as an individual to work and collect signatures and to send these petitions on to despot leaders in another country and say hey, you know, there’s this person you put in prison and you know, you need to give them a fair trial and you need to drop all charges and release them. And when that happens, a local kid from Shakopee makes an impact on the world. That’s really satisfying. And the other kind of activism I really like to do is really local stuff that doesn’t happen. I worked with the bike shop here, it’s a nonprofit bike shop that really advocates bicycle transportation for people. And, when you can just sit down and work with the public and make a difference in somebody’s life, that’s fantastic. Empower somebody to take control of their life by getting on a bike and riding to work.

IVAN: What’s the name of the bike shop?

WILBUR: Cycles for Change. They have two locations. One over in St. Paul and one over in Minneapolis.

IVAN: Is that the nonprofit that’s on Chicago in South Minneapolis?

WILBUR: No. That’s Full Cycle actually.

IVAN: Oh, that’s Full Cycle. That’s another nonprofit cycle shop right?

WILBUR: Yea. Cycles for Change came up with a really revolutionary program. They call it the bike library and so think of it like a library. A person comes and they say “I’d love to have bike.” And you say “that’s great. Here, we’ll check you out a bike, but it's not just a bike, you get a bike, you get a helmet, you get paniers so that you can carry your groceries to and from the grocery store. You get access to training to maintain your bike. You get riding lessons. They’re not called riding lessons – what are they called? Cycling lesson. How to ride safely in the city. What to avoid. What not to avoid. We think it’s as easy as riding a bike but really there’s a lot of strategies to making being a bike rider a lot nicer. And so you get all this stuff and you say “here you go, here’s all this stuff.” And people come in and they work on their bike and they learn about it, and after six months they go back and they talk to the person. They say how’s it going? Are you riding to work? Are you using your bike a lot? And if the person says no, it’s just not for me. It doesn’t work for me. No problem. You can give us the bike back. Everything’s great. If it’s great, if they're doing it, they say here, the bikes all yours. The bike is, the lock, the helmet all that stuff. We made a new bike rider, and now we can go on and work on the next one.

IVAN: Wow. What an incredible program. And that’s free to the individuals that are participating?

WILBUR: Free to the individuals. They just apply. They say I have a need. This is what I want to do. And they take it from there. And they’ve done that for hundreds and hundreds of people already. And it's really a program where it’s like let’s not just put out free bicycles. Let’s really like change people into bicyclists.

IVAN: I love the idea of it being a library, where it works out or it doesn’t work out. It doesn’t work out no big deal. We read the book, didn’t like the book, bring the book back.

WILBUR: Yea. Right. There’s no shame in that right? But now you gave it a good chance and we took away as many as the barriers as possible and tried to make you as successful as possible.

IVAN: So they’re online at cyclesforchange.org and is that a website you help them with as well?

WILBUR: This might be one of those uncomfortable, embarrassing moments, because remember when I said when you first learn how to do websites, I worked on their website and we had a Drupal website there and I learned so many things from that website for many years. Then I took a little break from Cycles for Change, but I helped them with their hosting and that’s what I really did. I still manage their hosting, but now they had a group come in and say hey, we have a bunch of students that are learning that other content management system WordPress, and so they built a website and I said that’s great. Let’s use your website. But what I do is I give them some continuity with that and I’m their devops for their website and if they have any issues then I take care of that. That’s been happening for 2005, so how many years is that?

IVAN: Thirteen.

WILBUR: That’s a long time. I’ve been there a long time. It’s a lot of donated hosting.

IVAN: Yes it is. I don’t think there’s any shame in the switch to WordPress at all. It sounds like it was the right thing for them at the right time. So, kudos to you for supporting them. I do want to just take one step back and ask a little more about Amnesty International. I’ve always thought of them as a large international organization that does things for human rights that really I have no power of changing or participating. But it sounds like you’re doing that. It sounds like they have a local chapter of some sort. Can you speak more to maybe a case that you’re working on right now. I don’t know if you call them cases. How you got involved with Amnesty and maybe how others might get involved as well if they have the inkling.

WILBUR: Yea. Amnesty is a large international organization. Their mission or their continued mission is to speak out for prisoners of conscience. And so, their main work is that they have country specialists that investigate cases that are reported of prisoners of conscience, and they get the facts and they figure this out. Then they’ll organize campaigns to put pressure on people to alleviate that situation. So that’s the international organization that everybody knows and that people get a membership to and they pay their $35 a year and they’re a member of Amnesty International. Then, that campaign is there and that is typically letter writing campaigns where we’ll be writing letters to the leaders of those countries or to the Prime Ministers, or to whoever is in charge that can make an effect. And, people, like you and I will sign those petitions. We can go online to Amnesty International or Amnesty USA and we can sign those petitions and those get sent to those leaders. Then the local chapters are kind of another part of this in that we can actually do our own sort of individual events to support that. That’s really where I’m involved with the organization, and that’s where you can meet other people and what we like to do in the Twin Cities a lot is to piggy back on other organizations’ events and be there at the place and say oh, if you’re interested in this then here’s a way you can help. You can sign petitions about these. So not all places have a local organization, but we’re really lucky again in the Twin Cities here to have some really prominent advocates from the Philippines, from Nigeria, North Korea, there’s a North Korea specialist that’s in town and we also have the Humphrey Institute over at the University of Minnesota. They provide fellowships for people that are human rights advocates, and so through that organization, if you come to our local chapter meetings which are the third Sunday of every month, it’ll be this Sunday at 2:00 at First Congregational Church, we have speakers from all over the world that are directly involved with these actions. That come and talk to our group of 15 people. It’s really impressive how quickly you can get associated with people that are really making a difference in the world.

IVAN: That’s twincitiesamnesty.org. Did I get that right?

WILBUR: That’s right.

IVAN: I just took a look at that.

WILBUR: That’s my next Drupal website actually.

IVAN: Is it really?

WILBUR: I just sold them my new website.

IVAN: I just clicked on the link for the Facebook page and it’s showing three admins, all of whom I know. Chris Dart works for TEN7 He’s one of our developers, so you know Chris pretty well I would imagine?

WILBUR: I don’t know Chris very well.

IVAN: You should talk to him at the next Amnesty International meeting.

WILBUR: I will.

IVAN: Third Sunday of every month from 2-4 at the First Congregational Church of Minnesota.

WILBUR: Yea. It’s a humbling experience and it's empowering to be able to just do a little bit of work and help other people, you know. When we think about our problems here and we look at some of these cases that we help, people that get thrown in prison, one of the things our local chapter does is we adopt a prisoner of conscience. Somebody who is in another country and maybe it’s a case that’s fallen to the wayside, and we’ll say let’s do this and let’s actually try and call the Prime Minister. So our last case was with an Ethiopian Journalist, his name was Eskinder Nega. And, this guy, I mean if you think we have courage, this guy was a journalist in Ethiopia which has a pretty horrible human rights record. And he would write about how he disagrees with the government and he gets thrown in jail in 2005, and he spends seven years in prison and there’s an Amnesty campaign and he gets out.

IVAN: He does?

WILBUR: And he comes back out and he starts writing again about things in Ethiopia. And he gets thrown back in jail and he spends six more years in jail. And so this was a case that had fallen by the wayside and our local group picked it up and we started making calls and we actually had an Ethiopian refugee here that was still connected in Ethiopia and he started making calls and some things have happened in Ethiopia where they’re releasing a lot of prisoners of conscience and Eskinder Nega got released again. And, he was getting around with a bunch of things and he got thrown in prison again, but now he’s out again. When I think about my activism, right, I just am organizing volunteers to sign letters, I’m not getting thrown in jail over and over again. So, people like that, real freedom fighters right, really people that are trying to change the system, that’s amazing.

IVAN: That is amazing and kudos to you for doing that. I admire that activity that you have and the amount of time that you spend in your principled, just persistence with this.

WILBUR: Thank you.

IVAN: Do you ever get a chance to arrange a meeting or a meet up with any of the people that you’ve helped?

WILBUR: Through the miracles of Zoom meetings like this and Hangouts, we’ve had calls with people and I was really trying to get us to have a call with Eskinder Nega and really to complete that circle and just... It almost makes me cry to think that we can get him on the phone and say hey, you know, it’s great to meet you and we want you to know that you were our prisoner of conscience and we really pushed hard to get you out and it’s great that you’re there. And that’s maybe some of the miracle of our technology right? Is that would could make that happen. We could have Eskinder Nega at one of our meetings in Minneapolis.

IVAN: That’s just a wonderful part of what technology can do and I hope that we continue to invest in the open web and in the principles that we believe in. The fact that the internet can help more than just bad actors and that there are more good actors on the web, and in the world and that ultimately we’re all just humans trying to make it to the next day. So if someone wants to get involved with Amnesty International they can go to twincitiesamnesty.org or to just amnesty.org and either become a member or contribute a donation.

WILBUR: To come to our meetings, I think the best place to get information if you’re on Facebook is to look up Amnesty Group 37.

IVAN: So Amnesty International Group 37 in the Twin Cities and the meeting is this Sunday, so see you there.

WILBUR: Sounds great.

IVAN: Wilbur, thank you very much for spending this time with me. It’s really been a pleasure to get to know you a little better and to speak with you.

WILBUR: You bet. Thanks for having me.

IVAN: You’re welcome. You’re Wylbur on drupal.org and also on Twitter and wherever other social media is on the web. Wylbur.us, we’ll see you online. You’ve been listening to the TEN7 Podcast. Find us online at ten7.com/podcast. And if you have a second, do send us a message, we love hearing from you. Our email address is [email protected]. Until next time, this is Ivan Stegic. Thank you for listening.

May 02 2018
May 02

Your browser does not support the audio element. TEN7-Podcast-Ep-027-Kaleem-Clarkson-Inclusion-Evangelist.mp3

Kaleem Clarkson, Drupal Front End Developer, Inclusion Evangelist and Co-founder of Blend Me, Inc. sits down with Ivan Stegic to discuss Kaleem's Drupal origins, as well as other related issues.

Here's what we're discussing in this podcast:

  • It's only rock 'n roll
  • Concerts for Charity
  • DrupalCon Atlanta
  • The Big Easy, Portland
  • Trey Anastasio, Bob Weir and Béla Fleck
  • Stephen King
  • Kennesaw State University
  • Center for Excellence in Teaching and Learning
  • Atlanta Drupal Users Group
  • Mini DrupalCamp
  • Drupal Diversity and Inclusion (DDI)
  • Code Switching
  • C'mon down

TRANSCRIPT

IVAN STEGIC: Hey everyone, you're listening to the TEN7 Podcast, where we get together every fortnight to talk about technology, business and the humans in it. I'm your host Ivan Stegic. In this episode of the podcast, I'm chatting to Kaleem Clarkson who is a Drupal front end developer and entrepreneur, based in Atlanta, GA. Kaleem, welcome to the podcast.

KALEEM CLARKSON: Hello everybody. Thank you for having me.

IVAN: It's a great pleasure to be talking with you. Now I think that I might have sold you short on the initial introduction by saying you're a front end developer and entrepreneur because I've seen your LinkedIn profile and there are many titles on that profile. You are what seems like everywhere.

KALEEM: Yeah. I kind of like to do a lot of things a lot of that is old history. Early on in my career I started my own nonprofit in college. I had a lot of fun with that called Concerts for Charity. We booked a lot of concerts all over the place got to work with some cool artists. We got to book Blind Melon on their comeback tour. That was cool. Slick Rick. Uh, I don't know. I don't want to name drop. Sorry.

IVAN: Well you just did but that's okay. I'm going to assume they're metal...

KALEEM: Well, yeah. Yeah, we did do a lot of metal shows. I guess Blind Melon was kind of like, remember the Bumblebee song?

IVAN: Oh, yeah.

KALEEM: So unfortunately the singer passed away years and years and years ago, but they made a little come back and we were like one of the first venues to be able to book them in Portland Maine at a club called The Big Easy back in the day. So yeah, I mean that was really fun. So that was kind of like where I started. My first interest was definitely nonprofit life, and we ended up doing a lot of great things. We did a documentary with Trey Anastasio from Phish. It was with a voter registration group, they were so great. Andy Bernstein, it wasn't Rock to vote. It was A Call to Action was a documentary with a nonprofit called Headcount. There we go. I knew it was gonna come to me eventually if I kept talking. It was really neat. They're a great organization. They still exist. They started in the jam band scene kind of and you know, they just registered voters at concerts, plain and simple. We were able to connect with them and we did this documentary. That was great. Their board of directors is awesome. They have you know, Bob Weir from the Grateful Dead on there, you know Bela Fleck from Bela Fleck and the Flecktones and so we were able to record this documentary with those artists and we got the premiere it on HBO in Manhattan, so that was pretty dope. That was that was pretty cool. So yeah, there was that and then I kind of moved on from there. Moved to Atlanta with my wife, and my wife and I moved down here and it's been great. We've been here about ten or eleven years. I work at Kennesaw State University. I work for the Center for Excellence in Teaching and Learning. So I owe all my Drupal education to Kennesaw State.

IVAN: Thank you.

KALEEM: Pretty much how many Drupalers come aboard, you know, my boss came to me and said I need a password protected website for our accreditation reports. I go to the IS department and they're like, yeah, there's this thing called Drupal here you go. And I think that was Drupal 6, the tail-end of Drupal 6. So, I started like a like a lot of people start. I downloaded the the tarball, installed it. I wasn't allowed to add any modules because that was controlled by the University and then I just kind of grew from there. I remember after going support, how do I learn about this Drupal thing? And they were like, uh, you need to go to these meetups. That's probably your best place. So I showed up at one of these meetups in Atlanta and I show up and the place is packed and, all these people with Mediacurrent jackets on. It kind of took off from there. So, I currently still work there and then most recently, my wife and I started our own consulting company. So it's been a fun ride. I like to do a lot of things. And then with the Drupal Community as far as the Atlanta Drupal's Users Group, I just got more involved with the Atlanta Drupal's Users Group. And at the time I believe, Mediacurrent was kind of running all of the DrupalCamp Atlanta for a long time, and they just you know, they blew up with the ton of work and they just like hey, we need a break for a second because we haven't really really big client. I'm not sure if I can say what league it was but it was a very big sports league. So, I stepped up and said hey, you know what? This is what I do at my university job. I organize a lot of conferences, for faculty development. So teaching faculty how to teach layman's terms. If my boss ever hears that, he'll kill me because development is so much more than that, but for most people that's what I tell them. So yeah, that's how I got involved and then I stepped up and so I'm in my fourth year at Druplacamp as a project lead so it's been really exciting.

IVAN: Thank you for doing that. Volunteers don't get enough praise and thanks across the many different camps and cons and industries that they deserve. So thank you.

KALEEM: Appreciate that.

IVAN: Thank you for stepping up.

KALEEM: A lot of people ask me why, why do you do it?

IVAN: That that was actually going to be my next question. It seems like you were thrown into Drupal because you wanted to achieve a certain outcome.

KALEEM: Absolutely.

IVAN: But you stayed with Drupal. You were part of the community. You're continuing to give back, you're organizing. Why? Why? Why?

KALEEM: This is gonna sound odd. But so, you know, in college I had a pretty good time. Okay. Went to college in Wooster, MA. And I went to college at the time Worcester State University is about 45 minutes west of Boston.

IVAN: And you're from Maine, right?

KALEEM: Right. I probably should have said that first. I'm originally from Bangor, Maine. So I grew up in the whitest state in the country believe it or not.

IVAN: I didn't know that, all I know about Bangor, Maine is that it is what seems to be in the most northeast corner of the United States you could possibly be in and maybe there's one or two other places.

KALEEM: I think there's obviously some... Bangor is only about halfway up the a little bit more than halfway up the state. So there's more but I think that's the last airport.

IVAN: Is it really?

KALEEM: Yeah, the most people associate Bangor with Stephen King, of course. Hi, Mr. King!

IVAN: And Paul Bunyan.

KALEEM: And Paul Bunyan, yes. So hi, Mr. King, hopefully you doing well, it's Kaleem! It was great growing up as a very safe place to grow up but it's kind of funny a lot of my childhood experiences I'm realizing were valuable experiences to kind of teach other people about diversity and inclusion. So it's been kind of it's been kind of rewarding I guess from that from that standpoint. So but anyway back to why I do things, voluntarily, so I went to college had a great time. I played Division 3 college football there. And basically we threw a ton of parties... like when it comes down to the basics... we just threw lots of parties that I actually, you know, I actually enjoy throwing parties. So I like to put on a good shindig and make sure people are having a good time. So, that's how Concerts for Charity really started. I was like, I want to do do something good for people, but at the same time I want to have a good time.

IVAN: You want to have fun and do good at the same time...

KALEEM: I mean, it just makes sense. 

IVAN: Absolutely!

KALEEM: You know, so that's kind of you know, some of my motivation for you know doing DrupalCamp Atlanta, I want to make sure everybody has a great time. So I've just kind of morphed into kind of a weird like event planner from college. So yeah, that's why I like to do it like to do, make sure people have a good time.

IVAN: When is this year's DrupalCamp Atlanta?

KALEEM: You had to do that to me!

IVAN: I'm so sorry!

KALEEM: I want to say it's November 8th... it's drupalcampatlanta.com. Call for proposals are not open quite yet, but just keep an eye out follow our Twitter, @DrupalCamp_ATL, you can just start just you'll find us. DrupalCamp Atlanta, when we stepped up the kind of take it over as a user's group, we decided to bring it to Kennesaw State University, which where I work now and, it was just easier for us to be able to get the venue. And it was great! We had it there for two years, and that was actually where Dave Terry and the Mediacurrent team did the very first DrupalCamp was kind of like a homecoming type of event. And last year, we just decided based on the feedback, everyone was like, you know Kennesaw's a long way from the airport.  It's about an hour ride. So, we decided to take a chance, take a huge risk and just go straight hotel. We did a contract with a hotel in Buckhead. Which is kind of like the tech center of Atlanta, it's where Atlanta Tech Village is, where a lot of startups are, and it was great. It was it was fun because basically people stayed in that hotel. They went right downstairs to all the sessions were and you know, that was it. So, we're there again and it is November 8th through the 10th. So, a day of training and then a morning of training. So, it's almost like three days really. We have one day that's one dedicated to all day trainings, then on Friday we have a morning training. And I don't know if anybody else does it this way? So all you organizers out there let me know.

IVAN: Actually, I've been part of the Twin Cities DrupalCamp organization over the last few years, and we've typically had full day trainings on Thursdays, do two session days... so Friday and Saturday, then sprints on Sunday.

KALEEM: Okay. Okay.

IVAN: Yeah and it's it's a lot of work to put on a camp that's four days long. I don't know how it happens. But it does, it happens... people do it. You do see Saturday session attendance does seem to kind of drop down. We don't see as many people on Saturday as you do on the Friday. And we've kind of changed it in the last few years. I don't actually know what's going on this year. I haven't been involved in this year's organization at all, but I do know it's coming up in June in the Twin Cities. So we would love to have you visit us if you have a spare weekend.

KALEEM: For sure. Yes. Yes, a spare weekend. Of course, of course. The one thing that we did differently, because that was actually one of our issues was Saturday attendance is that so Thursday is a full day training then Friday morning are half day trainings.

IVAN: Why do you do that?

KALEEM: Because people really enjoy the trainings. A lot of beginners come to DrupalCamp Atlanta. And then you also do have the advanced people. So I just feel like the value of trainings -- you get a lot more out of them versus a 50-minute session. So, we decided that the half morning trainings work, and then we don't start the Camp, as far as concurrent sessions until 1:30. So, there's not that many sessions on Friday, but we have our little after party Friday night and then we load Saturday so that people don't leave. 

IVAN: That's really interesting approach. Your training sessions, are they sponsored? Like, does Pantheon do a day of training, or does Four Kitchens come in and do headless. I know we've done that in the past. Or are the trainings designed in a different way?

KALEEM: I think it's probably the same same thing. We just reach out to different trainers. It was funny. I was talking to Mike Anello one day. I was like, you know, I feel bad going back to the well should I say because we have been pretty successful of not reusing the same trainers as much, but then last year it was just getting difficult because you know, there's only so many people that do trainings. Yes, there are great companies that do great work for building websites, but I have kind of a bias in faculty development and I listen to all of my associate directors who are you know, all above me and watch what they do, and there's a major difference to being a content expert versus a good teacher. That's why teaching centers actually exists. I don't know if all you know this but guess what a lot of Faculty don't get any training and teaching before they go in the classroom. Just a little just a little tidbit.

IVAN: There's no real time like shadowing someone? 

KALEEM: Now you get a PhD you're thrown right in the classroom. We like to go after the organizations that do trainings. I was talking with Mike Cannel {inaudible} is a training company. She is... what's-her-name Susanna... don't kill me Susanna... I'm not even gonna attempt to say your last name from Evolving Web from Canada.They do lots of trainings, Turning Leaf I think Big Leaf, Man, I should have had all these companies listed. I'm still sorry guys. If I'm destroying your company titles, I apologize. We'll hook you up in Drupal Camp Atlanta.

IVAN: Suzanne Kennedy. Oh, Dergacheva.

KALEEM: We actually talked and she taught me how to say it. Dergacheva. Let's go with that. So anyway, we try to go after companies that are actually doing training as a business. And I was talking with Mike, I feel bad because you know, there's only so many companies that do trainings all the time. And he's like don't feel bad, that's what we do for a business. It's a great opportunity for all of us. We're actually honored to come here. So it was very nice to hear from of how he thought from his perspective. So yeah, we reach out to them. We don't pay our trainers, they contribute their time, and we try to keep the training costs as low as possible. Just basically to cover catering.

IVAN: Do you guys also do BOFs?

KALEEM: That's one area that we have to do a little bit better. BOFs, you know our camp ranges anywhere from 180 to 200 people. I know that's decent size for some camps but you know, like compared to you know, Drupal Corn and even Mid Camp must have more than that for I think it's getting much larger.

IVAN: BADCamp and NYC as well.

KALEEM: Yeah, it's just like when you're organizing you just doing so many things in like the BOFs or the one thing that just kind of always just fall off our radar, because there's only always only so much room space, especially, you know, because we are doing a different model, by using hotel. Hotels are very expensive. There's a lot of risk associated like our contract, I think was about $30,000, hotel room guarantee. So space was limited. So we just we just didn't do it.

IVAN: So at Twin Cities Drupal Camp, we rely quite heavily on the Drupal Association for all of the fiscal responsibilities with putting our camp together, said that it's really expensive to get a hotel in the mix. I know that using an University or any other location, you still have to sign a contract you still have to pay for it. Do you also use the Drupal Association or do you have some other format for your camp?

KALEEM: We do not. We do not use the Drupal Association. We have our own... but you know what? I think I talked about this once on the Lullabot podcast. That's one piece of advice I would give to organizers is go ahead and incorporate and get your own LLC. We have our own LLC. We have our own.

IVAN: So you're actually a for-profit. You're not not a non-profit.

KALEEM: Correct?

IVAN: That's interesting.

KALEEM: We're an LLC. I guess technically where they you know, how you've seen those commercials where they say we are a not for profit, there's actually a difference between the two. So yeah, I guess we're registered as an organization, a not-for-profit, but that's not the non non-profit 501 (c) 3 status that most people think. But we are actually in the process of, you know, we're set up, we have bylaws. We have our official board. We have official voting procedures. So we are set up to actually apply for 501 (c) 3 status. We just haven't done it yet. So yeah, we don't use Drupal Association at all. I believe they take a percentage of funding, I think it was 7% the last time I checked and you know what 7% to us is a big deal.  We just kind of do our own thing. Luckily thank you so much to all our sponsors, you know if it wasn't for you we couldn't do it. So we've just been very lucky and again, a lot of most of our success is because of Dave Terry and Mediacurrent. They were able to pass on all of that knowledge, pass on the sponsor contact information. You know, sensitive information to just pass off to a bunch of volunteers. We built in that trust, and that was a huge reason why it's successful.

IVAN: What are your current passions? I know that when I first saw you speak, it was as a person asking a question in the Drupal Diversity and Inclusion session that I went to, and I was struck by your story about how you came to be involved in DDI, and it seems to me to be one of your passions and I was hoping you could kind of tell the same story about how you got involved.

KALEEM: Yeah, I wish I could remember what question I answered.

IVAN: I don't remember what question it was, either!

KALEEM: So I think I remember, so I just got up and I just said, you know, a lot of people jump to the conclusions. So first off, let me just first say... diversity is a very fluid topic, it's changing every second and there's a million people out there that say they're experts. And I always laugh at that because it's like, man, how you going to be an expert on this topic? It just changes every single day, it changes so frequently, and it's really about people talking about their experiences. That's how I feel, so don't destroy me, people out there because I know that there are people that are love to destroy me on diversity issues. But it really kind of came about by accident really, I mean, I really had no intent to get into diversity inclusion and again, it's probably because of where I grew up, you know. I grew up in a situation where I didn't know any different as far as being you know the quote-unquote token black kid everywhere. I'm always that person, and I had to learn how to adapt frequently. It's funny because its actually a real term that called code-switching. I don't know if you've heard of that term.

IVAN: Code switching? Yes.

KALEEM: Yeah code have you heard of that term?

IVAN: I have but I haven't heard of it used in the same -- in the context that you would describe.

KALEEM: Yes. So, code-switching in DDI is a situation where, you know, you talk one way around your friends, but then you have the ability to change how you talk or how you act based on your environment. 

IVAN: I've experienced this my whole life! So I now I have a name for what it is. I grew up in South Africa to parents that immigrated from Croatia. So I spoke Croatian and thought Croatian at home, but when I went to school, it was all English from a South African point of view. That's code-switching.

KALEEM: Yeah, being able to you know, of course is going to be who were saying. Well guess what you shouldn't have to code switch. You should be able to be yourself. And look I agree with those sentiments of course, but I'm also a very, maybe me being from the Northeast too kind of makes me a little bit more harsh I guess, but I'm also kind of a realist, you know. I know that's how it should be but that's not how it is. So, yeah, I guess I do have some privilege there because I've always been able to code switch my whole life. So I I didn't realize that I had that ability. So, you know, I saw some posts on drupal.org and I was like, well, I mean, I don't see very many people that look like me. Maybe I can provide a prospective that's different and a perspective that is gonna kind of go against the grain like, you know, you see an African-American on a DDI team you're going to make an assumption that you know, there's a certain tone, there's a certain angle that they're going to play, and I just feel like I do provide a different perspective. Oh, yeah, and I remember what I when I talked about was... they were talking about how do we get underrepresented groups involved with Drupal more often than not? We need to provide financial scholarships so that we can get more underrepresented groups involved. The one thing I feel like we just need to be a little bit careful of is jumping to conclusions. So, I'm from an under-represented group, but I didn't need any help financially, you know what I mean, sorry, I'm sure Kobe Bryant kids don't need any help financially or LeBron James' kids don't need any help financially. It's all coming from a good place. And that's probably a barrier for a lot of under-represented groups, but that's not the barrier for all. You know, we're in a situation right now in society where you know, you can't be right in the middle. You know, you kind of are far one side of far the other side and I feel like I put myself right in the middle.

IVAN: I think it's important to be centrist. I think we're all fundamentally centrist. It's the society that we live in and the experiences that we have that push us in one way and another. We kind of need that and yearn for that balance. And you know, what? It's hard to be in the middle. It's really easy to go extreme, because that's what you can you know, truly realize your fears and just let them, you know, let them be a bad thing on the world, right?

KALEEM: There's a group for you, right?

IVAN: There's a group!

KALEEM: If you all the way to the far left, there's a group for you. There's support for you. So it's natural to be that way. Right? There's a group all the way to the right. You know, like I remember someone asked me a while ago, I think it was in college was like, oh, how come you don't hang out with the basketball team? What does that mean, bro? I mean, I don't even understand what that means like, I like metal music and I like, you know partying so whoever likes those things. I don't just hang out with some people from the basketball team, but they were also people that had multiple interests too, but it wasn't like, you know, they're like, oh, why aren't you hanging out the basketball team? What place? Hey, I'm a football player and then be like, you know we go out.

IVAN: Just for those who don't know what DDI is and what Drupal Diversity Inclusion is... can you give us a quick description of the group, and maybe when it started?

KALEEM: I don't know the answers to all that.

IVAN: I have two thoughts. I think, I think DDI started two years ago.

KALEEM: So what's funny is there's a website called Drupal Diversity, which I did have the pleasure of working with some people in the theming. It was fun to do that with everybody.

IVAN: drupaldiversity.com

KALEEM: Let's see, the history, Nikki Stevens gave a presentation and started the group. They don't have a year on here, which they should have a year on here.

IVAN: We should open an issue in the queue.

KALEEM: Nicki if you're listening, I feel like you should put the year... oh, DrupalCon New Orleans.

IVAN: New Orleans would have been 2016.

KALEEM: So I just saw the channel and jumped in. Saw a lot of conversations. And you know again, that's something that my wife and I also stumbled upon as far as you know from the consulting side. And I figured that I should lend some of my personal experiences and help out. So, that's really what I have for it. There's a whole bunch of other people have done a lot more work than I have in the initiative, but I felt like you know it is a place where I should try to help, because I could definitely provide a... because a lot of times in these initiatives... and that's actually something that I also brought up in that thing... a lot of times in these initiatives, there aren't very many people of under-represented groups that are actually participating. So I kind of looked at like who you know participating. I'm like, well, I feel like the because diversity is a lot of things. So I'm sure there's you know sexual orientations how people identify, religion... there's a lot of things right but visually there weren't there wasn't that much like I felt like you know why I should definitely I shouldn't be on the sidelines for this I should definitely help. So that's really where I came from.

IVAN: And I think you're right. I think that's you have to... in my opinion, if you want to see additional diversity being modeled through the rest of the community, you have to... not be modeled, if you want additional... if you want diversity in the community, and you want more participation and involvement, it's easier if you as a community member see that behavior being modeled for you, because then you know how you might want to behave. And so I felt kind of bad when I thought... I want to be part of this, but I'm just gonna join the channel and then what? So I don't know how like... I don't know if that's good or not? And I think that xjm or Kathy or one of them said something like, that's okay... you can join the channel, and you can participate by lurking, because when you're lurking, you're actually seeing that behavior be modeled, and when you see how that behavior is modeled you very easily can take it out into the community, and remodel that to your peers in IRL, in a camp setting, in your daily work life. And so that actually made me feel like... oh, it's okay that I'm just here watching because I'm actually learning something subconsciously.

KALEEM: You know and that's the thing. It's like... I've said some interesting things before where people probably just looked at me crazy. But like, you know, I was in one of those roundtables... private roundtables....

IVAN: Panels.

KALEEM: I told a story where I was like what you know, I'm a different animal in this field because it's just how I am and who I am. In high school I had a beer with a skinhead before. People just...  I wish I had a camera. Oh, I'm gonna call you out Fatima. I'm gonna call you out. I'm sorry @sugaroverflow. You should have saw her face. She was like, what? Oh my God! No way! But uh, yeah because I was like... I had to know I was so curious. Why the hell do you hate me? You don't even know me. I mean we are actually drinking the same beer and actually you're wearing a shirt of a band that I like. So we had a crazy conversation. I mean, I wish I could remember what we were talking about. But of course, we didn't hug it out and nothing like that. But at the end of the day, I feel like of course I wanted to you know, I was of course, I had feelings inside of I shouldn't be talking to this person. I can't stand this person but you know, I heard some things that he said from his point of view. I didn't agree with it, but then he heard some things that I said and maybe he agreed with it or not. And the night was fine after that, but like... you have to be able to... you need a safe space. That's what's great about working at Kennesaw State University is we have tons of resources and trainings and academics are always researching this stuff and they're very thoughtful. And we attended a safe space training... and it's a training so that you make sure everybody feels included, and one of the areas that I always thought was interesting as far as safe space that no one really kind of touches upon is sometimes people want are curious and want to ask questions. They shouldn't be dragged across the coals because they asked a question that they're honestly curious. The question could be offensive, so like how is someone going to learn if we can't talk? And someone the other day was like well, how did you stumble upon doing diversity consulting? And I'm like, I don't know somebody asked us. Well, you know, they probably asked you because they felt comfortable. My wife is white. We have a biracial family. Maybe that comfort was enough for them to say hey, we have a problem. Can you help us? And explain and maybe they were comfortable saying why they were they were uncomfortable. So, I always say diversity is about being comfortable being uncomfortable. Like... it's okay to feel uncomfortable.

IVAN: That's a great way to summarize it. It certainly is. I do see the slack channel on Drupal slack the Diversity Inclusion channel as being a safe space. I know, like that's one of the two or three channels that I'm actually following, and it's most certainly a safe space where you can say something and not worry about the backlash and you can... but I do think it takes time to get used to that.

KALEEM: Of course, you know and someone's response might be a little harsh, but at the same time, I think there's other people that jump in and say hey no, it's okay. That's a good question. And actually this is why, I remember someone posted like hey, this is a blog post I'm writing. Can you provide us some feedback? And they got crushed but like other people made them feel okay, like no. First off, we're not attacking you. We are very proud and happy that you asked the question. So, don't, please don't take any of the criticisms as attacks on your actual question, we're providing the feedback. So, that's the part that's really been intriguing. My boss has had a huge impact on me. He's very well known in the factor development field and he talked a lot about LGBTW. So, without him without the my colleagues at work, I definitely wouldn't have a lot of this knowledge that I have. So, again we are all very comfortable with each other. So we ask all sorts of ridiculous questions.

IVAN: And also you're really nice and easy to talk to so I think that helps too.

KALEEM: Yeah, I try to be... that's right.

IVAN: Well, I don't know what else to ask you. I mean, we're kind of running up against our kind of soft limit of 30 minutes. I feel like I do have a whole lot more to ask you but we're gonna we're gonna have to wrap it up. Do you have anything you wanted to say or ask?

KALEEM: I don't know. Let's see. You know the put me on the spot here.

IVAN: I know. I got to put you on the spot as well. That's okay.

KALEEM: I gotta do my you know, if I'm not marketing I'm not doing my job, right? Okay also have minicamp online coming up in June.

IVAN: What is that?

KALEEM: It's minicamp online. So what we've decided is the... minicamponline.org what we've decided as the Atlanta Drupal Uses Group is... we no longer do meetups, because it was very difficult anyone's ever been in Atlanta, traffic is very difficult. So it was hard for people to get to a place in the city at the right time. So we decided look why don't we take the money that we make from DrupalCamp Atlanta and try to put on other programming at a much reduced cost to the community. So, the first year we did minicamp as a single day track in person Camp. It was great. We had about 100 people. It was awesome. But then we realized you know what maybe we should try this thing online. So, this is our second year doing online. We did it last year. It was great. I think the call for proposals has already ended, although the link still up there. So yeah, we're gonna have Drupal Minicamp Online is June 7th, Thursday June 7. It's very affordable. It's like, you know twenty, fifteen or twenty five bucks or something like that. We're gonna have some great speakers and you're going to be able to attend the conference right from your office, right from your computer. We use this, I can't remember the platform that we use, but basically it's really cool, you know, you can chat and ask questions and it's really neat. People enjoyed it last year. So, We have many Minicamp coming June 7h. And of course. DrupalCamp Atlanta. We need more presenters. We want we want to break the 300 mark. So Hotlanta in November! If you're in the North, it's still about 80 degrees, 75, 80, so come on down and enjoy it. And, I have to say that's probably about it.

IVAN: We'll put those links in the transcript. They'll be on the website as well. So that's minicamponline.org for the one day track, June 7th.

KALEEM: That's correct.

IVAN: There's the Atlanta User Groups. DrupalCamp Atlanta from November 8 to November 10. That's a Thursday through a Saturday. The website for that is drupalcampatlanta.com. Kaleem, it's been a great pleasure speaking with you. Thank you for your time. Great conversation. You're kclarkson on drupal.org. And @kaleemclarkson on Twitter. And I don't know how many times I've had to prevent myself from saying Kelly Clarkson.

KALEEM: Actually Kelly's my cousin. We're tight.

IVAN: Oh you are.

KALEEM: We're cousins... cousins from another mother, of course, right?

IVAN: Thanks very much for your time.

KALEEM: Awesome.

IVAN: You've been listening to the TEN7 Podcast. Find us online at ten7.com/podcast. And if you have a second, do send us a message, we love hearing from you. Our email address is [email protected]. Until next time, this is Ivan Stegic. Thanks for listening.

Apr 18 2018
Apr 18

Your browser does not support the audio element. TEN7-Podcast-Ep-026-Chris-Weber-Software-Engineer.mp3

Chris Weber, software engineer at The Nerdery in Minneapolis, sits down with Ivan Stegic at DrupalCon Nashville 2018 to discuss Chris' Drupal origins, as well as other related issues.

Here's what we're discussing in this podcast:

  • DrupalCon Nashville
  • Hot chicken at Hattie B's
  • BOFs (Birds of a Feather)
  • Web Components Summit BOF
  • The hype cycle
  • Google I/O
  • DrupalCon's value
  • Chris' Drupal origins
  • Kookie Kids
  • The Nerdery, Minneapolis
  • The evolution of Drupal
  • Automated testing
  • Google+
  • The Twin Cities Drupal Community

TRANSCRIPT

IVAN STEGIC: Hey everyone, you're listening to the TEN7 podcast where we get together every fortnight to talk about technology, business and the humans in it. I'm your host Ivan Stegic. And in this episode of the podcast, I'm at DrupalCon Nashville 2018, and I'm sitting down with Chris Weber also known as cosmicdreams on Drupal.org, and he's a software engineer at The Nerdery in Minneapolis. Chris, welcome to the podcast.

CHRIS WEBER: Thanks, Ivan.

IVAN: It's nice to see you here. It's great in Nashville, isn't it?

CHRIS: I know I know I, this is my first time in Nashville. And, I've been, unlike other Cons been trying to go to the local restaurants and trying to like get out and see the city some it's really great. The atmosphere downtown's really great.

IVAN: I agree. I had some hot chicken yesterday.

CHRIS: I had some hot chicken yesterday.

IVAN: How hot was yours?

CHRIS: Well, there was a there were five levels it was mild, medium, hot, dang hot and shut the cluck up. I knew that the people had told me that the last one was just gonna kill you. Yeah, so I took the middle of the road.

IVAN: You know, I did too and it was hot. I like spicy but that was hot.

CHRIS: Like tell the story of that. I had a buddy in college that when he got to trouble with his parents, they just feed him peppers. So he built up a resistance over time.

IVAN: What did you have with your hot chicken, if I may ask. What sides?

CHRIS: Oh, creamy coleslaw. 

IVAN: I had that too.

CHRIS: Got to have that relief.

IVAN: Exactly.

CHRIS: That mac and cheese was very interesting. 

IVAN: I had the exact same thing.

CHRIS: Yeah, I you know, I couldn't tell by the time I took a couple of bites of the chicken, but I thought the mac and cheese was kind of spicy too.

IVAN: I agree and you went to Hattie B's right I went there as well and the line when I went for lunch was an hour to get in.

CHRIS: Our line wasn't like an hour, but it did feel like a half an hour, but we can kind of like for dinner. Okay? Yeah and the first taxi driver that I ran into in Nashville recommended Hattie B's, and like everyone recommended how to his every every driver that I went to so I gotta go.

IVAN: That's interesting because my Lyft driver also recommended Hattie B's. And Lex who was on the podcast last week, also had his driver recommend Hattie B's. I think Hattie B's might be... it's a thing!

CHRIS: It's a thing you've got to do it if you go to Nashville, go to Hattie B's. 

IVAN: One more question about hot chicken. I wasn't sure if I was supposed to eat the bread.

CHRIS: You are. You haven't eaten a full meal unless you eat the bread.

IVAN: So I ate half of it.

CHRIS: That's fine. Okay. You know, I mean at a certain point you're full and just trying to push in. Yeah, but the the spices accumulate in the bread and, actually I was expecting like eating the chicken blowing my mind eat the bread and then I'm just done. Go to bed, but it wasn't all that bad.

IVAN: So the chicken was good. How was Con?

CHRIS: Con is great this year. Yeah. I, I've been one to like try to go to the the BOFs. But this year I was like, you know there really are some compelling sessions that I just want to see and then usually after the con is over, I have like a viewing YouTube viewing party.

IVAN: Do you really? 

CHRIS: All the videos on YouTube so and I don't have to worry about this anxiety that I feel like I'm missing something because I could just go see the see the videos later.

IVAN: Kevin does a great job of recording all of those sessions. It's just incredible.

CHRIS: Yeah Kevin's the man.

IVAN: He's the man. Are the BOFs recorded?

CHRIS: BOFs not recorded.

IVAN: Okay.

CHRIS: So that's the reason to go to the BOFs. I actually had my own BOF this year.

IVAN: You did?

CHRIS: It was the Web Components Summit.

IVAN: Of course it was! And tell people what web components is. 

CHRIS: Well, web components are series of HTML standards. It's kind of been this thing that I've been following for a long time and it's kind of misunderstood. The way that I best understand it right now is that there are two standards that browsers are in the process of completely implementing. One is custom elements the ability to bundle up a set of HTML, JavaScript and CSS into a standalone HTML component that you can just drop in anywhere. But you know all that defines how that component looks and behaves. And the other one is Shadow DOM, which provides an effective sandbox for your component, so that everything that's going on in your web page doesn't bleed into the component, and everything that's going on in the component doesn't bleed out.

IVAN: Now when I was doing my prep work for this podcast, I did Google "Chris Weber components", and I saw reference back to 2013. So it's, it's been at least five years that this has been in the pipeline, hasn't it? Do you feel like it's matured, like it's something?

CHRIS: Oh, yeah. Yeah. It's kind of went through its early phases of you know, they at the at the Driesnote or somewhere, they showed the graph of the hype curve.

IVAN: Yes. Yes. I've seen the hype curve.

CHRIS: Peaks really high, then there is the trough of disillusionment...

IVAN: Yes, and then it kind of goes up and then there's a stage... so where are we right now?

CHRIS: Well, we certainly went through the trough of disillusionment. What's interesting is that at Google I/O upcoming in a couple of weeks, maybe like next month, they're going to have a reveal of Polymer 3.0, which is supposed to be like this is what steady-state looks like. This is what normal looks like instead of the oh whizz-bang-new-thing and disillusionment... and oh, you're so disorganized... you keep changing stuff... you're breaking all the things all the time.

IVAN: You refer to it as Polymer.

CHRIS: Well Polymer is Google's attempt to demonstrate what's developing, what's with web components look like. See this is the part of the confusion because a lot of people identified Polymer with as the standard bearer of web components, but it really isn't. Web components aren't supposed to be this platform, this framework, this complicated thing. It's just supposed to be a set of HTML standards like Ajax.

IVAN: Like Ajax, got it. So you mentioned Google I/O. I've been to about three or four of those conferences very early on when it was just starting out.

CHRIS: You didn't have to mortgage your house to go.

IVAN: Exactly! When you didn't have to mortgage your house and when when tickets were actually available.

CHRIS: That's awesome.

IVAN: I used to love going to that con. The swag was great. The people were interesting. It was Google's first attempt at getting into... kind of the developer community. Have you been to any recent I/O cons?

CHRIS: I only had the opportunity to go one time and that's when my buddy was a Google User Group organizer. 

IVAN: The local one?

CHRIS: Both the local the Twin Cities Google developer program or User Group organizer. And so, he gets to go every year.

IVAN: Who is that?

CHRIS: Patrick Fuentes. He's an awesome guy.

IVAN: I think I would like to talk to him.

CHRIS: Yeah, he's a really interesting guy. He's very involved in Android. And he's just a just a great human being to talk to. He's just very generous and kind, thoughtful.

IVAN: I'll connect with him get him on the podcast. You might not know, the original founders of the Twin Cities Google... it's called the GDG, Google Developer Group right now... but it wasn't called that. It was called the Twin Cities Google User Group. I think it was TCGUG Google User Group. Lloyd Cledwyn and I are the original founders of that group, and we used to have meetings in the TEN7 offices on Third Avenue South in Minneapolis. And then I kind of stepped away because I got involved with TEN7 and Drupal and I decided I... you know, I'd rather spend time with Drupal then Google, but that's why I used to go to the I/O conference.

CHRIS: Awesome.

IVAN: Yeah, so, the question about I/O was actually supposed to be a lead-in to the question of why you choose to come to DrupalCon every year.

CHRIS: Well, I at this point in my career, I never want to miss a DrupalCon. There's just so much energy here. I first started going to DrupalCon because I kind of felt like I'm a developer working on Drupal like professionally. But I'm the only person I know that does this, you know, and this was about the time that I start discovering that the Twin Cities had Drupal user group and that in the small collection of people in the Twin Cities that does that, that looked like a really awesome way to participate and finally talk to somebody else that does the thing that I'm doing. I don't have to feel like I'm alone in the middle of a wilderness. And then I keep hearing, I keep following... I kept on following drupal.org in the news channel and everyone's excitement building up and plans being made and agendas being said and it's like you know what? I have no reason to participate in any of that, but I just want to be around. I just want to be a fly on the wall while people are talking about things. Maybe I'll learn through osmosis you know, something more than what I currently know, because.. we were talking today and you were saying that you know, let's just talk about how we started.

IVAN: Yeah. How did you come to Drupal?

CHRIS: I wanted to build a website for my college friends. We wanted a forum we could just sit there and talk about things just joke around but we didn't want it indexed by Google. A buddy of mine had created like a little blog or something like that and it was indexed by Google and he went to a job interview and they were asking him about it.

IVAN: What year was that?

CHRIS:  Must have been either still in college, or jus tout... maybe 2004.

IVAN: 2004? And so you chose Drupal because you wanted to build something...

CHRIS: Well, I originally did not choose Drupal. I was trying to find... so I was a computer science student and I was just trying to find something that I could tinker with what could I do with my program was very theoretical mathematics base, very little real world application. So I had to go out and find a real world application to get that itch satisfied. So I tried things like working with PostNuke.

IVAN: I remember that.

CHRIS: I tried MovableType

IVAN: MT. Yup.

CHRIS: Yeah and some of those things just you know, it didn't just feel right and I tried to go deep in other communities and I just got, the common response I got whenever I asked my questions because I ask tons of questions. Yeah was read the manual noob. Yeah. And I'm like, okay, is this just what I have to endure and then maybe one day I'll be the one telling someone that. I don't ever want to be that person that tells another person to read the manual. Then don't talk to me. So this wasn't a good fit and then I found Drupal and I went on to the support forums, you know...

IVAN: The issue queue...

CHRIS: Not even the you go to the Forum on yes, and you can ask your questions there, and I got a lot of great responses and people lent tricks to me. Then I was like, okay. Well, maybe I'll keep with this and I was able to tinker with things in my own learn things didn't really dive into code for like years. Just trying to be a good chef by grabbing modules off the shelf. Figuring out if I mixed this thing with that thing it's gonna make a better thing. So I was just a site builder.

IVAN: Just a site builder, quotation marks.

CHRIS: I mean there are levels to this, but sooner or later I got to my friends asking me to add some feature and I'm gonna have to go maybe I'll have to alter a form in order to do that. Eventually my buddy wanted to start up a business where he would do the design work and I would do the development.

IVAN: What was the name of the business?

CHRIS: Kooky Kid. All K's. Capital K Kooky. And we did that for a couple years. It was really great.

IVAN: So that was your first professional use of Drupal in business? Wow. What version, do you remember?

CHRIS: That must have been five five or six. Yeah, probably six. We had to build out like event registration websites, some marketing kind of landing page like sites. There was one site we built for a person who was on The Biggest Loser to advertise his workout spa because he wanted to take the ideals of Biggest Loser and spread it to his local community.

IVAN: As much as he could...

CHRIS: Yeah. That was the first time we were like, okay, he's gonna be on the episode gonna talk about it's going to reveal the URL for the site. It's gonna be a huge spike. What do we need to do in order to prepare? So that was... I love those engineering challenges!

IVAN: Those problem solving things...

CHRIS: Yeah. It turns out though that I'm not a very good business owner. So I eventually decided to go work somewhere. Because I kind of felt like I needed to learn at that point like the full engineering process. How far could I advance my skills if I could only just focus on the technical problems. And what would it be like if I finally could work with someone else that was also programming? 

IVAN: And you've been able to achieve that in your career. Your work at The Nerdery and in the community is yeah, it's amazing. So you've been with Drupal now for about 13 years... it's a long time. What has surprised you the most about Drupal in the last 13 years?

CHRIS: At this point in my life, I don't... it's like watching a movie. You don't want to be hypercritical of it while you're watching it, because you just want to let the story play out. You know, I try to be resilient enough so that nothing really surprises me. But when Drupal 8 was being developed. Let's roll back a little bit, when Drupal 7 was finishing up....

IVAN: Circa 2011...

CHRIS: Yeah, but... the key moment in my development life was when Dries put out a blog post and he basically said, we need help. If you're out there in the community and you're just hovering, or if you're like window watching you're just looking at and waiting for this development to finish up and you maybe would want to jump in and help out. Please do come in help us out help us get Drupal 7 out the door. And then I was like, yes, I will shift things around I will get over my anxieties. I will jump into the issue queue see where I could help out. And I remember that all I could really do was test.

IVAN: Very important part...

CHRIS: There is this issue, it's like hey, we need help testing all the JavaScript interactions that we built into Drupal 7. So it was like, okay! I've got like five six browsers go through each page. I'm going to test each page. And then webchick jumped on the issue queue and she said this is freaking amazing. And I was like star struck. Here's one of my heroes telling me that she's thankful of the effort I was putting it in at that point I was hooked, kind of like I wanted to to revisit that experience and maybe pay that forward to someone else down the line like if I can encourage other people to do all the things I just wanted to repeat that. As many times as possible.

IVAN: And you're doing that! You're at the core mentoring sprint. We're sitting in the room with core mentoring is happening right now before everybody starts arriving.

CHRIS: I think I've been doing the mentoring thing for like four years now, and that's kind of like my mission in life. My mission in life is to do whatever I can to empower other people to succeed. That's actually one of the Nerdery's core values, win by empowering others, and I know that I am not a genius. I've just been a person throughout my entire life that is willing to put in ample amounts of hard work. But there are those geniuses out there and if I could just put that seed of knowledge into somebody that they could take whatever I've been able to do and take it like light years further.

IVAN: So what's different in development today compared to when you first started, compared to D5, compared to where we're at?

CHRIS: I don't know how it is for other people. But for me, the main difference is how competent open source is. Like when I first started the company I was working at was like, hey this ColdFusion thing's really awesome. You should just really learn ColdFusion, we'll be doing ColdFusion like forever. I did we made some stuff with it was it was okay, but it was also proprietary. And every time every year that they had a major version everything was done in secret until it wasn't and then you were like, oh that breaks all my stuff. Oh you didn't actually solve any of the things I care about. So I mean with especially because I've been using Drupal for so long, when I have an issue with anything, I could jump in and create a patch, and then chances are if the if the patch has merit, it gets included into core and I don't have to support a fork of or at this this weird little thing I'm building on top. It's a part of the the thing and it's maintained by huge test suite. I can have a large amount of confidence about the tools that I'm using.

IVAN: Now, you're passionate about testing and automated testing. That's certainly something that I think we need more of in the world especially in maybe in agency life.

CHRIS: Yeah. Well, you know you go through that problem in a project where on deployment day you're just sitting there right that button and you're like, I think I know what's going to happen. Yeah, I'm pretty sure but am I do I have evidence, you know. Way back early in my career deploying was the most stressful thing possible because I didn't have a lot of confidence. I knew I fixed the things that I was working on, but you know, I've tested all the things I can. Maybe early in my career is I didn't actually test all the but when I press that button it's live and weird stuff might happen weird stuff happens that looks poorly on me and my abilities and if when you're starting off of it as a developer, you're like can I do this? Yeah, you're paying me to do this. I'm teaching myself how to do this, but. I know that I don't know everything, and I still don't know everything but you're like if I have like one or two jobs and people tell me I can't do this, maybe I'll believe them and maybe I'll just go be a car mechanic or something like that.

IVAN: Do you have a methodology that you use for testing? Do you have tools? How do you automate the process of testing your code?

CHRIS: Actually one of your friends Les, really opened my eyes to a practical approach which is to identify the five or so things about an application that are like if these things mess up then the soul of this project dies. And make sure that those tested. However, you can Drupal 8 has PHP unit which can cover functional testing, Behat is a tool set that is also somewhat supported. You just need to add in the extra libraries for Behat. You can write tests that cover those user experiences those interactions. In the past it was just straight up the Selenium client where they would record things you can just rerun that as I'm that's a macro.

IVAN: I think Behat integrates with Selenium as well. We called those four or five top things, critical paths at TEN7 and it's something we've always wanted to try to implement for a client but have never really been able to get there. So it's certainly a work in progress.

CHRIS: I had a client like three years ago and we were pitching the idea of having automated tests to them, and we actually try to break down some numbers. It's like look one test pass by one, quality assurance engineer costs this. We're planning on doing a number of iterations of this code base that that's what the project was. If we have that QA engineer do a full test passing generation, it's gonna cost this over the cost of the project.

IVAN: We can't see your hands.

CHRIS: Like the size of my head. So the sides of like to two or three of my heads would be the cost of like if we wrote automated testing so that that QA engineer doesn't physically have to test and retest all the things that the automated tests are covering and we can rake automated tests for the expensive things things that would take long in order to test, except for the fact that all the cost of writing those tests on the first iteration. So you pay upfront for the quality tests to get savings later. They were able they were receptive to that idea because they were if you're thinking long-term it makes sense.

IVAN: You invest in the beginning of the project to get the bang for your buck throughout the life of the project.

CHRIS: If you're an agency and a client comes to you, they could be very hinged on short-term thinking basis. It's just a sprint to get a site out there and then you're gonna hand it over to us and then we're going to go so maybe in that sense arguing for testing won't win. But I am I what I'm trying to get to is the point in which I am so fluent with testing that I don't have to make that argument like this testing is just a part of things and maybe it's a little bit of overhead. But because we're so was so tight, the testing is a minimal overhead.

IVAN: We're gonna wrap up soon. But I do want to ask you about Google+. You're a Drupal guy in my mind, and I know that you started the Google+ Drupal group. Is it called a group?

CHRIS: Community.

IVAN: Community, Google+ Drupal Community.

CHRIS: Yeah and when I started it, I called it the Drupal Community on Google+.

IVAN: Drupal Community on Google+.

CHRIS: Because someone has actually created a community before I did and they called it Drupal, and I was like, well, I don't want to do the thing where you name a thing and I named it thing and then...

IVAN: We have to fight about it and namespace.

CHRIS: I'll just call something a little bit different.

IVAN: So when did you start that?

CHRIS: Oh, right about the time the feature was released.

IVAN: And is it still in existence?

CHRIS: Yeah.. Yeah. The very first thing I did when that feature rolled out was I got in touch with all of the other people that had created community on Google+ for Drupal and I said, hey you're doing your thing. I'm doing my thing. Let's just work together. You know, I'll give you full administrative rights of this one, but you know, this will be a much better thing if we could just consolidate a working one. That worked out really well. We quickly got up to about 15,000 users and I found out that once you get that many users not some 1500 users. When you get to that number of users, you can't change your name.

IVAN: You can't.

CHRIS: So later when we consolidated, I could not consolidate the name. Couldn't change it back to just Drupal. Yeah, and now we're at 11,000 users.

IVAN: Wow, so the users that are in Google+ those 11,000 users, some of them are active some of them aren't. What are they getting from that community from that forum that they aren't getting on D.O or that they're not getting an IRC or they're not getting in slack or is there a lot of repetition? What's what's the value of that Google+ community?

CHRIS: There's a little repetition the posts are are visually different because of the way that they're able to combine pictures and videos and texts and stuff like that. And over the time the main reason why I created that was because of that feeling I felt when I was all by myself and there was no one I could talk to that also did Drupal because you know, I wanted wanted to have a place where other people who were just on their own could find a community of people to talk about Drupal. Kind of like an online group user group.

IVAN: So yet and yet another channel that makes people that might be more comfortable in Google+ accessible.

CHRIS: You know the philosophy was you know, if people use Google+ why not have a place that can just chill and talk about Drupal.

IVAN: I love it. Was there ever a Google Wave Drupal thing? 

CHRIS: Well Google Wave was never officially a thing.

IVAN: That's true.

CHRIS: But I was ready.

IVAN: I was there too.

CHRIS: I was you know, Wave was a really interesting unicorn, and we'll never see anything like it again. I don't think they were had huge plans probably those plans killed it.

IVAN: But they used some of the technology and other parts of their suite of products.

CHRIS: Yes their operational transform in Google Docs and stuff like that.

IVAN: That benefited incredibly didn't it?

CHRIS: Yeah.

IVAN: Thank you so much for spending the time with me.

CHRIS: Thank you. And I just want to add that of the Twin Cities Drupal Community, it's people like you that highlight how open and friendly Drupal is, it's a kind of a very challenging thing. If someone has that experience of a development community that has been really rude to them to give another community a chance, and you know at the first sign of this might not be a good thing people might be rude, you know that person like me would just run. Oh not not gonna do that again. But it's meeting people like you and people like like Joe and Tim and other people in Twin Cities that made me feel safe to participate and I want to thank you.

IVAN: Thank you. You're welcome and thank you for doing everything you do. It's important to not lose sight of the fact that we're all human and then we all have our own thing going on and is as welcoming as we can be to everyone is kind of what we should be doing. So, thank you for doing everything you do. Now you're cosmicdreams on drupal.org, but you're not cosmicdreams on Twitter.

CHRIS: Well that someone already had it.

IVAN: So you're @chris_m_weber on Twitter. You've been listening to the TEN7 podcast. Find us online on ten7.com/podcast, and if you have a second do send us a message, we love hearing from you. Our email address is [email protected]. Until next time, this is Ivan Stegic. Thank you for listening.

About Drupal Sun

Drupal Sun is an Evolving Web project. It allows you to:

  • Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
  • Facet based on tags, author, or feed
  • Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
  • View the entire article text inline, or in the context of the site where it was created

See the blog post at Evolving Web

Evolving Web