Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Try Vanilla Forums Cloud product

Let's Talk about Improving Vanilla's Addons

ToddTodd Chief Product Officer Vanilla Staff

There's been a bit of a mega conversation going on amongst some of the vips in Vanilla's community. Besides exposing a bit of a UX bug in our conversation emails there's been some good discussion. I'm putting my response here because I want things out in the open.

So let's face it. There are a lot of addons on the Addons site that just don't work. There are several reasons why this is the case. Maybe a plugin was developed by an inexperienced developer. Maybe someone developed against an old version of Vanilla. I'm not casting judgment here it happens. But the fact of the matter is that addons that don't work or of low-quality are bad for Vanilla.

This is an important point. Vanilla has grown a lot in the past years and we have to start working towards more quality in the addons on this site. At the very least we need to give people that come to the addons site more information about an addon before they try and go installing it.

Here's the thing though. We here at Vanilla HQ can't go through everyone's addons and make sure they work. What we can do is give better tools on the addons site and give some better guidance on addon development in general. Here are some thoughts on that front.

Keeping Addons Current

  1. I want to move from addons being approved/unapproved to being "works with". Rather than having us approve addons we'll have the community say whether an addon works or doesn't work with certain versions of Vanilla.

  2. Using the above information we will mark plugins as abandoned if they stop working with newer versions of Vanilla. Addon authors have a responsibility to fix their addons, but if they aren't notified then it's really not their fault.

  3. Abandoned plugins will be removed from the addon site. This means that the addon will be gone and someone else that wants to pick it up can re-upload it and start maintaining it themselves. This is a bit of a clunky workflow so I'm not sure if I'm decided on this. Philosophically though I'm not against changing the maintainer of an addon if the original author abandons it. As a courtesy the original author should be given credit for their work.

Using Gith(hub) to Develop Addons

  1. I really want to start encouraging people to develop their addons on github. We totally know that github can be difficult to get into, but you are doing yourself a disservice by not learning how to use git. And yes, I even think theme developers should be getting into git.

  2. Having your addon up on github allows others to collaborate with you and help fix issues. People can fork your repo and give you pull requests or you can even give other people commit access to make changes directly to your addon.

  3. I think that you should create a seperate repository per addon you develop. This makes it easier for people to fork just your one addon. If you develop a lot of addons you can create one master repo that contains all of your addons as submodules.

  4. If enough people start maintaining their addons through github then we can build some nifty tools into the addons site that will automatically grab updates directly from the repo.

Addon Ratings

I'm in favor of adding a simple five-star rating system to addons. There are a lot of addons and having some way to help people decide on which ones to install is becoming more important.

Commercial Addons

We are not interested in creating a site that allows people to sell commercial Vanilla addons. Changing our minds is in the realm of possibility, but is highly unlikely.

Vanilla 1 Addons

We'll most likely stop supporting Vanilla 1 addon downloads at some point.

vrijvlinderUnderDogaerylifeisfoohgtonightPixelnatedcools

