Django the Dinosaur: A Story About A Web Framework with Julia SolĂłrzano

This video features Julia SolĂłrzano at DjangoCon US 2023 in Durham, North Carolina, USA.

Django the Dinosaur: A Story About A Web Framework with Julia SolĂłrzano
0:22:56
Published November 22, 2023
578 views

This talk was presented at: https://2023.djangocon.us/talks/keynote-django-the-dinosaur/

LINKS:
Follow Julia Solórzano 👇
On GitHub: https://github.com/juliaelman

Follow DjangCon US 👇
https://fosstodon.org/@djangocon
https://twitter.com/djangocon

Follow DEFNA 👇
https://www.defna.org/

Video production by the presenter and DjangoCon US 2023 volunteers.

Summary

Django began in 2003 at the Lawrence Journal-World, where Adrian Holovaty and Simon Willison created a Python framework to help journalists publish content quickly. Julia Solórzano traces how Django responded to challenges from newer web technologies through improved websites, Django Girls, broader patterns of use, and Channels, which added support for WebSockets and other non-HTTP protocols. She argues that the Django community should approach the current AI and large-language-model era as “leapers,” using these tools to understand unfamiliar code, write and improve tests, simplify code, manage packages, and make programming more accessible—while treating progress, rather than a final destination, as the goal.

Key takeaways

  • Django was created in 2003 to help Lawrence Journal-World journalists publish content more quickly.
  • The project adapted through redesigned web properties, Django Girls, flexible usage patterns, and Channels’ support for WebSockets and other protocols.
  • SolĂłrzano identifies leapers, bridge builders, and tradition holders as three ways people respond to technological change.
  • She encourages Django developers to use AI to explain unfamiliar code, extend existing applications, write tests, simplify code, and tackle package-management problems.
  • She sees AI-assisted learning as a way to bring more people into programming and grow the Django community.
  • Progress has no finish line, so the community should keep experimenting while using change to make difficult parts of development more understandable.

Summarised automatically from the transcript.

Chapters

  1. 0:00 Introduction Julia Solórzano introduces herself and frames Django’s story as a journey through technological change.
  2. 2:26 Django’s Origins The talk recounts Django’s creation in Lawrence to help journalists publish content more quickly.
  3. 4:47 The Call to Adapt Django’s growth leads into the 2012 challenge posed by cloud computing, JavaScript, JSON, WebSockets, and client-side rendering.
  4. 6:30 Community and Platform Evolution The talk surveys Django’s redesigned web presence, Django Girls, and efforts to use the framework beyond its traditional patterns.
  5. 9:36 Channels and the AI Era Django Channels expands the framework beyond HTTP just as artificial intelligence creates a new technological challenge.
  6. 12:01 Personas of Change The speaker introduces leapers, bridge builders, and tradition holders as different responses to technological change.
  7. 13:32 AI-Assisted Django Development The Django community’s potential uses for AI include understanding unfamiliar code, improving code, and writing tests.
  8. 15:51 ChatGPT and Package Management A Django blog example demonstrates iterative AI-assisted development before the talk considers package management and debugging.
  9. 18:15 The Future of the Django Community The talk presents AI as a way to expand access to programming and emphasizes progress over reaching a final destination.
  10. 20:35 Questions The speaker responds to a question about whether AI could create distance between developers and their tools.

Transcript

3,516 words · auto-generated Show

Automatically transcribed, so expect mistakes in names and technical terms.

0:21

Speaker 1: Now what y'all have been waiting for, um I want to introduce our keynote speaker. So Julia Solersano is a senior director of user experience and an adjunct professor at Georgetown. And she's going to be sharing about the past, present, and future of Django and our current digital age. And we're super excited to have Julia here to give an awesome keynote talk. So please everyone give a warm welcome to Julia

0:47

