Categories
News

2010 – 2019: Decade in Review

As the decade comes to a close, I thought it would be interesting to look back on the past 10 years. So, rather than posting my regular year in review, here’s an abbreviated trip through the past 10 years of my life, both personal and professional.

2010

In the control room at the IBC, February 2010

The decade started for me in an almost poetic way with the end of one life and the beginning of another. I’d been working in live TV production from 2004, but my last job as the one-man production crew for one of those talk-radio-on-TV shows had abruptly been terminated as the result of a corporate takeover of the radio station in November 2009. Left on my TV plate was One Last Job: The 2010 Vancouver Winter Olympic Games.

For three weeks, while the city reveled in endless parties, mild weather, and the discovery that the rest of the world care more about cross country skiing than hockey, I sat in a production studio in the International Broadcasting Center (now Vancouver Convention Center) doing graphics for sliding sports and biathlon. It was a once-in-a-lifetime experience, and the last time I found myself behind the graphics desk in a TV studio. Some of the most important lessons in life involve figuring out that something is not for you.

Nick Brazzi and Morten on set at lynda.com in Ventura, California.

In September, the work that would come to define the decade for me began. I found myself in Ventura, California recording a course called “WordPress Essential Training” for lynda.com. It was an experiment to see if video training was a better fit than writing books, and at the time everyone figured it would be a one-off thing. That all changed a month after the course went live when it climbed to the top of the most viewed list and the content manager called me asking if I’d like to make some more courses.

2011

The suede soles of old and new dancing shoes.

One of the defining elements of the 2010s for me was dancing. Angela and I went to a ballroom dancing class on a whim some years earlier, and by 2011 it had pretty much become our “thing.” As I settled into my new career as a self-employed web developer and sometimes (quite often actually) lynda.com instructor, dancing was a thing that filled much of our lives. We danced two or three nights a week, and rapidly expanded our repertoire. Our dance instructor Elaine said to me at one point “If you’re always learning new things, you’ll always be a student, never a dancer,” and we took that to heart by bringing dance outside the studio and into any space where music was playing. Toward the end of the year I successfully danced my first pair of shoes to destruction and had to buy a new pair, which to me was a major milestone.

2012

While our business grew and my course production with Lynda.com really started to ramp up, Angela and I realized we could no longer stay in our small apartment. We needed to invest in either a small house and a separate office or a larger house with room for an office. We’d been hunting for a house for 4 years but kept getting squeezed out of the red-hot market by builders willing to buy anything, tear it down, and build a crappy duplex on top of it.

The horror show of a kitchen that met us when the old owners moved out. It looks unrecognizable today.

We’d all but given up when chance had us crashing a private showing of a house in our area. Two days later and we were suddenly homeowners! The house needed extensive renovations and much of the latter half of 2012 was spent first going through the various stages of “we’ve made a HUGE mistake” followed by “all these contractors are trying to scam us” followed by “hey, at least we got one that isn’t half bad” to “OMG they opened up all the walls and we have no plumbing or electricity” all the way to “Can you believe this is the same house we bought?!?”

2013

The first recording setup in my home office. This didn’t work and we ended up installing a proper soundproof booth in the next room.

Between 2012 and the first half of 2013 I found myself flying back and forth between Vancouver, Canada and Caprinteria, California pretty much on a monthly basis to produce courses for lynda.com. At one point a Starbucks barista at LAX called me over as I walked past on my way out of the terminal. “Morten! I have your drink for you!” I had no idea what she was talking about. Turns out I was so regular in my flying – always flying on a Sunday morning, always the third week of the month, etc – that she had taken down my regular order and decided to make one on the assumption I’d arrive as usual. A big tip was in order, followed by a conversation with my content manager.

Little beknown to me my content manager also had some thoughts, and one day I found myself discussing salary and benefits for a new job as a Staff Author at Lynda.com. And just like that the experiment from 2010 had turned into a full-time job!

2014

A large bonfire the night before my brother’s wedding.

To find proof the world has become more multicultural and borders and distances mean less and less, look no further than my extended family. I, a Norwegian, live in Canada with my Tawianese wife. In 2014 we traveled to Romania to attend the wedding of my youngest brother and his wife. If anyone had told us this would be our future when we grew up on Nesodden, nobody would have believed us. How much things change.

The wedding comprised three ceremonies: A Viking ceremony (pictured), a secular ceremony, and an orthodox ceremony in a very small church with beautiful singing, cake, wine, and a lot of laughter as Romanian priests tried to pronounce Norwegian names.

2015

A Wisakedjak diving off a branch.

My father’s aunt always said “life comes in lumps.” 2015 was for me yet another example of this being the truth.

The year started with the passing of my paternal grandmother and a sudden trip to Denmark and Norway for her funeral. It was a somber but wonderful time of reacquaintances with family and friends and the celebration of a long and eventful life.

In April I was woken at 6am by my phone ringing non-stop. It was friends from the east coast telling me LinkedIn had bought Lynda.com, so now I suddenly worked for one of the largest social media companies in the world.

In May, Angela and I embarked on a trip criss-crossing the United States to attend and speak at conferences in Boston, New York City, Carpinteria, and Miami. By the end of the month-long trek I had acquired what my doctor described as “stress-induced shingles.” All I’ll say is the Norwegian word for this disease, helvetesild or “hell’s fire” is an accurate description.

My official enrollment as a LinkedIn employee happened on the 30th of August, and life went on as normal.

2016

Baby Leo, in his incubator, wearing protective goggles because of the UV light.

I don’t think anything changes a person as much as having a child. In 2016 our son Leo arrived, 6 weeks prematurely, and the first three weeks of his life were spent at the hospital neonatal intensive care unit. Angela and I had been on an extended trip to Vienna, Austria for a conference just weeks earlier and after an extremely stressful day involving two different car accidents caused by first a careless driver and then a careless bicyclist, her water broke. The next week was spent at the hospital before Leo arrived screaming out in objection to the lack of “fast music” in the birthing suite on a sunny Saturday morning. We were lucky: The Canadian health care system is impeccable when it comes to treating mothers and babies, and our every need in this difficult time was met and exceeded. We lived in a cocoon as our son gathered strength and checked more and more of the boxes for early release, and after 3 weeks, still 3 weeks before his due date, we suddenly had him in our car and were driving home.

To say it was the most intense time of our lives is a gross understatement. But everything worked the way it should and moments ago I played penguin with Leo while we waited for Angela to rush him through the rain, into the car, and off to preschool which he loves.

2017

A set prop from the recording of JavaScript Essential Training.

“How do you feel about taking on JavaScript Essential Training?” This was the challenge handed to me by my former content manager, now boss’ boss Shira at the beginning of 2017. What followed was three months of intensive research on how JavaScript is taught and how to do it better. It was the most complex and intense course I had done to date, and we had an absolute blast putting it together. On my plan for 2020 is a complete reworking of the course to bring it up to current standards, and I am very excited.

Workshop room at WebCamp Zagreb.

2017 was also the first time I was approached by an international conference to come speak. Which is how I found myself in a cave in Zagreb, Croatia, in October as part of the speaker tour / dinner for WebCamp Zagreb. It was an amazing conference for an amazing community, and I hope I’ll be able to return at some point in the future.

2018

Graffiti on a wall in Freiburg, Germany.

Back in 2015 the same Shira had asked me to define what success looked like and what I strived for professionally. I stated two main goals: Get published in a recognized online magazine like Smashing Magazine or A List Apart, and eventually speak at their respective conferences Smashing Conf and An Event Apart.

I got two articles published in Smashing Magazine in 2016 and 2017, and in 2018 Vitaly Friedman invited me to come speak at Smashing Conf Freiburg. This was the first time I got to bring my tech and design ethics talk to the main stage at a web conference and I am eternally grateful to Vitaly and his team for taking a chance on me. Side note: If you find yourself in Germany, I recommend visiting Freiburg. What an amazing town!

2019

Morten on the set of Technology and Design Ethics.

Back in 2011, right after the recording of my 2nd course for Lynda.com, I told my then content manager Cynthia Scott that I eventually wanted to do a full-on philosophy course. “I’ll somehow camouflage it as a tech course, but it will really just be philosophy” I said, and she nodded and with a knowing smile responded “I’m sure you’ll make that happen.” And it did.

This summer my two content managers Simon St. Laurent and Stephanie Evans granted me the extraordinary opportunity to develop what would become “Technology and Design Ethics.” The course is the culmination and condensation of my academic work from two decades ago, my 17 years in the web industry, and my 10 years as an instructor with Lynda.com/LinkedIn Learning. If I may say so myself it both the best and most important work I have done, and I am eternally grateful to everyone who helped me along the way and made this course possible.

The future

People always ask me what’s next, and I can go on in great detail about what I think my murky crystal ball is showing for the web community. As for myself, I am far less certain. So far, my 2020 calendar tells me I have major plans for courses at LinkedIn Learning, and I am speaking about design and tech ethics at An Event Apart in Washington D.C. and in Orlando. I’m hoping to get some more conferences booked, and I am working on three new talks to make that happen.

Personally, I’ve committed myself to spending more time playing guitar, honing my craft at table tennis, and Angela and I have high hopes of getting Leo settled in a sleeping routine which makes it possible for us to go back to dancing 2 days a week. Without lofty goals, you have nothing to strive for.

