Bonus episode: Grid-aware Websites Project

Sustain WP podcast cover
Sustain WP
Bonus episode: Grid-aware Websites Project
Loading
/

Welcome back to Sustain WP, a limited podcast series about digital sustainability and WordPress.

I’m your host Nahuai Badiola, a freelance WordPress Developer based in Barcelona and active WordPress community member.

In the original intro I also said that I was part of the Sustainability Team and a Green Web Foundation fellow. But now I’m former Sustainability Team Rep, since the team was closed, and also finished my Green Web Foundation fellow, this was expected and indeed I kept a relationship with the Green Web Foundation, as you’ll see soon enough.

As you can see things have changed from the last episode back on November of 2023. I’m not going to expand here why or how the WordPress Sustainability was closed. If you are interested on knowing more about it I recommend you to listen to the Green IO podcast episode where Gael interviewed Nora, Csaba and I, the former team reps about how all the events went down.

This podcast series has been always about sharing my journey learning about digital sustainability and WordPress. And I’ve been involved on a project where I learned a lot and has some potential so I wanted to share it with you.

By the way, I was really happy to see that the podcast have had more than 15.000 listens. Pretty cool.

So, the project I’m refering to it’s the grid-aware websites proposed by, yes you guessed it, the Green Web Foundation. The project run for almost a year, I was part of the advisory board and as a result of it I created, together with Nora Ferreirós, a grid-aware WordPress plugin.

But I thought that better than listen to me rambling about this amazing project I could bring back Hannah Smith who is the Director of Operations of the Green Web Foundation and one of the people behind the project to talk about it.

You can find the audio transcript of the talk with Hannah Smith below.

Resources

Transcript

Audio transcript

00:09-00:12
Welcome back to SustainWP, a limited podcast series

00:12-00:14
about digital sustainability and WordPress.

00:15-00:17
I’m your host, Nahuai Badiola, a freelance WordPress developer

00:18-00:21
based in Barcelona and active WordPress community member.

00:21-00:23
In the original intro, I also said

00:23-00:25
that I was part of the sustainability team

00:26-00:28
and a Green Web Foundation fellow.

00:28-00:35
But now I’m a former Sustainability Team Rep since the team was closed and also finished

00:35-00:36
my Green Web Foundation Fellow.

00:37-00:42
This was expected and indeed I kept a relationship with the Green Web Foundation as you will see

00:43-00:43
soon enough.

00:44-00:48
As you can see, things have changed from the last episode back in November 2023.

00:49-00:53
I’m not going to expand here why or how the work with Sustainability was closed.

00:54-00:58
If you are interested on knowing more about it, I recommend you to listen the Green IO

00:58-01:05
podcast episode where Gael interviewed Nora, Csaba and I, the former team reps, about how

01:05-01:07
all the bands went down.

01:07-01:12
This podcast series has been always about sharing my journey learning about digital

01:12-01:13
sustainability and WordPress.

01:14-01:19
And I’ve been involved on a project where I learned a lot and has some potential so

01:19-01:20
I wanted to share it with you.

01:21-01:27
By the way, I was really happy to see that the podcast has had more than 15,000 listens.

01:27-01:29
Pretty pretty cool.

01:29-01:35
So the project I’m referring to is the GridAware websites proposed by, yes, you guessed it,

01:35-01:36
the GreenWebFoundation.

01:37-01:39
The project ran for almost a year.

01:39-01:45
I was part of the advisory board and as a result I created, together with Nora Ferreiros,

01:45-01:46
a GridAware WordPress plugin.

01:47-01:51
But I thought that better than listen to me rambling about this amazing project, I could

01:51-01:56
bring back Hannah Smith, who is the director of operations of the GreenWave Foundation

01:57-02:00
and one of the people behind the project to talk about it.

02:00-02:04
So without further ado, let’s welcome Hannah.

02:05-02:05
Hello, Hannah.

02:06-02:07
Happy to have you back.

02:08-02:10
It’s always a pleasure to talk with you.

02:11-02:14
And I’m going to go straight to the point.

02:14-02:20
So let’s just start from the beginning and where did you get the idea of creating a grid

02:20-02:21
aware websites project?

02:22-02:22
Yeah.

02:22-02:30
So we had a carbon aware website project in the Green Web Foundation for quite some time.

02:31-02:35
Some of you might have heard or some of the listeners might have heard of Branch Magazine.

02:35-02:39
Branch Magazine was actually one of the reasons I really wanted to come and work with the

02:39-02:44
Green Web Foundation because I kind of saw the website and thought, oh, what a cool idea.

02:45-02:53
So we’d kind of had this prototype idea for a while where we’d experimented with something

02:53-03:00
similar because what we really wanted to do was start to demonstrate to people that we

03:01-03:07
could use the internet differently, that we could have an internet that could be responsive

03:07-03:12
to the world around it, particularly say to carbon initially.

03:13-03:16
But like I said, it was a very much a prototype project.

03:16-03:20
It was done, it was up and running, but we always kind of knew that the code

03:20-03:25
and the approach was, had been done in a bit of a haste, bit hastily.

03:26-03:26
Yes.

03:27-03:28
A lot of room for improvement.

03:28-03:32
So we were kind of thinking, all right, how can we improve what we’d already

03:33-03:35
built this prototype version of branch?

03:36-03:40
And we kind of came up with, okay, well, what would the next iteration be?

03:40-03:45
And so we thought, Hmm, I think we could look at something like grid aware

03:45-03:47
websites, which would be the next iteration.

03:48-03:50
That’s really interesting.

03:50-03:56
If I recall well, we started the project as CarbonAware, right?

03:56-04:01
But that was probably the first or the second meeting that you decided to change.

04:02-04:03
And it was really interesting.

04:03-04:07
Indeed, we had really interesting conversations about it.

04:07-04:14
So do you remember when was that point where you switch or you decided it was

04:14-04:20
more interesting to move from carbon to grid because that’s a pretty interesting

04:20-04:20
pivoting?

04:21-04:22
It was a bit of a shift.

04:22-04:23
Now you’re quite right.

04:23-04:28
So when we wrote the proposal to our grant funder, we wrote the proposal about

04:28-04:32
carbon aware websites because we were thinking about, oh, how do we iterate on

04:33-04:34
the existing branch prototype.

04:36-04:39
But around the same kind of time

04:40-04:42
as we had submitted the grant application,

04:43-04:45
I had been doing some work

