Transcript: Accessibility - Sarah Abderemane
Hi, welcome to an episode of Django Chat, a podcast on the Django web framework.
I'm Carlton Gibson, joined us by Will Benson. Hello, Will.
Hi, Carlton.
Hello, Will. And today we've got Sarah Dariman with us. Thank you, Sarah, for coming on.
Thank you for having me.
No, we're really excited. We're really excited.
I always think you've been around for a few years in the community, one of the newer people in the community.
And so for me, I'm an old man now with my walking stick.
But tell us who you are. How did you find Django and how are we so blessed to have you?
Okay, this is a long story. I will try my best to explain.
Yeah, no, they're the best ones. We like them.
I don't have the usual path.
I started with a marketing degree.
I was planning to do like international trade, which I didn't really like it at the end.
But during my studies, I met a developer and we talked a lot since I really want to do marketing stuff.
And I found it really cool what he was doing.
So he was explaining how it works, how we do so.
And during...
So during my studies, I have a course to do when you have to build a website, but not really with code and with some blocks with Dreamweaver.
Long, long way back to time.
That's how I got started.
Yeah, same, Dreamweaver.
So I found it really cool.
Even I didn't really work through the code and I talked to my teacher and told me I should...
Go this way and start to learn by my own.
So when I finished my studies in marketing, I started to learn by my own with some resources on the internet.
And the developer I met during my internship helped me to have some guidelines.
And then I done a master in programming.
Okay.
Can I ask, what was it about international trade you didn't like?
It's like when you buy some stuff and you sell them to another country.
And I wanted to do that.
I really like to chat with people in multiple languages.
But yeah, when I discover what is really a buy, I didn't like it so much.
So I changed my plan.
Right.
Okay.
The catalog didn't live up to...
The reality didn't live up to the catalog.
Yes.
But programming, you've stuck with programming.
So programming...
Seems like it's...
The catalog has fit a little bit better, to use Carlton's analogy.
Yeah.
I started to learn with HTML and CSS.
I've done my CV in a website with three pages.
I was really glad.
And after that, I started to do more dynamic stuff.
And with school, I learned PHP.
And so I started to do...
More things which is more dynamic and looks more on the website you can see on the internet.
And during my master, I was studying like...
I think we say like in block release training, like we have a week in the school and other weeks in the company.
Okay.
And I was learning...
Python with my mentor at the company.
So I discovered Python like that.
And I really like the language.
So I started to learn a bit more on my free time.
That sounds like an awesome way to do it.
Because Will's always banging on about how computer science courses don't teach web programming, right?
Which is true.
But like you get...
And that way you get the best of both worlds.
You get some actual real world on building an application.
I'm working with a company.
I'm doing something that's on the ground.
But you also get the kind of theoretical background, which is, you know, quite important and helpful.
Yes.
I wanted to...
Because I started to learn by my own.
And you always not have all the best practice, I would say.
And I think it helps a lot also to have some theoretical since you start with nothing.
So that's also why I wanted to do some studies about...
Well, you have a master's.
But I was going to say Carlton and I don't have formal education in computer science.
But I think there's something to starting to learn on your own and then adding the theoretical component.
Because if you just do computer science through school, then when you graduate, I think there is...
It can be a little...
There's a disconnect when it's like no one's just going to tell you what to do next.
It's really up to you.
But when you start with that attitude of I have to take ownership of learning and deciding what to do,
that's really what...
Yes.
Keep going with it is like you have...
It's up to you.
Yes.
So that's not the worst mindset.
I think I would have done the same if I didn't learn by my own before.
Because when you learn by studies, it feels like really theoretical.
And you don't have the same feeling as you learn by your own, like building stuff.
And you see how it works and seeing it's actually showing on your page.
So it's really...
It's really a nice feeling.
And I think this is something I really wanted to push more and learn more about.
Yeah.
I think especially if you're used to doing some other type of work to then have programming where,
especially with HTML, CSS to start, you can do the work and then see it, do it, see it.
Like that feedback loop, many jobs don't have that.
Yes.
And so that feeling, you chase it more.
It comes harder to chase as you get older.
But you still get...
You still get it.
It just maybe takes...
I mean, Carlton, what, like a couple of months instead of a couple of minutes to...
Yeah, it depends.
Well, maybe if you're test-driven development, of course, because you write your test and
it fails and then you fix it and it passes, then you write another test.
No, no, no.
Programmers get it all the time.
But like so many...
Most jobs, you don't ever take a moment to be like, right, that's off the list.
Yeah.
I thought you were making the other point.
But yeah, yeah, yeah.
No, that's true.
Well, we have a long list of things to discuss with you.
Go ahead, Carlton.
Well, I was going to say, no, Sarah, you're like, so you're like, so I got to know you
by the Django community.
You're a community machine.
And so you first popped up, like, you know, but you do everything.
But you first stepped up on my radar for joining the accessibility team.
So I've got so many questions about accessibility.
So let me just fire him off and you take him in any order.
How did you get involved?
What's your background in accessibility?
How did you come...
How did you come to think, oh, you know, I'm going to join, you know, I'm going to get involved helping Django there.
And then, you know, what are your kind of tips for, you know, people who aren't necessarily accessibility experts for getting into it?
Because I think it's something that's really important, but there's a lack of, I think, how-tos.
Like, you know, okay, you need, these are the checklists you need to follow.
You know, perhaps they're there, but we don't know about them.
I don't know.
Okay.
So when I get to the Django accessibility...
First of all, I wanted to do accessibility stuff thanks to a friend, which was a co-worker before.
And he had some disabilities to see some stuff.
And he was...
He had on his Slack some shape to distinguish each...
And one day, he asked me to do some change of color on the pipeline.
And I didn't get why as a first instance.
And because when you have, for example, the red color for error and the green one for the success,
he didn't really see the green one.
And for him, it was exactly the same.
And it was horrible to see if it passed or failed.
So I changed the color in blue for him to really see the differences.
And I started to learn more accessibility by that, thanks to him.
And I discovered so many stuff.
And I wanted to learn more and help also other people like him.
So this is my story with accessibility.
Okay, so I'm just going to go there.
Because I'm like, okay, so colors.
How am I to know what are the right colors to use?
How am I to...
Because, okay, this is something I care about.
I have no idea what to do.
What do I do?
So you have, for example, a website which is called whocanius.com.
And you have the ability to see many types of disabilities.
And for example, you have a background color and a foreground color.
You can choose whatever you want for both colors.
And you will see how it renders for each type.
And so it will help you to choose the best color for, for example, a website
or like some text on the background.
So this is a tool I use a lot.
You also have some extension on navigators which also help to change the color of the website.
So, for example, you can enable more high contrast level to see how it renders
if you can see everything with those colors.
And also on dev tool, on...
Each navigator, you also have the ability to see the level of the contrast,
if it's enough or not.
Most of the time, it's a grade from zero to one, if I'm not mistaken.
And it will tell you if it's a low level or enough level to do that.
So the most high level, it's three.
And the really low, it's one.
So then how did you make the leap from having your eyes open to accessibility
to then joining the Django team?
What was that process?
It's a fun one.
Initially, I do open source by night.
And the website was really annoying to me.
To see the white background really flashy, especially when it's really, really late.
So I started to make a dark mode.
And I thought it would be useful for everyone.
So I was doing everything on the documentation.
And Tom Kerink started to review my work.
And then I finish it.
At DjangoCon Europe on the sprints.
And then they asked me if I want to join the team.
And I believe, and the admin as well, right?
Because that was one of the, I forget, sorry, I forget the timing.
Was that a year ago?
Or when was that when you'd added the light and dark mode to the admin?
Was that two years ago?
I think it's two years ago.
Oh God, how old I am.
Yeah, no, it's a while back now.
Yeah, Carlton and I are squinting.
We're like, what is that feeling?
But so you did the docs and then you did the admin as a follow-up in the following release, right?
And I remember one of the big issues was, well, how can we enable configuration of this?
So, you know, you had to introduce the switcher and it had to be nice and lightweight.
Kind of all of these bits and bobs.
I discovered so much extension and package just to make the switch.
How's that?
So I think it's...
I think it was a need for the Django community.
So I'm glad that I helped for that.
No, I mean, it's a super advance, isn't it?
So one thing that you've talked about a couple of tools there,
and we talked about the dark mode there and the accessibility.
One thing I think is in process now, perhaps you can speak to,
is this plan to add accessibility guidelines to the developer documentation.
So that there might be some guidance to which tools to use or to, you know, what to check for.
Yes.
We are trying with the team to add some guidelines
because most of the time people would like to help,
but they don't know how to do so.
And we would like also to add more of this on the process of doing a PR.
If it's also be, how to say that, like not too much work for the contributor,
but also keep that in mind.
So that's a big thing for someone who will use Django for his project.
So, yeah.
The last few releases as well, there've been lots of fixes to, I mean, you know, the form rendering, for instance, a lot.
One of the motivations for the changes of the templates, they used to use the paragraph tag as the default template for form elements,
but that's not accessible to screen readers.
So the move in, I think five, well, between 4.1 and then 5.0,
as the final switch, is to make div templates the default template,
because that's more accessible to some screen readers.
You know, numerous.
Perhaps you could pick one or two that come to mind.
I don't know if there's...
Yes, I think the thing many people used to not think about
is HTML essentially is a semantic language,
and this is really useful for screen readers.
And most of the time, this is something which is skipped,
and this is really useful to have tags like, for example,
section or headers to really get for the user,
this is a new section or this is a paragraph or something else
or a quote.
And this is really important to use that
in order to help people who use screen readers
to really get the information,
even if it's not clear at the moment.
And this is something we want to push through,
and it will help many people for that.
And I know...
Thibaut did a talk at DjangoCon US
sort of highlighting the state of the admin
in terms of some accessibility failures.
So there's a long road of possible changes, right?
A lot.
There is many things to do,
and we really want to move the admin
to make it more accessible.
And...
I think there are many things to change.
The HTML is something we can already start to change.
There have been some improvements,
like, for example, the landmarks,
which highlight the different sections.
For the screen readers, you can move to, for example,
to the header and then to the main content more quickly.
So there is a lot of things to do.
And even for...
For example, there is a PR at the moment about links.
We really want to change that,
but it makes a lot of things to think about behind
because there is a lot of links,
and it will change also the aspect of the admin.
So...
This is something also to care about.
So a lot of things to work on.
So when you say that, it's like, yeah,
any change that goes into the admin
that changes the look of it or the layout of it,
it's always a bit like, ah, are we just destroying it
and moving things around?
And because a lot of times we don't know,
and I think the same problem has come up with django-project.com website
that you've been helping to maintain as well,
is that a lot of times,
someone will make a suggested change.
It's like, well, yeah, does this...
We sometimes feel unsure
as to whether it fits the existing style.
And the existing style is a bit dated,
but we can't just go in and slap some pink on
because that just isn't going to go.
I mean, how do we...
Given the bandwidth we have,
given the volunteer capacity we've got,
how do we make progress, do you think?
I think it can be step by step.
But there is...
There is a moment that we really need to think about
the aspect of the admin and the layout
because, as you said, the style is really dated
and there are things which is really hard to change.
So I think there is a moment
when we will have to break some stuff
and make sure this is okay for everyone.
And then we will...
We'll be able to make more moves on the admin about that.
I think so.
So at some stage, we need a refresh project.
I would love to.
Well, we can just look to Python 2 and 3 transition, right?
Just take a decade and make everyone happy.
I'm kidding.
But, yeah, sure.
But I think, yes, this also might help.
To have more users of Django
because some people will say Django admin is a bit ugly.
And I think this is something
which also helps to have more Django users.
And it's also cool to have a nice admin when you work on,
even if it's not something which is designed for the...
end users, I would say, like the customers.
But as a developer, it's really nice to have that,
especially as we have a lot of projects at the moment
who have like fresh, nice admin and stuff like that.
So to avoid to have Django too much outdated, I would say.
Well, I think that the two big things that people,
we'll see when they first come to Django is they see the django-project.com,
which is a little dated and then they, everyone's always saying,
"Yay, admin."
And then the first time you see the admin, yeah, it is a little jarring
because it hasn't really changed since the first round.
And so from a marketing perspective, that's not the best look.
I mean, we're used to it and we understand why, but...
So, yeah, I have, like in my previous company, we were saying,
like, Django is really nice.
You can do many things really quickly and it's really cool.
And when we present the admin, they were like a blank face.
Like, okay, I'm not a big fan of this admin, but if it works, I'm fine with that.
Yeah, it's just, it's just for the developers anyways, so they don't...
Yeah, well, do you know, are there any examples of frameworks that...
that have an admin that is designed better?
Or is it, because I don't know how many other web frameworks have an admin, really.
Is there an easy comparison?
Like, we should look, be more like something else?
I'm not sure I would say it's an easy comparison, but since I work on PHP,
Laravel is really close to Django and there is a, there is an extension you can add to have a,
an admin because it's not by default and it's really nice and maybe it can be an inspiration,
but as it's not built the same way, I'm not sure it's really helpful.
It's interesting to me, I mean, we had Laravel and PHP really seems to me anecdotally to have,
to be the place where we look for inspiration as opposed to Ruby on Rails, like Ruby on Rails is still out there.
But it's, I think not, I would feel comfortable saying the last five years, I, I hear a lot more about Laravel and as being used and also in terms of like, that's something Django should look at in terms of where we want to go as opposed to Rails.
So that's been interesting.
Yes.
Um, I, I don't know so much, uh, Ruby on Rails, so it's hard for me to, to, to be able to compare, but, uh, as PHP,
it's really used in France, unfortunately.
Um,
Everywhere, everywhere.
It's used everywhere.
It's used everywhere.
But, but yes, um, I, I'm, I'm pretty sure we, we can, we can do, uh, we can do better for, for the admin, uh, for Django, even we don't take inspiration of other frameworks.
Um, we may have, um, uh, how do we say that?
Like.
For example, when I had the dark mode on, uh, the Django project.com, there were a lot of people, uh, beginning to, to come on the project, uh, asking, um, many, many things.
Like I feel there, there was more attraction of people since there are some change related to the, the interface of the, of the website.
So I think if we change the admin.
We might have also the same, but, uh, for the framework.
Yeah.
I, I definitely, I feel like there's this feeling that nobody really knows who decides what happens in Django, especially the docs, but they're this sacred thing.
And yeah, just to see any change, I agree completely.
It's like, oh, I didn't know that was possible.
Right, Carlton?
I mean, come on.
Yeah.
Let's let, no, but no, the point is nobody decides like it's.
Well, no, no, I know that's, that's the progression.
You're like this weird thing is that no.
Who does say, well, nobody really, actually, it's not like there's somebody saying yes or no and this and that there's just not really, we just keep it moving.
Yeah, but it is, but I mean, having new, new people come in like yourself, Sarah, and do things and have ideas means that the old cruft, like myself can just be like, you know, and some other people can just sort of, you know, be waft move away.
Right.
It's not like we're just saying no all the time, but there's actually things being done, which I do think.
Lends itself to like doing these things we know we need to do.
It's just a question of who's going to do it.
And it's challenging, but I mean, I would say Carlton as a former fellow for five years, I mean, Django is exceptional with not breaking things, but maybe that balance could be loosened a little bit or.
Well, I think that we'll just stick to this admin example because I think it's a good one.
I think we talked a few times and there's been various conversations about where the DSF could fund some development projects.
And I think something like a refund.
Refresh of the admin is something which would I need a financial, you know, stump because it's so much, it would be so much work.
It's a big project, but it would also benefit.
And it would be like something that we can clearly identify as.
Yes, there's a few sort of vague ideas.
Oh, maybe we could throw some money this way.
Maybe we can throw some, but actually no, let's refresh the admin.
That would be a good concrete thing to raise some money around, you know, get a team on and then do this admin brought to you by Microsoft, right?
Well, I doubt we'd get to say that.
No, well, didn't they?
I heard, you know, back in the day, they estimated to be a million dollars to do anything to the admin.
That story's in my head.
Well, OK, so that's to rewrite it.
OK, so if you if you wanted to take if you wanted to take the whole admin and rewrite it with crud based views and, you know, like totally redo the entire admin, that's probably a million dollars worth of effort gone in.
And now we have Neapolitan.
Yeah, I think Jacob did that.
No, no, no, yeah, I think Jacob did that work.
I honestly am really sceptical about a rewrite the admin totally project, but to redo the templates, redo.
And then there's a layer slightly below the actual templates where you're generating the HTML.
You know what Django is like with its forms and its, you know, its fields and it's this, that and the other.
Well, those would need some adjustment as well for a new a new template layer.
But the that would.
It wouldn't involve rewriting all the views, rewriting all the URLs, rewriting, you know, which that would be a project as well.
So but like we, you know, getting some good front end chops on.
No, let's redo the front end.
That I think would be feasible.
The DSF could get behind that.
Where's the community could get behind that.
And yet the release when it was released, there would be a breaking change.
There's a new admin theme.
So they'd have to be.
You know, some migration path, maybe, but maybe not.
Maybe it's a no, there's a new admin theme and you have to go with it.
You know, if it because maintaining backwards compatibility always means we can't ever move forward.
I don't know.
If it's a new template, maybe it would be fine.
Finger crossed.
But well, there's my there's my my my wonder.
Is it only templates?
I don't know.
If it were only templates, then sure, we could just ship to.
I know.
There is some stuff it's really related to templates, but I'm not sure it's only that, and I'm not so confident on this part to to tell more, but I'm eager to learn more.
So I think it's a good one for me.
Sarah, we just sort of like it was a natural progression that you were interested in accessibility and then you just did stuff and then it got accepted.
But many people don't make those steps and you've been helping the community in a bunch of ways to.
Help others contribute to Django.
Maybe we could talk about some of those.
So Django Django spaces, Django girls organizing Django on Europe, Django discord.
I just gave you four separate paths.
So you choose any of those four that you want to talk about to start.
Right now, I'm realizing I'm doing a lot.
Well, you got to take care of yourself to Carlton.
I can attest.
I mean, I've said this before, but the talk where I first saw.
Carlton was a talk he gave in 2017 about being a developer for the long haul, and he talked about these things and every year it just is more and more relevant.
So I recommend that talk if you haven't seen it, I will watch it, but I'm trying to care about myself, so yes.
uh what topic should i pick then um well i'll give it to you how about django not space because
this is a newer one um that you're very involved with that has helped having mentors and mentees
and giving some guidance for people who want to contribute to django how did how did that come
about and where is it at now with the second cohort right yes um um i've done a talk about
that uh in pilot if you want to watch more but um uh it was usually to to help uh people to to
contribute uh since i've for me i've done this on my own i ask lots of questions to many people but
it's not easy for everyone to do so so i wanted to help for that uh when uh don and uh rachel
told me about this project i
i told him yes i really want to help for that and we started to to to build the program and uh i uh
also ask uh team to join and sarah also joined thanks to me because i was talking on discord
like hey you should come i think it would be nice to have you um give another can so yeah um
um and we started to to build the program and we started to build the program and we started to
program uh just like that and um and we have done a pilot which was a really really successful
and uh the next court is in january uh so we have made some changes but uh we have more people
we have like 80 um 80 anti-django notes and um
we have also um if i'm not wrong uh six uh um navigator as we say mentors
uh because we love space and um so um it i think it will be a good a good cohort so
we will see how it goes really uh in january as we have a lot of more people involved but uh i think
it will be a really good cohort this one six six groups of three each plus a navigator each that
sounds like yes it sounds amazing yes it is and this is and this is this is so great that you just
i mean you did check with the dsf but you just kind of did it because that's always the problem
is that people think they need permission but as we said there's not necessarily someone in charge
of everything and so you you all just
did it and then said hey we did this thing can the dsf support which is for so many in so many
areas absolutely the way to go to not wait on the board the dsf board or someone else to
give permission but just just to do it and show that it works so it's so good to see especially
having been on the board it's so good to see it makes it so much easier it's just like this is a
real thing it's happening do you want to support oh it's part of the django community of course
right instead of theoreticals it's
like nope it's a real thing so i i wish this this approach could be applied to so many other things
but of course it's a huge amount of time and effort for for you and the other organizers so
that's that's the bit that um we had lily foot on recently and i think i believe she's doing it
again or she was open to doing it again but was talking about the um sustainability part right
you can't we can't expect the same people to do the heavy lifting all the time so yes and uh and
related to her um since we have enough many navigators we just ask her if you want uh if she
wants to be a backup navigator so she has time for her and uh just in case for replacement so
so we we keep the fact we we're trying to care of people and uh if you want to to step back you can
and if people like you know people in the community want to get involved i mean
it's it's it's it's it's a good thing to be a backup navigator but also to be a backup navigator
you know if you're not you know if you're not you know an official navigator or an official
mentee for this program uh good question uh we we do have um presentation and we want to to
implement also office hour to to have people who would like to to talk or do pair programming or
or discover something new and uh this is a way to do so uh if you would like to to ask for that and
help you can uh reach out to us in social media or in contact at jungon.space
and uh and also me if uh if there is any question i'm open to it and uh so this is one way and we
we are um we also uh care about suggestions so if you you have any suggestion or something you
would like to to to to implement or you have an idea and you would like to know if it's something
possible for jungon.space uh we we are really happy to hear about that okay because the part
of the i guess the the jungon.space discord is kind of a safe space right as well for contributors
one of the big problems is the you know perhaps the django forum is a bit you know
thin air it might be a bit scary or yeah we are trying to to keep a small space to
to allow people to ask questions to feel not the fear of asking a supposed to be
naive question which is really not the case in front of a lot of people so so this is something we
would like to to keep in jungon.space but we are happy to have some intervention of people
even if it's uh occasional okay brilliant well can we talk about your day job i know that you
when you're not doing all these things you're you've been at octopus energy for a little while
like and i think you're you're primarily focused on back end we've been talking a lot about more
front-end things um yes is that correct uh this is correct um uh i'm working at of the octopus
energy france uh which is part of octopus energy group uh and i'm doing uh back end uh back end
back end stuff uh at uh at the company and i'm working on um the
the tool which is uh which help um operational people to to to create a contract for
for customers who want a renewable energy and a lot of more tools because we are really
we do care of uh green uh energy and uh renewable energy so so this is a
part of my daily job now is that what i know for some listeners who are newer in their career when
they hear back end it's it's like a black hole like they're thinking like is that models is that
views is that urls are there any um like how does that work does a manager come to you and say
we want this functionality and here's the code base
go or like what are some examples of you know i know because i know it's so different on a huge
code pace like octopus must be as opposed to a smaller project implementing things like like
what so i guess what would be is there an example of um a specific task that being a back-end
developer would would entail for you does that make sense i i don't think i worded that very well
i think i get it uh i will try to answer you will tell me if it's uh if it's answering to your
question um
so um for example uh i can have a task uh uh to to to to implement uh some reminders for the
uh operational team to make sure to to to see when there is uh someone uh who needs to to have
um how to say that um a reminder that she needs to have a reminder that she needs to have a reminder
to to consume less energy at this time of the period for example uh and uh i i'm i'm i'm able to
implement this part for example this is a really fake example but just to to see how it works
uh this is this can be something like that as we are an international group uh i can work for
example on uh something uh part of another country for example uh if we we have um a new team uh in
in portugal we will have to implement everything so i will help them to implement uh all the all
the platform all the stuff which are needed to make sure the product is uh available for
the customers they can follow their consumption and all the stuff like that
and can i ask how how is octopus the workforce it seems like everybody's everybody not everybody
but a lot of people are working there almost everybody yeah constantly hiring at all the
conferences with the you know come and talk to us so it's big you know it's active yes um
i think we are uh around uh 300 200 developers uh around the world if i'm not mistaken
and um the thing i really like in this company is even if we are splitted all around the world
we are still uh really friendly uh trying to help each other and uh really uh being like a team
uh and uh we want to to help uh other people to grow and even if it's a big group uh we are still
having this uh as you can have in a small team for example and uh for sure octopus it's really nice
well i remember they one of the one of the django cons they had the the small little octopus
plushies and i brought one that that's like the number one thing i've ever brought home to my kids
um they still have have one i only brought one but that's a nice nice swag no that's such an error
nice child though i know that's the rules yeah but it's not special it's not special if i bring
it for all of them if you don't make a fight over it yeah yeah just throw it in the middle of the
room and say go hopefully i will come in django con us and i will bring you the new new one we
have with the dark eyes oh no yes that is she's showing it yeah oh so you also organized
django meetup in paris is that django or python django okay uh we do have a python here which is
organized by other people so i'm only uh organizing the jungle one uh we have uh
we had free session uh since the first one i did uh and it's happening uh
each uh three months uh approximately uh so we no no um we can go well it's just gonna ask because
so it's because django is quite small really in the in the big scheme of things and so a monthly
meetup would seem a bit much maybe um but you said it'd be three months yes um as i i don't have like
uh i i don't know all the people uh around the jungle community in france so it's hard to have
speaker each month maybe later but uh right now it's not so easy and uh so that's why i also
organize that only uh free each free month and uh but maybe later we will have more speakers
willing to to speak as a meeting
up but uh that's also why we don't have so much but people in the french django community should
get in touch to help you organize it as well right because you can't be doing this just by yourself
it's it's a lot of work
no it's fantastic to have one there was here in boston there was one that was monthly for a number
of years and then covid hit and there were two organizers who did most of the work and
you know one moved away and i'm not sure if it's true but i'm not sure if it's true but i'm not sure
i do think it doesn't need to be monthly as carlton was saying like just having one
is such a benefit because i've met so yeah it's such a resource but it is it is so much work right
like often at least here in boston i've found there'll be one company that will be willing to
host on a somewhat regular basis and then maybe another company that donates pizza or something
um but it's yeah it's a lot of work to do but it's it's a huge benefit to the community for sure
I started that after the COVID.
I've been one in the COVID, which was Django London.
And someone asked me, why are you there?
You're not even in the UK.
And I told him there are no Django meetups at the moment in Paris.
So this is also why I created this one.
But I think despite all the work we had for organizing it,
I really liked to see all the people during the meetup
and networking, seeing each other.
And there is also some friends who come and see each other for a long time.
Like, hey, how have you been?
It's been a while.
It's really nice to see you.
So this is something.
Which really helps also to organize those events
when you see all the people gathering at the same time in one place.
Since before COVID, I've been threatening to get the train to Paris.
It's still on my list of things I really want to do, but haven't actually done.
But when I do, can I come to your meetup?
You should. You can.
Yeah, when you're touring colleges, Carlton.
Yeah, yeah, yeah.
What, for gay rights?
Yeah, for myself.
Well, there's, you know, one issue we have in Django
is just having people find out about things.
Like, in the docs, we do have a link to a local Django community section,
which is empty at the moment.
But that's something that I'm curious what your thoughts are, Sarah.
I find that people just don't know about things
because we, Django, don't have an email service.
Or maybe the website doesn't have...
people to put the time into marketing.
But we could do a better job of telling people about all the things that are happening.
So I guess my question to you would be, like,
how are you finding...
How do people find the Django Paris meetup?
Were you able to email people?
Like, was it just, like, word of mouth?
Or how do you let people know that...
You know, because Paris is a big city, right?
But how do you get in touch with everyone?
Yes.
Before COVID,
there was a Django meetup Paris.
I was part of, but I think it just died with COVID.
And I just trying to put some messages on the group,
even I'm not the organizer, to say,
hey, I'm trying to do something.
Oh, okay.
So I know there are people who watch there.
Also on the meetup.com website,
some people are searching on this platform.
But I agree with you since we don't have enough,
I think, communication and marketing about that.
Like, I tried to, for Django Meetup Paris,
to put the event on a local association,
which is part of the Python French Association.
To let people know that I'm organizing a Django event.
So I'm trying to put the event
where there is some place related to Django or Python.
But it's hard to reach out to people
when you are not sure where they see the event
and where's the best way to reach them.
I mean, I think it's still up,
the Django People website for a while that connected people.
I almost wonder if...
Django People had to be taken down eventually.
There was an unfixed security issue and it had been left
and it had been idled and it was getting spam.
And in the end, that had to be shut down.
But we need something like that.
Well, I was thinking, because email is expensive to do.
But if it's just a database, we could have millions of rows
where it's literally just like, what's your name?
Where are you located?
Are you email address?
If you're open, so that when someone says,
I want to open Django Paris, I want to open Django Marseille,
we can say, here's all the emails we have from people in that area.
And it could be something that, I don't know,
the Django developers survey or we try to...
I'm trying to think of a resource that the DSF could manage
in a non-expensive way so that there is this pool of people.
Because we know millions of people are using Django.
And then some percentage...
Would it be open to contact?
I mean, for example, the Django News newsletter is one tool,
but it's in English and it's every week.
And it has almost 4,000 people, but that's a drop in the bucket.
Whereas I'm sure there's, I don't know if it's 4 million,
but there's a lot more people who maybe would want to hear
occasionally from Django in quotes itself about the stuff.
I don't know.
It's not a new idea, but I wonder if we put a back end,
if there's a way to ask people to voluntarily submit information,
then they can be somehow organizers in their area can contact them.
I don't know.
Yeah, I know that in Django Con Europe last year,
there was a work about gathering all the meetup related to Django
to put that on the website, django-project.com.
And I hope at some point in the coming...
community local page, there will be the list of everything.
But yes, I think right now,
the best place to ask for things and events is Discord to me,
but maybe there are other places which will work,
but I'm not sure everyone is aware about that.
Yeah, no, that's the problem.
It's the fragmentation of it.
There's some on the forum, there's some on the Discord,
some I don't know where.
It's difficult.
We've just been asking you questions the whole time.
Is there anything you wanted to discuss while you're here?
Any questions for us?
I don't have at the moment.
I know it's hard when we've just been lobbing questions at you all day long.
But well, I'll give you...
You've sort of answered it,
but one question we'd like to ask recently is,
so if you have a magic wand,
say, separate from accessibility,
what is something you'd like to change in Django?
So you just make it so.
Is there something that jumps to mind
that you would like to change or improve with Django itself?
That's a tough question.
Well, Carlton, we didn't get a chance to put this on air,
but you've been doing some work on authentication.
I think this is worth a two-minute...
Give your take on...
Okay, so I think that we've gone a bit wrong.
The custom user models.
I think it's kind of like a tar pit for users.
I think the vast majority of users don't need
to customize the central auth model ever.
What they need is a profile model.
And they need to have that separate from their central auth model
because your central auth model is fetched from the database
on every single request.
And so if you've got like my bio and my this and my that and my that,
you end up with 50 fields being fetched from the database
every single request.
And it's like, no, that's not what...
The central auth model is about identifying the user for this request.
And that's something which I think Django should have just kept secret.
I understand why historically it didn't.
So the thing that I would fix in Django, if I had a magic wand,
was to make the unique, the email field unique on Django
Condrip models user so that people can do login with email,
which was all they ever really wanted.
And then perhaps drop those, the first name, last name fields and move those to a
profile model, and then separate the auth from the profile.
And so Django would keep auth, which it really is a difficult topic.
And it really is one you don't want to get wrong.
And it really is a battery that Django should provide.
Keep that in Django and then give us, you know, a clear pattern for if you need
profile data, this is how you do it.
That's what I think I would fix if I had a magic wand.
I agree.
Thanks for knocking that one up for me, Will.
Well, no, we haven't had that on anything.
We haven't had that on air before.
But anyways, you know, it's, it's a big question, Sarah.
So it's okay if you can't think of one, but that's one that Carlton in particular is.
It's been bugging me for years.
Cause I've seen, I've worked on projects where it's like, literally the, the auth,
the custom auth model is just a dumping ground for miscellaneous junk.
And it's like, why, you know, why is my request like, well, you see what your
auth model is doing and every single request in the middle, we're there, right?
Anyway.
Yeah.
Well, what would, well, I'll, I'll, I'll take a stab.
In a while.
I think for me, I mean, you know, this is not a new idea, but like the
serialization API story, you know, there's really interesting things
happening with Django Ninja.
Um, DRF is largely feature complete.
There's some things we, we Django could improve.
Carlton has some specific ideas, but the fact that that is not baked into Django
itself, and I know we want to keep Django core small, but it really feels like APIs
should be within core.
In some way.
So that would be my, my quick take.
So just on that, David Smith has taken, has picked up, um, the Jason, the content
passing work.
Um, so we should be able to hand, we should be able to handle, um, if that, when that's
complete, however long that takes, but we should be able to handle Jason requests with
the request object without having to need extras.
And that'll be nice.
And then exactly what we do about, you know, the equivalent of serializers or, um,
DRFs, um, generic views.
Well, that's an interesting question.
That's a good question to resolve over the next few years.
Come on Sarah, there must be one thing that when you're, when you're sat there and you're,
you're busy banging away at your computer and you're like, this is really annoying.
Why do I have to do this every time?
What's that thing?
What's that itch?
Well, I think what you said with the OAT is something I've done a lot.
So yes, I agree too and, uh, but I, I don't have, uh, anything in mind.
Okay.
Well, let me ask you, cause we've talked about front end, have you had a chance to play with
HTMX?
Do you have any thoughts on, on that?
No, I didn't, I didn't have time.
Uh, I just, uh, watched the documentation and, uh, I've done as many people like, oh,
I really need to try out and I didn't have time, but, uh, but I know some friends, uh,
we use it, uh, um, also in, in France, they replace, uh, everything.
Uh, in front end to like, for example, they, they had react and they, they changed to HTMX
and they, they seems really happy with that.
So it seems to be really promising.
So hopefully I will, uh, have some time to, to try.
Yeah.
I think it w it was this year or last year, there was a Django con talk about exactly
that, about swapping out, um, yeah, most of react for HTMX.
Well, anyways, yeah, lots, lots, lots going on, lots, um, and we, you know, we didn't
really talk about Django girls, Sarah or organizing Django con Europe, but Carlton and I both
had a chance to, to see you there as well as the other organizers.
And that was, that was really a great conference.
I mean, I loved being in Edinburgh and my first Django con Europe.
I finally got to meet all these people I'd only known about online.
So that was, so thank you for your work on that.
Yes.
I'm really happy.
Uh, and I was happy also to see you for the first time at Django con Europe.
So it's really nice to see, uh, everyone you have talked to, uh, online, uh, in real life.
Yeah.
And, and we, you know, we, we've said this before, but we need Django.
We needs this, like there, there's so much work that is done and you know, once, twice
a year to actually just see a person face to face, you know, I always come away with
more energy from the conference Carlton wrap, wrap us up here.
I'm just babbling.
I was just going to say anything you want, anything you want to shout out before we call
it quits or you maybe know it might, but if there is, there is something, uh, uh, as we,
as you know, I'm really a big fan of accessibility.
Uh, if, uh, you have any, uh, any concern or any question about accessibility, we have
now a new category in Django forum for accessibility.
So if there is, uh, anything you want to ask or talk about, uh, you can go to the forum
and we will be happy to answer.
And, uh, also, um, I'm trying to write, uh, accessibility checklists, uh, from my point
of view, and, uh, hopefully I will be able to share it soon ish.
So, uh, this is something, uh, we, which could help.
Uh, people who are not aware of everything to, to be able to, to do some checks on accessibility
from their own.
That's great.
I'm such a huge fan of checklist, I think checklist to rule them all.
So all right, well, thank you so much for taking the time to come on.
Really appreciate it and all the work you've been doing.
It's it's truly like gives me inspiration.
Like I get excited.
It's just seeing, you know, the Sarah con conference that we should have you and Sarah
voice.
And, and the others who just come in like a breath of fresh air and just, just do stuff
and just, uh, it's, I can't tell you how refreshing it is to just to see that because during COVID
sometimes it felt like we were hanging on a little tight, but now I feel a lot more
relieved.
So thank you for all of that.
Yes.
Thanks for coming on Sarah.
Right.
Let's call it quits.
Um, with Django chat, um, join us next time.
Bye.
Bye.
Bye.