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
My Opinion WordPress

On Trust and Opacity

Yesterday Tom McFarlin published an important article titled The WordPress Community (A Comedy of Drama, Ego, Oligarchies, and More). If you work with WordPress or the WordPress community, it is mandatory reading and worth some serious reflection. Tom shines a light on some of the darker parts of flat-structure communities and asks poignant questions about communication, language, and leadership among other things. There is a lot to latch onto here and I have no doubt there are many articles being written in response as I type this out.

Here I want to focus in on a small part of this conversation and contribute my own perspective on something I think lies at the heart of much of the conflict Tom addresses: Trust and Opacity.

The Customizer and the Pyre

In WordPress, like any grassroots political organization, the level of conflict and partisan strife increases with its size and power. WordPress is now so big and powerful that I’m surprised we’re not starting to see breakout groups and organized factions trying to exert their will on the overall project. This is likely due to the spirit of Open Source, and we should count ourselves lucky that it has not happened. Yet.

However, there are clear signs of fracture within the community, exemplified by the furious anger directed toward the Customizer and the team that works on it.

Long story short, the Customizer (which moves many of the theme customizing features into a preview panel for direct experimentation and application) has always been controversial because it does not fit every use case. For the release of WordPress 4.3, the Customizer will be extended to include the Menu Editor (and here it’s important to note that the original Menu Editor view will remain in the admin panel). This inclusion has caused a vocal and often aggressive response that at times devolves into personal attacks on named contributors in the project.

There are people in the WordPress community who hate the Customizer with a passion, and they want to have it their way: Burn the Customizer. With Fire.

The common argument can be paraphrased thus:

“I/my clients don’t use the Customizer. Its inclusion goes against what I/my clients need and therefore has no place in WordPress.”

When work continues unabated in spite of this opposition, the objectors feel like their concerns are being ignored by whomever is calling the shots, they get angry, and sometimes lash out. This is neither new nor surprising. But it is disappointing, especially when it devolves to personal attacks, or even worse, sexist remarks and verbal assaults. These things do not a healthy community make.

On Trust

Underlying the vitriolic assaults on the Customizer lies a lack of trust; in contributors; in leadership; in the community. To many, even those involved in WordPress contribution, it can appear as if there is a hidden “inner circle” of leadership in the community – a WordPress Illuminati if you will – that calls the shots. And to some, that imagined group may appear to be running an agenda that goes counter to their interests:

“I don’t use the Customizer. Its inclusion goes against what I need and therefore has no place in WordPress. Even so, someone has decided it must be there in spite of my objections. Clearly there is an imbalance of power here. My voice does not seem to matter.”

What we have here is a classic case of mistrust. When questions are asked about the expansion of the customizer, the answers are forthcoming (again, paraphrasing here):

  • User testing and research shows that the Customizer is better understood by the average user.
  • The Customizer provides a better user experience.
  • Users appreciate the ability to see their changes in real time in the real site before publishing it live.
  • Users often voice frustrations when having to switch back and forth between back- and front-end and experiment with things like menu ordering on their live site.
  • Etc.

The response to such statements are questions like “Who are these users?” or “Who did these tests?” or “That doesn’t fit with my experience.” or “I don’t care. It is not what my clients want.”

Again, this is about trust. When presented with valid (if unsubstantiated) reasons, many opposed to the idea of the Customizer (or any other controversial feature, like auto-updates of plugins) have trouble trusting those that who make the decisions.

“Who are these people, and who gave them the power to decide what’s best for me and my clients?”

This is a problem, and it is one that every grassroots political organization has to face at some point. People want their way. And when they don’t get their way, even if they are in a minority position, they will fight tooth and nail to impose their will on the rest of the organization. Sometimes that is a good thing. Most of the time it is a problem.

On Opacity

Much of this distrust stems from the relative opacity of meritocracies. On the face of it, meritocracies are as open and transparent as is possible, but in reality they are only open and transparent if you are actually taking part and observing the day-to-day goings on.

I spend most of my time working with and researching WordPress, and even I can’t speak with much authority about how a release lead is picked or who the next core contributor will be. I can make an educated guess: Release leads are picked from core contributors based on skill, availability, and willingness to take on the responsibility. Core contributors are promoted based on the quality of their previous contributions. In other words, a meritocracy.

But who picks the Release lead? And who promotes core contributors? That is a question left unanswered, and I think this is where the idea of this mythical “leadership group” stems from.

Like a cascading waterfall, the transparency of meritocracies is made opaque by the volume and force of information that runs through it.

From the outside it appears there is a group that is in charge of WordPress. It is not listed anywhere, it is not elected, it is not given a mandate, it just is. And when a controversial decision is made (like adding the Menu editor into the Customizer), it is easy to imagine a group of evil faced conspirational dictators sitting around a table discussing how to screw the community over by moving everything into the Customizer.

Which is total nonsense.

I know some of these people, and some better than others. I’ve observed their work, observed their interactions with the community, observed their dedication to the project and their relentless pursuit of making WordPress better for all who use it. What I’ve found is that the people who sit atop of our meritocratic pyramid are humble, dedicated, and fiercely passionate about what they do. They also think far ahead – as in far ahead – to what is coming down the pipe in the next several years. They have my trust because I see my thoughts about WordPress and its future in theirs. But that’s just me. I can also see how someone who disagrees with them would feel like their project was being run by a dispassionate group of dictators who hand down decrees like the emperors of times past.