04:46-04:49
on the side with Ishmael Valesco,

04:49-04:52
whom I met through Climate Action Tech.

04:53-04:55
And Ishmael was throwing up some questions

04:55-04:57
around what CarbonAware was.

04:58-04:59
Was it actually useful?

04:59-05:00
Was it meaningful?

05:01-05:02
Did it actually hold the potential

05:02-05:07
to reduce emissions in the way that people were saying it was.

05:07-05:08
That work was really, really fascinating.

05:09-05:13
And I did a lot with Ismail and I took his ideas and I said, okay, well, given

05:13-05:20
these doubts and concerns that he very cleverly raised, I said, well,

05:21-05:24
what would be better than this?

05:24-05:28
You know, the, the, the concept of having our technology respond to the world

05:28-05:31
around it is a really good concept.

05:31-05:36
And I think as we move forwards in these climate crisis times,

05:36-05:38
we’re only going to need to be better at that.

05:39-05:42
We’re going to create need our tech to be more in tune with living systems.

05:43-05:47
So I kind of thought, OK, well, what would be the next best thing?

05:48-05:49
What would how would we improve this?

05:50-05:53
Because I always have a mentality if you shoot someone’s ideas down,

05:53-05:57
at least have the decency to say what you think might replace it

05:57-05:59
or might be an improvement. Yes.

05:59-06:09
was a little mean. So kind of came up with this idea of grid aware. So still thinking about carbon

06:09-06:16
as a metric in there. But a lot of what Ishmael was saying was that if we all just went off and

06:16-06:22
did carbon aware tech, and carbon aware tech is basically something that asks,

06:22-06:27
finds out what the carbon emissions are in a given area and then responds.

06:29-06:36
And you might respond through shifting work to a different location where the carbon is lower,

06:36-06:42
or you might shift it to a different time of day where the carbon intensity might be lower.

06:42-06:47
But what Ishmael’s research made me realize and his points made me realize is that that you can’t

06:47-06:53
just do that in isolation from the realities of the way that the grid infrastructure actually

06:53-06:59
works. Just looking at carbon as the sole metric and the sole thing you’re considering isn’t enough.

07:00-07:08
You need to be thinking about how the demand works, how grid operators scale up and scale down

07:08-07:15
different types of energy sources in relation to demand. So anyway, long story short, I came up

07:15-07:20
with this kind of concept of, well, maybe the next iteration would be thinking about

07:20-07:28
things as grid aware, just carbon aware. And thinking about how tech can not only support

07:28-07:33
the goals of the environment, e.g. through the lens of carbon, but also the goal of grid

07:33-07:39
operators, who have a really difficult job to ensure that our grid is still resilient.

07:39-07:44
And, you know, I think when you work in climate and sustainability for a while, you realize

07:44-07:53
that any solution that can achieve more than one win at a time is the goal you should be

07:53-07:53
looking for.

07:54-07:56
You don’t want to be too tunnel visioned about things.

07:56-07:59
You need to accept that we live and work within systems.

08:00-08:06
So it was that work with Ishmael through CAT that brought out this concept of grid aware

08:06-08:06
websites.

08:07-08:12

  • Joy indeed wrote a post together with Ismael about this.

08:12-08:14
For me, it was quite eye opening

08:15-08:17
because I was really sold on the idea of

08:18-08:21
let’s move the computational heavy stuff

08:22-08:25
to all geographically or in time

08:25-08:29
and we will do much better and it will be the future.

08:29-08:34
You basically say like, this is not as simple as it sounds.

08:34-08:36
It sounds like a very good idea

08:36-08:41
But it’s not because there is at the end, there is a limited renewable energy right now.

08:41-08:49
So if we are shifting everything to that point, the grid intensity is too high and it’s not going to make all the demands.

08:49-08:54
I’m simplifying the idea, but it’s a pretty new one for me and I think for a lot of people.

08:54-09:00
So I really like when you shift between carbon to grid because of two things.

09:00-09:08
one, we remove the carbon tunnel vision in a sense, because we are still there. And I still

09:08-09:16
talk a lot about it because it’s so easy to just share data about carbon because you have numbers

09:16-09:23
and some of them are very impactful, but it’s always good to get a step back and see the whole

09:23-09:29
thing. And the other part is to add the grid idea to the equation, which is pretty new. And it’s a

09:29-09:38
very complex idea. Indeed, it is the idea and what is behind it. So I was really excited about it.

09:38-09:45
And it was pretty new for, I think, most of the advisory board. I will ask you about the advisory

09:45-09:54
board just a bit later. But before that, what was the main goal behind this project? Was it

09:54-10:00
to raise awareness? Was it to prove an hypothesis or what was the main goal behind?

10:01-10:11
Yeah, so we’ve talked a lot about grid awareness as a concept. The idea of this project was to

10:11-10:17
see what we could do around applying grid awareness to websites. And I think it’s good

10:17-10:24
to think of a grid aware website as a subset or a, um, yeah, a subset of the

10:25-10:31
overall grid aware technology or grid aware concept, we kind of wanted to see,

10:31-10:36
all right, what happens if we tried to make a website grid aware in an

10:36-10:38
actually meaningful way.

10:39-10:41
So avoiding these pitfalls of just saying, well, you know, we’re

10:41-10:42
just shifting things around.

10:42-10:47
And because what we learned was actually that probably doesn’t have a net

10:47-10:49
reduction impact.

10:50-10:56
So the overall goal was to just be in a bit of a playground, actually.

10:57-11:03
And I think sometimes when you work in tech, you sort of get a bit, oh, you

11:03-11:05
know, you’ve got to deliver this thing for this client and you’ve got to

11:05-11:07
deliver these benefits and, you know, sell these things.

11:08-11:12
And what’s wicked about the work we get to do at Green Web Foundation was that

11:12-11:16
sometimes we do get funding to just experiment with something.

11:17-11:24
So the key things that we were trying to experiment with here were what happens if we create a website

11:25-11:31
that offers up different versions of itself based on different metrics around the grid?

11:33-11:35
What do we learn from that?

11:36-11:42
We also wanted to produce some code that other people could reuse and experiment with too.

11:42-11:45
And that was, excuse me, a very key goal for the project.

11:46-11:50
Um, you know, we, the prototype that we did with the original version of

11:50-11:52
branch wasn’t really open source code.

11:53-11:55
It hadn’t been packaged up in a way that anybody could use.

11:56-11:56
Yeah.

