Skip to content
This repository has been archived by the owner on Nov 21, 2018. It is now read-only.

Add more information to the homepage to explain what io.js is. #50

Closed
wants to merge 1 commit into from

Conversation

STRML
Copy link

@STRML STRML commented Jan 14, 2015

On nearly every thread I've seen on social media about io.js (HN, Reddit, etc.), a good portion of the dominant conversation circles around Okay, what is this? rather than the far more interesting conversation about what io.js brings to the table, how it can be used today, what it means for Node going forward, etc., etc.

While some of this information is available in the FAQ, even the FAQ is sparse and needs expansion (for a later PR).

This PR adds what I believe is the most useful information to have at a glance on the homepage to properly explain what io.js is and what it means to developers. io.js is going to have to educate devs if it wants them to use it, so information needs to be ready and available, rather than hidden behind other pages or in the repo.

Imgur

@espadrine
Copy link

The main statement we give on the index page confuses people. I suggest providing a clearer and more aggressive mission statement.

<a href="https://github.com/iojs/io.js">io.js</a> replaces <a href="https://nodejs.org">node.js</a>&#8482;. It is compatible with <a href="https://www.npmjs.org/">npm</a>.

@STRML
Copy link
Author

STRML commented Jan 14, 2015

I agree with you on this and I think that statement should be changed as
well. I don't know if I'd go so far to say that it replaces node.js
(here we go down the rabbit hole) but that it is a new alternative to
node.js on a faster release cycle, in response to the stagnation of Node
in 0.11.

The statement doesn't need to be elegant and short... it just needs to
tell people what it is.
On 1/14/15 11:17 AM, Thaddee Tyl wrote:

The main statement we give on the index page confuses people
https://news.ycombinator.com/item?id=8884194. I suggest providing a
clearer and more aggressive mission statement.

io.js replaces node.js™. It is compatible with npm.


Reply to this email directly or view it on GitHub
#50 (comment).

@snostorm
Copy link
Contributor

Noting this relates to #46 -- I already commented there I agreed we need to do a better job on the homepage copy.

+1 for the general concept here. Would be good to land something like this sooner than later as io.js news spreads over the next few days.

@snostorm snostorm self-assigned this Jan 14, 2015
@rvagg
Copy link
Member

rvagg commented Jan 14, 2015

You have to be a little bit careful because v0.10 isn't fully merged yet, see nodejs/node#267 an also the discussion at the TC meeting yesterday. There's some cherry-picking going on and there will be some more, but it's not complete.

@snostorm
Copy link
Contributor

I'll land this in a few hours, perhaps around 15:00 UTC. I spammed the IRC room users to provide some feedback. I'll make this merge-friendly at that time (as it currently conflicts) pending any final suggestions.

