hoodiehq / discussion

General discussions and questions about Hoodie
7 stars 1 forks source link

Hoodie Distribution Channels #96

Closed gr2m closed 7 years ago

gr2m commented 8 years ago

We at Hoodie think that version numbers are for machines, and release names are for humans. See another great talk by @janl from just a few days ago: Kill all humans from Node Conf London.

Well know example is Google Chrome with its Release Channels. Chrome Stable currently is at version 50, but who cares, right? More relevant is what kind of Chrome I use: Stable, Beta or Canary

Following that example, I suggest 3 release channels, targeting:

  1. Contributors
  2. Developers
  3. Users

And I’d suggest the names

  1. "Camp" for Contributors
  2. "Village" for Developers
  3. "Stable" for Users.

Release channels are supported by npm. To test your app with the latest camp release, you will be able to npm install hoodie@camp, for example.

And if that sounds familiar that’s because it is: The (Larger) Hoodie Roadmap.

I really like the naming, it continues to grow on me. We are communicating for some time now that our current Hoodie release is called "Camp Release" and that it’s more than just code, and that it targets at Contributors. We also discussed for a while about how to create a place for Hoodie’s contributors, and after some discussion, we thought "Hoodie Camp" is just the right name for it: https://github.com/hoodiehq/camp – this is still work in progress, but you see where we are going with this :)

So yeah, just wanted to put it out here for discussion, looking forward to hear your thoughts!

courajs commented 8 years ago

Ember also has a nice set of release channels. They have a lot of interesting process around releases and new features

NickColley commented 8 years ago

To me reusing the Camp and Village feels confusing as to me they signify a milestone release not demonstration of stability.

I'd have thought something more boring and obvious might be easier to grok.

Like the Chrome Release Channels https://www.chromium.org/getting-involved/dev-channel

gr2m commented 8 years ago

My thinking is that Camp Release would be the first release in the Camp Channel. And the Village Release would be the first release in the Village Channel

varjmes commented 8 years ago

I agree with @nickcolley. Boring will be better to understand. Also, could you clarify the difference between a contributors channel and a dev channel?

gr2m commented 8 years ago

I think there is misunderstanding. There are only release channels. The idea is that the camp release channel is mostly for contributors, and the village channel mostly for developers of plugins etc. but I see hint point with the confusion. I don't mind using other names for the channels, following conventions of other projects

HipsterBrown commented 8 years ago

I love the release names because they are unique and fun in the same way Hoodie usually communicates with the community.

As for the Channel names, if we take a page from Chrome, Ember, and Rust (https://doc.rust-lang.org/book/release-channels.html), then having clear titles for those channels that describe the stability of that channel.

jennwrites commented 8 years ago

I don't think there will be room for confusion if we follow the naming conventions above (as seen with Chrome, Ember, etc.) and make it clear which name supports which release. Documentation is key.

+1 Hoodie-unique names

varjmes commented 8 years ago

So just so I understand:

Camp is the "this is the most recent, most likely to break things, changes" Tent is "hey if you'r developing plugins, get a head start on whats to come" Stable is "we 99% guarantee all is well and this is what you should download if you wanna use Hoodie in your projects"

Is that a fair assumption? If I've got that right, I do understand the names :)

varjmes commented 8 years ago

Camp === Alpha Tent === Beta Stable === ...Stable?

jennwrites commented 8 years ago

That's the way I understood them @Charlotteis ☺️

gr2m commented 8 years ago

@Charlotteis thats exactly what I meant.

Okay, so consensus on following conventions with the distribution channels. Maybe we can call alpha "nightly", then beta, and then simply stable.

So I can say things like "Have you tested your app with Hoodie Nightly yet?". And nightly somewhat fits with camp to, but without being to confusing, just something we can play with :)

varjmes commented 8 years ago

I like nightly, beta, stable.

gr2m commented 7 years ago

nightly, beta, stable – it is. Thanks y’all :)