The past decade has been a trip, with huge changes, huger obstacles, and tremendous personal and professional successes. Looking back on it all, I realize how important it is to celebrate and document your achievements and I’m committing myself to doing a better job at it so my 2029 decade in review is a little less complicated to research.

That was a small peek into my chaotic life, and if you’ve read this far, I thank you for indulging me in this introspective exploration. I also encourage you to do your own review, in private or in public, and find highlights worth looking back on. Remember the good things and let them drive you forward as we start writing 2020 everywhere.

Hope is a catalyst.

Categories
Open Source

Walking Away and the Ethos of Open Source

Every time we contribute to an open source project, in any way, we are answering an important question:

Why don’t I walk away and start a new fork?

I’ve been working in and with and around open source software for the better part of 15 years, and over that time I’ve seen the rise of amazing ideas, powerful communities, valuable ecosystems, and massively profitable companies. Which is great. Open source is eating the world by giving everyone a chance to contribute and use software and technologies without being beholden to expensive proprietary licenses. I’ve also seen a slow and systemic erosion of the principle of walking away. Which is not great. Actually, it very bad.

Some time ago I posted what I called the “Open Source Serenity Prayer” on Twitter.

 My intention was to remind open source contributors of what I believe is the core ethos of open source: the ability to walk away and make something new. Yet when I posted this text, a chorus of concerned friends and acquaintances chimed in with the same refrain: “Walking away? If I walk away, I lose everything.”

This is a problem. This keeps me up at night.

Asking for clarification on people’s concerns, I heard variations over the same theme:

  • My job depends on the success of this particular version of a project.
  • My skills are tied to this particular version of a project, I can’t succeed anywhere else.
  • A project is too big / too dominant for a fork to be successful.
  • A project is no longer a tool; it has become infrastructure.

In other words, some open source projects have turned into monocultures – the exact opposite of what open source was meant to create.

This is why walking away matters, maybe now more than ever before.

The Ethos of Open Source

At the core of open source ideology and practice lies the powerful concept of “forking;” taking what already exists (a “branch”) and making a new copy (a “fork”) from which new branches can grow. Very much like cultivating a garden. This is the proverbial “standing on the shoulders of giants” made real: You take something that works, often the work of countless other contributors like you, and build something from it. It may be a slight variation on the same theme, or something entirely new and different. Then someone else can take this new thing you built, fork it again, and build something new and different from it.

Forking and branching gives open source communities the freedom to explore a plurality of ideas without starting from scratch, and individual contributors the capability of choosing every day to do work they find meaningful and valuable without any expectation or obligation of future commitment or their work being wasted: If you create something which you find valuable, and the project you want to contribute to does not want to include your work, you can create a fork and build your own vision of the future. All the while, the maintainers of the original project and anyone else can copy or build from your new work to make further works, with or without your involvement. Everything is connected to everything else, and everything builds on and learns from everything else.

Contribution to open source and the open commons is in a very real way the giving away of your work without direct remuneration or reward. Your work may be funded by someone, and you may get status, or praise, or even power from your contributions, but these are secondary. Once contributed to the commons, the work becomes the property of everyone, from which new forks can be made.

Thus, every time we contribute to an open source project, in any way, we are saying to ourselves “I believe in this fork, I believe in the future it builds, and I am going to give away my time and work to it today to move it forward.” We are also saying “today I choose to stay with this fork, to not walk away and start a new one.”

The important things here are agency and capability: The choice of continuing to contribute to a particular fork, or to walk away and create a new one, must be a real choice. When a project becomes so powerful, or dominant, or such a monoculture that the choice of walking away becomes unfeasible, or a significant risk, or even impossible, the effective capability of forking the project is lost. And with it we lose what makes open source valuable to begin with.

Walking away

Open source ideology started as a revolutionary counterculture fighting monopolies, monocultures, and corporate control. Choosing open source was an active walking away from the default models of expensive and restrictive proprietary licenses. Inherent to the open source ideology is the freedom of agency, autonomy of contribution, and the capability of walking away and starting a new fork when the work is no longer meaningful to you, or you have a new vision of the future, or you disagree with where the project is headed. This, the capability and willingness to walk away and start new forks and new projects and new versions and futures, is what made open source so successful. If we don’t embrace this, if we don’t actively cultivate the plurality of ideas which brought us here, we’ll fall victim corporatization, monopolization, and the creation of monocultures. Which is what I’m seeing everywhere I look.

When an open source leader says their project is “not a grain, it is the soil” and implies a single fork should become the infrastructure for everything, it may be time to find the strength to walk away and start a new fork to keep our open source garden from succumbing to monoculture.

Cross-posted to LinkedIn.

Note: This article was inspired by Cory Doctorow’s book “Walkway” in which he explores a future where citizens literally walk away from “Default” society to live and work in a new society founded on open source ideals and values. I think this book should become essential reading for open source ideology and open source contributors (it’s also a very good and entertaining book, so there’s that.)

Categories
Ethics

ASPIRE: An Acronym for Better Web Practice

Sometimes interesting things happen on Twitter. Last week Scott Jehl proposed ASPIRE as an acronym for the practices we should follow as web designers and developers. From the resulting blog post:

Great websites should aspire to be:

  • Accessible to folks with varying cognitive and physical abilities and disabilities
  • Secure and reliable for storing, manipulating, and transferring information
  • Performant on average devices and in constrained or unreliable network conditions
  • Inclusive to diverse audiences and produced by diverse teams to create better experiences
  • Responsive in adapting the user interface contextually to any screen
  • Ethical in how users’ preferences and data are handled

I’m interested in the last one: E for Ethical.

What constitutes “ethical” web practice?

While we have pretty well established standards and practices for the first five; AccessibleSecurePerformantInclusiveResponsive; we have yet to establish what “Ethical web design and development” means, what it looks like and how it is practiced.

Part of the problem is the term “ethics” is often equated with statements like “do no harm” or practices to avoid legal issues. In reality, ethics refers to the principles and practices we agree upon as a society to judge the goodness and rightness of acts. The Markkula Center for Applied Ethics describes it like this:

“ethics refers to well-founded standards of right and wrong that prescribe what humans ought to do, usually in terms of rights, obligations, benefits to society, fairness, or specific virtues.”

In short, ethics is about practice, how we conduct ourselves and how we judge our actions.

Ethics cannot be summed up as “do no harm” because that leaves the door open to moral relativism: what is harm, to whom is this harm being done, who decides this is harmful, etc.

So what then is ethical practice in relation to web work? Here’s my rough draft to start a conversation about a definition:

Ethical web design and development practice: Work focused on human flourishing through ethical practice and methodology and centered on the rights, capabilities, and agency of the end-user.

What is “ethical practice?” Design and development practice rooted in ethical principles.

What are “ethical principles?” Principles derived from well-established moral philosophies including Consequentialism (specifically Utilitarianism), Duty EthicsVirtue Ethics, and Capability Approach. I wrote a huge article for Smashing Magazine about how to use these in web design, and also done some talks on the topic:

Bottom line, ethical practice is about the doing and being of the practitioner, whether they see their users as ends or means to an end, whether they put “ought” before “can”, and prioritize the agency of those they act upon. It’s about how we judge the goodness and rightness of our work.

I’m really excited about this conversation, and I hope we can get together as a community and figure out what ASPIRE means to us, and how we want to define Ethical web design so we can come together around shared principles and practices and carve meaningful paths into the future for other people and for ourselves.

Cross-posted to LinkedIn.

Cover photo by ?ukasz ?ada, Unsplash 

Categories
My Opinion

Where We Go From Here: 10 Thoughts on the Immediate Future of the Web

I was asked to close out WordCamp Vancouver with a short 20 minute keynote on something interesting. After some thought, I put together a list of 10 trends I see in the web community and where we are headed in the immediate future.

0. The Future Keeps Arriving

In my +15 years working on and with the web, the one major lesson I’ve learned is the future keeps arriving, sooner than you think, and often the future is already here. The web, the internet, and the technologies and communities powering them are evolving ever more rapidly, and what we consider future possibilities today often becomes practical realities the very next day. The future keeps arriving. Keep this in mind as you read on.

1. WordPress Themes are Dead. Long Live WordPress Themes.

If you’re of the WordPress persuasion, you’ll know about the Block Editor, nee “Gutenberg,” and how it’s changing everything. Even if you don’t work with WordPress, even if you don’t care about WordPress, this transition from the content blob to each piece of content being its own “block” with its own properties and attributes is changing everything about how we think of content on the web. Why? Because WordPress powers a full 34% of the web meaning what WordPress does impacts everyone, even those who don’t use it.

Why does this matter? The front-end of pretty much every WordPress site up until this moment is a template displaying content in a relatively rigid way. With the Block Editor, that paradigm is all but dead. Right now, blocks are confined to the “content area,” meaning the post or page content itself. That’s about to change. In the foreseeable future – probably within the next 12 months – the block concept will spill outside the content area to take over the whole view. This article and video from Matias Ventura gives us an early preview of this future:

Exactly what this all means is still up for debate, and the debate is happening right now: See Ben Gilbanks’ “The End of WordPress Themes Is In Sight” and Justin Tadlock’s “Rebirth of Creativity: Gutenberg and the Future of WordPress Themes” for two contrasting views.

Bottom line: What we think of as a “WordPress theme” is already an outdated concept. The future has arrived, we’re just waiting for the practical implementation.