Speaker 2: Okay. I am just completely in awe this morning seeing so many of you at DjangoCon US. I remember I was at the very first DjangoCon. I was just talking this morning to someone about this, in which we were uh at Google and they hosted us because it was very nice. and bringing a suitcase full of t-shirts and trying to scrabble together like what we're gonna eat and what we're gonna do and just to see such a well-organized conference. It's just completely mind-blowing to me where we're at. now and I'm completely honored to give this talk today. So it's called Django the Dinosaur, a story about

1:33

Speaker 2: a web framework. But before I begin, I'm going to tell you a little bit about me. So I am originally from the lovely state of Kansas. But thank you. And I currently reside here in Dirt the beautiful Durham, North Carolina with my wonderful husband, three kids, and three fish. I have over two decades of experience working in the tech industry and previously worked on Django at the Lawrence Journal World, which may have been talked about. uh already at the conference and if not probably at a lot of conferences you've been at about Django beforehand. And then I've also I worked at private companies, but I've spent predominantly the last 10 years working in the public sector in civic tech, which is where my disclaimer comes in that this talk has nothing to do with my current employer or anything that I currently do

2:26

Speaker 2: in my regular day job and is not representative of anything uh from my that my employer from my employer. So that's my little disclaimer here. So there we go. I'm also adjunct faculty at Georgetown University, in which I teach human-centered design at the School of Continuing Studies. But enough about me. Today I'm gonna tell you a little story. A story about a dinosaur named Django. As with all good stories, it starts with a once upon a time. So once upon a time, there was a little dinosaur named Django. Now we all know Django. We're all here because of her, because she laid the foundation for the work most of us did in this room and why I'm speaking here today.

3:20

Speaker 2: Named as the web framework for perfectionists with deadlines, Django was born in a smallish town. I'd say Lawrence is smallish. In the autumn of 2003, when two developers, Adrian Holivati and Simon Willison, both came together, they knew Python and they wanted to create a web framework. To make it easier for journalists to be able to create content faster in the newsroom. So Django was born out of that solution that they created. So I wanna say this is a very prehistoric photo of that time period from this era, from this prehistoric era of Django, in which you can see Django the dinosaur, and it's well captured here. Some of the faces you may recognize.

4:07

Speaker 2: So Jenga was living a pretty content life and growing rapidly. Big name brands that you may have heard of, Pinterest, Instagram. We're using Django's power to be able to create content and websites very fast. The code base moved from SVN to Git, which made it a lot easier for people to peep people to be able to contribute. And the community continued to grow and expand in both support and expansion of the code base. Life was pretty great. So, fast forward to many, many years later in 2012 in Washington, DC. It was the prehistoric era of conferences in the Django

4:53

Speaker 2: world and the dawn of asynchronous interactions on the web. Now, one of the keynote speakers at this DjangoCon was Jeff Schmidt, co-founder of Meteor. js. At the time it was called Meteor. js, which is now called Meteor, which was an up-and-coming JavaScript web framework. Now how many of you in here, I'm just curious, how many of you in here have heard of Meteor? Raise your hands. A lot of you in here. So at the time it was getting a lot of attention, a lot of attention in Silicon Valley and in the tech space in general. So in his talk, he described that after many years of stability, things can change drastically. He spoke about how we were living in the age of the cloud era. JSON, WebSockets, and client side rendering.

5:42

Speaker 2: In the conclusion of his talk, he looked out at the crowd and displayed this slide that stated that Django must adapt this reality or die. He stated, you need a story, or someone with a better story is gonna going to be the dominant dominant apex predator. This made Django very sad and worried. Adapt or die? How was the dinosaur going to be able to do this? Was a framework like Meteor gonna come crashing down and destroy Django's future? Whether Django likes it or not, change is inevitable. And like most things in the field of technology, change is part of the technical life cycle.

6:30

