Loomio

Communicating about development

G goob Public Seen by 47

This is really about communication rather than development, but I need the input of you developers to help with my communication, so I'm placing this discussion here.

Prompted by Sean's thread asking 'What would you like Diaspora to be in a year's time?' after the release of v0.1.0.0, and the many comments, requests and suggestions made on that thread, I thought it would be a good idea to write about each of these requests, and other elements which are influencing the development of Diaspora now, and likely future development.

You can see Sean's thread here: https://www.joindiaspora.com/posts/2636466

My aim is to cover all the things about which people keep asking 'Why can't D* have x?' or 'Why doesn't D* have x?', in non-technical language to explain why things are as they are, and how they're likely to be in coming months.

For some of these, such as editing posts, this means explaining why the feature is unlikely to be implemented. For others, such as groups and calendars, it means explaining why it hasn't yet been implemented and why it might well be quite a while longer. But at least it people can understand a bit more about why their favourite feature hasn't yet come in, it might make them feel happier about the current state of affairs.
For others, it means saying that we'd love to do it as soon as possible.

However, where I really fall down is my technical knowledge. This is where I need your help. There are going to be lots of factual technical inaccuracies in this piece. I'd love it if you'd look it through and correct these.

In some cases, it'll be a simple case of changing a word or two (for example, where I say that Diaspora was created as bespoke software, using elements from other open-source projects, my understanding may be faulty there and can probably be corrected by a small edit). In other cases, my understanding may have led me to incorrectly say that we'd like to implement a feature as soon as possible, whereas in fact that feature would require a complete rewrite of Diaspora's protocols and therefore isn't desirable.
This might require a greater change.

In the first case, if you could correct what I've written in the draft, that would be great. In the second, if you could explain the reality to me here, I'll then write a revised section for that feature and add it to the piece, for your approval.

It would be good to have a link after each section, or at least most of them, to a place where people can go if they want to help out with that particular element. If you can think of good links for any of the sections, please add them.

There are a few items at the bottom that I either don't understand or am really not sure what to write about them. If you can think of anything to write about them, please do. If on the other hand, you think they'd be better deleted, please say so.

I've added the draft to the wiki. I don't know what markup the blog uses, so I haven't formatted anything yet, although I've used wiki headings to make it easier to navigate. I'll change these to the correct markup for the blog before it's published.

Here's the draft: http://wiki.diasporafoundation.org/Current_and_future_development

Hope this is a useful thing for me to have done, and hope it won't be too much work for you to edit it for me. My hope is that once this is published, it'll reduce your workload in the end, as people understand why certain features haven't been implemented and so don't keep suggesting them time and again. I also hope it'll help recruit some more developers, who can see what help is needed.

Thanks in advance.
Goob

F

Flaburgan Mon 17 Jun 2013 11:38AM

@goob it's really a good idea to improve communication about that. I'll take a look at your draft.

F

Flaburgan Mon 17 Jun 2013 12:22PM

Ow! You did a huge work! Thank you!

About the API, maybe we could link to the unofficial python API?

Another remark, it's maybe not necessary to add "if you think you can help..." at the end of each feature. Add an short explanation of what's and how we use github and loomio at the beginning and the simply add github and loomio link corresponding to the feature at the end of the description is better from my point of view.

G

goob Mon 17 Jun 2013 3:07PM

Thanks, Fla. You're right about the 'if you think you can help' - I cut and pasted these early on with a plan to change them later, but ran out of energy! I'll tidy them up before publication, as they are very repetitive.

I also think it might be worth publishing this in two or three posts, rather than all at once, as it is so long.

One thing: I split things up according to end-user experience, rather than code type, so under Features I included things which are discrete entities from the experience of the user, so groups and photo albums come under features, whereas editing posts (which may be considered a feature from a code point of view) comes under Functionality, as it something which functions in the stream rather than as a discrete thing. But if you feel any of the items should be moved from one section to another, please feel free to suggest it.

I don't know about Python, so I'll leave you technical wizards to decide!

