Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More appealing Ecosystem page. #246

Closed
wants to merge 11 commits into from
Closed

More appealing Ecosystem page. #246

wants to merge 11 commits into from

Conversation

Carreau
Copy link
Member

@Carreau Carreau commented Jan 9, 2018

While the docs page is nice and list (some) of the community related
project is is a bit tough to navigate for someone new to Jupyter.

You also don't always "reach for the docs" . Imho, Docs are useful once you have found your project.

This is a proposal to provide a more vibrant page, easier to get
contribution to (that is to say you do not have to write html).
Allow people to have logos, links, description, as well as a Basic
Search.

I structured with the Kernels at the top, as I believe this is really
what most people will be interested in.

I also explicitely list things like services hosting Jupyter.

It's late so I submit that as a PR and will rework on it tomorrow.

com1

@ellisonbg
Copy link
Collaborator

in class, just saying that I see this and will review it!

@rgbkrk
Copy link
Member

rgbkrk commented Jan 9, 2018

Love the little sections here. As far as accessibility is concerned, it's not completely obvious these are expandable sections. In addition, since this is one of our main pages, if it's going to be a static html element that has the event bound it should also have a tabIndex. The other way to handle a11y for this is to use a button instead of a collapsible section (or both!)

Generally, I love this yaml definition and generation approach! Looking great here!

@Carreau
Copy link
Member Author

Carreau commented Jan 9, 2018

in class, just saying that I see this and will review it!

No hurry, I know you have plenty to do and this is not were I'd like to have your feedback first.

As far as accessibility is concerned, it's not completely obvious these are expandable sections.

Yeah, right now it's just hiding using css opacity 0 – which has its drawbacks as the elements are still there, on medium screen with the tiled layout for example you can get :

visible |
-----------------
        | visible

Unfortunately I'm a bit limited by Jekyll and don't want to try mixing a heavy JS framework with a templating engine.

The other way to handle a11y for this is to use a button instead of a collapsible section (or both!)

I'm unsure I can understand what you mean here.

@rgbkrk
Copy link
Member

rgbkrk commented Jan 9, 2018

Oh my gosh I read this so wrong @Carreau! You are using a search form control to filter elements. You can disregard everything I said.

I was viewing this on mobile and thought it was a combo of search + expandable sections. The interaction I was hoping to make sure we weren't doing was applying interactivity to the individual li. Basically, I was trying to make sure that static elements didn't have interactions. However, you can disregard what I said and instead get a hearty 👍 .

@Carreau
Copy link
Member Author

Carreau commented Jan 10, 2018

Quite a bit of work and design additions.

On narrow screen this will be a single column.
Sections now have headers with logo, and items that have no provided
logo will use the generic section header.

The search is a bit better (space is used as an AND between terms), each
item get also tag with the name of the section it's in so you can filter
by section as well. The css should allow to pretty easily decide what
get shown/hidden when searching. I vent with hiding the sections
descriptions and logo (as when you search you want compact results) but
keep the sections otherwise they might be hard to discover.

@Carreau
Copy link
Member Author

Carreau commented Jan 10, 2018

Sidenote, if we want to iterate on that we can deploy the page without listing it in the headers and footers, so it should not be referenced.

@ellisonbg
Copy link
Collaborator

I would like to review this PR before it is merged.

@Carreau
Copy link
Member Author

Carreau commented Jan 17, 2018

I would like to review this PR before it is merged.

Would you be ok (at some point) with merging this in non-listed in the nav bar, and then to reach to authors to edit the data.yaml file ? Because I doubt we'll be able to get all the informations at once.

Also having actual data from what people want on the page, can help fleshing out the design.

@ellisonbg
Copy link
Collaborator

OK, getting to the review of this. First set of questions/comments are more about the content than visual design or code.

First, I love to idea of having a community/ecosystem page. I like the word ecosystem for a webpage, as I think it captures what we are trying to communicate.

Second, while commercial products that are based on jupyter of integrate with Jupyter are certaintly part of the overall ecosystem and are important to mention in this context. However, I think we should think about the criteria for adding links on this page, as in this context we are providing a detailed description of the product or service. Also, I want the folks looking at this page to understand very clearly what things are open-source and which things are commercial. I like the topical organization of this page (rather than organized by open-source versus commercial). So possible actions items related to this point are:

  • Some visual indicator (maybe badges or an icon?) that indicate open-source, versus commercial offerings. It would be good to have something that we could indicate that a particular things is both (many of these things have open-source and commercial sides).
  • Some text in the README proposing who can list here and who needs to approve. Do we accept submissions?
  • Before we post any commercial entities here I want to make sure we are not favoring some over the others. For example, if we are going to list commercial entities that provide hosted Jupyter notebooks, we should mention all of them without bias (Google Cloud DataLab, Colaboratory, CoCalc, AWS SageMaker, IBM DSE, Dataiku, gryd, etc.) and make it clear to others that they can add theirs through some process.