Speaker 2: And Django need to go through some changes. Here are some notable changes that I want to note, and there were a lot, but here's a few of the changes that happened shortly after this talk at DjangoCon 2012. One of the first things to change was the overall branding and web presence of Django. In 2012, Django put out a call for volunteers to redesign the Django website. The primary website, the documentation site, and the issue tracker. And in 2014, the freshly designed set of websites launched, giving Django a much overdue update. This sort of new coat of paint made Django's websites easier and more user-friendly to navigate, along with helping to support the ever-expanding community.

7:20

Speaker 2: Myself as a user experience professional very much appreciated this as well. Speaking of expanding the community Also in 2014, Django Girls was founded by Ola Sitarska and Ola Sendek to inspire women from all backgrounds to get interested in technology And to become programmers by offering a safe and friendly environment for learning the web framework. So there was an event this past Sunday. Did anybody go to that? I was sadly not able to attend that event, but I'm sure it went very, very well. Also, a book came out in 2014 Hold on a second, that's not right. There we go.

8:06

Speaker 2: So a book came out in 2014 also by O'Reilly that was about Django and this concept that Django could be used in several different ways. So one of the ways being in an asynchronous fashion, using WebSockets, Backbone, like how do you actually do this? There's this big question about how can you actually make this work together And so this book talks about this, but it also talks about this other part of Django, which you don't need the ORM. Like you don't actually need the ORM in order to run Django. So I highly recommend this book in order to actually, it's quite old in terms of the code base and everything, but it's quite good to start thinking about like how else can you use Django in different ways. So you're breaking out of the mold.

8:51

Speaker 2: Because at the time of this book, it was really much of it was very much about like the the um tutorial was the way you do it. This is how you do Django, right? You start learning Django, you learn through the tutorial, you don't stray from that. This book helps to get away from that thinking to be able to think in other ways. And the first chapter being the smallest, the world's smallest Django application. So highly recommend that. So a few years later in 2016, Djangled Channels was introduced. So how many here use channels on a regular basis? Just a few, interesting. So channels is a project that takes Django and extends its ability beyond HTTP. To handle WebSock,

9:36

Speaker 2: chat protocols, IoT protocols, and more. Whilst Django still handles traditional HTTP return response, Channels gives you the choice to handle other connections to either synchronous or asynchronous styles. So Django had made it through the asynchronous era, coming out on top with the ability to go forward with class and style. But as with all points in time, we're currently walking into a new technological era, the era of artificial intelligence. Popular emergence of artificial intelligence and the learning capacity of large language models has resulted in a new way of thinking about how to leverage this technology.

10:25

Speaker 2: In a New York Times opinion article written by Farchad Manju, he writes about how artificial intelligence is quickly getting smart enough to rival human coders. He wrote about how writing a program is nearing extinction, right? And that this could be the end of programming as we know it. This new era has also resulted in companies having to make some difficult decisions about the future of their company and what they are moving towards. Nearly a year ago, Facebook laid off 13% of its workforce. Amazon followed shortly, along with Microsoft. analphabet.

11:12

Speaker 2: Over this past summer, Zapier was also one of those companies As part of its commitment to transparency, they very openly conveyed how AI and LLM are part of the reason for the 10% decrease in their staffing. I'd like to note that Zapier also publicly announced how they're going to help their laid-off workers through their Zapier Next Play program and commend them for doing that. Now what? Django just made it through the asynchronous era and now is faced with the challenges around how it fits in this world of AI and LLM. Where to even begin? Let's take a moment to take a step back in history and talk about change.

12:01

Speaker 2: I recently listened to an interview by Maria Judas, who's an author, designer, and thought leader, talk about persona types she identified in her research and what their relationship is to change. In her research, she found that there are three distinct types of personas when it comes to change: leapers, bridge builders, and tradition holders. So leapers are the persona types that are early adopters and supporters. They love to start new things. They will run into a burning building and will volunteer their time because they believe in the mission. Then you have your bridge builders.

12:46