Comments

  • Sounds good to me. Though if you do try to drive support for source control, please allow for the choice of public source control. I currently use google code to host my addons, and not currently with git.

    My addons: NillaBlog | Vanoogle

    UnderDog
  • vrijvlindervrijvlinder Papillon-Sauvage MVP
    edited April 2013

    Addon Ratings

    I'm in favor of adding a simple five-star rating system to addons. There are a lot of addons and having some way to help people decide on which ones to install is becoming more important.

    Yes I think it is much better than the warning in red that is not approved etc. That does not describe user end real life experience by others. (Might as well quote a line from Dante's Inferno)

    It is as tricky as managing reactions though. It could be like the Vote plugin but with a scale attached from 1 to 10 or a gradient marker where green is excellent yellow so so and red forget about it.

    People would have to be instructed that they need to use and test find an issue try to resolve the matter with the author and then Rate or Vote. Otherwise people could abuse the system. Some things work for some people others need tweaking but just because it did not work on the first try, it is not a reason to Rate the lowest.

    Then there is the issue of people pumping the ratings to map their product or friend's product by Rating or having a posse of Rating people without downloading or using.

    There should be a way to limit the ratings by each user. Like the Like this plugin where you can't Rate yourself and can either change rating but can't rate twice on the same thing.

    Maybe the rating system should have more variables to pick from and the sum of the rating in each aspect is the ultimate rating.

    1.Did this add on work out of the box? (yes) (no) this answer would have values positive and negative depending on what they selected. Then added to the tally.

    ( If no, then a form opens to elaborate if they wish or they must, I like must because it may be the only way to get written feedback from people. Then after saving the comment the next question.)

    2.When asking for guidance and support for the add on were your queries answered ?

    3.Would you recommend this add-on ?

    UnderDog
  • hbfhbf wiki guy? MVP

    I'm all for everything as stated above. I'd like to make sure we are clear on what constitutes "Abandoned" for a plugin before we go full force into implementing it. For example I have several plugins released for which there haven't been any updates for quite some time. Is it because I abandoned them... clearly no, I use them on my forum and I expect that they are working fine for many others.

    UnderDog, that wiki is great. I can only imagine the amount of time and effort that went into developing the templates and content...

    UnderDogvrijvlinder
  • I think the first step is the "works with" or "tested with" facility.

    It would be good if you could mark something as experimental, certainly beta.

    It would be good it we could prune old versions, or mistakes that we have no interest in supporting.

    @Todd

    You can remove my V1 Addons, I have no interest in supporting them.

    I also suggest you remove

    http://vanillaforums.org/addon/fileuploaddetect-plugin

    So I can redo it without the oxygen library, so people can download that separately, that way they wouldn't have so much trouble opening the zip.

    grep is your friend.

    UnderDog
  • peregrineperegrine MVP
    edited April 2013

    @hbf said:
    I'm all for everything as stated above. I'd like to make sure we are clear on what constitutes "Abandoned" for a plugin before we go full force into implementing it.

    I think part of the consideration of abandoned also means the author hasn't logged in for a year and can't be contacted, not the date of the last update for the plugin.

    @x00 said:

    It would be good it we could prune old versions, or mistakes that we have no interest in supporting.

    I'd like this feature also

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

    vrijvlinder
  • aeryaery Gtricks Forum in 2.2 :) ✭✭✭

    Nice food for thought @Todd. Surely I can see Vanilla making big leaps.

    However, you forgot few things like -

    #. We need to clearly differentiate between addons and plugins

    #. Apart from description we need section for FAQ/Changelog per addon

    #. We need some more control to screenshots. I have heavily changed my theme UI but cannot delete old screenshots

    That being said, I will upload my addons to Git :)

    @vrijvlinder a failsafe solution could be that only logged in users can vote and only once.

    Vanilla is sweet & support is great, to encourage volunteers, please donate.

    vrijvlinder
  • We need to clearly differentiate between addons and plugins

    Plugins are addons

    grep is your friend.

  • x00x00 MVP
    edited April 2013

    You also you have to judge by the same standards too, if something is relatively complex, you expect there to be a few bugs. You know as well as anyone what is involved, to get a polished product

    It is stub apps which are not well done, or are malware, dishonest, misleading, etc that should be removed.

    grep is your friend.

  • hgtonighthgtonight ∞ · New Moderator
    edited April 2013

    I really like the ideas put forth so far. I remember developing stuff without version control and losing work every time I "saved" instead of "saved as". Gives me shudders just thinking about it.

    I don't think we would need to over-engineer the rating system. Just being able to report that it works with version X.X.X would be awesome. Being able to react to it (like current discussions/comments) might do the trick in terms of "community confidence".

    That said, I don't support removing old versions of addons. For what ever reason, people use old software. Being able to download an addon that is known to work with it would be awesome. I would suggest a system much like the current one that lists previous versions. Just make it less accessible. Require a user account, put up a huge banner modal saying you really shouldn't use this, make it painful, as long as you can still get to it. If space/bandwidth is an issue, I would like to make an archive in a git repository. Then make github host it for us ;).

    As far as abandoned addons... base it on the last update and/or the last login of the author. This way it would really be apparent what is supported but no updated "yet". Make it easy for someone to take over the maintenance of truly abandoned addons.

    Finally, require an explicit license choice on addons. :D

    My 2 cents.

    @Todd I really look forward to the changes you described

    @UnderDog I will be sure to look into that wiki.

    @ddumont, I also support the idea of multiple version control systems/sites. (Although this is probably a high effort extension and the Vanilla developers use git.

    Search first

    Check out the Documentation! We are always looking for new content and pull requests.

    Click on insightful, awesome, and funny reactions to thank community volunteers for their valuable posts.

  • vrijvlindervrijvlinder Papillon-Sauvage MVP

    Yes, I agree that abandoned means not been around for 1 year. Does not answer questions about product. Does not reply email asking to update their product.

    I also think that if the plugin has merit, not to delete but to transfer ownership to further develop. If the plugin is bad, causes problems or nobody uses it then I suppose it is good to delete from the list.

    I like the idea of archiving past versions. Maybe I just don't like to throw useful things away.. but not a hoarder....

    I would like to know how to approach themes. Some of them are quite bad, are incomplete. Should theme makers also be alerted that their theme will be deleted if they don't update? Once a theme is done there is not much else to do besides perfect it or add more features.

  • Ultimately it is up to them. I wouldn't blame them if they the deleted anything that hasn't been updated for 2.0.18.

    I mean how stable is it before that anyway? It is quite bit different.

    If the person really care that much they could always re-upload it.

    The pruning is just that. Having a system to specify support is another thing.

    grep is your friend.

  • vrijvlindervrijvlinder Papillon-Sauvage MVP

    @lifeisfoo has been contacting owners of plugins that have not been kept for a while and is getting their permission to refork the development . I think lifeisfoo should be allowed to post here. I know a good contributor when I see one.

    @x00 yes when you put it that way it is not so terminal.

  • vrijvlindervrijvlinder Papillon-Sauvage MVP
    edited April 2013

    Cool thanks ! Todd

    I'm not terribly discriminating with the developer role.

    I know !! You let Me in here after all ;)

    ps Congrats On the 250 questions answered lol we got the badge at the same time , it must be a new thing ? very cool

    UnderDog
  • lifeisfoolifeisfoo Zombie plugins finder ✭✭✭

    Thank you @vrijvlinder and @Todd.

    I would like to share something about addons website UI. I think that we can learn something both from the wordpress plugins and drupal modules website about informations that an end user (not necessary a dev) needs to know before download a plugin. Let me explain visually.

    This is good: (WP)

    This is cool (WP)

    This is awesome (drupal): multiple plugin version for different VF version.
    If I have a 10k user forum problably I want the super stable version, while if I'm developing the next great community I want the bleeding edge version.

    I say "members list" but "easy member list" and "ench member list" should be also ok

    We are social animals (otherwise why forums exists?)

    What about stars? If somebody who don't care about reading docs before using the plugin rate it with one star? I think that a vote should be weighted using user vanillaforums.org "experience".

    Documentation? A discussion announced in the addon page. KISS way.

    @hgtonight said:
    Finally, require an explicit license choice on addons. :D

    Yes please.

    ddumont, I also support the idea of multiple version control systems/sites. (Although this is probably a high effort extension and the Vanilla developers use git.

    I think that a "Repository url" and "Issue tracker" fields should be ok.


    Example from Wp e-commerce plugin and Drupal Views module

    Need a custom plugin? Contact me via vanilla private messages | Explore my GitHub repository | See my latest vanilla plugins

    vrijvlinderhgtonightUnderDogperegrine
  • vrijvlindervrijvlinder Papillon-Sauvage MVP
    edited April 2013

    @lifeisfoo you are welcome :)

    I think that a vote should be weighted using user vanillaforums.org "experience".

    Indeed, which is why I think they need to pass a few hurdles before being allowed to Vote namely filling out a short questionnaire .

    We are social animals (otherwise why forums exists?)

    Yes having a list of the folks who make the things here is a good idea. It looks like we are a team not just individuals to the side.

    This is awesome (drupal): multiple plugin version for different VF version. If I have a 10k user forum problably I want the super stable version, while if I'm developing the next great community I want the bleeding edge version.

    Yes the most amount of info and access to the product from the same page. I do hear people complain about how they have to look around to piece together enough data that is not with the add-on. I don't mean a tutorial but explain and provide complete info.

    UnderDog
  • businessdadbusinessdad Stealth contributor MVP

    @ddumont said:
    I've also set up a maven build for my addons so that they are reproducible and can use the maven release process which can produce snapshot development versions and full releases. Incredible overkill considering the size of my addons, but it might help more serious addon developers keep stuff straight if they care to look. :)

    I see that I'm no longer a lonely wolf, finally. I used ANT to create the build script, but the point is the same. I must say that implementing the automated testing was the biggest PITA.

    UnderDog
  • ToddTodd Chief Product Officer Vanilla Staff
    edited July 2013

    @ddumont said: I give. With the explosion of git popularity and development tools with git(hub) lately, it makes more sense for me to maintain my repos in a common scm system. Git(hub) it is.

    Yes! Welcome to the cult of git. The punch bowl is on the left. Don't eat the jello.

    AdrianLincvrijvlinder
Sign In or Register to comment.