11:56-11:58
Um, we talk about it.

11:59-12:00
Yeah.

12:00-12:07
Um, so we really wanted this project to also bring other people along in the

12:07-12:09
journey of experimentation with us.

12:10-12:17
too. And we really wanted to apply these new ideas to to branch and kind of give branch,

12:18-12:25
you know, take branch magazine forwards as well. Yeah. So, you know, have an actual case study of,

12:25-12:30
all right, these are all very good ideas in theory, but if we actually apply them somewhere

12:30-12:36
as well. So we had quite a few different goals. But the concept of really bringing people along

12:36-12:39
on the journey with us was really important to the project.

12:40-12:46
Yeah, and that was one of the, I think, the things that I liked the most about the project,

12:47-12:55
the advisory board idea. I’ve never been before in one. I didn’t hear that much about projects

12:55-13:02
with advisory board, maybe because of my circumstances and surroundings, but where

13:02-13:09
did the idea came from? Because I think it was a brilliant one and you can expand a little bit of

13:09-13:16
what the advisory board was and yeah, the idea behind it and how it came to you first.

13:17-13:28
Yeah, I mean, it’s hard to pinpoint sort of like any exact one light bulb moment. I’d had,

13:29-13:35
I think it was a convergence of a number of different ideas, but when you work in open

13:35-13:41
source, you know that the reason why you work in open source is because people outside of you

13:42-13:45
have different perspectives. And that was one of the reasons why I always enjoyed working in

13:45-13:51
WordPress was that exposure to other people’s perspectives. You all have a common goal,

13:51-13:57
but you’re seeing things from different places. And those perspectives, when you sew them all

13:57-14:02
together creates something that’s far better and more considered and more usable.

14:04-14:10
So I think as Green Web Foundation, we’ve always really understood the importance of

14:10-14:11
other perspectives.

14:13-14:21
The other thing with this particular project was we really wanted to see how other people

14:21-14:24
would adopt these ideas and what they might do with them.

14:24-14:26
Remember it was an experimentation.

14:26-14:26
Yes.

14:26-14:30
So we kind of thought, well, you know, what are the mechanisms that we have available

14:31-14:35
to us to really encourage that adoption and experimentation?

14:36-14:40
You can put a post on social media and say, hey, we’ve built this thing.

14:40-14:41
Why don’t you have a play?

14:41-14:49
But chances are 0.001% of people are actually going to be motivated, you know, knowledgeable

14:50-14:51
enough, blah, blah, blah, to do it.

14:52-14:58
So we thought, well, let’s see if we can assemble a group of people that we know from our networks

14:59-15:05
who are willing to engage and give us their perspectives, but B, might be motivated enough

15:06-15:12
to apply these ideas into their own open source community.

15:13-15:18
So that’s probably another really important thing I would share was that we really brought

15:18-15:23
people from that advisory group who we knew were dedicated members of other open source communities,

15:24-15:29
specifically CMSs, content management systems. So you and Nora joined us from WordPress,

15:31-15:40
we had Thibaut from the Wagtail community, we had members from Umbraco, we had,

15:41-15:44
And we had members from Drupal as well.

15:44-15:44
Yeah.

15:44-15:52
Um, so, and I also had like a little side quest if I’m allowed, I mean, yeah.

15:52-15:55
I mean, why not, why not, why not make it yourself really ambitious?

15:56-16:00
Because I also felt that there was an opportunity to build some bridges

16:01-16:07
across those people working on these other open source projects or other

16:07-16:10
open source CMSs that also had an interest in sustainability.

16:10-16:14
I thought, wouldn’t it be fun to see if we could have a side quest

16:14-16:17
of seeing what relationships might develop

16:17-16:20
or what knowledge sharing might happen when we brought those people together?

16:21-16:26
Because I don’t know of any other place where you’ve got cross CMS representation.

16:27-16:27
Right.

16:28-16:28
As well.

16:28-16:31
So I thought, you know, why not?

16:31-16:36
Really ambitious and see, experiment with that aspect of things as well.

16:37-16:42
Yeah, I think I told you several times, I will keep telling you, it was a brilliant

16:43-16:49
idea. I think it worked beautifully because the feeling during the meetings and when it

16:49-16:56
was over, because we spent more or less one year meeting monthly, more or less, and spent

16:57-17:01
like almost two hours, something like that. Like talking, you were presenting how the

17:01-17:08
project was going and then there was some time for us to share feedback. We also did some small

17:08-17:16
groups to talk about specifics and it was a very enriching experience. And I remember still the

17:17-17:23
last meeting when we were all open to keep to informal meetings in the future, just because

17:23-17:30
we were enjoying sharing that space with other people. So I think that was also a very added

17:30-17:38
value. Yeah, I was like absolutely delighted with how people responded and reacted to being invited.

17:38-17:45
I think actually everybody I asked if they wanted to join in on this said yes. We also met some new

17:46-17:52
people, didn’t know Yana or Christina from the Drupal community at all. And we should also

17:52-17:57
mention as well for the listeners that the advisory group also had representation from a

17:57-17:59
a number of other different freelancers as well.

17:59-18:00
Yes.

18:00-18:06
Some other people that weren’t directly affiliated with a specific open source

18:06-18:08
CMS, but that are generally good eggs.

18:09-18:09
Yeah.

18:11-18:13
Different kinds of forms of digital sustainability.

18:14-18:19
So yeah, I have to say brilliant casting and I really enjoyed all the meetings.

18:20-18:24
And one of the ideas, I don’t know if it was from the start, but one of the

18:24-18:30
ideas that we developed during this advisory board was the creation of the

18:30-18:32
branch magazine, the issue nine.

18:33-18:39
Was it at the beginning one of the ideas or was just since we were advancing it

18:39-18:44
and you just thought that it was, that could be a good idea to…

18:46-18:51
Yeah, it’s funny that how that idea evolved, because now when I look back, I

18:51-18:54
I can’t believe that it wasn’t obvious to us

18:54-18:57
that we should do a branch issue as part of this project.

18:58-18:59
But it wasn’t obvious to us,

18:59-19:01
and it wasn’t something we set out to do

19:01-19:04
in the initial proposal for this work.

19:05-19:06
What we set out to do,

19:06-19:08
we set out to deliver three things.

19:09-19:11
One, this toolkit, basically.

19:12-19:13
As I mentioned, what we really wanted to do

19:13-19:15
was produce artifacts and assets

