Episode 259  on February 28, 2018Behind the Screens

Behind the Screens with Nate Lampton

Nate Lampton spent his 12 year tenure at Lullabot working on Webform, Backdrop, and numerous client project, the most recent being grammy.com.  We sit down to talk about all these things and plumbing.

Transcript

Chris:
On this episode of Behind the Screens I am talking with Nate Lampton. Hi Nate.
Nate:
Hey.
Chris:
You are now back at Lullabot as a full-time employee again after taking a little bit of a sabbatical for ... not a sabbatical, we'll call it a little break to work on some other projects. Tell us all a little bit about how long you've been with Lullabot. You're one of the first Lullabots-
Nate:
Mm-hmm (affirmative).
Chris:
... and how everything's been going.
Nate:
Yep. I think I'm going on 12 years now at Lullabot, which is pretty much the history of the entire company. Like you say, I came back to do more full-time work. I tapered off doing some work directly at Lullabot to pursue Webform.com, which might be looking at winding that project down here in the future. But, For now, it continues to exist and be run as a service, but that was an effort that I put forward. I think we did a pretty good job but it got derailed by Drupal 8 of all things because of the amount of work that I saw coming down the pipe transitioning into Drupal 8, it would basically be rebuilding the entire site all over again. I got a little demoralized by the future that I saw approaching for webform.com
Then I actually ended up transitioning into, of course, the Drupal Fork Backdrop. Now my energy's being spent on Backdrop. You know, I find that is a more, I don't know, it's something that's more aspirational for me to make happen and is just something that's thus far been more successful than my attempts at forming a services based product around Webform. So, yeah, all of that time off, or part-time work basically allowed me to attempt to do something that maybe didn't pan out, but that's fine. I pivoted it into something else that I'm really getting a lot of enjoyment out of, so it continues to be rolling that way, even now that I'm back working full-time we still have some opportunity to contribute time and effort into Backdrop. Without that transitional time I wouldn't have been able to do either thing, so I don't regret that at all.
Chris:
You definitely have not been ... You've been keeping, busy we'll say. And, so, Webform.com, not to be confused with the Webform module for Drupal, although it is, it's based on ... Webform.com is based on the module, webform.com is a service that you could add to your website to have interactive web forms.
Nate:
Yep. Yeah, exactly. It was Webform, the module, as a service and you could embed the Webforms onto your own site or you could just send them out as links and mailing campaigns like you might with the Survey Monkey, survey, for example. The value add there that I thought would be unique would be there's no lock-in whatsoever. Not only is the data yours that you can actually export all of it and get it onto your own instance of Webform, and there's even tools to do a full export and then import into your self-hosted version of it. It was kind of like the ultimate open source data store that not only did you own the data, you actually literally could export the data and then set it back up again in a self-hosted version.
Chris:
Oh wow.
Nate:
So it was pretty cool, still is pretty cool. It still works to fulfill all of those things. But, yeah the Form space is highly competitive and Google got into the space and a lot of people just use Google Forms now and saves them into spreadsheets. Some other competitors that are out there have also just really shaped up really nicely.
At the time that I started Wufoo had been bought by SurveyMonkey and then they basically let it die. Wufoo's still around but the development on it hasn't been very inspirational for a long time. Other new competitors came up and I'm just looking at it going, "Yeah, they're doing this better than I can with the resources I have." I think that it's time to just say, "That was a nice shot, but..."
Chris:
Yeah, fun while it lasted, but other more pressing things to point your attention towards.
Nate:
Yep.
Chris:
So Webform module has been taken over by Jacob Rockowitz now. When Drupal 8 came around he started with Yaml Forms, I think it was called, and then, is that what it...
Nate:
Yeah, yeah, Yaml Forms, that's right.
Chris:
Yaml Forms. Then it made sense he approached you and took over the name space for Webform module, so he's running with Webform now on-
Nate:
On Drupal 8.
Chris:
... Drupal 8.
Nate:
Actually, it wasn't actually Jacob that wanted to do the name Webform. It was, I can't remember exactly who in the community it was that made the suggestion just that Yaml Forms basically was turning into cover 100% of the functionality in Webform module. Somebody just was like, "This doesn't really make sense." The Drupal 8 part of Webform has been started and then failed by a number of different attempts. Meanwhile, Jacob was over there making Yaml forms and replicating basically all of Webform. We came together kind of as a community and had a discussion about why not just call Yaml Forms Webform. Rename the module because there's no point in porting Webform to Drupal 8 if Yaml Forms already does like 90% of the functionality. Actually, was explicitly going through every feature of Webform and making an issue to match that feature parody . So it was very clear that it was trying to fill the same need that Webform provided previously. Why not change the name of the module to Webform and then provide a migration path eventually and then get that same name space and some continuity for people that are upgrading. I think it was a great compromise basically because I wasn't interested in making a Drupal 8 version of Webform and Jacob basically had already done it.
Now it's highly contentious some of the things that have been going on in the Drupal 8 version of Webform, but I am just like, "Go for it." Jacob came in and did something nobody else could do and his attempts to make Webform sustainable through various attempts, like whether it's the dependency on contribute module that funds money into the DA, or the kind of built-in relevant services that can be integrated with Webform, and basically providing built-in integrations, and in some ways suggesting that people use these services. I think all of those things are great, like he's doing things that solve, or trying to do things that solve problems around sustainability that nobody's really been able to figure out in the Drupal community, including myself. Webform.com was an attempt at solving that same problem, like how do we make open source development sustainable. My hat's off to the efforts that he's put forward in making Webform for Drupal 8 and also his attempts at making that sustainable from here on out.
Chris:
What projects have you been working for Lullabot lately?
Nate:
Well we just finished up the Grammy's. This past weekend we had the Grammy's and Lullabot built out this homepage feature called Backstage that would take a JSON feed that had a really short cache lifetime, so editors could publish out changes to content and even flag the winners of the Grammy Awards. They would save them through this JSON feed that had like a five second cache lifetime. So from the time that the winner was announced on television to when it showed up on the website without reloading or anything like that, it would be about 12 to 15 seconds, which was really great. We actually had this hilarious thing where the livestreams that we were having, the livestreams actually had a longer delay than the Ajax based display that we had of the leader. It actually was showing the winners faster in our interface that was in Drupal than it would in the livestream that was right next to it. It actually was a little bit of a problem because some things you would see the awards being handed out and the leader board would tell you who won before you would be able to see it. We hadn't expected that, but these are the sorts of things that you learn I guess during live events that couldn't have foreseen very easily.
But it was fantastic, just the technology stack that we built out. It was a React app on the front end and it basically was a React app that was self-contained all just within one Drupal block. We had a module that had a React app inside of it and we would compile down the CSS and JavaScript into a single file, and then just embed that file, attach it to block with pound attached and we basically had React in a block and it was highly dynamic and pulling from some JSON feeds that were Drupal menu callbacks. It was like this neat combination of a new front end system, like React, and just standard Drupal data structures on the back end. We didn't do anything fancy for those feeds, we just had a custom Drupal menu callback, some SQL queries, and assembled all of this data, we needed it to be fast, of course, so we avoided any entity loading and anything like that, just literally one select with like twelve joins, and then we would pull out the list of the nominees and who won, or the list of all content that was being published, and narrowed that down into really tight JSON data structure and then fed that to the React frontend and it was a really great winning combination and it totally killed it on show night. It was fantastic.
Chris:
That's awesome. So we were, how close were we to spoiling all of the Grammy's?
Nate:
Well, it only mattered for the livestream of the awards that they only show, they only give out like a dozen awards during the CBS broadcast, and that's what most people think of the Grammy's,
Chris:
Uh huh (affirmative)
Nate:
But there's like seventy other awards that are handed out throughout the course of the day, prior to that. And that was discrepancy was more important. So, I don't know if we've really spoiled it or not, it just, I mean it did just kind of remove some of the excitement from watching the livestream, which was unintentional.
Chris:
Yeah.
Nate:
But ultimately, most people don't look at those Grammy's until after the CBS broadcast is over. They check who won everything, all at once at the end of the show. So, it wasn't very much different than usual, I don't think.
Chris:
Sure. That's pretty impressive, though, that Drupal was able to keep up through all that. With the volume that goes through the Grammy's website during the awards ceremony. And, we've done the Grammy's a number of years before, and we've done excellent at it.
Nate:
Yeah, in previous years Lullabot had more central role. This year we were just doing one very specific thing. And, other teams were responsible for the remainder of the website. They did excellent this year and there were no caching problems, or anything that came in that we didn't have adequately set up to have a cache lifetime. Because Varnish takes almost all of the hit, and then we have CDN in front of that Akamai that absorbs most of the actual bandwidth.
Chris:
Mm-hmm (affirmative)
Nate:
All of those things worked great. And then Backstage, which is the new thing we put on the homepage, that had this, as you were sitting there new content was being pushed to you without reloading the page. That was only tricky in the aspect that we needed to publish our content super fast. And we did that through just a short TTL, and those JSON files. It was a little bit strange to have a, you know, a page that only had a five-second cache on it, but five-second cache can give you tremendous benefit over no cache.
Chris:
Oh yeah.
Nate:
Which would have just been catastrophic. It's just, even a really short lifetime can just be the huge, huge saver for your, for Drupal or whatever your origin software is.
Chris:
So, what's going on with Backdrop these days? How are things going with that project?
Nate:
Things are great, actually. Our community is growing. We just released Backdrop 1.9. It's kind of interesting we're at this pivotal point where we need to decide what happens after 1.9, 'cause, you know, historically people might think that 2.0 comes after 1.9, you know, just 'cause it rolls over, and that's actually what Wordpress does as well. But, the upgrade process that people are moving, like off of Drupal 7 at kind of a much slower pace that we had anticipated. I'm sure the Drupal community feels that as well, but the Backdrop community also is responding to how quickly people are moving off of Drupal 7 because we want to be the alternative that you can continue basically using a Drupal 7-like stack that's much better and improved and updated by pointing a new installation of Backdrop at your Drupal 7 database, and then running up the PHP, it just upgrades all of your content just like Backdrop is the next version of Drupal.
Chris:
Hmm
Nate:
But, yeah, we decided that we weren't ready to give up the backwards compatibility with Drupal yet because so many people haven't even gotten off Drupal 7. It's was too soon to remove our compatibility with all of these Drupal modules. Which, to be clear, Backdrop isn't compatible to Drupal modules, you still have to port them. But, it's, like, a really simple thirty-minute process for most modules. Going to 2.0 would indicate that we would drop our Backwards compatibility layers.
Chris:
Right. Gotcha.
Nate:
And, there's just no point in doing that yet. So, the next version will be 1.10, and we'll just kind of continue rolling, making iterative improvements to Backdrop, and it's, you know, it just gets better. Every four months we have a release, and it's just getting better and better, every single one of them. I mean, it's been three years now since Backdrop 1.0 came out, 'cause you know we're at 1.9, so three releases a year, you know.
Chris:
Yeah. There you go.
Nate:
Three years. So, yeah, it's just crazy. Looking back on where we were when Backdrop 1.0 came out and where we are now, it's just a really excellent set of improvements that we have and they just keep coming in, just like month after month. Great new stuff. It really makes it seem like the Drupal 7 era, where we were locked into this thing that wasn't changing, is just really, like brutal time in our Drupal history. I mean, it's funny, 'cause like, you know, in the hayday of Drupal and maybe that will never really approach the number of sites that were running Drupal as we did during the Drupal 7 era. But as a developer, man, it was just frustrating, working with like a ten-year-old version of JQuery and ...
Chris:
Right.
Nate:
You know, getting Rich Text editor set up, it was just a disaster. All of those problems are just non-issues in Backdrop, and it's just a great, fun platform to be working on.
Chris:
So, some advice, maybe, for someone who's got a Drupal 7 site, or ... they're kind of, and I think we've talked a lot about this before. What's, when's the right time to go to Backdrop, or should you consider Backdrop versus Drupal 8. What's one piece of advice you would give somebody who's considering making a move, or needs to upgrade their platform, whether they should go to Backdrop or not?
Nate:
Well, the greatest aspect of Backdrop, in my opinion, is if you've got budgetary constraints and maybe you've been seeing your, you know, Drupal maintenance's been an issue for you in the past, Drupal 8, we believe will not lower the cost of owning a Drupal website. It will probably get a lot more expensive and the migration can be a really big hassle. The concept of Backdrop fundamentally is, you know, let's really try to reduce the amount of time and money that is spent maintaining websites, essentially. We feel like moving from Drupal 7 to Backdrop is a much, much faster and easier process beaus that was our goal from the outset, was to provide a sustainable future for Drupal 7 websites, like continuity, you didn't need to rewrite all of your custom code or modules, and you can just upgrade them and that's a much faster process. So, that doesn't mean that Drupal 8 isn't going to be successful, it's just that now, in the world of Drupal, it's kind of been solidified that Drupal has an audience and that's through the new tagline, you know, creating ambitious digital experiences, which basically puts Drupal in the higher ends of quadrant, as far as like, sites that need a lot of functionality, but sites that also have a lot of budget.
Chris:
Yeah.
Nate:
And, Backdrop specifically targets itself towards this combination of sites that need a lot of functionality. Maybe less so that a complex Drupal site, but have a lot less money to work with.
Chris:
Mm-hmm (affirmative)
Nate:
So, we're ... that combination of simplicity kind of a Wordpress, but the power you would expect from Drupal 7, which is really powerful. It's done all kinds of crazy websites. Instead of continuing to trend towards more abstraction and more complexity to handle all of these use cases that just continue to contort your Drupal site into doing all of these things. We're kind of backing away from that and really focusing on just like Backdrop is software for making websites, and just really focus on the website itself.
Chris:
Nice. So, to move away from the tech talk for a little bit. If you woke up tomorrow and the internet had disappeared. Now you have all the time in the world to make improvements to your house, which I know you've done a tone of lately. So, what would you do with your time? Besides makes nothing but improvements to your house.
Nate:
Ah, that was my answer, though.
Chris:
Okay, you really enjoy that and you're good at it. You've done some amazing stuff to your house.
Nate:
Yeah, I've really started to enjoy working with my hands and building things. It's really not that different from what I do online, is that I love to build. I love to create things, and I've been doing a lot more work with my hands, making things with out of wood, or just doing home improvement-type of work, you know, framing and adding walls. Moving things around. Even plumbing. I've been doing a lot of plumbing. And, electrical work. I don't know. Given ... if there were no internet, and let's just extend that to say there were no computers that, you know, that I could expend my creative energies on, I would just be making something else. I'm just a maker, and I love making things. And so, even without the internet it would just turn to more physical things. I think. I don't know what that would be, entirely, other than just home improvement stuff, but it would be, yeah, it would just be in the physical space.
Chris:
Yeah. I gotta give you a lot of credit for going, going at it with the home improvement stuff. That terrifies me when you start getting into things, things that pipe water, or have electricity running through them. That's, I don't know how you feel so comfortable getting in there and doing it, but I'm very impressed by all of those stories that you share and some of the videos and photos we've seen.
Nate:
You know what is really funny about the physical home improvement type of stuff is that I bought copies of the California codes, the plumbing code and the electrical code, and along with those purchases, if you purchase them from the official sources, it also gives you a membership to a group of professional plumbers or professional electricians, and you basically ... I've haven't actually signed in ... my understanding is basically purchasing a copy of the code basically gives you permission, not really permission ...
Chris:
Access?
Nate:
Yeah, it gives you access to talk to this other group of professionals, and you basically get to debate about what the code should be. And, the code is nothing but like the consensus of, like, thousands of plumbing professionals that have all gotten together and decided what the code should be. So, they're actively like discussing and debating and deciding, like, new products come on the market, and they have to figure out how they fit into the official plumbing code. And it's kind of incredible because it's like the Open Source community.
Chris:
I was just thinking that.
Nate:
So, I had never thought of there being like the same kind of consensus driven system applied to something like plumbing. It just hadn't occurred to me. I just thought, I don't know, some lawyers were coming up with this stuff somewhere. But, it actually turns out anybody can be a part of this community where you can decide the future of how plumbing works in America by being a member of this consortium. So, it's really cool. I had no idea that that was a thing.
Chris:
That's pretty crazy. As you're describing that I'm thinking it's kind of like the hands-on version of "should we put reacting core?
Nate:
Or, any decision regarding Drupal.
Chris:
Yeah. Totally. That's a whole other path we're not going to go down on this episode though. We'll wrap it up by ... I always wrap up the same way ... if you could share some gratitude or thanks with somebody who gave you a push along the way when you needed it, or you saw an inspiring presentation. Anybody come to mind?
Nate:
Well this seems really, I don't know, probably lots of people feel the same way, but some Open Source founders I just find to be really inspirational. Mostly because of the way they created something and then gave it to the world and kind of stepped back from that. It would probably be the founders of the Apache Projects, which they created it and most people, like, there is no, like, Linus Torvald of the Apache Projects, like people, everybody knows about Apache. It's one of the most successful Open Source projects ever. But, people can't tell you really who the founders were of the Apache Projects because they basically came forward and just said, "Here is our project.", and they set up a project management committee as we have done in the Backdrop world, and kind of distributed their authority to groups of people, like democratized the leadership of their projects.
And the same thing with JQuery. Even though it, people know John Resig is the original author of JQuery, he did the same thing. He basically started a foundation and gave the reins of the project over to the foundation, and a set of other core maintainers. And, I just find that to be the truest form of, like, of Open Source gifting. I really feel like these are people that tried to make something amazing, give it to the world, and then, like, you know, let it go, like it's not tied into their egos that they need to be the owner of this thing, it's really just, like, you know, I'm doing this for the good of the internet, or the good of the world, and I'm just ... It doesn't matter if it's mine or not. It's everyone's. I really love that.
Chris:
Wow. That's amazing. Yeah. I hadn't thought about that before. You can name a lot of the heads of these organizations, but, yeah, Apache ... I really like that. And, I've heard you talk about the way that you've structured Backdrop in that same fashion, so, that's really cool to hear it that way.
Nate:
Yeah. And I hope that eventually, you know ... First of all I hope that Backdrop is something that changes the world. That would be really amazing. And I also hope that our community grows so that we can pull in these people and, you know, like I won't always be like the Backdrop person, like hopefully it'll just kind of transition into, like, we are a community and it doesn't really matter, like, who our superstars are or anything like that. It's just about software, you know, and what can we do together and not so much about celebrities.
Chris:
Totally.
Nate:
So, that's what I'm hoping for, and I hope we can achieve that.
Chris:
Well, awesome. Nate, thanks a lot for taking a few minutes. This has been great.
Nate:
Alright. Alright, thank you very much, Chris.
Join the conversation
newsletter-bot