(At the very least I'd like to merge the suggested semver description somewhere on the page at the time.)

@rvagg re: v0.10, good point, we can always tweak the wording there.

@STRML
Copy link
Author

STRML commented Jan 14, 2015

I'll rebase on top of master to fix the conflicts.

@snostorm
Copy link
Contributor

Oh great, thanks @STRML!

@STRML
Copy link
Author

STRML commented Jan 14, 2015

Just rebased, good to go.

@snostorm
Copy link
Contributor

Thanks @STRML. Still awaiting general copy feedback.

FYI I might play with the responsive breakpoints (as it starts to look weird on a small screen with the additional content now in the grey box) and bump the class=small font size up slightly prior to this going live.

@STRML
Copy link
Author

STRML commented Jan 14, 2015

Sure sure. IMO it's not worth getting too crazy about, it doesn't need
to be perfect right now - but the copy should really be there because
the site is getting a lot of traffic and people are getting confused.

On 1/14/15 2:04 PM, Sean Ouimet wrote:

Thanks @STRML https://github.com/STRML. Still awaiting general copy
feedback.

FYI I might play with the responsive breakpoints (as it starts to look
weird on a small screen with the additional content now in the grey
box) and bump the class=small font size up slightly prior to this
going live.


Reply to this email directly or view it on GitHub
#50 (comment).

@snostorm
Copy link
Contributor

Agreed. That's why I put a ticking clock on allowing feedback. Since I've had merge access on the project < 1 hour, I don't want to go crazy with my new "powers" ;)

@snostorm
Copy link
Contributor

I am going to sneak in a FAQ improvement at the same time as this commit. WIP version at https://gist.github.com/snostorm/df3dbf05dc2fdf6e8acf edit: Moved FAQ issue to #54.

@mikeal
Copy link
Contributor

mikeal commented Jan 14, 2015

I'm fine with updating the FAQ but the top line messaging needs to stay simple, short, and to the point.

Maybe we can do some revised version of this under the releases but before the bottom links.

@STRML
Copy link
Author

STRML commented Jan 14, 2015

I think the major complaint regarding the homepage has been that it is
far too simple and short, and people are missing the point entirely
because they are not as intimately involved with the project as the
developers. Coming from the outside, I believe at the very least, this
amount of explanation is needed.

On 1/14/15 3:08 PM, Mikeal Rogers wrote:

I'm fine with updating the FAQ but the top line messaging needs to
stay simple, short, and to the point.

Maybe we can do some revised version of this /under/ the releases but
before the bottom links.


Reply to this email directly or view it on GitHub
#50 (comment).

@snostorm
Copy link
Contributor

Some high level discussion on this is happening on #53 which balances out some of the info created here and utilizing FAQ to go in to more detail.

@mikeal
Copy link
Contributor

mikeal commented Jan 14, 2015

You're giving HN commenters far too much credit.

When NodeOS was released nearly every commenter asked "What kernel is this?" or "You're writing a kernel!" and the first text on the project, literally the first thing you would read other than the name of the project said "Linux Kernel."

So unless you have a way of addressing this that appeals to people who don't read, don't take HN commenters seriously.

@STRML
Copy link
Author

STRML commented Jan 14, 2015

I disagree with that. I've been a Node developer for about 3 years now and I was thoroughly confused by io.js the first few times I heard about it. I was confused by the 1.0.0 release as well until I went on IRC and asked some of the devs about whether or not it was stable and why the version number.

I put this PR together because it answered the questions I personally had, not just because people on HN/Reddit were also asking those questions.

This PR addresses the major questions I had when I first saw the homepage, which were:

  • What is this project and why does it exist?
  • Why should I care - how is it different than node?
  • What's changed since 0.10/0.11?
  • Why the 1.0.x version number?

@mikeal
Copy link
Contributor

mikeal commented Jan 14, 2015

I was confused by the 1.0.0 release as well

It says "Beta stability" quite large in the release block, is that not descriptive enough? Has "beta" basically lost all meaning cause Google :)

The "why does the project exist" shouldn't be in the topline messaging. Topline messaging should answer "what can I do with this and what is unique about it?" For now, that is "ES6 and all of NPM." I'm open to better ways of messaging that, but a full description of the history of the project and its governance just isn't interesting to the majority of end users.

Why should I care - how is it different than node?

ES6 is the main difference now. That might change, the full story is already larger but that's the most identifiable difference. If you don't care about ES6 or don't even know what ES6 is then you probably shouldn't use io.js yet. It's in beta, shouldn't be in production yet, and once it is ready for that we'll need to update the messaging to reflect that.

What's changed since 0.10/0.11

We do need to do a better job of address what "originally based on Node.js" means. Perhaps we can alter that sentence and make it a link to the Changelog?

@mikeal
Copy link
Contributor

mikeal commented Jan 14, 2015

Should we s/Beta/Unstable?

@STRML
Copy link
Author

STRML commented Jan 14, 2015

Well, you could certainly argue that "beta" has very little meaning in
this context since Node has been pre-1.0, which many would call "beta",
for its entire lifetime.