19:15-19:17
that other people could use and build on.

19:18-19:20
So we talked about this toolkit,

19:20-19:21
which had three parts to it.

19:22-19:23
Part one was the open source code.

19:24-19:27
Part two was the documentation around the code and part three was

19:28-19:32
like, I ideas or inspiration.

19:32-19:36
And I called it at one point a UX catalog.

19:37-19:37
Yeah.

19:37-19:37
I remember.

19:38-19:39
Yeah.

19:39-19:40
Another sort of moment.

19:40-19:43
We called it a sort of inspiration deck.

19:43-19:47
I don’t really know what it was at the beginning of the proposal, but

19:48-19:50
myself and Fershad that worked on the project

19:50-19:53
were very sure that we needed something

19:53-19:55
to really bring these ideas to life.

19:56-20:00
And I spent, oh no, I spent ages trying to work out

20:00-20:02
what this third thing was.

20:03-20:05
I had loads of different conversations with people

20:05-20:10
and then I was like, oh my God, it’s a branch issue?

20:10-20:11
Like that’s what it is.

20:12-20:14
How silly are we to not realize?

20:15-20:16
But I will be completely honest with you,

20:16-20:23
trying to redesign branch and do an issue at the same time was incredibly

20:24-20:32
stressful and very hard work and we did it, but it was absolutely very, very

20:32-20:34
demanding to do those two things together.

20:34-20:37
And that’s probably why at the beginning of the proposal, I had never conceived

20:37-20:39
that we would do such a stupid thing.

20:43-20:50
Yeah, because you did the whole redesign and also changing all the logic behind the Carbon

20:51-20:59
Aware or the Grid Aware tool. So replacing the one that was hastily done in the past

21:00-21:06
for the new one that was using the toolkit that was created during the advisory board.

21:06-21:12
In this case, you’ve seen, if I’m not wrong, the CDNs, the workers of the Cloudflare and

21:12-21:18
and all the technical thing that I think Fersat was the main person working on that.

21:19-21:21
Fersat’s amazing.

21:21-21:22
We should give him props.

21:22-21:23
Yeah, yeah, yeah.

21:25-21:30
Yeah, the project went really fast considering that technical part was

21:30-21:32
mainly done by Fersat.

21:32-21:38
I think he had some help, but I was really surprised on how fast you were able to.

21:38-21:43
And then you combine the redesign with the whole new tool

21:43-21:44
and the new issue.

21:44-21:49
So it was a lot of work, but you maintain all the dates.

21:49-21:51
So I was surprised.

21:52-21:56
And on that note, you invited us to the advisory board

21:57-22:00
if we wanted to talk about our experience

22:01-22:03
or anything about the Grid Aware project.

22:04-22:08
and me and Nora were happy to say yes,

22:08-22:12
and we started thinking, okay, what we can explain?

22:13-22:16
And we really wanted to explain something practical,

22:16-22:20
not only like we could make this and then that,

22:21-22:22
and the world would be better.

22:23-22:27
We wanted to use the technology that was somehow there

22:27-22:29
and expand it in the WordPress site.

22:30-22:35
So we sat together and decided how we were envisioning.

22:35-22:39
I was narrating pretty much the technical parts

22:39-22:41
that we were able to do in WordPress.

22:42-22:46
So she could think how the design was going to be

22:46-22:48
because she was in charge of the design part.

22:49-22:52
And I remember how it also escalate very quickly.

22:52-22:53
(laughs)

22:53-22:56
Because we first say, yes, we want to write something.

22:56-22:59
And then we say together, let’s write something

23:00-23:03
if we are able to make a prototype of something

23:03-23:07
technical with good design so people can use it after.

23:08-23:14
And I started building the MVP of the plugin just for Nora

23:14-23:17
to see where the settings could go

23:17-23:20
and how we’re going to work.

23:20-23:23
And so she can do all the design.

23:23-23:24
And we were going back and forward.

23:24-23:29
It was like we had to start writing,

23:30-23:32
but we had to write the branch magazine

23:32-23:34
during the developing of the plugin.

23:35-23:35
(laughs)

23:35-23:38
Was like, this was a very good idea

23:38-23:41
before we arrived to the point

23:41-23:43
that we have to do the both things together.

23:44-23:47
But at the end, and I remember the final push

23:48-23:49
being from FirstShot saying,

23:49-23:53
oh, this is looking good, the draft of our branch.

23:53-23:58
and the code you are mentioning, why probably should be on the open in GitHub, right? And

23:58-24:06
I was like, yes, but not ready yet. I’m too embarrassed by the code right now to share

24:06-24:13
it as it is. And it was like, I think it would be good if the code is there. So, at the end,

24:13-24:20
I did some refactoring and I was like, okay, this is an alpha plugin, but it’s good enough

24:20-24:25
to be shared in GitHub so people can iterate or see what was doing.

24:25-24:30
So I will go very briefly explaining what we ended up doing.

24:31-24:36
So the idea was from the beginning was to have a plugin that was pretty much plug and

24:36-24:37
play.

24:37-24:42
So very easy to use because we have to lower all the barriers we can if we want people

24:42-24:46
to engage with these kinds of new tools.

24:46-24:53
So the idea would have to a very simple setting with the electricity maps that we didn’t mention

24:53-25:01
yet, but yeah, that was a key part of the whole project because we were relying on the

25:03-25:03
API that they have.

25:04-25:09
And they were kind enough to create a new API endpoint.

25:10-25:15
They were talking together with you, with the Gringo Foundation, and it was like, okay,

25:16-25:19
we don’t have to need an access to the whole API

25:19-25:22
because they are monetizing it somehow,

25:22-25:26
but maybe you can just send us three levels

25:27-25:28
of how degraded it is.

25:29-25:31
It’s low, it’s medium, or it’s intensity.

25:32-25:33
And maybe this very simple endpoint

25:34-25:38
could be used on plugins like the one that I was working on.

25:38-25:41
Indeed, I also talked with Ryan Scholling,

25:41-25:44
which is part of Electricity Maps,

25:44-25:49
And I was saying like, I will build this plugin just using this endpoint.

25:49-25:55
So it would be great if you are able to just release for free this endpoint,

25:56-26:01
maybe cap it for X requests so they don’t have to pay too much in terms of cost.

26:02-26:05
And I, I think that the idea is still there.

26:06-26:09
I didn’t hear back from the electricity maps.

26:09-26:09
Yeah.