Trust and Transparency – Leadership and Vision

I mentioned grassroots political organizations earlier, and I firmly believe that WordPress is a grassroots political organization in all but name. But that’s not the topic of my current argument.

Regardless of how you define it, the WordPress community can learn a lot from grassroots political organizations. Like I said, the problems we are facing are not unique, and they have been solved before.

Our problems with trust and opacity are both symptoms of the very essence of what makes WordPress (and Open Source) great: Flat-structure meritocracies. At some undefined point, the machine grows so large that it becomes hard for anyone to see what is going on unless they dedicate all their time to this pursuit. As a result, those who find themselves in lower levels of the meritocratic pyramid start feeling disenfranchised and ignored by those higher up and they eventually start rocking the structure and consider moving their blocks elsewhere.

The way this is solved in grassroots political organizations is through the introduction of clear leadership structures and a clearly defined vision and path forwards. This is a colossal project that causes conflict and controversy, but the result is always the same: A structured democratic system that actually works.

Can this be done in an Open Source project like WordPress? Impossible to say; it has never been tried on anything this scale. Is it a good idea to try? I’m not sure.

What I do know is if we pretend everything is OK and brush the problems under the carpet, conflicts will fester and grow until they cause a major split.

So what do we do? I have two preliminary suggestions:

  1. Make the leadership of the WordPress project public record. The immediate response to this suggestion will be “but there is no leadership”. Seriously. That is not true and we all know it. Meritocratic leadership is still leadership. By explicitly listing the current Release Lead, core contributors, and most importantly other people with decision making power, people can clearly see who is in charge and where to direct questions.
  2. Create a public long-term vision for WordPress. This one is going to be a real challenge. The vision of WordPress currently is too vague and haphazard. There is a lot of ground to cover between “democratize publishing” and “80/20 rule”. Is WordPress primarily for the average user or for enterprise? What is the goal of WordPress once we reach 25% market share? Who should drive the bus? Where do we go from here? Should WordPress be a leader in web standards and accessibility? Should we get involved in the W3C? A community of our size needs direction. Otherwise everyone will go their own way and people will be left flailing or feeling like they are not being heard.

These are my thoughts. Take them at face value from someone who has experience working with grassroots and political organizations. There are solutions here. They may not be mine, they may not be yours, but if we work together we can find them, and our community will be better for them. The only thing we can’t do is pretend everything is OK and tighten down our blinders.

Epilogue: The Customizer is a Good Thing. Accept it and Move On!

For completeness, I should voice my opinion on the Customizer controversy:

The arguments for the permanent inclusion of the Customizer are, from my experience, valid and in line with the independent research I’ve done on the matter. The average WordPress user benefits greatly from the ability to preview their theme changes before taking them live. The inclusion of the Menu Editor in the Customizer will be a massive improvement to the WordPress User Experience and will take frustration away from millions of users. 

Yes, there are edge cases (typically large business and enterprise installations) where the Customizer is not ideal, but because WordPress is Free Open Source Software, an enterprise site is worth no more than a blog nobody ever visits to the project itself. All sites are created equal. So even though the need of an enterprise site to not have the Customizer seems to carry more weight than the need for millions of bloggers to have it, in reality it is the bloggers that matter. WordPress is powerful because of the millions of people who use it to throw their thoughts, feelings, hopes, and desires onto the web with abandon. The big business that chooses WordPress to back their online publications is the exception that proves the rule.

Categories
GitHub

tryGit – Finally an easy way to learn Git and GitHub

If you have ever tried to use GitHub and half an hour later wanted to throw your computer out the window, you are not alone. To save computers everywhere from high falls and imminent death, the good people at GitHub and Code School have created tryGit, a 15 minute interactive course that teaches you how to use Git and GitHub without performing computercide in the process.

A few months ago I wrote about the new GitHub for Windows and how it took strides to democratize coding. But even with this new tool, wrapping your head around how Git, GitHub and version control in general works can be quite a challenge, especially for people who don’t live and breathe code.

To further democratize the use of tools like Git and GitHub a proper learning environment is required. Because although documentation is great, it is often unapproachable. I’ve been trying two figure out how best to teach people how to use GitHub myself. The best I could come up with was a general idea of a hands-on coding environment where people could do guided lessons and experiment in a safe setting. How I would pull that off I had no idea. Fortunately I wasn’t the only one on that track, and now GitHub has teamed up with Code School to create pretty much the same thing, just much better: tryGit.

No love for octodog
No love for octodog

tryGit is a clever tool that walks you through all the main stages of using Git and GitHub in a guided step-by-step process. From start to finish the course takes 15 minutes and results in a new repository being published on your GitHub account. The genius in tryGit is that it creates a realistic scenario, takes you through the proper algorithm to get things done, and addresses the main issues people run into when starting to play with Git and GitHub, all in a fun and quite amusing environment.

By following the lesson from start to finish you get to publish, modify, merge, and delete dogs and cats aplenty. What the people at GitHub have against octodog is beyond me, but reading the instructions made me chuckle several times which is a great accomplishment for a learning tool designed to teach you something that is both highly technical and dull.

I said it in my earlier article and I’ll say it again: The biggest hurdle for the democratization of code is creating environments and tools everyone can use regardless of background. By launching tryGit, GitHub has taken great strides to educate the general public on how to use this tool and allow them to start scraping at the surface of the wonderful world of open source development.

Whomever came up with this idea, I applaud you.