Just arrived in Singapore for Crossref Live. It is a two day conference, I’ll be presenting on publishing, open source, and community on day 2 (Wednesday).
I’m on the last stint of a 2 month mission-driven trip, taking my Shuttleworth Fellowship/Coko mission to the world. By the time it is concluded, (the last leg is Singapore which I leave for in a few hours), it will have included 3 continents, 5 conferences, funder meetings, partner meetings, the onsite facilitation of 2 publishing workflow products, some workflow consultancy, and the facilitation of a 3 day PubSweet meeting. Also, a large number of meetings, both remotely and onsite. This isn’t the first trip like this I have made this year. I asked Yannis and Jure from Coko how many months they think I traveled in total this year as they know all my movements. I thought it was around 5 months, but they both thought it was much more, perhaps 6-7. I dunno, can’t really be bothered working it out but that sounds about right.
It has been great, but also it is hard to do this without a cost. While work benefits, there is a personal cost – essentially you give up any idea of a normal life, and also you can expect a health cost. Traveling is hard on the body. You eat at odd times due to the constantly changing time zones, it isn’t always easy to eat well, you experience erratic sleeping patterns, the on-demand nature of socialising can wear you down, plus you can pretty much forget exercise (not to mention the cumulative total of 5 or 6 days that I have spent sitting still on planes this trip).
I have tried to work some exercise into this routine – namely surfing. I love it. Also, it’s one of the best ways to meet ‘normal people’ – people not connected to what I do. Sitting out the back of the wave you meet everyone from theology students to t-shirt designers to Department of Conservation workers. You don’t meet too many assholes 🙂 It is a nice way to just be a human amongst humans. Surfing is a really interesting sport. Out on the waves, you are just another surfer, enjoying surfing and nature together. Its good for the ego to be the clumsy schmuck who can barely stand on a 2ft wave! Surfing is pretty awesome. But it is not the most practical of sports! Also, it doesn’t always work out when planned – I stopped for a few days in Portugal to work and surf, and fell sick… This is often the case, that when you stop in the middle of a travel stint, your body gives up all defenses and you get sick. Over 2 months, I got about 6 or 7 surfs in, not nearly what I had imagined when I started out. So, I’ll have to look for something else to play that role.
Also, although I had time with friends and seeing some awesome people, when I look back, it is hard to see it as anything other than 2 months straight working. Seeing friends was squeezed into brief moments ‘in between’ when I could grab them. I also try to schedule in breaks now in long trips, but they don’t always pan out, I’ll keep doing it though as when they do work they can really help to refresh.
I’m not complaining! Just important to reflect upon this for myself. I have thought I want to get more of a balance on my life and spend more time in some sort of ‘normality,’ but actually, when I look at next year’s calendar and muse on what’s going on, I count around a possible 15-20 Coko events excluding any conferences etc that we would be invited to. That’s at least 4 PubSweet community meets, plus a Coko team meet, plus some potential Editoria-specific community events, OS Bazaar events like the one we just did in Berlin, Open Source Alliance for Open Scholarship (Superfriends), and a large Coko publishing conf, PagedMedia meetings, plus I want to spend some 1-to-1 time with the crew in Athens and Slovenia and everywhere. On top of that, there are some things I really want to do such as visiting some of the Shuttleworth fellow Fellows for some potential collaborations which are looking pretty interesting. My first trip next year is Jan 10 (to keynote at a conf in Canada), it’s an early start and I don’t see me spending much of the two months after than in any one place. I mean… I ain’t complaining – it is my choice to do these things and I do it for a reason, I like to see the mission progress, and I like being in the middle of it all – but also I actually don’t know how sustainable this pace is going to be anymore. Especially when I actually want more of a work-life balance. Tricky when your life has been your work/mission for 20 years (first as an artist, then open source, now open source/open access/open science) and you feel it is time to change gears. I mean, I know how to travel, and I have always held the position that you have to do whatever is necessary to further the mission, but as I get older (49 now) the toll of this kind of lifestyle is heavier. So, I guess I’m going to have to do some thinking…
Anyho.. just pondering…I’m off to the airport now to fly to London (from Athens) so that I can fly to Singapore for a final conference. Then San Francisco on Thursday, a few days later I’ll be in NZ….tally ho!
Just arrived in Athens. The Coko Athens team (now 4) are here and all in good form. Today I checked out the new office and we talked through a lot of items including:
- recap of the PubSweet London meet for Alexis and Christos who weren’t there
- discussion about a new developer for Athens
- discussion about pagedmedia and Vivliostyle
Then finally pizza!
Tomorrow we will talk about Wax, xpub, and Editoria…plenty to discuss!
Then on Sunday, I fly to Singapore to present on “Developing an open source publishing ecosystem founded on community collaboration”. Looking now at the website I found out I am a featured speaker! Whoot! https://crossreflive17.sched.com/directory/speakers
After Singapore I travel, finally after 2 months away, back to San Francisco. Awesome. It’s been a long haul. I think this year I’ve been on the road about 5 months. I thought I had given up being a nomad some years ago… seems that once you cross that line, it’s easy to do again…
So, I’ve thought about Open Source and design… I’ve even written some articles on opensource.com (https://opensource.com/users/adam-hyde) about the subject, and created a methodology for bringing the use-case specialist (user) into the center of the process, along with designers and everyone else…
I’ve also brought this subject up a number of times in Shuttleworth Foundation meetings and received some invaluable advice and insights from fellow Fellows and Shuttleworth staff… many of whom have heard my whacky ideas several times over now and are still patiently listening and offering advice! Forever grateful to y’all… especially Helen, Sean, Arthur, and Andrew for ideas and feedback.
But what I didn’t expect, is that I’d be part of a wider community where these ideas could form the basis of the culture. This is what I saw happen this week in London as part of the PubSweet Global meet Coko hosted (& I facilitated).
There were about 25 of us coming together to discuss all things PubSweet with particular emphasis on building Journals. Present were many folks from eLife, Hindawi, Ubiquity, and Coko. We got to the topic of ‘Technical Council’ and I tabled the idea that we need some kind of process in place so that all stakeholders feel they are getting a say in, and are being heard, the future of PubSweet – since it is their technology too.
When I tabled the idea that we need some form of technical council, Catriona MacCallum, who I used to work with at PLOS, asked the very salient question – and what about the users?
I’m very grateful to Catriona for that question as it gave me the opportunity to open up the concept and talk about how there are very few communities in open source that treat software development as anything other than just a technical problem, and further that we should take this opportunity to experiment in making this community strong on solving ‘user needs’ and design… it was a great discussion and I’m also grateful to eLife’s head of product – Giuliano Maciocci – for having a strong voice in favor of this and really stepping into, what looks to be, an emergent leadership role with regard to design in the community.
As a result, we formed a Dev Council and a Design Council. These are oversight/communication groups of 5 people each. So, they don’t ‘govern’ but the choice by the community to form these two groups is a testament to how seriously the community is to making beautiful products that solve real problems in publishing for real people…
All in all, a pretty fantastic 3 days.
Great article by Paul Shannon from eLife on the cost of running their new open source product Continuum.
Another cool day, finished with Coko sponsored Open Drinks in London!
In London for the second PubSweet Global meet! Some photos from the day… (day 1 of 3, plus a pic of the event t-shirt!)….
So, I think I’m formulating something of a design strategy for publishing workflows. I’ll call it, for now, the 1+1 Method. It is not a facilitation methodology like the Cabbage Tree Method, but more of an approach for encapsulating workflows within the simplest and most flexible system possible.
This is very much a work in progress.
The basic idea comes down to this – workflows seem complex when you map them out. There are many forks and eddies and cul de sacs, as well as seemingly ad hoc tasks and unique circumstances. When you map out a workflow like this, you tend to get a complex route with many optional routes determined by a variety of variables and dependencies.
If you build a system that ‘hard codes’ that logic, then you face a number of problems, the most important being:
- you tend to create a system that reflects the present with only slight optimisation
- the system is prescriptive and inflexible and does not provide a path to future optimisation or, even possibly, radicalisation of workflow
So, how to avoid this? The answer is to design a system that is simple and can be optimised easily. I’m guessing you are thinking this is not really a very helpful answer! True enough… so let me attempt to break this down a little. What we need to do is first understand the organisational workflow, and then design a system that will enable this using the concept of ‘workflow spaces’. We need to create as few of these spaces as possible, and reuse as many of these spaces as possible. Further, we need to move people into these spaces at the moment that something is required of them.
I’ll get better at explaining this over the next months, I’m sure…I’m still working out a language and conceptual framing of this that is easy to communicate and understand….
But let’s look at a simple example… say, a Journal publishing workflow. In this example the workflow looks like this (keeping it relatively simple):
- an Author creates a new submission
- they fill out the required information and submit
- an Editor checks the submission and rejects the submission or assigns a Handler
- the Handler checks the submission and invites reviewers
- Reviewers accept or reject the invitation
- the Handler invites new Reviewers if necessary
- Reviewers write reviews and submit
- the Handler reviews the reviews and writes a decision to accept (goto (11)), reject (falls out of system), or ask for a revision
- the Author reads the decision and changes information if necessary and resubmits
- the Handler checks the revision, if all is ok it passes to production, else go to (4).
This is relatively a relatively simplified and generic Journal workflow, but you can see some forks in the paths… In my experience, most Journals have the above but with additional organisation-specific forkings and nuances. So the above is very much an ideal simplified state.
So… if you were to develop a system that takes the object, in this case a journal article, through this process, then you have a pretty complex conditional system. For example, there is two-fold circularity at play. First, there may be more than one round of reviews so the system has to be able to cope with this, second more than one round of reviews requires the same amount of decisions. That’s pretty complex already. The mistake most systems make is to try and program this path into the system in a very prescriptive and linear manner – which is difficult to do and, more importantly, hard to change once done.
So… how to get around this? Well… the answer is to use this emerging 1+1 Method I’m trying to articulate here. It is a simple way to encapsulate workflow, leaving the door open for further optimisation and innovation. To achieve this, you must walk an article (or whatever object it is) through all the steps of the workflow, but while doing so keep in mind the following:
- for each step, you are only allowed a maximum of 2 spaces. A common Dashboard, and one other space.
- push all light, single issue, tasks to the common Dashboard (space 1)
- if necessary, push the other tasks for that step to another space (space +1)
- reuse as many +1 spaces as possible, merge as many +1 spaces as possible
- indicate to each player/role they have something to do through Dashboard status/notifications, providing links to +1 spaces only at the appropriate moment (when they have a reason to use that space)
That’s pretty much it. What we are doing is telling a story to each participant (those that have something they need to do at a certain time), that there is something they need to do now and they have to go here (Dashboard or +1 space) to do it. When they have completed that task, the next participant gets their notification that something needs to be done and they are provided with the means to do it (an action provided on the Dashboard, or access to a +1 space).
So the journey of the article is managed through notifications at the appropriate time to the right people. This means that if we need to optimise the workflow, by either collapsing some steps or adding some steps, we don’t need to redevelop the whole prescriptive, linear workflow logic of the system. We simply need to tweak the order of notifications. Additionally, if we decide that some new innovative process should be introduced, we can do so by either tweaking an existing +1 space, or adding a new one (introducing it to the relevant participant at the relevant time through Dashboard notifications).
That keeps the system intact, and allows us to tweak and optimise/radicalise, as we go.
In the case of the Journal workflow above…. a 1+1 solution might look something like this:
- an Author creates a new submission – Dashboard
- they fill out the required information and submit – Submission Page
- an Editor checks the submission and rejects the submission or assigns a Handler – Dashboard (notification) + Submission Page (to check the Submission) + Dashboard (to accept or reject an assign Handler)
- the Handler checks the submission and invites reviewers – Dashboard (notification) + Submission (to check submission) + Reviewer Assignment Page (to manage Reviewer Assignment)
- Reviewers accept or reject the invitation – Dashboard
- the Handler invites new Reviewers if necessary – Dashboard + Reviewer Assignment Page
- Reviewers write reviews and submit – Dashboard + Review Page (includes submission)
- the Handler reviews the reviews and writes a decision to accept (goto (11)), reject (falls out of system), or ask for a revision – Dashboard + Decision Page (includes Submission and Reviews)
- the Author reads the decision and changes information if necessary and resubmits – Dashboard + Submission Page
- the Handler checks the revision, if all is ok it passes to production, else go to (4) – Dashboard + Submission Page
Of course, the above could be simplified still, or you could move some elements around. The reviewer assignment could, in some workflows, occur from the Submission Page. Or, perhaps, the reviews could be placed on the Submission Page…. these decisions are dependent on your organisational needs, what information needs to be shown to who etc…
The point is, the entire workflow above, with all its loops and eddies, has been created with just the following spaces:
- Dashboard (primary space for everyone)
- Submission Page
- Reviewer Assignment Page
- Review Page
- Decision Page
Just 5 spaces.
Now, the above is still in need of a better explanation. If you want to get a feel for how it works, I suggest you think of a workflow that you are involved in. Simplify it a little, since this is just a first exercise, and then write down all the steps in order. Now… work through this 1+1 method. Start with the Dashboard, rely on notifications to keep everyone in the flow (exposing to them to the right Dashboard action or space at the right time), and conservatively add a new space only when you are sure that:
- that action couldn’t easily be handled in the Dashboard
- there isn’t another space that could ‘house’ this action sensibly
Walk through it once. You could even do it with Post-it notes representing the spaces if you like. Then sit back, look at it and ask yourself could it be simpler?
Then play with it a little. When you have a good system you could even play with some innovative new spaces – put them into the steps and ask yourself what that space would look like and who should it appear to and when…. you’ll see how easy it is to innovate with a system that enables this kind of workflow….
Needless to say…. that is why we created PubSweet… There might be more technologies like it, but if there are I’m not aware of them (let me know if you know of any). Also, if you have any feedback or thoughts on the above, especially on how to improve the explanation, then please let me know!
I’ve been hanging out in Algarve, Portugal for the last week. It is ‘between gigs’ and it was cheaper, and far less tiring, for me to stay somewhere in Europe rather than return to San Francisco and then, 5 days later, fly back to the EU. Anyho …some pics of the week… early in the week Yannis from Coko joined me and we went surfing, then I got sick for the rest of the week (darn!), but my buddy Enric (who I haven’t seen for some years) drove over from Barcelona to hang! Whoot! He’s a cool chap and doing a lot of cool things around facilitation and free culture… anyways, tomorrow off to London for a Coko event… pics….taken with a GoPro (trying it out)…
If you are looking for an Open Source alternative to Doodle for scheduling meetings / carrying out polls, I’ve been watching this for a while and it finally has matured: https://framadate.org/
Still some way to go, but very usable…