26:09-26:13
I mean, first side was the one having the conversations with

26:13-26:18
electricity maps directly and we haven’t sort of checked in with them

26:18-26:20
for a while on where their thinking is.

26:20-26:26
So my understanding is that there is still some stuff you can access for free,

26:26-26:30
but it’s not quite what we’re hoping for.

26:30-26:36
Yeah, because the idea in the future versions was to, if that end point was

26:37-26:42
for free, the idea was even to make simpler the backend of the plugin.

26:42-26:46
Because right now, just to visualize it easily,

26:46-26:53
the field for entering the electricity maps API key.

26:54-26:57
And then there are three checkbox where you can decide

26:57-27:00
if you want the matches to be grid aware,

27:01-27:03
if you want the videos to be grid aware,

27:04-27:06
or if you want the fonts to be grid aware.

27:07-27:11
We decided to tackle these three elements

27:11-27:14
before going deeper because images is,

27:15-27:17
you have to tackle them always

27:18-27:21
because it’s usually half of the weight of the page

27:21-27:22
is an image.

27:22-27:24
So probably if you can do modifications,

27:25-27:27
there are an opportunity.

27:27-27:29
And another one that are videos,

27:29-27:36
but we were going specifically for the YouTube embeds

27:36-27:37
because they are really huge.

27:38-27:40
If you just embed and you do nothing else,

27:40-27:41
is more than a megabyte.

27:42-27:45
So if you have several embeds, it’s like crazy big.

27:45-27:49
And then the fonts is something that usually people

27:49-27:54
think that is not so heavy, or there is not so much megabytes,

27:55-27:57
kilobytes loading.

27:57-28:01
But depending on the website, it could

28:02-28:06
arrive to half megabyte if you are not careful.

28:06-28:09
So those were the three elements that we decided.

28:09-28:16
So you could just set up in the general settings

28:16-28:23
that every element would be grid aware or not.

28:24-28:28
And the other thing we did is, since this

28:28-28:35
is very difficult to see what the–

28:35-28:36
yeah, let me rewind a bit.

28:37-28:42
So in this case, when we are talking about grid-aware

28:42-28:47
websites, we are thinking on how is

28:47-28:49
the intensity of the grid of the person that

28:49-28:52
is visiting the web.

28:54-28:58
So in this sense, it’s very important for the plugin

28:59-29:01
to explain how the people is going

29:01-29:05
to see if they are in a high-intensity grid,

29:06-29:07
or in a medium or a low.

29:08-29:11
Because for example, I was doing all this stuff in Spain,

29:11-29:15
which we usually have a low intensity

29:15-29:17
because we have quite a lot of renewable.

29:18-29:23
So I couldn’t see how the high intensity

29:23-29:25
and medium intensity were displaying.

29:25-29:29
So we had to build a preview for the people to understand,

29:29-29:33
okay, so people, when they exit from a location

29:33-29:35
that they have high intensity,

29:35-29:37
they will see it like this.

29:37-29:39
And that was really important because if not,

29:40-29:42
if the person that is setting all these things

29:43-29:45
is not able to understand how it’s going to visualize

29:46-29:47
in different locations,

29:48-29:49
that was going to be very difficult

29:49-29:51
to get them to start using.

29:52-29:54
So we build it in a way that is,

29:54-29:56
everything is like very WordPress native

29:57-30:01
because I really like to be on top of all the news

30:02-30:03
about WordPress.

30:03-30:06
So it was just inside the block editor.

30:06-30:10
There was like three new links that you could go

30:10-30:13
and preview the things, the page.

30:13-30:16
So that was one of the things that we were happy about it.

30:17-30:21
Also, we, since there is usually pages

30:21-30:23
that are more important, like a checkout

30:24-30:26
or a landing page or whatever,

30:26-30:28
we also added in the editor,

30:28-30:32
the ability to change the setting for the images,

30:32-30:35
fonts or video in that page.

30:35-30:40
So maybe you want to be grid aware in the whole website,

30:40-30:44
but not in your landing page or in your checkout or whatever.

30:44-30:48
So you could also change it in a very granular way

30:49-30:49
in this sense.

30:50-30:53
And also we added a small display

30:53-30:56
that when you were going to add an image

30:56-31:00
and you had the image grid aware checkout,

31:01-31:04
a notification of saying, okay, this image is going to be added

31:04-31:07
and it’s going to be displayed in a different way

31:07-31:09
depending of the grid intensity.

31:10-31:13
So, we put a lot of effort trying to be like very,

31:15-31:20
yeah, very didactic and try to also get easy to the person

31:20-31:24
that is using it to visualize what was going to happen when.

31:25-31:28
And of course, we added also a banner

31:28-31:30
that was going to be in the backend

31:31-31:34
all the time till they close it saying,

31:35-31:39
you just activated a plugin that is changing things

31:39-31:43
in the front end based on great intensity.

31:43-31:44
So be aware.

31:45-31:50
And yeah, and that was all the back end part.

31:50-31:54
And in the front end, the idea was to have a top bar,

31:54-31:56
very similar to the one that is displaying

31:56-31:57
in Branch Magazine.

31:58-31:59
And indeed, we were–

32:00-32:04
Nora, in this case, was inspired by that,

32:04-32:06
because it was already pretty well designed.

32:06-32:10
So we thought we don’t have to reinvent the wheel.

32:10-32:12
And the idea was also quite simple,

32:12-32:17
just to say the grid intensity, the location,

32:18-32:23
and then have in the other part have the ability

32:23-32:26
to change through the intensity.

32:26-32:28
so you can also see the difference between them.

32:29-32:31
So, and all the logic that was behind,

32:31-32:35
pretty much I was using server-side filters in WordPress.

32:36-32:40
So, because one of the ideas of this project

32:40-32:45
was to move from JavaScript or client-side code

32:45-32:50
that was doing the first version of branch to the servers

32:50-32:53
or to the CDNs in the case of the workers.

32:54-32:59
And yeah, pretty much the idea was not to load anything

32:59-33:02
in the intensity when the intensity was high,

33:02-33:05
but place it at a good placeholder,

33:05-33:07
explaining why it’s not loading it,

33:07-33:11
and then give the opportunity of if you are clicking it

33:11-33:13
and you really need to see it because you want it,

33:14-33:15
they have this possibility.

33:16-33:21
So yeah, I don’t think I want to go much deeply on this

33:21-33:24
because I will leave the link to the plugin,

