También escribo en Español

The lucid mind of Vincent van Gogh

Last month in Canada Automattic had its annual meetup reunion. I did a short talk on some of my favourite passages from Van Gogh’s letters.

Vincent often represents the paradigmatic idea of the tortured artist, whose work is seen both as the brilliant deliriums of a madman and yet inconceivable without some kind of mental distress. It is portrayed as the great result of an illness. I believe such a vision does an incredible disservice to his work, his creative genius, and his suffering.

We have the privilege that a vast collection of his letters — mostly sent to his brother Theo — have been preserved. One of their most striking aspects is the great insight, eloquence, knowledge, serenity, and awareness that he displays in them. The evolution of his style follows a determination to find beauty and a very precise artistic expression.

All kinds of eccentric and bad things are thought and said about me, which makes me feel somewhat forlorn now and then, but on the other hand it concentrates my attention on the things that never change — that is to say, the eternal beauty of nature.

The Hague, 1882

At a time that art theory recognises as the birth of the avant-garde movements, it’s wise to recall that the artists weren’t necessarily seeking novelty, but often instead trying to return to a sense of purity and directness in their contact with the world that may had been forgotten by art.

What am I in the eyes of most people — a nonentity, an eccentric, or an unpleasant person — somebody who has no position in society and will never have; in short, the lowest of the low. All right, then — even if that were absolutely true, then I should one day like to show by my work what such an eccentric, such a nobody, has in his heart. That is my ambition, based less on resentment than on love in spite of everything, based more on a feeling of serenity than on passion. Though I am often in the depths of misery, there is still calmness, pure harmony and music inside me.

Van Gogh tried — unsuccessfully — to create a community of artists in southern France with the purpose of working together in the pursuit of great art. An intrinsic obstacle for this effort was, in his mind, the inability of artists to collaborate:

However, I shan’t labour the point, because I realize that life carries us along so fast that we haven’t the time to talk and to work as well. That is the reason why, with unity still a long way off, we are now sailing the trackless deep in our frail little boats, all alone on the high seas of our time. Is it a renaissance? Is it a decline? We cannot judge, because we are too close to it not to be deceived by distorted perspectives.

He often writes with close attention about the works of other masters. The following is a great description of Rembrandt, for instance:

This is how Rembrandt painted angels. He does a self-portrait, old, toothless, wrinkled, wearing a cotton cap, a picture from life, in a mirror. He is dreaming, dreaming, and his brush takes up his self-portrait again, but this time from memory, and the expression on the face becomes sadder and more saddening, He dreams, dreams on, and why or how I cannot tell, but — as Socrates and Mohammed had their guardian spirits, so Rembrandt paints a supernatural angel with a da Vinci smile behind that old man who resembles himself.

And finally, the impulse behind a sense of purpose constantly emerges from his writing; a sense of figuring out what was important to him and how to develop his craft towards his ideals.

On the road that I’m on I must continue; if I do nothing, if I don’t study, if I don’t keep on trying, then I’m lost, then woe betide me. That’s how I see this, to keep on, keep on, that’s what’s needed. But what’s your ultimate goal, you’ll say. That goal will become clearer, will take shape slowly and surely, as the croquis becomes a sketch and the sketch a painting, as one works more seriously, as one digs deeper into the originally vague idea, the first fugitive, passing thought, unless it becomes firm.

A look into Calypso

A look into Calypso. Last June I spoke at WordCamp Europe in Vienna about Calypso; the JavaScript open source project that powers WordPress.com. The presentation was focused around how Calypso came to be, interesting under the hood tools we’ve developed to power a rich user experience and what lies ahead for the project.

The full talk is available to watch on WordPres.tv. Huge thanks to the organizing team for putting up a marvelous event on an incredible venue and stage, right in the Museumsquartier of Vienna.

Matías Ventura

Photo by Tammie Lister

Fellini sobre Picasso

self-portrait-1907Recorriendo hace un tiempo el museo Picasso en Barcelona recordé un comentario que Federico Fellini hizo acerca de Pablo Picasso y los artistas en relación a la libertad.

