That’s a bit of a bombastic title for this post. What you’ll find here are my notes from the IT strategy discussion between @hugi, @owen and myself on 2019-11-20.
1. IT resourcing in general
-
In very general, we need to have more resources assigned to IT.
-
To justify that spending, we provide the strategic plan below.
2. Deployment infrastructure
-
We need a staging Discourse website.
-
We settle on Netlify for static website deployment for now. It’s a good option until we need sites with a backend / database. Can and should use a “netlify-production” branch on Git from which to deploy.
-
We will look at load times etc. to decide about using a CDN etc…
-
We will use Digital Ocean to place Virtual Machine images for experimental deployments. Images can also be stored there while not in use, causing less cost. This is a good option for any experiment that would “mess up” the production server by requiring major changes to its software.
3. Webkit for our project websites
Specialized websites for different events and topics is nice, but it’s too much effort for the outcome. Consumes a lot of time. They should be generated in a much more standardized way. That’s where Owen is going now. The first version of that is visible already on now.netlify.com.
The goal should be that even for a small project, somebody can put together a website based on components from an existing toolkit. Also the sites are similar to use for every new event.
Later, this kind of software would be used for “gradual introduction to Edgeryders”: they use that software first, the edgeryders.eu forum later. It could even be published right on the edgeryders.eu frontpage, moving the forum to forum.edgeryders.eu or similar.
Owen is developing this at the moment, based on ideas and input from @nadia. It will have several functions in its initial version, allowing to use it as a front-facing website for Edgeryders live events and projects:
-
A Discourse SSO login, using our communities.edgeryders.eu login provider. This already works.
-
A Twitter-wall like function, aggregating content from Telegram channel, a Twitter hashtag etc.
-
A way to select parts of this aggregated content as an admin and post it to Discourse as one combined post, using the Discourse quotation style that shows the Discourse profile image of the quote author alongside
-
A way of aggregating various media content by type from the Discourse website (videos, audio etc.), to make that content more visible.
Everything for that toolkit should be in Vue.js component form. That’s already done. James’ edgeryders-form software would also be integrated into this framework as a Vue.js component. To prevent a duplication of effort, it will replace the other form software component that Owen made once for a somewhat different use case.
Later, this framework would also include a login to edgeryders.eu, allowing to post to the forum based on activity in the front-facing website.
When this framework needs to talk to an API, we should try to not have a separate (caching) serverside component for this, but to always directly access the Discourse API. This way, we have one single API to access, and all the documentation, installation, access credential etc. issues have to only be solved once. Where the JavaScript web application would like to see a more comfortable / specialized API, there are two options:
-
Internal, client-side JavaScript library that provides this more comfortable interface. The server load of more requests sent to Discourse is not a major issue, as it’s just about short API queries with a JSON response.
-
Where necessary, we can extend the Discourse API with Ruby on Rails code, as we have done before.
4. Other strategic planning
We got four IT areas in Edgeryders: online conversation, events facilitation, collaborative sensemaking, internal processes. Collective intelligence and events software stuff is directly tied to income.
-
Internal standardization. Some decisions that we made during the 2019-11-20 meeting:
- Vue.js as framework for JavaScript web application development.
- Tailwind as CSS framework. Can be extended with additional components. 17k stars.
-
Open Ethnographer as a generic tool. Do we want to tie Open Ethnographer to Discourse as a general annotation solution? Hugi: Amelia says that our Open Ethnographer for Discourse is a “state of the art” solution for online ethnography already. So we could also go for a more general solution, like a browser plugin that allows to use Open Ethnographer on any website. This means, there are these two possible futures for Open Ethnographer. We can keep both open. At least at the level of data compatibility, even though it would probably be two parallel software projects that only share some components.
-
Mixed media. In the longer run, ideally we should mix media more. Like an app to podcast / videocast to the forum. That should ideally be in Discourse. Including features like “quoting audio”. That would be nice to post to Discourse upstream. Meant to be able to reach “unusual suspects”: people who are not great at writing. (by: Hugi)
We could have a view of all content by Open Ethnographer, as text, audio and video, right on the public-facing portion of the Edgeryders website. In a way so that it presents a screencast, from which people can dive into the content and connect to people. That could be a new way of storytelling, and of generating income. (by: Hugi)
-
Upgrading Graphryder. It has to be upgraded. It should be integrate-able as a component into Owen’s frontend software. To show to users. We should leave Neo4j behind, as they provide crippleware with a lot of features only in the enterprise version. But there are multiple open source alternatives. Hugi: There’s all kinds of technical debt in Graphryder, even in the visualization part. Linkurious etc… So we might want to redo that part as well. Also including ways to visualize in a way that adapts more to the style we have in the frontend facing sites.
-
Moving from Riot to Discourse. There is currently an interesting feature convergence happening between productivity-focused business chat software (Slack, Rocket Chat, Riot) and modern forum software (Discourse). Both now include threads (in a flat threading model with reply-to information), subscriptions, some form of real-time notifications, @mentions, and even the same sets of emojis.
So if we extend Discourse with (1) a real-time notification system that works well with mobile devices and (2) Slack-style dashboard of subscribed categories and topics (“channels” in Slack) and direct message topics (same in Slack), we won’t need Riot anymore. The quick-and-dirty discussions that should not enter the organizational memory which happen now on Riot should then simply be direct message topics in Discourse. (And we can even have a mechanism that erases these after some time.)