In the long run, it may be better to charge these companies to be featured here as "sponsored" links, but I am fine with it moving forward for now, as long as as we are not biased towards particular companies overly.

Third, I think we need to clearly distinguish between things that are jupyter open-source projects from those that are in the broader ecosystem. This is important from multiple angles:

  1. Trademark - we now have a trademark and we need to make sure there is no confusion about what things are covered by the trademark and which are not
  2. CoC - Jupyter open-source projects are covered by our Code of Conduct and I think that should be part of our "brand".

There are different ways of handling this. We could remove all the Jupyter things from this page and put a link to our documentation page (and work on improving it). We could also create another badge that indicate something is "official jupyter"

Let's work through this stuff before starting to iterate on the details of the wording or visual design.

@Carreau
Copy link
Member Author

Carreau commented Jan 20, 2018

First, I love to idea of having a community/ecosystem page. I like the word ecosystem for a webpage, as I think it captures what we are trying to communicate.

Thanks, but credits goes to Thomas, I was struggling to find a name.

However, I think we should think about the criteria for adding links on this page, as in this context we are providing a detailed description of the product or service. Also, I want the folks looking at this page to understand very clearly what things are open-source and which things are commercial. I like the topical organization of this page (rather than organized by open-source versus commercial)

I see your PoV, though I would really like to avoid having both commercial/free core-jupyter/not-core. In my idea this page should list all the things, with an arbitrary order (say alphabetically), with potentially a rough "is still maintained" criteria. While I see the temptation to "feature" either commercially, or "core" components, I believe this should be done in a separate page.

One of the reason that lead me to create this page is a single place to list and find jupyter-related project, having a selection criteria make it way less useful, and if we end up with 1 jupyter-core, 1 sponsored, and 1 other page, then there will be the temptation to create a 4th page the regroup all of these and allow to filter.

Now I am not against the idea of adding field(s) we can search for, I tend to not like "sponosored" links either, but I see the appeal.

Some visual indicator (maybe badges or an icon?) that indicate open-source, versus commercial offerings. It would be good to have something that we could indicate that a particular things is both (many of these things have open-source and commercial sides).

That make sens, though I'd like to keep that simple as a first iteration. I'd like to get adoption first before moving to a more automatized system, if we really get a large list with multiple fields we'll have to move to a non-static website.

Some text in the README proposing who can list here and who needs to approve. Do we accept submissions?

For the first iteration I'll go with anyone that bother to submit a PR. I won't name companies that spend more time sending me an email asking me to do things instead of finding an engineer capable of sending a 1 line PR. This feel (IMHO) like an enough threshold.

Before we post any commercial entities here I want to make sure we are not favoring some over the others. For example, if we are going to list commercial entities that provide hosted Jupyter notebooks, we should mention all of them without bias (Google Cloud DataLab, Colaboratory, CoCalc, AWS SageMaker, IBM DSE, Dataiku, gryd, etc.) and make it clear to others that they can add theirs through some process.

Yes, I filled some to have an idea of how it would look, still better than random fake brand names and logos. There is of course the question of list order; we could randomize at each page load, but that would be bad for users searching things.

In the long run, it may be better to charge these companies to be featured here as "sponsored" links, but I am fine with it moving forward for now, as long as as we are not biased towards particular companies overly.

Good, I agree. Would Alphabetical order for now suits you ? We can discuss later what "Sponsored" could mean.

Trademark - we now have a trademark and we need to make sure there is no confusion about what things are covered by the trademark and which are not
CoC - Jupyter open-source projects are covered by our Code of Conduct and I think that should be part of our "brand".

These are some good points, i'd still would like to have this page as open as possible without restrictions on what can be added beyond obviously illegal content. We could of course add a "Controversial" flag to hide by default some items, but for user convenience I would really like to not discriminate projects.

There are different ways of handling this. We could remove all the Jupyter things from this page and put a link to our documentation page (and work on improving it). We could also create another badge that indicate something is "official jupyter

I think this is again going a bit too far. The what is "official jupyter" is already a gray area, like MyBinder for example;

Let's work through this stuff before starting to iterate on the details of the wording or visual design.