Picasso es un pintor total, absolutamente libre. Pero, paradójicamente, yo creo que para un artista la libertad total es peligrosa, en el sentido de que podría hacer hacer uso de ella, no para crear, sino para desperdiciar su propio talento creativo. Para mí, hace falta un tirano. Yo estaría de acuerdo con que existiera una autoridad estatal abstracta que me ordenase crear imágenes continua, incesantemente. — Fellini

WordCamp Europe 2016

This week I will be speaking about Calypso at the WordCamp Europe 2016 conference in Vienna. The talk will go over some of the core development values that have driven the project from the start, about what it means to not be powered by any existing “framework”, and ultimately about how the community could make use of it for their own ideas.

The presentation on React + WordPress that Gregory Cornelius and I gave at WordCamp US earlier this month is available online at WordPress.tv. Check it out if you are interested in some of the whys of Calypso or how React could work with WordPress in general.

On the road to Calypso

A story about WordPress, JavaScript, and open source.

About eighteen months ago my team at Automattic set upon building an extravagant experiment for the WordPress.com interface. It was to become the most important, demanding, and rewarding project I’ve worked on at Automattic. Two weeks ago, we were finally able to unveil it to the world, and open sourced the project.

calypso-screenshot

A modest beginning. Calypso 1 started as an idealized experiment, toying with the idea of what the WordPress UI could be if it was built today, entirely in JavaScript, and communicated with data only via an API. Yet, in the early days, no one really knew what it might become — if something at all —, and whether these pretentious goals would translate into a tangible thing that actually worked. Would it be possible to make such a technological leap from the current WordPress interface while retaining the solidity that was honed through years and made WordPress power a staggering 25% of the web? Would it be possible to overcome the legacy that an ageing paradigm of web rendering imposed on the evolution of the user experience but retain and foster its spirit? Given the steep learning curve such a shift would entail for everyone involved, it was also a lingering question whether we’d make it through, and if other developers would come on board to help build it.

This wasn’t the first try in this direction, either. Our previous efforts to push forward the WordPress.com user interface had yet inevitably faced the fact that the constraints and coupling of the existing codebase was too strong to overcome. Attempting to build a single page application in this landscape ended up as a convoluted attempt, with duplicated state and an awkward reliance on functionality that was not built with the considerations of a pure client application in mind. More importantly, the result was slow, hard to work with, and hard to extend. However, the emergence of the REST API around this period, which allowed a clear separation in responsibilities between the server and the client application, started to show a viable way in which a huge project like WordPress, with years of experience and legacy, could look at fully embracing modern client technologies (and with it faster iterative processes for polishing its user experience) but without dropping the solidity and permanence that had made it power such a large part of the web. In other words, an evolution of WordPress as a platform dictated by the divergence of its client application(s) and server services.

Not a framework. Even though we tried many of them, we avoided using “frameworks” to build Calypso because we appreciated the existence of single-purpose libraries that focused on one problem and solved it elegantly. Among many other modules, all pieced together via webpack, we used the small page.js router, custom data modules in raw JavaScript emitting single change events, wpcom.js as a an API connector, and React for the view rendering. The philosophies that came with React were also very appealing to us — a declarative view layer, the notion of UI as the predictable reflection of state, the importance of one-way data flows, and composition.

The fact that the client was now completely separate from the rest of the codebase would force us — and other engineers — to interact with data purely through the REST API, forcing our application to be designed without “inside knowledge”, while at the same time propelling the API itself to mature alongside the needs of a real and complex application. This decoupling naturally paved the way to fully embrace JavaScript for the entire client, no longer tied to the rendering procedures of all our legacy code, and still leveraging the backend reliability of core WordPress. Around the middle of 2014 we had a lean, modular scaffolding, composed of different JavaScript libraries running happily on our local machines (another aspect that significantly improved the developer experience) while authenticated with WordPress.com.

