So, I still feel it is valuable to share between us how we see the future of the project and what diaspora* 1.0 could be. So here is my vision, and I would love to see you sharing yours with me and the rest of the community here.
I divide my thinking in three distinct parts which are of course linked, but which all focus on very different things because the point of view is different.
- The first part is the users point of view. Here, I’m focusing on the value diaspora* can bring to the users. To sum up, nice features and nice UX. To be able to share and find interesting content with other users.
- The second part is the podmins. How can their life be easy as pod maintainers. Installation, update, backup, moderation, etc.
- The last part is the network. Because I’d like the UX of diaspora* to be as similar as possible whatever the pod used. And I’d like diaspora* to be able to scale.
So, with that in mind, where should be set the goal for a 1.0 diaspora* release in my opinion? The good news is, not that far. Because in my mind, 1.0 doesn’t mean “feature complete”, it means “solid foundations”.
For the users, I honestly think the features available are already great. It would be nice to re-add likes on comment, and I deeply think the “custom stream based on advanced search” could be a killer-feature. I guess pictures albums also deserve to be put in “share and find interesting content”, and a stable XMPP chat could also be there.
With that we are far away of what Facebook allows users to do, but I don’t think this should be a blocker. There will always be haters saying “wat, you releasing 1.0 n’ don’t even have a group feature? This project definitely iz a fail”. But eh, for those kind of person, 1.0 would never be good enough.
The reality is, diaspora* is already very stable in production. Thousands of persons use it daily without problems, they don’t think they are using a beta software, it is not a 0.X project anymore from a user point of view. What we still have to do though, is to improve UX on already existing features because there is room for improvements. To sum up: keep a small scope, but ship something great.
On the opposite, there is still work to do for the podmins. The software is stable and the minor updates are easy to do. But installation and update have to be way more easier. A good inspiration here is what gitlab is doing. Their tech stack is the exact same than ours (ruby, rails, redis, sidekiq, postgres, etc). They allows installation of everything with a single “full-stack platform-specific package” (See omnibus-gitlab), and an
apt upgrade is enough to update, with automatic backup and rollback if something goes wrong. Very easy and inspiring.
Another point where the life of podmins should be made easier: dealing with spam. This can be very time consuming, and a podmin doesn’t have GUI option at the moment to block an external user, delete many reported messages at the same time, etc. Which brings me to the last point:
The network itself. Wow. What a huge amount of progress we recently did on that part, thanks to @supertux88, @denschub and @comradesenya. I’m so amazed that I want to say another thank you once again. With the federation 2.0, I feel like we’re really close to what we can expect for diaspora 1.0* from a federation point of view. I would list in the missing features the “remote following tags” which is IMO more important than the users discovery (as I observe that diaspora* users are more looking for content than contact). Linked to the podmin point, there is also work to do about how to deal with evil users and evil pod (I’m not talking only about the protocol itself in that third point, but about how the network is living and scaling). And linked to the user point, it also feels important to me to make the user experience painless across the federation. Global links is a good example of that. A remote follow button would also be nice.
So, here is my vision about what the project needs to be released as 1.0. What’s yours?