2. Gatsbyfication of the CMS Ecosystem

If you don’t know what Gatsby is, you will soon. The emergence and popularity of static site generators like Gatsby, 11tyNuxtJekyllHugo, and more is the beginning of a communal shift from delivering server-side rendered front-ends to delivering static or faux-static front-ends, often powered by JavaScript frameworks powerful APIs, and new query languages like GraphQL (see below for more on that). Gatsby and its ilk sit adjacent to traditional CMSes pulling data from them through APIs and presenting it to the user in new and more performant ways. And they can combine data in ways those old CMSes can not. More on that later as well.

What’s driving the Gatsbyfication of the CMS ecosystem? Several things:

  1. The idea of the monolithic end-to-end CMS solution is old and outdated. We no longer consume data from single sources, and giant monolithic CMSes like WordPress, Drupal that try to do everything for everyone etc are becoming dinosaurs.
  2. Performance is the new Black, and CMS-generated just-in-time server-rendered sites just don’t cut it. Static site generators pulling data from CMSes is the natural progression from caching server-rendered content.
  3. Delivering content on the “Edge”: The web is global, yet CMS-based content delivery is most often confined to one server in one location. Content Delivery Networks (CDNs) have long been used to try to remedy this issue, with mixed results. Static site generators like Gatsby allow content to be computed and rendered on the “edge” – closer to the end-user, and in a more performant way.
  4. JavaScript is the new wine. Nobody likes PHP any more. Love it or hate it, JavaScript is the place to be, and static site generators are soaking in it.

Bottom line: I call this trend the “Gatsbyfication” because right now Gatsby has more wind in its sails than any competitor and money is pouring into the project. Does that mean Gatsby will reign supreme? I have no idea, but I think a Gastby-type solution will reign supreme in our immediate future.

3. With the APIfication of the Web, REST is ceding to GraphQL

REST APIs have been around since forever. I remember going to a web conference in 2009 where almost every talk was about RESTful APIs. REST gave us the tools and infrastructure to evolve the web beyond single-source-of-content solutions and paved the cowpaths leading to the client-side content rendering which is now the default for content rich sites including LinkedIn, YouTube, Facebook, and sites powered by static site generators like Gatsby (see above).

The problem is the REST concept is old, and it doesn’t provide the necessary tooling to do the things we want to do today.

Enter GraphQL, a new query language which approaches the same problem REST tried to solve in a new and more modern way. I won’t bore you with the details of how GraphQL works (we have courses for that at LinkedIn Learning if you’re interested!). Suffice it to say GraphQL allows developers to combine data from different API sources and make it available in ways that benefit them and make previously impossible or very hard things practically possible.

If you don’t believe me, look no further than the WordPress project: After an enormous undertaking of creating a proper REST API for WordPress, tools like Gatsby choose instead to use the custom WPGraphQL to query and consume data from the source.

Bottom line: The APIfication of the web has been happening for a while, and future web services will need to serve up comprehensive APIs to stay relevant. GraphQL-type query languages will replace REST as the standard interface, and as a result consuming content from single sources will become an anti-pattern (see below).

4. Content Streams and the Content Mesh

Back in 2013, David Gelernter published an opinion piece in Wired Magazine titled “The End of the Web, Search, and Computer as We Know It” where he talks about the concept of a “lifestream”:

“a heterogeneous, content-searchable, real-time messaging stream.”

David Gelernter

Sound familiar? If you have one of those talking thermos cans at home and asked it “Hey Corporate Surveillance Device, tell me about my day” you know that’s pretty much were we live today. Except the web hasn’t quite caught up to the trend yet.

Enter the “Content Mesh” — the infrastructure layer for a decoupled website — introduced by the Gatsby team and pretty much the manifestation of what Gelernter talked about all those years ago.

The Content Mesh, if we choose to adopt this language, is the idea of building a front-end that consumes and interacts with data from multiple sources. So instead of having one monolithic WordPress site trying to do blogging and ecommerce and forums and forms and everything else, you have one unified front end that brings in blogging from WordPress, ecommerce from Shopify, pages from Contentful, forms from Google Forms, etc. Literally meshing together content.

Bottom line: The current idea of the content mesh is an evolution of the single-source website concept. That’s where we’re headed right this moment. In the slightly more distant future, the content mesh will be served by our personal assistants, configured by the individual user, and the website as we know it will be a quaint anachronistic thing some people choose to spend their time on.

5. The Rectangular Screen as Main Content Delivery Modality is Already Dead

Here’s the new trailer for the dystopian near-future sci-fi show Black Mirror:

Just kidding. This is an ad for Facebook Horizon – a virtual world reminiscent of the OASIS predicted in the book Ready Player One, except it’s run by IOI (you don’t need to read the book or see the movie btw. If you haven’t, just read on).

AR/MR/XR/VR/CR whatever we end up calling it, the idea of computers in some way augmenting our reality by introducing virtual layers in the form of visuals, audio, or other sensory inputs, is now a reality. All the major tech firms are fighting to be the first to inject their own ad-fuelled reality as a layer on top of our own. If you have one of those aforementioned talking orporate surveillance thermos cans, or a modern phone or computer or TV with a voice assistant, you are already living in this future.

The world in which our main tool for accessing information over the internet is a rectangular glass screen is already in the past. We are merely experiencing the late-stage residuals. The second the Fruit Company rolls out their first set of iGlass AR-powered glasses, and the Search Company follows suit with AR-powered contacts, the focus for web content delivery will shift from “how do we cram as many ads into the viewport of a mobile browser” to “how do we cram as many ads into the field of view and range of hearing of the human experience?”

Don’t believe me? Watch Marley Rafson’s talk “The Case for Augmented Reality on the Web” from JSConfEU 2019 and draw your own conclusions:

Bottom line: The APIfication of the web, and the Content Mesh, will become more important than ever because we’ll need to design and deliver our content to new interfaces which don’t even exist yet in the immediate future. Also, unless we actively resist the urge to AR everything and put ads everywhere, our AR world will be an insufferable hellscape reminiscent of Keiichi Matsuda’s “HYPER-REALITY” for the next decade.

6. CSS Changes Everything

On a positive note, CSS is evolving and changing in extraordinary ways, and the future of CSS is even more extraordinary. In our modern web dev world already have magical tools like flexgridcustom propertiesanimations, and filters. Soon our CSS toolkit will expand exponentially thanks to CSS Houdini. Look no further than Una Kravets‘ JSConfEU talk “CSS Houdini & the Future of Styling” to see where we’re headed next:

As if that wasn’t enough, the canvas in which we do our work is about to change as well. Right now, Adam Argyle is working on his VisBug Chrome extension:

Adam made this GIF just for this article!

Sold as a visual browser development tool that makes your browser viewport work more like a design tool, I think this thing is a peek at what the future will bring in terms of web design: The browser itself being the design canvas, and server-powered tools like WordPress’ Gutenberg editor being old hat.

7. Open Source Ideology is D/Evolving

Open source rules the web world. Open source is also experiencing some long-overdue internal strife. Without going into too much detail, Richard Stallman, considered the originator of open source ideology, has stepped down from his various leadership roles in the open source and free software communities due to accusations of decades of problematic behavior. You can read more about this in various news outlets and opinion pieces (and you should, this stuff is important).

Here’s my abbreviated take: It’s high time problematic characters like Stallman are removed from their positions of power in the open source community because their influence has been detrimental to the participation in these communities for many marginalized groups. Moreover, it opens the door to a deeper conversation about the core ethos of open source ideology and whether the radical understandings of terms like “freedom” by a group of entitled white men is a sound foundation to build equitable and inclusive communities moving forward.

I’m going to write more about this in a separate post, but my long-held opinion on open source ideology (and I say this as an open source creator, contributor, and proponent) is open source in its present iteration is exclusionary and privileged. Why? Because it’s based on the assumption that those who have something worthwhile to contribute also have the time, money, and necessary tools and access to be able to contribute. From there follows that anyone who is not contributing, for whatever reason, does not have anything valuable to contribute (which is utter nonsense) and that those who contribute the most (usually because they are paid by corporations to do so – see below) are the best people to lead the project. “Decisions are made by those who show up” really means “decisions are made by those with enough privilege to show up” which is not an equitable nor inclusive base to rest an entire ideology on. Follow Christie Koehler for more on that story.

Then there’s the whole “open source is value neutral” and “open source licenses can’t have morality clauses” thin which deserves an entire article its own. Follow and support Coraline Ada Ehmke in their efforts to debunk that nonsense.

Bottom line: Open Source ideology is being redefined right now. Your participation in that conversation decides whether it’ll be an evolution or a devolution. Your voice matters, so use it! Forward the equitable and inclusive open source revolution!

8. Corporate Control of Open Source is the New Black

Guess what: Open Source is super valuable. No wonder large corporations want their piece of the pie. Actually, they want all the pieces of the pie and they want you to bake it, for free! Yes, yes, I work for LinkedIn which is part of Microsoft etc. But I’m believe in open source, and I’m deeply concerned about the corporatization of the open source space.

Here’s the gist: The core idea of free libre open source software was to effectively flood the commons with free (as in you don’t pay) open source software so the large corporations who sold expensive licenses for proprietary software went out of business. Don’t believe me? Go read the GNU Manifesto (and keep in mind everything I said above). The idea was we would use open source software in the capitalist world to earn money, thereby keeping the software itself without value and only putting value to the services rendered with the software.