Speaker 2: People who are on board, but they're still a little resistant, you need to give them some data, some information before they make their final decision, because they're on the fence here. You have to kind of win them over with that information. Then you have your tradition holders. These are the folks that are most resistant to change based on the research. They're fatigued around change. They resist. They consider you a threat. And it's really important to pay attention to those folks. And in listening to these different persona types, it made me realize a few things about the Django community in relation to how I see this community moving forward in this era.

13:32

Speaker 2: The Jangosh community has shown themselves to be a group of leapers in the past. We are a community that tries new things and makes the choice to move things forward. And one of those things I see is to start thinking of ways to leverage AI and LLM to help make better decisions as programmers. Here are a few notes on that to think on for you all here in this room. So this is based, this information is based off of research that was done on what developers are doing right now with AI to help them in their programming. So things like expanding the functionality of code, providing guidance. How many of you have come to a code base that you've never even seen before and somebody else wrote but you've got to work on it?

14:19

Speaker 2: Raise your hand. Like every single person in this realm, right? So imagine a world in which you come to the code base and you have something that's gonna walk you through what this thing is actually doing, right? So that's one way. So simplifying the code, making beautiful code. Who doesn't like beautiful code? I personally like a set of beautiful code they look at that's well organized. functions well and I can read it very clearly. So leveraging things like AI to help teach you and have that back and forth communication, which I'll go through some examples of that in a moment. Also, who likes writing tests? Who likes writing tests? Yeah, there's a few. Well good, there's a lot of like me. So I personally enjoy writing tests.

15:05

Speaker 2: There's a lot of people that hate writing tests. I like writing tests because I think it makes me a better programmer overall is to write them and really understand how to break something and then fix it and break it again and fix it. So um but imagine for those of you that don't like writing the test or you'd rather that this particular test be written by something else or someone else leveraging AI to do that for you, right? So and here's more examples. There's a link and I'll share all these links as well out in the Slack channel so that you all can go through that research on your own as well. But I put it in the slide. So here's this little example that I put together using ChatGPT to just ask ChatGPT like, create a blog in Django.

15:51

Speaker 2: Like let's see what happens. So it's going to walk you through exactly what to do in order to create a blog leveraging Django and how it works. So it writes it as if it's a technical book. or a tech or technical documentation. I say book because my mindset's always there. And uh but yeah But then I thought, well, let's do some response here and make it a little better. I want to add a photo album to this blog and see what's going to happen and what it's going to do. So it says, hey, okay, so I'm going to add this photo album to the blog and to this code base that I just wrote. So it's an expansion Not just on the code in general, but on the code you already wrote. So it's referencing the code that's already been written.

16:38

Speaker 2: So I'll let it run through here. We had a fun little conversation, me and Chat GPT. Now this is a very specific example and this is just kind of a big ask because I've Uh it's not called Twitter anymore, it's called X. But I have tweeted in the past when it was called Twitter that uh you could probably get a PhD in package management because it is just so complicated and I would love to see AI being used to help with package management. I just want to picture a world in which you don't have to think about for a moment how this package and this package actually work together in order to create something or actually figuring out This one is going to work with this one or debugging in general.

17:26

Speaker 2: So if we could figure out a way to make it easier in leveraging these types of technologies to make package management easier. That would be amazing because that's the thing I would say people spend the most time on in getting things set up and working properly or debugging is how these packages are organized and how they work So is there anybody here from PiPie that's attending or watching at home? So, hi. So So yeah, those of you working in PyPy, I would love to talk with you because you can't talk about PyPy and not talk about Django. They go hand in hand. And then I think the biggest thing overall is that using AI and LLM is going to expand and it's going to be easier for people to become programmers.

18:15

Speaker 2: So I know personally when I was starting out, it was incredibly difficult. I was terrified to ask questions. So having that that model where you can ask something else, maybe not a person, but something that's gonna that's learning over time about how to teach people how to code will be incredibly valuable. And there's been examples of that out there already. Um I'm really impressed to see what some of these Learning modules are actually doing. But that's I think the biggest thing is expanding and having more programmers in the world, more Django programmers, more little dinosaurs that are cute. So the big thing is that think of all the progress that we've had so far as a community, as a Django