33:24-33:30
also to the Sustainable WP page as an example,

33:30-33:33
so you can visualize it, because I think it’s easier to see.

33:34-33:37
And that was a pretty interesting journey for me,

33:39-33:43
because, yeah, I guess there are some similarities

33:44-33:47
with your idea of, yeah, it should be a branch issue.

33:47-33:49
That’s a really good idea.

33:49-33:54
So they are good ideas, but you don’t have into account

33:54-33:58
all the space that they are going to take to generate it.

33:59-34:01
So, yeah, the plugin is in the GitHub.

34:01-34:04
I also will share the link of it.

34:05-34:06
Right now it’s still in alpha.

34:07-34:10
I didn’t have time to develop more about it

34:11-34:15
after the Grid Aware project finished,

34:15-34:17
And that’s also one of the things

34:18-34:22
that is one of the learnings of these things,

34:22-34:27
that if you don’t have some sponsoring

34:27-34:29
or some kind of project,

34:29-34:31
like the one you got in the Gringo Foundation,

34:33-34:37
it’s difficult to put the time to make these tools definitive

34:38-34:40
or going forward.

34:40-34:43
I have a to-do list of really good ideas

34:43-34:47
that they would like to do, but since I’m a freelancer,

34:47-34:50
I have to juggle a lot of things.

34:50-34:54
Right now, I cannot develop it, but it’s open source.

34:55-34:59
And one of the ideas of this bonus episode of Sustainable

35:00-35:04
P, one is explain about this super cool project,

35:04-35:07
also explain about this cool plugin.

35:08-35:11
If there is someone interested on sponsoring it,

35:11-35:14
I would be happy to continue developing.

35:15-35:17
But if there is no one with money,

35:17-35:19
but there is people with time that

35:19-35:22
want to continue developing, I’m super open to it.

35:22-35:24
That’s the idea of these kind of things.

35:25-35:26
So yeah.

35:26-35:31
And yeah, I think that’s pretty much the part more

35:31-35:32
close to WordPress.

35:32-35:34
And it was really interesting.

35:36-35:41
I remember those days working a lot, a bit more

35:41-35:48
that I’m used to maybe because I try to balance, but being also happy because the result was

35:49-35:55
looking kind of good. And I think that there is a very good foundation for doing cool things.

35:55-36:03
And I really think that the grid aware concept, it’s a really interesting one. And I see benefits,

36:04-36:12
Even if you can discuss if running it on a server is much more efficient than running

36:12-36:21
it in a client way, even if it’s similar, since you are stopping to load a lot of assets

36:22-36:29
depending on the grid intensity, you are already doing two things good.

36:29-36:38
are loading less data, which usually is less CO2 and energy required. And also you are exposing

36:39-36:45
that this, that loading has an impact and you have, you can decide if you want to load everything,

36:46-36:52
but there is something there explaining it to you that right now the grid is in intensity is high.

36:52-36:59
So we are deciding not to load everything and you maybe it’s the first impact for you

36:59-37:06
and you say, okay, so this digital thing, it’s still has some relation with the physical world

37:07-37:11
and we should maybe change our behavior depending on how the grid is.

37:11-37:15
So the awareness part I think is also really interesting.

37:15-37:16
So, yeah.

37:19-37:23
That was really, really cool to hear you talk through all of that because yeah,

37:23-37:29
I mean, ultimately you and Nora were able to take these concepts that we’d

37:29-37:36
been talking about and apply them in quite a different way, um, into, uh,

37:37-37:40
a plugin that in theory, anybody could, could use.

37:40-37:46
I mean, the way that we implemented the code into branch is undoubtedly you do

37:46-37:50
need to have good developer skills in order to have a play around with this.

37:50-37:52
I really love what you did.

37:53-37:56
I think one of the things we talked about with this project was how can we lower

37:56-38:01
the barrier to entry of people experimenting here and I think what you and Nora did

38:01-38:07
was an amazing example, I’m blown away by what you were able to produce.

38:08-38:08
Yeah.

38:09-38:09
Yeah.

38:10-38:16
I remember trying to deploy, indeed I deployed the worker in my own website and

38:16-38:21
everything using the toolkit that Fairchart created, because the documentation was pretty

38:21-38:30
good. But I was thinking, I spent more than an hour or two hours to set it up. I had to

38:30-38:36
set up the APK for the CloudFair. So people that never heard about APKs, you can ask for

38:36-38:42
one APK, maybe the electricity maps that right now is still necessary. But if you are going

38:42-38:46
to us to create a new account in Cloudflare.

38:46-38:50
Not everyone is using CDNs because some people just

38:50-38:53
had like 90% of the traffic from the same country.

38:53-38:54
So maybe it’s not needed.

38:55-38:57
So when I was creating the plugin

38:57-39:00
and thinking on lowering as much as possible the barrier was

39:00-39:07
like, I think I have to check how I can do everything server

39:07-39:07
side.

39:08-39:14
And maybe we can remove one friction, the Clover API and the whole setup.

39:14-39:19
And yeah, at the end, I think I’m not sure if there is a parity one to one

39:21-39:27
with the branch, but I think it’s pretty close and I was happy to, to have something

39:27-39:30
that is easier to set up right now.

39:30-39:32
And yeah, that was interesting.

39:33-39:33
Yeah.

39:33-39:33
Yeah.

39:33-39:38
I mean, I think, you know, you’ve done some really important groundwork here

39:38-39:43
for making this possible for others and inspiring others and showing them what’s

39:43-39:48
possible. I mean, you touched on so many things that I could just rabbit on about

39:49-39:55
all day long. But I do think one of the key things that Fershad in particular was

39:55-40:01
interested in, in experimenting on was what happens when you apply grid awareness or

40:01-40:08
carbon awareness at a CDN level or the server level rather than in the user’s

40:08-40:13
device using JavaScript, because that was what the first version of branch did.

40:14-40:16
And that was the example that people were copying.

40:17-40:21
Um, and Phish is just about finished doing some testing with the good

40:21-40:22
people at green coding Berlin.

40:23-40:27
Um, and we’ve actually got some really good metrics that show.

40:28-40:31
Yeah, it’s about a 7% difference.

40:31-40:31
Okay.

40:31-40:40
So if you were running that JavaScript to implement grid awareness versus doing it

40:40-40:44
on a CDN, we think there’s about an overall 7% reduction.