A need for speed. Among all the initial obstacles, there was one main reason that kept us going. How significantly faster the experience was shaping up to be. As the foundation matured, we also started glimpsing the possibilities of crafting interesting solutions that would have been close to insurmountable before, thanks to the benefits of reusable composition and a strong core. During the second half of 2014 we rapidly built the foundation of the application, honed a new — for Automattic — development process, worked on on-boarding other developers, and finalised a strong design language. By end of the year we had somewhat timidly launched a small fraction of it, the first few areas powered by Calypso in WordPress.com, and quietly celebrated the milestone. This served as an internal proof of concept and to test the reliability of the API running for millions of pageviews. But the work was just starting.

The following year had the aggressive goal of converting most of WP Admin, the default WordPress administration interface, to this new pristine greek figure that was starting to stretch its legs. At this time, some of the core principles that were guiding us, together with examples of reactivity and composition, served as indicators that this was a direction worth continuing. The success of React in the JavaScript community, a technology we had adopted very early on, was also a good sign for the direction we had settled. But more importantly, seeing the enthusiasm of other developers at Automattic was invigorating.

There’s no “I” in team. With the certainty given by the technical success of the initial launch, the novelty of such a pure JavaScript application interfacing with the behemoth that’s WordPress, and a fresh look at a cohesive UI, contributors within Automattic rapidly grew — soon covering most of the development teams. It became a huge collective effort to rebuild an administration interface that had been refined through many years and hundreds of contributors, but one that was starting to touch the walls of its inherent limits. The spirit of “I’ll never stop learning” within Automattic was never truer than in these decisive months. We were constructing a complex interface from scratch, with the cumulated experience of years but still entirely novel, and we needed to come together to execute such a difficult task. Even more, it was larger than just a rebuilding, it also supposed some significant advancements — specially around site management since Calypso was from the very start, and at its core, a multi-site endeavour.

I personally admire how strong the sense of shared ownership started to become, with teams crossing their artificial boundaries to help others, fleshing out and refining a singular experience. The engineering usability of Calypso grew significantly as the collective efforts shaped a sizeable library of components, utilities, solutions, expertise, and willingness to help. Diving deep into JavaScript was pushing our engineering literacy forward. None of us would have thought two years ago that we would be writing ECMAScript 2015 in WordPress.

Some fuel for Jetpack. Another aspect of Calypso that was demanding from the very start was that it had to be a client that treated self-hosted sites via Jetpack on an equal footing with WordPress.com sites. The goal was to let you completely manage your site regardless of where you were hosting it. This required laborious focus on both the design and engineering, syncing with Jetpack releases to power our increasing API demands. It makes me really glad that I’m writing this on the new editor in Calypso, syncing to my Jetpack site thanks to all this great effort.

Speaking of which, a test of fire for the foundation we had built came earlier this year, around March, when we had to build this new WordPress editor to go with Calypso. We were able to accomplish such an intimidating task in a very short amount of time by strong collaboration among teams, and by leveraging everything we had built so far in Calypso to speed up the engineering and design process. The new editor was announced just about a month ago. We were able to introduce a couple of cool features outside of the initial roadmap thanks to this reusability and strong codebase. (I’m personally fond of the drafts panel that allows quick switching between your working drafts from the editor itself, something that wasn’t in the original scope.)

This was a huge bet, incredibly risky, and difficult to execute, but it paid off. Like any disruption it is uncomfortable, and I’m sure will be controversial in some circles. What the team has accomplished in such a short time is amazing, and I’m incredibly proud of everyone who has contributed and will contribute in the future. This is the most exciting project I’ve been involved with in my career.

Matt Mullenweg

I’m glad I was able to be part of this project from the very start as a member of the Calypso core team. It’s even more exciting to see all of this released to the open world, without reservation, with the spirit of putting a piece of human craft out there — for people to look at, learn from, contribute to, and make their own.

Notes:

  1. Ultimately a project with about 26000 commits from around 100 people at the time we opened sourced it. See Andy Peatling’s recount of the journey.

I redesign this place more often
than I write on it.