The future of Deviation

More
21 Feb 2015 21:01 #28976 by PhracturedBlue
The future of Deviation was created by PhracturedBlue
Let me start off by saying I have no plans to stop working on Deviation, and that I am committed to keeping the site up and running.

That said, I haven't done much work on Deviation in the past year, and when I have done, it hasn't been for a long period of time. Given that we have a reasonably active community here, I don't want to stand in the way of progress if possible.

So I'm looking for suggestions on the areas of interest:
1) The forums. FDR does a good job around here, keeping things running, but we may be in the market for a 2nd admin to help out. If you are interested you can PM me, but only long-standing members need apply.

2) The code. I am aware that there has been development work in the deviationtx branch, but releases from there aren't on the main-site download links, so only those who spend time in the forums may be aware of it. When I was gone for a while in 2013, rbe had the same issue. I'd like to find a better permanent fix for this.

3) Tickets. The tickets have gotten out of hand since I don't look at them much. I'd like to find a way to manage them better. Maybe by having a single 'group' repo with an expanded admin list, or separating the tickets from the code (I have played with using redmine as the ticket system and allowing filing tickets directly from the forum. Sadly, my hosting provider doesn't provide a recent-enough Ruby installation to make that very viable)

4) Documentation. Documentation tends to get out of date quickly when active development is going on. We've discussed switching to a Wiki in the past, but I like having documentation versions with the releases. I don't know if it is possible to snapshot a Wiki into a pdf (and have it actually be useful)

5) Multi-module stuff. I have no idea what is going on with this one, but it is the most-likely aspect that I will tackle myself since I think we're very close to a workable solution.

Anyhow, while the community here is active, I don't expect that there is enough expertise/desire here to address all of these issues. However, maybe solving just a couple critical ones will be enough. I'm open to any ideas any of you may have.

Please Log in or Create an account to join the conversation.

More
21 Feb 2015 22:04 #28981 by mwm
Replied by mwm on topic The future of Deviation
Welcome back! Good to see you again.

I think items 2 & 3 can be addressed by the same issue: an official group repository that has more admins. I think more people with a commit bit would help as well. That's why I created team deviationTx - to try and get all the ongoing development work in one place while you were busy elsewhere. I think it's mostly been successful.

I'd like to see the team repository become the official one. That's why I made you an admin. However, that requires your blessing of the idea, as well of the rules for committing code (those are in the wiki). Until you decide about that, further discussion would be premature.

If you don't like that idea, let me know what you think should happen to the team, and I'll take care of it.

Do not ask me questions via PM. Ask in the forums, where I'll answer if I can.

My remotely piloted vehicle ("drone") is a yacht.

Please Log in or Create an account to join the conversation.

More
22 Feb 2015 02:02 #28987 by hexfet
Replied by hexfet on topic The future of Deviation
Nice to hear from you PB :)

I agree with mwm that a repo that some others can update and is tied to the website would help keep things moving along. Especially for bug fixes and non-controversial changes.

My questions are more about your vision for Deviation. How would you like things to work when you're not available? For example, would new features be merged by group consensus. or maybe just bug fixes. Would a group repo be considered the mainline deviation, or would mainline updates wait for your evaluation and merge?

I think a wiki would be very valuable regardless of whether it could easily be turned into a pdf. Many posts on the forums would be assets to the documentation, and it's easy to cut and paste to a wiki. Even without an automatic tool the wiki would be a good resource for updating release documentation.

Speaking of releases, I'm unclear on the value for projects like Deviation. A defined release is good for distributing a defined package of software, such as part of a distro. What advantage does it bring to the Deviation community over having nightly-stable and nightly-development builds available?

Lastly, I'm here to contribute but my expertise is mostly on the low-level hardware side. Haven't been in RC long enough to have strong opinions on things like the timer, toggles, and flight mode changes - don't use 'em on my 4 models. Me and GUI code share a mutual dislike. I can help with documentation.

Please Log in or Create an account to join the conversation.

More
22 Feb 2015 03:15 #28989 by PhracturedBlue
Replied by PhracturedBlue on topic The future of Deviation
At least I personally don't (usually) commit changes that I think are broken. When making big changes (like the GUI changes for 4.0) that is bound to happen, but it is not generally my intent. So releases have a value in that I generally stop development and only do bug fixes before a release. This helps to give confidence to a user who doesn't follow the forums religiously that it is unlikely to crash his model. So I believe releases are valuable for those users.

I haven't given this a lot of thought, but until I am willing to fully hand the reigns over, I do not think I'm likely to give control of features and releases to a committee. We have had great work done by folks like suvsuv and rbe2012 which I decided to not include or do differently (and please note this has nothing to do with the quality of their work, just that it didn't go in the direction I wanted to go in). I haven't looked too much at the latest progress, and can't speak to whether it would be to my liking.

So my thoughts at the moment go something like this:
1) maintain a master code branch that i am responsible for. Either by permission or by agreement, no changes go here without my approval
2) maintain a branch of the the last official release. This can be open to trusted developers who agree to only do bug-fixes on the branch
3) maintain a development branch that is open to trusted developers. new features can be placed here without any consultation from me, and when I'm doing development I would likely develop here. When getting ready to do a release, code will be pulled from here (or not) into the master branch for release, but that may happen infrequently.