So what happened? Corporations figured since all the open source contributors didn’t derive value from their software, the corporations could do it instead! And without paying a dime for it. Literally get people to work for free and then make money from that work.

Sure, that’s an oversimplification, but it is also the reality on the ground. The corporatization of open source, in particular large projects like WordPress and Drupal and NPM, is a reality, and it’s only going to get bigger. If there is value in a project, a big corporation will be made to turn some of that value into cold hard cash. See the aforementioned Gatsby.

Some say this is a good thing. Some say it’s not. I think we need to start thinking more about where we want to go than how we can turn free contributors into cash cows.

Bottom line: The open source community has failed in its mission to change the status quo, choosing instead to double down on good old capitalism. If you don’t like it, do something about it. Also, go read Cory Doctorow’s “Walkaway“.

9. The Tech Ethics Reckoning

The Pope felt it necessary to invite Silicon Valley to the Vatican to talk to the tech industry about morals, ethics, and the common good:

Unless you’ve been living under a rock, you know #techethics is hot shit, and for good reason: Turns out moving fast and breaking things breaks people, communities, even our democracy.

Here’s the problem: The tech and design communities are largely autodidact. There is no board of ethics for tech or design, and everyone is allowed and encouraged to do whatever they want in the name of disruption, innovation, and creation. Put bluntly, we are working in a non-ethical industry.

Why does this matter? Because in lieu of the tech and design industries regulating themselves, or at the very least adopting and enforcing some basic form of ethics, governments will regulate us without our input. Which is what’s happening right now.

This is especially bad for open source because unlike large corporations and their walled gardens, who spend millions on lobbyists to sway politicians to lock everything down and hand the keys to the highest bidder, open source developers live in some reality dysfunction where they think politics and political involvement are irrelevant.

Trust me when I say they are not. They are the life blood of modern civil society, and choosing to stand aside and let things happen without your input is the same as letting other people carve out the path you need to follow into your future.

Bottom line: Unless we figure out the whole ethics thing for tech and design right now, we are going to be regulated into a walled garden of corporate surveillance of our own making.

10. The Next Generation

Looking around at my industry I see two things:

  1. Old white men like myself wringing our hands and saying “man, we really messed this up, I wish we could roll back the clock and do some things differently.”
  2. Young diverse community members trying to make make a living out of an industry emerging from its adolescence and realizing it now runs the world and needs to do a better job at it.

This gives me hope.

I believe in the next generation of creators on the web, and I believe they have what it takes to turn this chaotic mess we call “tech” into what it can be: A new path forward for a more equitable and diverse society with values rooted in the idea of common goods distributed through free and open commons.

Bottom line: The future keeps arriving. The future is already here. It is our job to ensure the next generation gets to experience the same freedom of creation and discovery on a free an open internet so they can build a robust and inclusive society for all of us.

Postscript: Your turn

This is what I see. I’m just one person, and I have strong opinions about things. To move forward, a discourse is required. We need to share our thoughts, ideas, hopes, and concerns, and figure out how to move forward together.

What do you think about all this? What trends are you seeing? Where are we headed next, and where do you think we should be headed?

Add your thoughts in the comments, or in your own posts, and let’s find paths into the future we design together!

Cross-posted to LinkedIn.

Categories
Events WP Rig

WPCampus 2019 WP Rig Workshop

This post contains the slides for and links to all the things you need to follow my WP Rig workshop at WP Campus 2019, including a couple of verbose code examples for complex walk-throughs.

WP Rig itself:

VS Code extensions

Referenced documentation

Throughout the workshop I’ll mention a proverbial ton of fancy new technologies, best-practices, and other cool stuff. The list below comprises the most salient parts for your perusement:

CSS

PHP

JavaScript

Code examples

VS Code settings

{
  "prettier.stylelintIntegration": true,
  "prettier.eslintIntegration": true,
  "editor.formatOnSave": true,
  "editor.renderWhitespace": "boundary"
}

Walkthroughs

Categories
WordPress

The Case for WordPress Governance

What role does WordPress play in the larger discussions about the web platform and the internet? What responsibilities does WordPress have to speak for the tens of millions of content creators, business owners, designers, developers, organizations, institutions, and governments who rely on this free open source software to share their thoughts, ideas, information, products, and services with the world? And how does WordPress responsibly take part in the external decision making processes which impact not only the application itself but every person who in any way interacts with WordPress?

These questions, and others in the same vein, were the starting point of what would become the WordCamp US 2018 talk Moving the Web Forward with WordPress, and the WordPress Governance Project.

Today, some 4 months later, I want to shed some light on why I think WordPress Governance is so important, and why to me it is less about uprooting existing leadership models and starting a revolution than taking stock of the position WordPress and its community finds itself in and accepting its new role as a driving force of the web.

In this article I speak not as a representative of the WordPress Governance Project. These are my personal reflections on where we are and where I think we need to go next. Consider them part of a larger discourse, and an invitation for you to join that discourse.

33% and growing

A few months ago WordPress crossed a significant mile marker: According to W3Techs, WordPress now powers more than 33% of the 10,000,000 most popular sites of the web as ranked by Alexa. That’s ? of the web gathered under the banner of democratizing publishing through free open source software. Even if we question the methodology or validity of this particular number, the reality is clear to see: WordPress has a larger footprint on the web than any other content management system.

33% is a testament to the millions of hours of free labor the WordPress community has invested in the application. It proves, beyond any doubt, that free open source software published under the GPL is not only a viable but a preferred option in the eyes of the end-user, the people who want to publish content on the web. In short, WordPress has been and remains an unprecedented success story. And that success is the result of a vision of the web defined by project co-founder Matt Mullenweg and supported by every contributor to the WordPress open source project: that web publishing should be available to all; that open source software published under the GPL is the best vehicle to make this happen; that the Four Freedoms must have precedence above all else.

These ideals, combined with a strong belief in meritocracy and an ideological aversion to hierarchical management, have paved the path leading to today. Which begs an obvious question:

If it works, if it got us this far, why change it now?

My answer, “what got us here won’t get us there,” needs both context and more substance. In this article I’ll lay out my two main reasons for wanting governance in the WordPress open source project: Representation for the open web, and deliberately moving the web platform forward.

Who speaks for the open web?

Decisions are being made by politicians all over the world about the future of the internet, the web, and what types of services and contents can be published and used on them. These decisions are already having a direct impact on every person who interacts with WordPress, and there are more to come.

As a person using the internet, and probably using WordPress in some way, two questions should be front of mind in all this:

Who speaks for WordPress when these decisions are made? And what are they saying?

Right now, the answer is nobody, and nothing. This is concerning, and may have significant consequences for the future of the web and the internet, even for those who never interface with WordPress.

If you think I’m being overly dramatic look no further than the UK Home Secretary linking WordPress.com to the spread of terrorism and you realize politicians and lawmakers are in their seats of power, policy proposals in hand, and we have so far chosen to not help them craft those proposals into laws that protect rather than hurt the open web.

To put a fine point on it, right now the future of the internet and the web is being decided by lawmakers with a poor understanding of how these technologies and the communities they foster work. These politicians make their decisions based on input from lobbyists, special interest groups, and industry bodies. While there are some organizations working to promote the interests of the open web, WordPress has been absent in these conversations.

This is a deliberate choice of political non-intervention, and it’s an irresponsible one in my opinion.

By not taking part in these conversations, by not claiming a seat at the tables of power, the WordPress open source project says “we power 33% of the web, but we do not promote the rights of the people who use our software.”

But what policies would a representative from WordPress promote? Who would appoint that representative? And who would they represent? Every WordPress user? The contributors?

All these questions have no clear answers today because the WordPress open source project has no governance structure to allow policies to be created, appointments to be made, or discussions of representation to even take place. Today, the sole representative and only person who can speak on behalf of WordPress with any authority is project lead Matt Mullenweg. When I asked him how we go about representing WordPress in these decision making bodies at WordCamp US in 2017, his answer was quite vaguely that someone should step up and lead. Which is, in part, how the WordPress Governance Project came about.

Necessary conditions as a starting point

I think one of the major sticking points in this whole conversation is how to define policies that can be legitimately said to represent every WordPress user. My proposal is to start by identifying the necessary conditions which must be in place for WordPress to be able to achieve its core philosophy.

The core philosophy of the WordPress open source project is the “democratization of web publishing.” What exactly that means is not clearly defined, but the words themselves have meaning. “Democratize” in this context most likely means “make something accessible to everyone,” so “democratize publishing” means making publishing accessible to everyone.

From this, we can stipulate some necessary conditions including:

  • Unrestricted access to the information on internet
  • Net neutrality
  • Accessibility
  • Privacy
  • Security

These conditions, and others like them, can be turned into concrete policies representatives can bring to politicians and lawmakers around the world. That way, when a proposal for stricter regulation on link attribution, or the removal of net neutrality, or anti-encryption, or pro-privacy laws are proposed, the WordPress project can claim its seat at the table and present comprehensive and consistent policy opinions as the representative of every entity who chooses to use WordPress to publish content on the web.

“These are the necessary conditions for 33% of the open web to flourish” is a strong statement, and one politicians will listen to.

Silence is consent

The current absence of WordPress in these conversations is seen as consent. When 33% of the web stays silent as laws are enacted, the lawmakers read that as 33% of the web approving of those laws being enacted. This silence is not a decision made by the WordPress community. It’s an ideological decision made by WordPress leadership on behalf of the community, and I question whether it is one the community agrees with.