40:45-40:49
And that’s because user devices are not particularly well optimized to do this,

40:50-40:54
but CDNs are, so that’s assuming that there is still energy being used on the CDN.

40:54-40:59
It’s not just like, oh, it’s 7% off the user device.

40:59-41:05
Like we think it’s actually a 7% reduction in the approach, um, which is pretty cool.

41:05-41:06
It is.

41:06-41:06
It is.

41:07-41:07
Yeah.

41:08-41:11
You rightly say it’s complicated to set up and that’s the trade-off.

41:11-41:13
That’s what we’ve learned, you know?

41:13-41:14
Yeah.

41:14-41:15
We can have some efficiencies.

41:16-41:16
Sorry, go on.

41:16-41:23
No, I want to think that the approach that I’m using in the WordPress plugin is more

41:23-41:28
similar to the one in the CDN because everything is happening, not in the client,

41:28-41:32
But I would guess that it was a bit more efficient,

41:33-41:36
but we didn’t have data still in the last meeting we had.

41:37-41:39
I’m so happy to hear that we have it

41:39-41:43
and that is pointing that probably it has some benefits.

41:43-41:46
So yeah, I think that’s really good.

41:47-41:47

  • Absolutely.

41:48-41:51
And I think the whole exciting thing about this project is,

41:53-41:56
as you rightly said, this, for me,

41:56-42:00
the kind of whole reason why you’d implement a grid aware website or why

42:00-42:07
you’d care about this is to create those nudges and that association between the

42:07-42:10
fact that your digital usage does have an impact.

42:10-42:14
And that’s not to say you shouldn’t use it, but you should use it more

42:14-42:19
mindfully and consider how it could be used in different ways to reduce the

42:19-42:24
impact and the whole process of this project, working with the advisory group,

42:24-42:27
developing the code and applying it to branch,

42:28-42:31
you know, doing the followups with, you know,

42:32-42:34
calls like this or summaries like this is,

42:35-42:39
I think we have some really great potential here

42:39-42:43
to raise awareness and create that link in people’s minds

42:43-42:46
and nudge more positive behaviors.

42:47-42:51
And I think, you know, that’s a massive contribution

42:52-42:54
to the realm of digital sustainability,

42:54-42:55
showing people what’s possible.

42:56-42:58
So I love that, and I love what you and Nora did,

42:58-43:03
’cause I really feel that your work took these concepts

43:03-43:06
and really inspires, you know,

43:06-43:08
how does this work in practice?

43:08-43:09
How would we actually tackle these

43:10-43:13
for a larger audience of people?

43:13-43:14
So kudos to you.

43:14-43:15
Yeah, thank you.

43:16-43:18
Yeah, maybe for closing up,

43:18-43:26
we can, uh, point to the right tools that were generated by the, by the project.

43:26-43:30
One of them is the plugin that I mentioned, WordPress, but there is

43:30-43:36
also really nice and good documented toolkit from the, from the project.

43:36-43:40
So can you summarize what, what is there to, for people to use?

43:40-43:41
Yeah, absolutely.

43:42-43:47
So there are a suite of code bases that you can use.

43:47-43:52
There’s one which we call the core grid aware websites library, which enables

43:52-43:57
you to set up the connection with electricity maps, which is the key data.

43:57-43:58
So we’ve got that.

43:59-44:03
There’s then, um, a separate set of plugins that are specifically

44:04-44:06
for people using CDNs.

44:06-44:11
So there’s a CloudFlare worker plugin and Netlify plugin, which kind of creates,

44:12-44:16
um, a bridge between the data and your website.

44:16-44:20
And then there’s a third layer of things which Phish developed, which

44:20-44:21
is the Grid-Aware Websites component.

44:22-44:22
Yes.

44:22-44:25
And so we learned loads about web components in this project too,

44:25-44:27
neither of us had done it before, so that was quite exciting.

44:28-44:32
And that came through, uh, and a suggestion through the advisory group

44:32-44:34
as well, actually to take that approach.

44:34-44:35
So yay for the advisory group.

44:36-44:41
But the third thing is a kind of, it’s as close to a drag and drop web

44:42-44:46
component as we could get it with the money and funding, and so it

44:46-44:50
this little tool, well, little, yeah, I suppose it is quite little.

44:50-44:54
This toolbar that you can put actually anywhere in the website, top, middle,

44:54-44:59
or bottom that gives you then gives the user centered controls.

44:59-44:59
Yeah.

44:59-45:03
So you’ve kind of got these three, three layers of plugins and each one can be

45:03-45:06
used separately or integrated together.

45:06-45:10
And the integration together is what you can see in our final version of branch.

45:11-45:11
Yeah.

45:11-45:12
Those three things playing.

45:12-45:15
Indeed, one of the things that I wanted to do

45:16-45:21
in the next steps was to change the one that I’m using

45:21-45:22
that is not a component,

45:22-45:25
it’s just built by HTML and everything in WordPress

45:25-45:26
by the component.

45:27-45:29
So it would be using that.

45:30-45:32
That was one of the idea, I was talking with fish

45:32-45:36
and it just arrived, the idea arrived

45:36-45:39
when I was not able to put more time to it.

45:39-45:42
But yeah, that’s a really good component

45:42-45:46
can use it in any, in any place.

45:46-45:50
So it hasn’t, it doesn’t have to be a WordPress and can be any kind of web

45:51-45:54
that you just can call the web component and add it.

45:55-45:58
So yeah, that’s a really cool tool that to use it.

45:59-45:59
Yeah.

45:59-45:59
Yeah.

45:59-46:01
We were pretty, pretty proud of that one.

46:01-46:04
And we also have to give props to Tom Jarrett, who was the designer

46:05-46:10
worked with us on that as well, because what you see is the final version

46:10-46:15
about 60 million different iterations and versions and ideas and things

46:15-46:17
and that we were playing around with.

46:17-46:24
Um, ultimately I think what we ended up with is quite a bit, you know, obviously

46:24-46:25
there’s always room for improvement.

46:25-46:28
I can’t wait to get funding so we can do version three.

46:30-46:35
Really, really happy with the massive leaps forwards that we had in terms of

46:35-46:39
the design and the communication to the user and yeah, big props to

46:39-46:40
Tom for helping us with that.

46:40-46:47
Yeah, I really invited the listener to go to Branch Magazine or to the SustainWP

46:48-46:59
example page to see these two. They are quite similar, the toolbox on the top bar.