F

Flaburgan Tue 18 Jun 2013 12:57PM

I also think it might be worth publishing this in two or three posts, rather than all at once, as it is so long.

You could even just post a link to the wiki, saying "All your questions about the future of the Diaspora's development have answers [here]" ;)

FS

Florian Staudacher Tue 18 Jun 2013 1:47PM

Wow, nice work!
Gotta learn for an exam till friday, but after that I'm definitely gonna give it a closer look.

RF

Rasmus Fuhse Tue 18 Jun 2013 3:22PM

Awesome, Goob!

G

goob Wed 19 Jun 2013 8:34PM

@jonnehass and @seantilleycommunit , I notice you added categories to this post. I think it's better not to add categories at the moment because this isn't for public consumption, just for editing, so I wouldn't want someone to stumble across it before it's finished. So I've removed them. If the decision is taken to leave this on the wiki once it's finished, then we can add the categories back so people can find it.

Hope that's OK.

Thanks, Rasmus and Florian. I look forward to your and everyone else's comments and corrections, to make this article much better.

Especially I think it will be useful for explaining why feature x, which people have asked for for ages, is still not available, because there are good reasons and if we can tell people these reasons, I think they will be happier to wait.

G

goob Wed 19 Jun 2013 8:36PM

Have just remembered an old discussion I started, https://www.loomio.org/discussions/977 - this is linked.

We could give ideas (with no promises) about the likely category each item fits into:

  • Already implemented in the code base
  • In testing (have been coded, just waiting for confirmation that they work before they are published)
  • In development, with someone allocated to work on them
  • Approved the idea, now need someone to code them
  • Want to implement but low priority, so will get done some time in the future
  • Maybe one day
  • Rejected for inclusion in Diaspora for some reason.
ST

Sean Tilley Wed 19 Jun 2013 10:09PM

@Goob: Part of the reason that I added it into a category was because it's a work-in-progress, but also because I think that having a list of future features without specific developers to work on each one is a slippery slope.

It could give the misinterpretation that we're making promises for things that we don't have the developers for.

Johnne started a really good basic list on this TODO list, in the section under "Diaspora Application Feature". I think it's good to focus on both a long-term and a short-term roadmap.

The long term could be for all the things that we want to do, the short-term could focus on specifically accepted development proposals in which volunteers can claim the improvements they want to contribute. The long-term doesn't require specific versions; the short term could be more thoroughly focused on which versions a specific feature might be shippable.

That way, I think we can avoid confusion over questions such as "When is chat coming?", "When will Diaspora have groups?", "Can we get photo albums?", and so on and so forth. We can always have a list of things we're working on, to illustrate to end users the nature of the development going on, and at the same time, we can point to greater goals that we hope to accomplish in the future.

G

goob Wed 19 Jun 2013 10:21PM

That way, I think we can avoid confusion over questions such as “When is chat coming?”, “When will Diaspora have groups?”, “Can we get photo albums?”, and so on and so forth.

My aim in writing this piece was entirely to solve such confusion! And this is why I wouldn't want people to stumble across it until it's been checked and edited to get rid of any inaccuracies and lack of clarity.

I'm fairly sure I've made it clear in the article that there are no promises, and in many cases I'm pouring cold water on hopes of feature x being launched soon, but if you feel there are instances where I've not been clear enough about this, please edit it.

A bare to-do list is very useful for the people, e.g. developers, who are 'in the know' about what's going on, what's not going on and why, but it doesn't give any explanation to those who are not in the know, i.e. the general membership of DIaspora - and my aim is to give them explanations about the progress of development, so that they feel more happy about progress in general and their desired feature in particular, and hopefully will be more patient and not keep making feature requests for the same thing. In this way it would take load off the devs, who won't have to continually parry the same questions.

My starting point was not 'what has been accepted for development?', as in Jonnes' list, but 'what do people keep asking for?' This is intended as a community tool, not a developer tool. Part of outreach and communication, which hasn't always been one of Diaspora's strong points.

Load More