This is a conversation the WordPress community needs to have. To continue thriving on the web, the WordPress community needs to play a role in the decision making about the web. To do that, we need systems in place to propose and ratify principles and policies, elect or appoint representatives, and fund their work to promote the interests of WordPress site owners.

Other communities including Drupal are hard at work trying to put together exactly this type of representation, but WordPress’ absence is a proverbial elephant in the room. If Drupal goes to the EU and says “we speak for our users,” cunning lawmakers and the corporate interest lobbyists who influence them will say “You represent maybe 3% of the web. 33% of the web is silent. Get back to us when they have something to say.”

WordPress should be banding together with Drupal and other open web communities to create a body of influence representing the open web. To do so, WordPress needs the tools and mechanisms to create policy and enact it. That in turn requires governance.

Interlude: Paving the Cowpaths

Behind my childhood home on Nesodden right outside Oslo, Norway, there was a hidden path leading to a bigger path leading deep into the forest. As children my brothers, our friends, and I would take these path as soon as our homework was done and disappear for hours into the wilderness. Over time, what started as tracks of broken twigs and crushed vegetation became well-trodden dirt paths, and eventually the municipality came in to clear away boulders and lay down gravel turning what was a natural path between the trees into a maintained pedestrian road through the forest.

We are a society of road builders, and the roads we build typically start off as paths laid down by animals and people exploring new ways of getting where they want to go. There’s a term for this: paving the cowpaths. We use it to describe the formalizing a de-facto practice, whether that be a path through the forest or a coding pattern for the web.

A significant portion of the modern web standards we work with today were established by paving the cowpaths of the web. Standards bodies look at what established practices exist and what solutions people use consistently, and build new standards around them. Prime examples are how modern JavaScript (aka ES2015, ES6, ESNext, etc) has adopted many of the de-facto practices established by jQuery and similar libraries, and how modern CSS has adopted many of the de-facto practices established by preprocessors like Sass. Seeing cowpaths being formed on the web, the standards bodies get together to pave them, formalizing the practices and making them part of the web platform proper.

What does this have to do with WordPress? To put it bluntly, at 33% and growing, WordPress is the cowpath. Or rather, wherever WordPress decides to go, it puts down a cowpath wider and more established than anything else on the web. That means wherever WordPress goes, others will follow, and standards bodies, browser manufacturers, and every other player in the ecosystem surrounding WordPress has to start paving the path laid down behind it.

I propose this is a one reason why large multinational corporations, major hosting companies, and other commercial parties are investing heavily in developer resources and contribution to the WordPress open source project: Pushing WordPress in a particular direction means pushing the web in a particular direction. WordPress is becoming a vehicle driving the web forward. But where exactly that vehicle is going is not clear. And that’s a problem, not just for WordPress but for the web.

Moving the Web Forward with WordPress

A few months ago a friend reached out to me asking what my goal was for the WordPress Governance Project. I told him I want to move the web platform forward with WordPress. “WordPress could be a vehicle to push the web forward,” I said. “Imagine if WordPress collaborated with the various standards bodies governing the web to implement new features. We could quite literally deploy a proposed standard to +33% of the web over night thereby establishing it as a de-facto practice ready to be implemented across all browsers. It could mean an end to waiting for years for tools like flexbox, CSS grid, service workers, and modern JavaScript to become well established enough to get widespread support.”

He shook his head and said “From where I stand, it’s the other way around. WordPress is conservative, regressive even. It’s not moving the web forward, it’s slowing it down.”

I wish I could say he was wrong.

From my perspective WordPress is cautious to the point of being conservative. And in some cases it is indeed regressive. There are many causes at play here, maybe most importantly WordPress’ policies of backwards compatibility, continued support for older browsers and server infrastructure, and reluctance to adopt progressive enhancement principles.

There are good reasons for these policies and practices: WordPress powers 33% of the web, and its users are distributed across every continent and country on our planet. WordPress needs to work for all the people who use it, and that means providing solutions that work on old and outdated infrastructure, in poor connectivity environment, on pay-per-byte connections, on legacy devices, running outdated browsers.

But these challenges are not unique to WordPress, and they do not need to be a grand piano dragging behind the vehicle of progress. What WordPress needs is a long-term strategy for upgrading the web while protecting every user. That requires a stated vision and goals. That requires the involvement of subject matter experts from within and outside the community. That requires the establishing of plans, assignments, roles, and delegation of tasks. In other words, we need to rethink how the WordPress open source project is structured, from the ground up.

Leadership matters

What got us here won’t get us there, because what got us here was a flat-structure management system based on meritocracy where each contributor works on what they find valuable, and the application evolves based on their contributions. This model is designed for small open source projects developed by the people who use it. WordPress is a mission-critical application built by a dedicated team of contributors for tens of millions of people, businesses, and organizations who never interface with the WordPress community. On this scale, leadership matters.

What’s needed to move forward is a system where the community agrees on a direction, tasks are defined and delegated, and decision makers are assigned to ensure things are done and done correctly. This is how well-functioning organizations work, and it’s for a good reason: No single person can have complete oversight of an entire complex project. Without proper hierarchical leadership structures, management becomes non-existent and project success relies entirely on individual contributors. In a leadership vacuum, ad-hoc leadership structures naturally emerge introducing confusion and often conflict. The end result might be functioning software, but it is guaranteed to be wasted time for everyone involved. Leadership, and leadership structures matter.

Many who read this will immediately object saying this is not how we’ve done it so far, it goes against the very essence of open source, it is not tenable, it means some people get to decide what other people (volunteers) work on, etc. These are fair arguments. In response I’ll say WordPress powers 33% of the web, and every decision made in WordPress affects tens of millions of people. Continuing to develop WordPress in an ad-hoc fashion is no longer responsible. Furthermore, it prevents us from being a true vehicle of progress for the web. And as Gutenberg has proven, it is also not how things are done today:

The evolution of WordPress is not as ad-hoc as it appears. It is very much guided by the grand vision of Matt Mullenweg, and his vision is the reason for WordPress’ continued success. The ad-hoc nature of the evolution happens further down the decision tree, in the minutia of application development. That’s where chaos takes root, conflicts arise, and significant volunteer time and resources are wasted, all because there is no system in place for proper project management. There is no governance.

When I told my friend about my vision for WordPress being used by standards bodies as a vehicle to move the web forward, his immediate response was it wouldn’t work because WordPress can’t be trusted: “Right now” he said, “anyone from WordPress can come to a meeting of a standards body and say they want to implement a new standard. But there’s no guarantee that will actually happen. We can’t trust WordPress to actually do what it says, because nobody speaks for WordPress. Even if a solution is built, there is no guarantee it gets implemented. The process of actually accepting something into core seems arbitrary at best. It’s like there’s a cabal of secret leaders in the project giving each feature a yay or nay. That’s not something we can work with.”

The reality is WordPress does have a hierarchical management structure, and there are people in the project with powers to stake out a vision and delegate tasks. One of those people is Mullenweg. Other people include sub-project leads appointed by Mullenweg. Yet others are people with core contributor access. All of them are promoted to leadership positions through meritocracy. Yet, if you ask them if they are leaders in the project, many will say “no” and explain WordPress doesn’t have leadership; it just has contributors and the playing field is even. This is, and pardon my harsh words here, nonsense. And the refusal to admit there is hierarchical leadership in the project is a problem.

Let me give you one general example: Over the years I’ve observed subject matter experts attempting to contribute to the project only to be overruled by contributors with higher meritocratic status. In several of these cases, the refusal to accept the contributions of the subject matter expert was due to a lack of understanding of the issue by the person turning the proposal down. Because of the lack of any type of transparent leadership structure within the project, there is no clear way for a contributor to raise this issue and get a fair resolution, so they shrug their shoulders and walk away.

What WordPress needs to move forward is to have a conversation first about how to manage a large open source project responsibly, then how to introduce a long term vision and concrete plans for the future of the project and the web, and finally how to introduce more hierarchical management structures with checks, balances, and decision makers to ensure the contributions made by thousands of volunteers result in meaningful progress for the application and the web.

These are conversations and decisions we need to make together as a community.

Only with these structures in place can we start taking part in the larger conversation about how to move the web platform forward, and how to use WordPress in a meaningful way to do so.

We can move the web forward with WordPress, but to do so we have to act like the leaders we want to be. If we don’t, WordPress could become a battleground for competing corporate interests who want to use WordPress to carve paths into the futures they envision.

Build the future you want to live in

People ask me why I started the WordPress Governance Project. My answer, as you’ve seen in this article, is it’s complicated.

I believe WordPress can be a force of good on the web, but the way things are right now we can’t take on that role because we don’t have a clear way of governing ourselves.

I’m not here to start a revolution, or a coup, or even stir things up. I’m here with a plea to the community to take a breath and think about how we got here, where we want to go, and what we need to do to get there.

WordPress is important. For many it is mission-critical. We owe it not just to the people who use WordPress or to the web but to ourselves to take stock and create the necessary structures for WordPress to continue to thrive on an open, accessible, progressive web for years to come.

WordPress needs governance. What that looks like, I am not sure. That’s why the WordPress Governance Project exists: to have the conversation; to explore possibilities; to work together and find solutions.

