[News] Project lifecycles

Andrew Chronister —
Hey everyone,

As we grow and develop, we're starting to look at how we can provide better service for our existing projects as well as making the onboarding process smoother for new projects. To start with, that means giving ourselves one level of removal from the management of projects by that old standby of programmers everywhere, automation.

As Handmade Network has grown, we've seen the need to categorize projects via where they are in their lifecycle -- is a project under active development or has the maintainer seen a need to put it to the side for a while? Is it still in pre-alpha or is it a nearly-complete work that people can use and enjoy? Previously, we were tracking this by hand, thanks to the diligent efforts of Miblo. But to our eternal despair, Miblo is only one man, and as we keep approving new projects, and try to make our project management policies more uniform, it's become clear we need to formalize the process a bit.

So that's where the recent changes to the site come in. If you're a project owner, you may have noticed the appearance of a new tab in your project settings called "Lifecycle":



In this tab is a new control which allows you to put your project on hiatus or request to enter maintenance mode. Now, previously we had been using these terms a bit loosely, because manual tracking meant we could be a bit informal and remember specific descriptions of everyone's project state, but now we've had to formalize a bit. So what do these terms mean?



Hiatus simply means your project is not actively updating. From the perspective of community members, projects on hiatus will be sorted lower down in the project list and a notice will appear on your project page suggesting that it may not be updating as often.

We want entering Hiatus mode to be a voluntary action in the majority of cases, so if you've got a project here and don't think you'll be able to make an update for a month or longer, we encourage you to put your project in hiatus mode and make a post to let people know when you think you'll be back to actively updating.



However, in order to best maintain an active and thriving community, if we are unable to contact you about your project status for more than a month, we may put your project in hiatus mode on your behalf. If, after this, we are unable to contact you for a following three months, we will mark your project as Dead -- it sounds dire, but don't worry. All it does is remove your project from the project list temporarily -- all of your files, posts, and other content will remain publicly accessible (and all your links will still work), but you'll have to contact us to get your project re-listed.



Finally, Maintenance Mode or "Complete" projects are those that no longer need to update regularly, because they've reached a state where people may happily use them with only occasional maintenance for bugfixes and perhaps news about future directions. This is where we hope all of the projects on Handmade Network will end up eventually, since the best software is software that people can actually use!

However, we want to make sure that projects that purport to be completed are in fact usable and relatively stable, so, like initial approval, we'll have to throw the switch before your project can be declared officially "Complete" -- but rest assured, our standards will be fairly loose, and as long as we have good faith that your project has reached its goals we will be sure to approve your maintenance-mode status.



Next Steps for Handmade Network

Now that project lifecycle functionality is implemented, I will be turning my attention towards the next big item on our to-do list: wikis.

As part of the education push, we want a new kind of page on the site that can stand on its own and which can be contributed to by many people. With the wiki system, we want to enable you, the community, to help us put together an array of programming resources the likes of which the internet has never seen! I'm very excited about the prospects here, and I hope you are too.

As part of this I will also finally be rolling out static page support for project owners, so if you've been wanting to add informational HTML pages to your project, soon you will be able.

Thank you all for continuing to be a vibrant and wonderful community, and have a great week,
-- Andrew
Sign up for our email newsletter:
 
This is really awesome! Though I do think you should also add a marker on the project "card" for "Active" like you have for "Hiatus" and "Complete". Also maybe give the project owner the ability to hide the project themselves?
Thanks for the suggestions! Re: the second, hiding currently disallows all access to the project except by owners and site staff, which is quite drastic (all links into the project would break while it's hidden!). To try to maintain some continuity of content, we only support hiding in extreme cases at the moment (it's much less necessary with the lifecycle system as it is now than it was before). However, I think there probably is a use case for allowing project owners to de-list their projects on demand, so that is something I'll consider with the team.
Wouldn't it look better to have the tags (complete, hiatus...) over the image or as a "full line" under the image ? It doesn't look right when it's on a new line (ZeroTypes, SoLoud...).
Hjortshoej
Though I do think you should also add a marker on the project "card" for "Active"...

Agreed.
Also could we have a search box for projects on the projects page (or a page with all projects to be able to use the browser search)?
Ahh yeah the hidden makes sense, but maybe a unlist option then? so all the links and such work, but it won't show up in the projects page or on the frontpage
Feedback regarding this blog post:
Please make the images clickable to allow easy full-size viewing in the future. They are absolutely impossible to see/read when shrunk. I had to manually right-click "Open image in new tab" each image to see what you were talking about. Aside from that, the change is awesome and this post is great documentation, so kudos!