19:02

Speaker 2: community. So we're never going to get to the finish line. There is no finish line. It's never over. Technology is always going to grow and expand. And I love this quote from Rhea Judas from that podcast that I was listening to, that it's not about the finish line. It's about the progress and these steps that you make along the way. And I can easily say that just by seeing all these people in this room, and it's just filling my heart, that we are making that progress and that we will continue to. Change can be hard, but it really doesn't have to be. You have to decide how you want to be and go with the change. And from that past history, the Django community has really proven to be a group of leapers

19:48

Speaker 2: from the dawn of time. Because if we all didn't take a chance and take the leap and even try out Django, something we probably didn't know or even understand, we wouldn't be sitting in this room today. So I look forward to DjangoCon 2024 and hearing about all the talks and talking to you all about what you're doing in your day-to-day with AI, LLM, and how you're advancing. uh the Django community. Thank you very much. I'm happy to take questions. I don't know how we're doing questions here.

20:35

Speaker 3: Thank you very much. When you were talking about package management. I was worrying that I don't understand it's something I don't understand. And now if you bring artificial intelligence in there to do the understanding for me, I will never understand it. And there'll be it it won't get simpler because I won't it doesn't need to get simpler because it doesn't need to be made understandable by people like me. So Is that something you worry about? That we're introducing layers between us and the things that we ought to have some kind of an understanding of? Is that a risk?

21:14

Speaker 2: That's a great question. Thank you. I don't see it as a risk. Here's why. I see it as a way to be able to better understand it. Right. So for leveraging these technologies to understand how package management works or is broken in general, then it's gonna make it easier for package management to actually get better, right? Because with AI, it can run through all these different scenarios like that in order to figure out what's actually going on and what is the problem. I can tell you that I spent hours upon hours and early in my career, days, trying to figure out what is going on, what is the problem, why can't I get it to work? And it's because

21:59

Speaker 2: things are not updated. And then I have to actually go sometimes, and I would love to know from the audience, you have to actually go to the person that's managing that package and say, hey, can you please update this And you go to that GitHub repo or the GitLab repo and you say, hey, I need you to update this in order for this to work, and leveraging AI to kind of run through those scenarios for you. So that's what the way I see it working. Just so PyPie knows, if you want to come talk to me, I'm happy to workshop this with you. But that's kind of the way I see it working. It is absolutely 100%. Very difficult and hard to understand. Agree with that. But I think it could be better and we can leverage these things to make it better. And at least try, you know? Yeah. Good question.

22:43

Speaker 1: All right. Well, thank you, Julia, so much. That was amazing. Really appreciate it.

Questions this talk answers

How was Django created?

Django was created in Lawrence in 2003 by Adrian Holovaty and Simon Willison, who wanted to make it faster and easier for newsroom journalists to publish content.

Discussed at 3:20

How does Django support asynchronous applications and WebSockets?

Django Channels extends Django beyond ordinary HTTP so applications can handle WebSockets, chat and IoT protocols, using either synchronous or asynchronous styles alongside traditional Django responses.

Discussed at 8:51

How can AI and large language models help Django developers?

AI can explain unfamiliar code, expand or simplify existing code, improve readability, generate tests, and help developers learn through an interactive back-and-forth. The speaker also sees AI lowering the barrier for people learning to program.

Discussed at 13:32

Can AI make Python package management easier?

The speaker believes it can: AI could examine many compatibility and debugging scenarios, identify what is broken or outdated, and help developers understand how packages work together instead of spending hours or days troubleshooting manually.

Discussed at 21:14

Note: We understand that names change, people change, and bodies change. We respect each individual's journey and privacy. If you have any concerns about a video or need us to remove content, please don't hesitate to contact us. We will handle your request with care and promptly address any issues.

More videos from DjangoCon US