Those are my thoughts. I’d love to hear yours.

Categories
gutenberg WordPress

A simpler way to add SVGs to custom WordPress (Gutenberg) blocks using SVGR

For the past several months I’ve been developing a new course about custom WordPress block development for LinkedIn Learning. Early on in the process I started looking for a simple way to add custom SVGs to custom blocks. The solution (or more specifically a solution) was found deep inside Create React App: SVGR.

From the SVGR documentation:

SVGR transforms SVG into ready to use components. It is part of create-react-app and makes SVG integration into your React projects easy.

SVGR documentation

Unifying custom block development with @wordpress/scripts

To take full advantage of the features of both the WordPress block editor and modern JavaScript, you need to use some combination of Webpack and Babel to introduce full support for ECMAScript 2015. Configuring Webpack and Babel and all the necessary WordPress packs and everything else can be a challenge. To make things simpler, the Gutenberg team has released @wordpress/scripts aka wp-scripts, a “collection of reusable scripts for WordPress development.” This package has now been updated to include configurations for Webpack and Babel to provide a unified build process for the WordPress community.

Using SVGR in WordPress (Gutenberg) block development

In my own block development I’d been using a custom Webpack + Babel + a bunch of other stuff setup. This setup included SVGR for simplified SVG inclusion. Last week I refactored my build process to using @wordpress/scripts and in the process had to figure out how to extend the pre-packaged webpack configuration to include my custom script.

Since there’s a good chance you’ll want to add some SVG magic to your WordPress blocks, I figured I’d share my findings with you here. I’ve also added a simplified code example to the official @wordpress/scripts documentation.

By the end of this process, you’ll be able to

  • turn any SVG into a React component
  • have that SVG output inline by calling the React component
  • add the SVG as a base64 encoded image element if you want to call it directly from the src attribute inside an <img> element

For this we need two packages: @svgr/webpack and url-loader.

Here’s the full breakdown (this assumes you are already using @wordpress/scripts):

From within your project folder where package.json resides, run the following commands in terminal:

npm install @svgr/webpack --save-dev 
npm install url-loader --save-dev 

Create a new webpack.config.js file.

Require the original webpack.config.js from @wordpress/scripts:

const defaultConfig = require("./node_modules/@wordpress/scripts/config/webpack.config");

Extend the existing config with custom settings for @svgr/webpack and url-loader:

module.exports = {
  ...defaultConfig,
  module: {
    ...defaultConfig.module,
    rules: [
      ...defaultConfig.module.rules,
      {
        test: /\.svg$/,
        use: ["@svgr/webpack", "url-loader"]
      }
    ]
  }
};

Place your SVG(s) in the /src folder of your project.

In your index.js file (where you’re using registerBlockType()), import the SVG:

import customLogoURL, { ReactComponent as customLogo } from "./logo.svg"; 

Now you can call customLogoURL (the SVG transformed into a base64 encoded URI) and customLogo (the React component) from anywhere within your block definition. Example:

registerBlockType("block/myblock", {
  title: __("A Block", "myblocs"),
  icon: {
    src: customLogo // The React component
  },
  category: "regular",
  attributes: {
    blockImage: {
      type: "string",
      default: customLogoURL // The base64 encoded URI
    }
  },
  (...)
}

Cool, right? And clean and easy to read.

Stay tuned for my upcoming LinkedIn Learning course on WordPress Block Development where you’ll learn more about how to build your own custom blocks!


Cross-posted to LinkedIn Pulse.

Categories
governance WordPress

WordPress: Users, Stakeholders, and Known Unknowns

Who is the WordPress user? It’s the question everyone involved in WordPress in some way asks themselves at one point or another. And it’s a question without any clear answers beyond the Open Source Dogma: The User is anyone using the software. Which, to be frank, is not very useful.

Yesterday (February 26th, 2019), the WordPress Governance Project published a research document titled “Identifying the Stakeholders of WordPress” which serves as a starting point for a rigorous exploration of the question: “Who is the WordPress user?” This is a question we, as a community, need to answer, and to find the answer we need to work together. Consider this your invitation to take part: Read the document, contribute your comments, and if you find something missing or inaccurate, help correct it.

Personas: a Primer

One of the tools in the design process toolkit is the Persona, a “fictional character created to represent a user type that might use a site, brand, or product in a similar way.” Personas serve as prototypical users with properties and attributes representing user groups. Over the years, the idea of the Persona has evolved from a strictly fictional character to a more nuanced representative entity. Personas are often paired with Empathy Maps (XPlane, NN Group), Journey Maps (NN Group), Affinity Diagrams, and Microsoft recently introduced the idea of Persona Spectrums (Microsoft Inclusive Design).

Personas and associated tools are there to help designers and developers get a better understanding of their users. They allow us to ask questions about the user’s Goals and Needs, Hopes and Fears, Challenges and Opportunities. They help us define success and failure criteria for projects. And they give us direct references to point to when asking questions about decisions within the design process.

That said, a Persona is only as good as the data it’s based on, and a good persona is typically built using data from both qualitative and quantitative research.

For a project like WordPress, much of that research is lacking. Which begs a question whether creating personas for WordPress is possible, or even feasible. I think it is, and here’s why:

Personas for WordPress?

I teach design principles both as an instructor with LinkedIn Learning and at Emily Carr University of Art + Design. A central part of the process I teach is clearly defining and investigating both the Stakeholders and target Users of the design project. In simple terms, the distinction between “Stakeholder” and “User” in this context is the level of ownership and vested interest. For an ecommerce site, the Stakeholder is anyone with ownership of and/or a vested interest in the success of the store, while a User is someone literally using the ecommerce site to find, research, and possibly buy a product. For WordPress, the distinction between Stakeholder and User is more obscure, if it exists at all: Every person who uses WordPress in some way, even if it’s just as a visitor to a site powered by WordPress, is a Stakeholder in some small way because of the ideology WordPress is rooted in: Democratizing publishing through open source software. By using WordPress in any way, a person takes an active part in the furthering of this ideology, which makes them a Stakeholder.

Early on in the WordPress Governance Project meetings, the question of a clear definition of WordPress Users and Stakeholders came up. With no official definitions beyond “WordPress is for the people who use it” and “WordPress is for everybody”, the project started work on a research project to group the different stakeholders of WordPress into Personas. The document presented yesterday is the beginning of this research project.

I should preface this by saying I was not part of the team working on this project. My role was solely as a reviewer of the final text. That said, I stand behind the result 100%.

To start, there are two statements:

  1. The WordPress User is anyone using WordPress (past, present, or future)
  2. Every WordPress User is by definition also a Stakeholder in the project.

If these two statements can be agreed upon as a hypothesis, it is possible to work from them to create personas identifying the different types of Stakeholders within the project. This is important because it turns the poorly defined amorphous blob of the “WordPress User” into structured and segmented groups of Stakeholders, each with their own distinct Goals and Needs, Hopes and Fears, Challenges and Opportunities. This grouping also allows for a weighting of influence for each group: When the goals or needs of one group conflict with those of another, what group takes precedence? How is this weighting decided? And what mechanisms are in place to challenge this weighting? Defining Stakeholder Personas is an essential part of understanding WordPress: Its impact, its cultures, its diversity, and its governance.

This is the beginning

Identifying the Stakeholders of WordPress” is not a complete and final decree of how the WordPress Stakeholders should be sorted into Personas. It is the beginning of a longer process of identifying Personas within the WordPress user base so we can better serve those we build the application and its community for.

In the wake of the publication of the document, some relevant queries have been raised including questions about its purpose (which I believe I’ve answered above), and what research it was based on. This last question brings us back to something I mentioned earlier: if we don’t have qualitative or quantitative research to build on, how can we define reliable and accurate Personas? Here’s my answer:

The liberal definition of the WordPress user as “everyone” using WordPress is, from my perspective, dangerous because it stands in the way of having serious conversations about the real impacts WordPress has on the people who use the application because with such a diverse user group, it appears as if no clear Personas can be defined. However, that definition is unlikely to change in the foreseeable future so as they say, it is what it is.

If we take this definition literally, it can be further interpreted as “anyone in the world with the capability to use WordPress” meaning anyone with access to a computer and a reliable internet connection. If we agree to this broad definition, we have made the user base so broad and diverse any research about the internet-using public becomes relevant data for the creation of Personas for WordPress. This means until we do extensive and rigorous qualitative and quantitative research on the WordPress user base, we can rely on other research to inform our Personas.

The Stakeholder Personas proposed in the Identifying the Stakeholders of WordPress are a starting point for this process. The document proposes rational Personas based on levels of involvement and types of uses of the application. Moving forward, we need contributions from people like you to improve these Personas through research (new or related) and exploration.

Contributions welcome!

Categories
Open Source

On the Corporate Takeover of the Cathedral and the Bazaar

Originally posted as a Twitter thread.

We need to have a conversation about Open Source and equity. Particularly, we need to talk about how “decisions are made by those who show up” should be amended to read “decisions are made by those who can afford to show up” and what that means for our industry.

The origins of the Open Source movement are rooted in equity + distribution of power: Rather than large corporations controlling both the product, the tooling, and who gets to work on either, the user has full autonomy to create, contribute, distribute, and maintain everything.

This is built on an underlying assumption that everyone has equal ability and availability to actually take part in the Open Source community. From this stems the idea of open source software/hardware being built by the people who use it. That’s no longer true in my opinion.

When the Open Source movement began in earnest, it was a fringe movement – a pushing back against large corporations who controlled everything.

When I went to university in the late 1990s, professors and students alike said Open Source software was little more than a blip on the radar favored by academics and fringe communities. “Open source will die a slow and irrelevant death” said my TA during a Unix class.

When this was true, Open Source truly was built and maintained by the people who used it. That was then. 20 years later, things have changed. A lot.

Today, Open Source rules the web, the internet, and most of the connected technology space. Large companies like Tesla make a point of releasing their software as open source because it turns out the Open Source model actually works.

And therein lies the problem: As Open Source wins the battle for license supremacy, corporations are slowly taking over control over Open Source through the very structural models that made Open Source possible in the first place.

Many Open Source communities stand proudly behind the banner of “decisions are made by those who show up.” But like I said, this really means decisions are made by those who can afford to show up. Those who cannot are left to fend for themselves.

Who can afford to show up? To a larger and larger extent, the answer is big corporations. Looking around various Open Source communities you’ll see core designers and developers being snapped up by corporations to do “Open Source Contribution” full time.

That sounds good on the surface, but what it actually means is those corporations are consolidating power under their corporate umbrella. And no matter how much they say their workers are not swayed by corporate interests, the reality is they are, to a significant degree.

You can see this plainly in an open source project like Android which is now completely dominated by Google and Samsung. Sure, you can contribute all you want, but if you try to steer the project in a direction which doesn’t benefit one of them, you’ll likely get nowhere.

To put it bluntly, successful open source projects are ripe for corporate takeover. And in most cases this means the equitable ideal of Open Source goes out the window.

Who can afford to make significant contributions to open source projects? By and large employees at large corporations. Who can afford to speak at Open Source conferences? The same people. Who sponsors Open Source projects and conferences? The same corporations.

To put an edge on it, big corporations are buying out all the space of both the cathedral and the bazaar.

The inherent problem, as I see it, is our failure to put real actionable value to open source contribution: You can’t buy food or clothes or a roof to cover you from the elements through GitHub contributions. You need someone to pay you for those contributions.

The privilege of working for a company which pays us for open source contribution changes our status as contributors in a significant way because we no longer have to weigh contribution against paying for childcare or food or a visit to the dentist.

If we want Open Source to stay open and equitable, and not become the domain of corporations, we must face up to the reality of contribution and the value it creates.

For Open Source to stay open and equitable, we must find a way to reward contribution with real value. What exactly that looks like I’m not sure, but I hear there’s a thing called “money” which can be used in exchange for good and services.

For the past 20 years the Open Source community has faithfully invested its blood, sweat, tears, time, resources, family, and friends to build something amazing. Now, large corporations are reaping the benefits, refining the work and exchanging it for money.

The only way forward is to build an Open Source economy which promotes equity and shifts our mantra from “decisions are made by those who can afford to show up” to “decisions are made by those who are most impacted”.

I want Open Source to be a place where my 2 year old son can work when he’s old enough. I want it to be open and equitable, and I want it to be rewarding beyond props and GitHub status boards.

I want Open Source to be the community from which our future leaders emerge, from which our future societies are built. For that to happen we need to find a way to reward contribution outside the corporate coffers.

What do you want?


Update: After publishing this article, two relevant writings – one old and one new – have been brought to my attention. I’m appending them here for reference:

The Ethics of Unpaid Labor and the OSS Community
Ashe Dryden, November 13, 2013

The Internet Was Built on the Free Labor of Open Source Developers. Is That Sustainable?
Daniel Oberhaus for Motherboard, February 14, 2019

Categories
WordPress

Newspack: Automattic, Google, and the SaaSification of WordPress

Earlier today Automattic (the company behind WordPress.com headed by WordPress co-founder and project lead Matt Mullenweg) announced Newspack by WordPress.com, a “next-generation publishing platform” “aimed at small- and medium-sized news organizations”. The new platform is funded in part by Google, through the Google News Initiative, and other companies. Here are my preliminary thoughts.

A missed opportunity for established players

While I’m zero percent surprised this service has been announced, I’m surprised it didn’t come sooner, and from someone other than Automattic. Automattic is not uniquely placed to launch this project, it is just the only player in the WordPress ecosystem with a proven record of offering WordPress as SaaS (Software as a Service). I’m surprised nobody else beat them to it: There are agencies in the WordPress ecosystem with extensive experience working with the exact target audience of Newspack (small- and medium-sized news organizations). In my mind these companies were uniquely placed to either individually or together launch exactly the type of service Automattic has announced.

These agencies have long offered a mix of custom self-hosted WordPress setups and integration with WordPress VIP (also from Automattic). Now the question becomes whether the Newspack platform will be open to agencies in the same way WordPress.com and WordPress VIP are (history points to “yes” on that front) and whether the above mentioned agencies will offer services to its users.

The SaaSification of WordPress

Back in 2013 I wrote a post on my blog predicting a splitting up of the WordPress ecosystem into specialized silos targeting industry segments with unique needs. My argument back then was the user base of WordPress is too heterogenous for one solution to fit all needs. In short, a hobby blogger does not have the same needs as a newspaper. What we’ve seen in the subsequent years is WordPress (the application) continuing in its attempt at being everything to everyone, and Automattic (and in small ways some other agencies and service providers) booting up customized SaaS solutions to fit the unique needs of different user groups. Automattic now has WordPress.com for blogging and small site building, WordPress VIP / Professional for large enterprise solutions, and the just announced Newspack for news. My expectation is they’ll soon offer a dedicated solution for e-commerce as well, through a custom SaaS offering powered by WooCommerce.

My prediction is this latest announcement marks the beginning of the all-out SaaSification of WordPress. The reality is because of the open source status of WordPress (the software), what Automattic has done with WordPress.com and their other services can be done by anyone, and I’d be shocked if Automattic stays the only player in the market for long. To put it bluntly, the days of WordPress self-hosting as the go-to solution for small-, medium-, and enterprise businesses are numbered.

What competing services like Wix and Squarespace have shown us is people want simple solutions to their web hosting that do not involve having a horde of web maintainers on staff or hiring an expensive agency to run everything for them. The obvious answer to this need is to spin up WordPress as a service and extend it to provide customized services for each use case.

We already see this in small ways. Managed hosting companies like WPEngine and Kinsta specialize in hosting and keeping up to date WordPress sites for users with above-average needs. Plugin providers like Yoast offer subscription-based services that reach well beyond what a plugin can do on its own.

The near future will likely see some of these services spin up their own WordPress-powered SaaS offerings targeting specific users. And they may not even say it’s powered by WordPress! As Automattic has demonstrated, you can slap a whole new skin on top of WordPress core and create a custom experience which looks and feels nothing like the main application. The Wix / Squarespace killer may well be a new service running WordPress in the background and a completely unique experience on top. Think managed hosting + a page builder like Elementor or Beaver Builder and a host of other customized services and you see where I’m going with this.

The Fracture

If my predictions here come to pass, the fracture I spoke of in my 2013 article might well be upon us. The divide between self-hosted DIY WordPress users, those on a SaaS solution, and enterprise customers is already big enough the Venn diagram is starting to come apart. The further SaaSification of the ecosystem will make this fracture permanent and put enormous pressure on the WordPress Open Source project.

If/when commercial entities like Automattic start fighting for control over the open source project to shoehorn in the services they need for their new SaaS project, the priorities of the project as a whole will suffer. How WordPress, as a community, decide to deal with this will determine the future viability of the open source project.

At this moment, my crystal ball is pretty foggy, but I’m starting to see a path emerging where SaaS becomes the bread and butter of WordPress agencies and they eventually evolve their products into discrete forks, at which point their participation in the open source project becomes irrelevant and they back out.


Cross-posted on LinkedIn.

Categories
My Opinion

2018, a personal inventory

Morten and Leo, exploring the forests of Nesodden, Norway, December 2018

2018 marked the completion of my 40th lap around the sun. I remember when my parents turned 40 years old, and I remember how old I thought they were back then. Yet last October, when I crossed this arbitrary temporal marker myself, I did not feel old. I felt tired and jaded.

As I entered the statistical last half of my life, a friend commented in jest “What do you buy for your midlife crisis if you hate cars?” (I hate cars, or rather, I have no interest in cars other than as a mode of transport. The idea of owning a flashy red sports car is to me as foreign as that of going swimming in a tuxedo: It can be done, but I don’t see any reason why.) “I don’t know,” I answered honestly. “I guess maybe I should buy myself a therapist?”

For future reference: that’s a great way of stopping a fun conversation dead in its tracks.

Melancholy and the Internet Sadness

Throughout my life, the people around me have sorted themselves into two very general groups: Those who think I’m happy and smiling all the time, and those who think I am a stern, serious, and brooding person. This seeming dichotomy is probably caused by my habit of compartmentalizing everything. Some people know me in contexts where I am happy and smiling, others know me in contexts where I am focused and ready to work. The latter often think of me as “stern” and “brooding” because I have what you could call “Angry Resting Face”: my neutral expression is rather stern. But I digress.

2018 was the year I realized those two perceived Mortens were bleeding into each other and the stern version was taking over. But it was more than that. Where before I was able to say “work is over, let’s have fun” I now felt waves of melancholy wash over me to dampen the mood and bring the darkness I felt all around me into every interaction.

It was during a conversation with Jeremy Felt at WordCamp Vancouver in late summer I finally realized something was amiss. I can’t remember what the conversation was about, but at some point Jeremy added a pinch of black humor to the mix and I immediately converted it to a black hole, sucking everyone down with me. Jeremy raised his eyebrows and said something to the effect of “Dude. That’s darker than where I wanted to go.”

Months later I had a long chat with my wife in which I tried to put my finger on where this darkness was coming from. “I don’t understand how you don’t know,” she said. “It’s obvious! You are pouring all your emotional energy into trying to fix the internet, but you can’t fix it on your own!”

And she was right, as she always is.

For more than fifteen years, I’ve spent a fair bit of my professional and personal time thinking, writing, speaking, and teaching about how the internet shapes us as people. I’ve taught hundreds of thousands of people all over the world how to publish their thoughts, ideas, and creations on the web, and spoken to anyone willing to listen about the importance of making ethics an essential part of the design and development processes that build the web and the internet. At the same time, I’ve seen the web and the internet weaponized against its users, for money, for political power, for no other reason than to hurt others and destroy their lives. And more and more I’m feeling like I am part of the problem.

When asked about it, I used to say “the internet is a thin veneer of amazing covering an infinite abyss of the worst of humanity.”

Five years ago, that comment was met with surprise, confusion, and a lot of shaking of heads. A friend called me “The Doomsday Prophet of the Web” and we all laughed.

Today, people just nod in resignation and walk away carrying a small piece of the darkness I just dealt them. And every time, the hole left by the darkness I hand to someone else doubles in volume and is re-filled. Because in seeing the recognition of what I think we have become in others, I see verification of my own worst fears for the future our son will have to live in.

I have become a catalyst.

That’s not good.

Everything, all the time

I used to joke I burnt my candle at all ends, and from the middle. Turns out I was telling the truth, at least emotionally. If the past year has taught me anything, it is that I need help learning how to walk away from things.

Which is why in 2018 I nearly walked away from the WordPress Open Source project.

Reading this, some will think it was because I disagreed with the Gutenberg project. Not so. I am a firm believer in the idea of block-based editing in WordPress, and the Gutenberg project has been long overdue. I have been critical of the decision making and management processes around the project and how it was rolled out, but that was not the reason for my near departure.

Reading this, some will think it was because I disagreed with how accessibility has been handled in WordPress in the past few years. Not so. To me, bringing accessibility to WordPress is a long journey, one which has yet to meet its final conclusion. Much has been done, much still needs to be done, and I believe WordPress can become the benchmark for web accessibility in the not-too-distant future.

Reading this, some will think it was because of responsive images, or ImageFlow, or documentation, or LTS versions, or internationalization, or any of the myriad of other issues I bring up and talk about in various WordPress fora. Again, not so.

My reason for almost leaving WordPress was the realization my participation in the project, or rather the way I chose to take part in the project, was hurting me and by association those around me, most notably my wife and our son.

I’m not going to try to describe or adjudicate the past year of WordPress politics here. Suffice it to say the emotional weight of watching my community turn on itself over poor communication, forced divisions, turf wars, and misunderstandings inflating to gigantic problems became too much. And I know I’m not alone.

At the end of my rope, I reached out to my coworker Stephanie Evans. “You have to draw a line!” she said. “When you’ve done everything within your power and it isn’t working, you can’t do anything more. You have to step away.” And I tried to explain to her why I couldn’t; that this community has become so much part of my personal and professional identity that I simply cannot walk away. And as I said this I realized it was true, not just for WordPress, but for the web.

I, the person who tells people their work does not define them, that your work should support your life, not the other way around, have defined myself by my work and become so involved I have trouble separating the emotional weight of what happens in my community from the emotional weight I myself carry.

That’s not good. It is also not sustainable.

The Landing

Moving into 2019, I have made some decisions.

Primarily, I will look out for number one, which in my case is our son Leo who needs a father who is not lost in a black hole of melancholy. I have to be better for Leo, and that means I have to be better for myself.

To get there, I am refocusing my work on what I do best: Finding ways of empowering people to use the web to improve their personal and professional lives. That’s what my job at LinkedIn Learning empowers me to do, and that’s why I am excited about what we will make together in the coming year.

2019 will see a significant shift in my focus away from WordPress and toward web standards and emerging technologies. This has always been where I thrive, and I am excited to immerse myself in where the web and the internet is headed next.

What does this mean for my involvement in the WordPress community? I will focus my efforts on two projects: The WordPress Governance Project and the development of WP Rig. These are projects I have direct influence over where I believe I can do the most good for the open source project and the community. I will still attend WordCamps including WordCamp Europe and US, and continue creating courses and writing tutorials and opinion pieces about the software. What will change? My time invested in battles I can’t win. Interpret that as you like.

Underneath all this, I have work to do on myself. I cannot be someone who doles out parcels of darkness to those around me. To get there, I must rid myself of the darkness within. What form that process will take is yet to be determined, but it will definitely include professional help.

Down on the Upside

Looking back at 2018, I see a year of significant professional achievements and personal experiences. I released some of my best courses on LinkedIn Learning, got to speak at both Smashing Conference Freiburg and WordCamp Europe in Belgrade, Serbia about ethics, the subject closest to my heart, and had the privilege of launching WP Rig, a new open source project to benefit WordPress. My wife and I watched Leo develop into an inquisitive and profoundly interesting 2-year-old, and together the three of us spent the year exploring the world and everything in it. Life, by any measurable standard, is good.

And that, I guess, is the lesson: When the darkness comes from inside, there is work to be done. That’s what 2019 will be for me: Better myself so I can be better to those around me. Because 2018 was a lot. And we can all do our part to make 2019 better, for everyone.

Categories
News

#Mor10isAnOld – the 40th Birthday Fundraiser

To celebrate my 40th year on this planet, I’m doing a fundraiser for the Norwegian Refugee Council and a month-long AMA in video format, and I invite you to take part! Each day from today until my birthday on October 17th, I’ll make a video where I answer one question from you. It can be about anything, but I suspect it’ll mostly be centered around web design and development and the internet and how it shapes us. So, if you have a burning question you’d like me to answer, send it my way and it may end up in a video!


Somehow I made it to 40. On October 17, I break that imaginary temporal threshold that puts me squarely in what Norwegians refer to as the “middle age”. In the eyes of my younger self I guess that makes me, officially, “an old”. The path leading here has been long and complex, with twists and turns and loops and seemingly unmountable obstacles. Yet I am here, in my office, writing this. And for that I am grateful.

Some 20 years ago, while riding the subway from downtown Oslo to Blindern station on my way to a philosophy lecture at the University of Oslo, I ripped a page out of my notebook and scribbled down a question:

“If you knew this was your last day on earth, what would you do to leave the world better than you found it?”

Such are the dark ruminations of an immature mind deeply immersed in the impossible task of understanding life, the universe, and everything.

I folded the slip of paper, wrote “read me” on the front, and placed it on an empty seat across the aisle. At the next station a group of students entered and one of them picked up the paper and read it. Then he read it out loud and they all started laughing. What a ridiculous question. Yet minutes later they were deep in conversation about what they had accomplished in life, and more importantly what they wanted to accomplish.

I repeated this experiment for weeks, spending an unreasonable volume of time leaving notes and listening to the conversations that followed on the subway. Looking back on it now, it is clear what I was really doing was attempting to crowdsource an answer to the hardest problem: the meaning of life.

As I round this arbitrary milestone of my life, I am no closer to answering that question I left on a subway seat on the other side of the world all those years ago. Maybe the meaning of life will only reveal itself two years from now? As my search continues, I am putting forward an interim answer, and for that I need your help.

Looking at the world today, and back at the world I grew up in, I see an endless succession of refugee crisis, observed from afar and from which my life and the lives of those around me have rarely been impacted. And I’ve come to realize that there, but for the grace of privilege and luck and geography and geopolitical machinations over which I had no impact or involvement, go I. My life so far has been one of opportunity and open doors, one in which the fear of bombs and bullets and terror has been in the abstract. And that is not because I made the right choices or because I did the right things or because I worked hard or believed in the right powers. It is because I happened to be born to a middle class family in Norway. During peacetime. That’s all.

Somehow I made it to 40, and I think it’s high time I gave that snarky kid on the subway in Oslo got a concrete answer:

For the next 30 days, I am running a fundraiser for the Norwegian Refugee Council (NRC), a non-profit organization helping refugees all over the world, and I invite you to join me. Our family (my wife Angela, our son Leo, and I) are donating $1000 CAD and will match donations up to another $1000 CAD. My employer LinkedIn will match my $1000 donation through the LinkedIn Gives program. And I’m asking my family, relatives, and friends, to make a donation to the NRC in lieu of presents for my birthday.

That’s where you come in. I also hope to convince you to donate if you have the means. If you have a dollar or two, follow the link and add your contribution. If you don’t, just help spread the word using the #Mor10isanOld hashtag and maybe someone else in your circle will. And if you don’t want to donate to this organization, or even this cause, find something else you care about to contribute to. Or take the time today to tell someone in your life how important they are to you. Do your small part to leave the world a better place than you found it, in whatever way you see fit.

Somehow I made it to 40, and I plan on sticking around for many years to come. For as long as I’m here, I’ll do my part, and use my privilege, to leave the world a better place than I found it. Starting right here, right now, with this article. I invite you to join me.