We can setup a build daemon to build from (2) and (3) automatically (there is probably no point in auto-building from (1) with links in the download section. In the case I go AWOL for too long, and a good-faith attempt to reach me fails, the group would have the proper access permissions to make new releases from (1)

This isn't easy to do with a single repo without just trusting developers to do the right thing. I am not sure if I am there yet. So I may decide to keep 2 bitbucket repos, one for official releases and one for development and bugfixes (on a branch).

That would leave the issue tracker which really needs more users to help out. I'd like to tie the tracker to the actively developed repo so that tickets can be auto-updated. The bitbucket tracker is really limited in capabilities, but I think it may be possible to import tickets from one repo to another.

Again, this is mainly my thoughts as they are at the moment. It isn't a decision, just my current ideas.

Please Log in or Create an account to join the conversation.

More
22 Feb 2015 04:00 #28990 by mwm
Replied by mwm on topic The future of Deviation
Sounds a bit like the Linux "lieutenants" model: Linus has trusted developers who do work on their areas in their own repositories, and then send him pull requests, which he pulls into his own repository, which is defined as the truth. Linus went with multiple repos mainly to deal with the shear volume of changes, though.

Personally, I like the trust-first model. Don't worry about securing everything, but assume your developers will behave. After someone has submitted enough patches that have been accepted as is, give them a commit bit and explain the rules to them: here's when/where you can push code to the shared repos, and if you don't follow these rules, we'll take away your commit bit. As you get more trust in them. If worst comes to worst, you can nuke a bitbucket repository and recreate it from a clone that hasn't pulled in any broken changes yet. As you get more trust in them, they get looser reins.

I also think releases are important. How many people who see something cool on rcgroups or wherever would stay interested if they came here and saw instructions to "download the latest build"?

From the perspective of someone advocating deviaitonTx, it would be nice if the release process were documented somewhere, so I could point to it and say "this is what happens before we create a release." People who have dealt with a large company being slow to admit to problems in their products instantly see the advantage of having issues be public knowledge. I think having a published release process would be equally helpful.

Do not ask me questions via PM. Ask in the forums, where I'll answer if I can.

My remotely piloted vehicle ("drone") is a yacht.

Please Log in or Create an account to join the conversation.

More
22 Feb 2015 14:47 #28996 by hexfet
Replied by hexfet on topic The future of Deviation
I'll clarify that I'm not advocating giving up versioning, just putting a hold on things for a big doc update and code freeze. On the other hand, occasional releases do fit in well with the ideas PB has outlined.

I agree a defined release process is a benefit. One potential issue is that official Deviation releases from PB's repo may not contain all the features available in the development branch. If official releases occur infrequently and many users move to the development branch it will be important to explain the promotion process.

I'm uncertain of the number and type of Deviation users. Do many people install it without ever visiting the forums? Are there many users still on 4.0.1? Likely my viewpoint is skewed by checking deviationtx.com every day.

For the development branch/repo a changelog file might be useful. A couple lines about each significant merge to default would help users understand the differences as new features are added and bugs fixed. Without a changelog the list of merged pull requests is the only place to go. If versioned development builds would be helpful, they're a note in the changelog and a tag in the repo that gets automatically built.

Please Log in or Create an account to join the conversation.

More
23 Feb 2015 14:18 #29038 by BitOne
Replied by BitOne on topic The future of Deviation
Hello PhracturedBlue,

Nice to see you here again !

For the point number 4 (documentation), we could use RST ( docutils.sourceforge.net/rst.html ) or Markdown ( daringfireball.net/projects/markdown/syntax ) format.

The main advantages:
- "easy enough" to edit
- versionable in a repository, as they are text files, so possible to version them the same way as sources
- pull request, merge, commit on documentation allow easy sharing and collaborative editing
- PDF generation to maintain a downloadable version (via Sphinx, rst2pdf)
- HTML generation to provide an online/searchable version (via Sphinx)

Main drawback:
- editors non familiar with source repository will have a harder time dealing with the editions.

I have some experience working in these format on different open source projects, so I can help here if we decide to go this way.

Please Log in or Create an account to join the conversation.

More
23 Feb 2015 15:20 #29040 by mwm
Replied by mwm on topic The future of Deviation
I've been hesitant to talk about the documentation, because - well, there's no perfect option.

How does going to a text markup instead of libre/open/whatever office help with the problem of documentation getting dated? I mean, yes, you can now edit things with a simple text editor without having to download a fairly large application for it. But to get there, you have to be comfortable with dealing with a dvcs, and writing markup. So you may get more users working on it, but you now lose those who are comfortable working with a word processor. Not clear it's a win.

Markdown, in particular, is problematical because it was designed for generating HTML. So native markdown isn't very expressive, as you were supposed to embed HTML for anything beyond simple text. Which means your processors have to be able to handle HTML, and pretty much everybody who implements markdown provides a different set of extensions for dealing with missing features.

The Wiki PB mentioned is ideal for keeping things up to date. But in order to use it for the manual, there has to be some way to extract a section and generate PDF from that section. Ideally, it would have a DCVS underneath it so we could just check out the marked up text, and then point some tool like pandoc at the "manual" directory to get PDF for the manual.

I don't know of anything that has all the features I'd like to see (WYSIWIG and markup editing both online & offline, rich markup, some kind of VCS, the ability to generate PDF for just a manual). I'd like to see PB's desired feature list, though. Maybe someone knows of a system that can do all that.

Do not ask me questions via PM. Ask in the forums, where I'll answer if I can.

My remotely piloted vehicle ("drone") is a yacht.

Please Log in or Create an account to join the conversation.

More
23 Feb 2015 15:29 #29041 by PhracturedBlue
Replied by PhracturedBlue on topic The future of Deviation
I don't know if that really solves the issue. We could already convert odt into html if we wanted to. The problem is that it isn't editable online. The only reason for moving to a wiki is to make it easier to update online, which means I either need a custom wiki software, or stick with the languages supported by wiki software (I think the bitbucket wiki supports markdown)

Wiki syntax tends to be quite limited compared to a full word-processor, I think it would be difficult to write the documentation in markup and convert it into a good-quality pdf, but I am not familiar with Sphinx, and perhaps I'm wrong.

The other discussion we've had is to use google-docs for the documentation, but honestly, I don't think that would help much, as I don't think it would help documentation get written more quickly.

Also remember that the documentation often gets translated into other languages, and we need to continue to keep that as easy as possible to do.

In the end the only purpose would be to increase the number of people who contribute to the documentation, and I'm not sure there is anything that would really do that :)

Please Log in or Create an account to join the conversation.

More
23 Feb 2015 15:42 #29043 by mwm
Replied by mwm on topic The future of Deviation
Google docs would let people avoid having to install libreoffice or similar. You can suggest edits without having to have a google account. You can even edit documents offline - but you do have to be in a browser, and it's not clear that you can collaborate that way. I can't think of anything that would do more to encourage people to submit changes.

I wrote my tutorial on model configs in google docs; first time I've used it. That thread has links to both the google docs version and an upload of the PDF generated from it if you want to see what such looks like.

Do not ask me questions via PM. Ask in the forums, where I'll answer if I can.

My remotely piloted vehicle ("drone") is a yacht.

Please Log in or Create an account to join the conversation.

More
24 Feb 2015 01:13 #29064 by mikemacwillie
Replied by mikemacwillie on topic The future of Deviation
I personally like the Wiki option for the documentation.. The ease of updating it far outweighs the limitations vs a full on work processor in my opinion. I don't think the manual necessarily needs to be a PDF. As a user of any particular project, I feel that as long as it's all in one place and searchable, the format isn't super critical.

Please Log in or Create an account to join the conversation.

More
26 Feb 2015 01:52 #29120 by retiredfist
Replied by retiredfist on topic The future of Deviation
Good to hear from you PB
Thanks for everything you have done for the community

Please Log in or Create an account to join the conversation.

More
27 Feb 2015 03:19 #29158 by PhracturedBlue
Replied by PhracturedBlue on topic The future of Deviation
I've given it more thought, and here's what I'm thinking:
a) we'll move the official repo to the deviationtx group repo. I checked and it is possible to restrict access on certain branches, so I may create and restrict a 'staging' branch for preparing for releases.

b) I'll shut down the bitbucket bug tracker, and replace it with a self-hosted version. The primary reason for this is that I want to require all tickets be created by registered users (because anonymous users never respond to tickets), but DO NOT want to require users to create bitbucket accounts. By self-hosting, I can use single-signon so your forum account will let you submit bugs.
More info on the bugtracker in this thread:
www.deviationtx.com/forum/3-feedback-que...racker-testing#29157

Once I have everything tested, I'll make the above changes, but it may take some time.

Please Log in or Create an account to join the conversation.

More
04 Mar 2015 15:14 #29324 by mwm
Replied by mwm on topic The future of Deviation
Any more thoughts about what we're going to do about documentation? I've used libre office for some small things, but have no idea how well it will work if lots of people are working on things.

Do not ask me questions via PM. Ask in the forums, where I'll answer if I can.

My remotely piloted vehicle ("drone") is a yacht.

Please Log in or Create an account to join the conversation.

Time to create page: 0.060 seconds
Powered by Kunena Forum