47:00-47:06
But yeah, I think that’s pretty clean and understandable design to understand what’s

47:06-47:12
going on about the intensity and the idea that you can change it to even understand

47:12-47:14
better what’s going on.

47:14-47:15
I think it’s also really cool.

47:16-47:16
Yeah.

47:17-47:22
So, yeah, I think we covered pretty much everything I wanted to cover with you.

47:23-47:27
It was a whistle-stop tour of the GridAware websites project.

47:27-47:28
I mean, it was amazing, wasn’t it?

47:28-47:33
I mean, there’s still so much we could unpack and get into, but I think we touched on a

47:33-47:35
lot of the most important aspects.

47:35-47:37
Yeah, the last question would be if you

47:37-47:42
think that the concept of grid-aware websites has legs.

47:42-47:45
And do you see it evolving in the near future?

47:46-47:49
Of course, if we get some funding, I think it would.

47:50-47:52
But yeah, how do you see it?

47:53-47:56
Spoiler, I see legs on this, because I

47:56-48:02
think it really makes sense to keep playing with this

48:02-48:07
and see how also people react to this new information.

48:07-48:11
Because we are not used to go to a website

48:11-48:15
and have different display options

48:17-48:18
depending on the grid.

48:18-48:19
This is a really, really new concept.

48:20-48:22
And I think it’s a powerful one.

48:22-48:24
But of course, I’m biased.

48:25-48:26
So I don’t know.

48:26-48:29
How do you see– do you see that there is–

48:29-48:32
that the project has legs or can evolve in some direction?

48:33-48:35

  • Yeah, I mean, I’ll tell you a story.

48:35-48:38
So as we were wrapping up the project,

48:38-48:42
the summary of the project, we had a power cut.

48:44-48:45
Now, I know you know this,

48:45-48:46
but the listeners might not know this.

48:47-48:49
I live in the forest in Exmoor National Park,

48:49-48:51
and it’s quite a remote place,

48:52-48:54
and we have lots of trees and lots of wind.

48:55-48:56
And those two things combined together

48:56-48:58
I mean, pylons come down quite often.

48:59-49:02
And so we had a power cut right as I was,

49:03-49:04
a whole day power cut.

49:04-49:05
It’s actually quite short for us.

49:05-49:07
We’ve had them for five or six days before.

49:08-49:13
But it reminded me of how we take for granted

49:14-49:16
the power to power our devices.

49:16-49:18
So this one particular day,

49:18-49:20
my phone had very little charge on it.

49:21-49:24
And I was very, very, very conscious

49:24-49:26
of where my electricity was going.

49:27-49:29
And it really made me think, I was like, wow,

49:29-49:31
I really wish that every website

49:31-49:33
was a grid aware website right now.

49:33-49:35
And every website I go on,

49:35-49:37
I could opt to go into low impact mode

49:37-49:41
and have a stripped back simple version of the site.

49:41-49:43
Because I know that that would mean

49:43-49:45
my phone would use less energy.

49:46-49:49
So not really so bothered about the wider grid right now.

49:49-49:52
What mattered to me as that particular individual

49:52-49:55
facing the consequences of blinking climate change.

49:55-49:58
I didn’t have ready access to power

49:58-50:00
and I wanted low impact websites.

50:00-50:03
So for me, that experience came along

50:03-50:05
at just the right time to remind me that,

50:06-50:12
we are going to be dealing with crises, with storms,

50:12-50:14
with things that disrupt our infrastructure

50:14-50:15
and we need to be better prepared for it.

50:15-50:17
And we need to think about our users.

50:18-50:21
And I think GridAware websites really is

50:21-50:25
has power there to help people out in these difficult times.

50:27-50:35
So for me, I think there’s a very practical usage that I hate to think we’re going to have to need, but I do believe we will.

50:36-50:43
And then of course, you know, going back to some of the points we discussed earlier, there is right now in this immediate time,

50:44-50:49
the opportunity to raise awareness about these relationships and to nudge different.

50:49-50:58
And when I say this relationship, I mean the relationship between what’s powering our digital experiences and the impact on the environment around us.

50:58-51:09
So we still have the opportunity with Grid Aware to raise awareness of that relationship and I think provide more nudges on how people could do things differently.

51:10-51:17
And those nudges need to come at the point when you’re using something, not be disconnected from that.

51:17-51:22
So for those two reasons, I really am very proud of what we’ve done with the GridAware

51:23-51:23
websites.

51:23-51:24
I think there are legs.

51:24-51:34
I want to see more designers, more academics, more creative design studios, more businesses

51:34-51:40
experiment with these ideas and help us build up the use cases for this kind of approach

51:40-51:45
of websites that are part of a living system and not divorced from it.

51:46-51:51
So yeah, I felt like, as you can tell, I’m quite passionate and quite excited by the

51:51-51:54
legs that this idea has.

51:55-51:57
Yeah, and I really hope we can work on it some more.

51:59-52:00
That was a beautiful ending.

52:00-52:03
So I think we can close it here.

52:04-52:05
Thanks a lot, Hannah.

52:05-52:07
It was a pleasure to talk with you as always.

52:08-52:14
Yeah, and to you, Noah, as well for always being such a fantastic source of inspiration

52:14-52:21
and action in these spaces as well. I admire so much of what you do and I know as a freelancer

52:21-52:26
it’s hard to find the time and energy for these things but you manage to and I think that’s really

52:26-52:31
inspiring for others to see as well. Thank you. Bye. Bye for now.

52:35-52:40
Thanks for listening. I hope you found this bonus episode interesting and you want to learn more

52:40-52:46
about GridAware websites. Remember that you can find all the resources mentioned during the episode

52:46-52:52
in the show notes, including the article where Nora and I explain in more detail how the GridAware

52:53-52:59
WordPress plugin works and also the plugin repository in case you want to test it. I would

52:59-53:05
love to hear your opinions on this topic. For that, you can leave a comment on the website or share it

53:05-53:10
in the social media platform you are more comfortable on. And if you think that the

53:10-53:16
episode could be interesting to our WordPress colleague, please share it. Stay curious. Bye bye!

Nahuai Badiola Avatar

Guest

  • hannah Smith

    Hannah Smith

    Role: Director of Operations on The Green Web Foundation

    Bio: Based in the South West of the UK, I work with SMEs who want to understand and improve the sustainability of the digital tech they’re responsible for.

Leave a Reply

Your email address will not be published. Required fields are marked *