I think "why does it exist" is a quite important part of "what can I do
with this" because it also answers "why should I do anything with this",
which is the real pitch we want to make to users.

I like a top-level changelog link, always; when a new version comes out,
I want to easily find out what has changed, that's important information.

Is screen real-estate really such a precious resource here that we need
to eliminate as much information as possible from the home page?

On 1/14/15 3:53 PM, Mikeal Rogers wrote:

I was confused by the 1.0.0 release as well

It says "Beta stability" quite large in the release block, is that not
descriptive enough? Has "beta" basically lost all meaning cause Google :)

The "why does the project exist" shouldn't be in the topline
messaging. Topline messaging should answer "what can I do with this
and what is unique about it?" For now, that is "ES6 and all of NPM."
I'm open to better ways of messaging that, but a full description of
the history of the project and its governance just isn't interesting
to the majority of end users.

Why should I care - how is it different than node?

ES6 is the main difference /now/. That might change, the full story is
already larger but that's the most identifiable difference. If you
don't care about ES6 or don't even know what ES6 is then you probably
shouldn't use io.js /yet/. It's in beta, shouldn't be in production
yet, and once it is ready for that we'll need to update the messaging
to reflect that.

What's changed since 0.10/0.11

We do need to do a better job of address what "originally based on
Node.js" means. Perhaps we can alter that sentence and make it a link
to the Changelog?


Reply to this email directly or view it on GitHub
#50 (comment).

@mikeal
Copy link
Contributor

mikeal commented Jan 14, 2015

Yeah, the more I think about it the more I think about "Beta" inferring the maturing of a "product" not a particular line of development in that product. I'm +1 on changing to "Unstable."

@mikeal
Copy link
Contributor

mikeal commented Jan 14, 2015

Is screen real-estate really such a precious resource here that we need to eliminate as much information as possible from the home page?

It's just basic media training, people who aren't that familiar with the technology won't be able to keep their head around more than one or two bullet points. Even while staying on message with the press they've already totally fucked up the reporting about all of this.

In particular, anything they can latch on to as a "fight" they'll use to ignore everything else we say about the project. That's why stuff like the governance or direct side-by-side comparisons with node.js will derail the messaging.

@domenic
Copy link
Contributor

domenic commented Jan 14, 2015

+1 link to changelog, I worked hard on that shit ;)

To me honestly the weirdest thing about the homepage copy is that the primary descriptor is "npm-compatible platform." Not e.g. "JavaScript runtime," but "npm-compatible platform." If you were to describe Ruby, would you say "A RubyGems-compatible platform"?

@snostorm
Copy link
Contributor

I think we can all agree the tagline isn't right. Beyond that the debate here is around what's too much information for the homepage.

Note #54 just landed which mirrors some of these content suggestions over in the FAQ.

@snostorm
Copy link
Contributor

Step 1. Get a quick commit out which includes "unstable" vs "beta" and the changelog link? We can continue debating the rest of the copy / semver details / etc. from there?

@mikeal
Copy link
Contributor

mikeal commented Jan 14, 2015

@domenic First of all, the biggest thing on the whole page says "JavaScript IO" so I think it's clear that we're a JS platform. Maybe is should say "JavaScript Platform" or something better than just "IO."

Secondly, at this moment npm is more widely and well understood than io.js so, for the time being, it makes sense to piggyback on that as a descriptor of what io.js can do.

@mikeal
Copy link
Contributor

mikeal commented Jan 14, 2015

Step 1. Get a quick commit out which includes "unstable" vs "beta", a changelog link? We can continue debating the rest of the copy / semver details / etc. from there?

Yes please :)

@snostorm
Copy link
Contributor

I've taken those out and opened #56

@aredridel
Copy link

The wording 'unstable' means homebrew won't ship iojs likely, see Homebrew/legacy-homebrew#35853 (comment)

@Fishrock123
Copy link
Contributor

We should revert it to "Beta". It's the most reflective of the stability, and no-one had complained about it.