I think we are starting to complicate things too much. While these things would be great, better is the enemy of good. If you start to add "sponsored", or "Core Jupyter", you highly risk to add reason for tension in the team, and dispute, any potential adding of any item in here will end up begin an infinite bikeshed if it worth it and correctly classified.

Most repository like NPM, PyPI, conda-forge, ... etc already allow you to register without prior approval, and contain – in an indiscriminate manner – both project from the community and core member. These are hosted on official domain, and there is no confusions that these packages are not vetted by the PyPA.

We are not trying to centralize and overwhelmed current developers more, and on the opposite are trying to involved the community.

For now I would go for the following rule:

  • Make sure the project author is ok with their project being listed here.
  • Have a quick sanity check that the project does indeed exist, works and is maintained, on which we trust the merger to check that.
  • Accept only PRs to add projects, that is to say no issues with "pease add..." (to make sure authors care).

That is IMHO, more than enough, and has been quite battle tested (conda forge, Python3statement...).

@ellisonbg
Copy link
Collaborator

ellisonbg commented Jan 21, 2018 via email

@Carreau
Copy link
Member Author

Carreau commented Jan 21, 2018 via email

While the docs page is nice and list (some) of the community related
project is is a bit tough to navigate for some one new to Jupyter.

This is a proposal to provide a more vibrant page, easier to get
contribution to (that is to say you do not have to write html).
Allow people to have logos, links, description, as well as a Basic
Search.

I structured with the Kernels at the top, as I believe this is really
what most people will be interested in.

I also explicitely list things like services hosting Jupyter.
One narrow screen this will be a single column.
Sections now have headers with logo, and items that have no provided
logo will use the generic section header.

The search is a bit better (space is used as an AND between terms), each
item get also tag with the name of the section it's in so you can filter
by section as well. The css should allow to pretty easily decide what
get shown/hidden when searching. I vent with hiding the sections
descriptions and logo (as when you search you want compact results) but
keep the sections otherwise they might be hard to discover.
@Carreau
Copy link
Member Author

Carreau commented Jan 22, 2018

@ellisonbg, do you want to ping Tim to have him look on the visual design ?

I added the following :

  • A license field (instead of OS true/false) because of the disagreement Open-source/free-software and whether -BY-NC is open source or no. (add license in upper right corner)
  • Commercial True/False. (add "Commercial" upper right)
  • Added sponsored: ( true|false right now only add a class to item, which I style light gray background).
  • Added featured: (integer) flag. Add a "Featured" mention in upper-right corner and override the alphabetical ordering.

Sponsored/featured so that we can distinguish our projects, the one we like and the sponsored one.

The the attached screenshot. The IJulia is dark gray as my (invisible) cursor is hovering.

screen shot 2018-01-21 at 16 53 58

Some draft of instructions at the end on how to submit a project and the conditions.

Once we are happy-ish, I'll squash all and remove any project we don't control.

@ellisonbg
Copy link
Collaborator

Hi @Carreau it would be great it Tim (@tgeorgeux) can help do a design review of this. I will add him to the relevant GitHub teams so we can assign him to things, but consider him @ mentioned for now.

I will help Tim get a dev build of the website going so he can check it out locally as well.

@Carreau
Copy link
Member Author

Carreau commented Jan 22, 2018

Great ! Thanks ! I recently updated the instructions to get the website running, so it should be pretty strait forward.

The new instructions should automatically include a live reload plugin, so you can "just" write code and see the website updates.

@Carreau
Copy link
Member Author

Carreau commented Jan 22, 2018

Also @tgeorgeux, nice to meet you !

@ellisonbg
Copy link
Collaborator

@Carreau Tim may need help in getting a dev build of the website going along with the build tools needed. I can help with this on Wed if needed.

@Carreau
Copy link
Member Author

Carreau commented Jan 23, 2018

@Carreau Tim may need help in getting a dev build of the website going along with the build tools needed. I can help with this on Wed if needed.

Happy to help if needed, as I said above I recently reviewed and updated he instructions on how to get a dev version of this website up and running on a local machine. The readme section is pretty self explanatory, but if there are hiccups, I'm happy to improve the instructions, and help debug.

@tgeorgeux
Copy link
Contributor

tgeorgeux commented Jan 23, 2018 via email

@Carreau Carreau changed the title More appealing Community project page. More appealing Ecosystem page. Jan 23, 2018
@Carreau
Copy link
Member Author

Carreau commented Jan 23, 2018

Add a "Binder link" where relevant.

@Carreau
Copy link
Member Author

Carreau commented Jan 23, 2018

Closing this for now, until we figure out the future path forward for the website.

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

Successfully merging this pull request may close these issues.

4 participants