@snostorm
Copy link
Contributor

FYI homebrew seems to have reversed that with the additional debate/clarifications. But, yes, a decision should be made.

@STRML
Copy link
Author

STRML commented Jan 14, 2015

I'll be honest, it's not like we're marketing this thing to consumers on a billboard and the copy needs to be as short and concise as possible before they lose focus and keep driving. Providing a short summary of what this is, rather than a catchy tagline, is a good thing.

npm-compatible platform is nonsense IMO. That's why I wrote the paragraph underneath in this PR. The existing copy doesn't even mention that this is a fork of Node - is it written in JS? Is it the same project? Is it an entirely new platform, perhaps written in Java (like Vert.X)? What is it's relationship with Node? Why do I have to dig through the site to figure this out? We're marketing to programmers here, they can handle a few short paragraphs of copy rather than a simple tagline and a download line. Because honestly, who's going to download something when they don't know what it is?

@therebelrobot
Copy link
Contributor

I'm wary to include too much info on the main landing page as well. If devs are going to the site in the first place, generally they are invested enough to click a link or two to find out a bit more. Also, we need to keep in mind, that io.js will need to be pitched to CEOs and CTOs for inclusion in company systems, and anyone with less than a technical background will be put off by too much info on the landing page itself.

@STRML
Copy link
Author

STRML commented Jan 15, 2015

That seems very farfetched to me. Maybe, a simpler homepage could make a difference, in that very specific case, where CEOs and CTOs look at the homepage of a technology their devs are using, rather than listening to a presentation or pitch where the devs talk about the technology itself. Assuming of course that these people judge a technical project on the amount of whitespace on its homepage, not on its technical content.

I've seen advertisements for sports bars that contain more information than the existing homepage. We're talking about a project that incorporates the combined efforts of dozens of people, based other projects that likely have hundreds of man-years between them. All of that comes together to create a very complicated piece of software that is totally new. It's okay to spend a few paragraphs explaining what it is!

Many software projects have very technical pages and they are doing quite fine from that point of view. Let's not dumb things down. <100 words is not "too much info". The proposed homepage is still very, very sparse.

The reality is that io.js is a complete newcomer right now. The focus needs to be on education. The website's focus should be on educating existing devs and Node shops on what io.js and why they should use it. The FAQ doesn't quite answer these questions, the homepage certainly doesn't, and the endless confusion in every discussion thread about io.js on reddit, HN, et al should be enough of an indicator that we could improve in this area.

@therebelrobot
Copy link
Contributor

@STRML, I do understand what you're getting at, and I think it's been said before (specifically by @snostorm ) that the current tag-line and content on the site is a little too sparse. That will be changed. But the general consensus that I'm seeing from all the main collaborators on this is to opt for less info rather than multiple paragraphs on the landing page. So while we are looking at implementing something similar to what your PR is presenting, I think all the other collaborators were suggesting is going in and trimming a bit of the verbosity before we merge it.

@sondr3
Copy link

sondr3 commented Jan 15, 2015

@therebelrobot It's not about including too much information, it's about being able to get across what your project actually is and why you'd want to use it. Right now the landing page is incredibly sparse on information and I'm fairly sure that it's only people who already know what iojs that'll understand it. Just look at most of the discussion over at Hacker News: https://news.ycombinator.com/item?id=8884128, it seems most there would agree that your website need better wording.

@therebelrobot
Copy link
Contributor

@sondr3, no one is saying that we keep the copy the way it is, as explained above in my comment and in @snostorm 's comments, yes, the copy needs to include more information, we're merely suggesting that @STRML trim off a little of the fat before we merge in his PR.

@therebelrobot
Copy link
Contributor

With no word or update from @STRML to trim down the verbage in 10 days, plus the fact that it now has merge conflicts, I'm going to close this for now. @STRML, if you would like to get this update in, please trim down the copy on the main page a bit and either re-open or start a new issue.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants