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

Have a newbie mode, which is the default for (new) users #1362

Closed
neilb opened this issue Sep 18, 2014 · 8 comments
Closed

Have a newbie mode, which is the default for (new) users #1362

neilb opened this issue Sep 18, 2014 · 8 comments

Comments

@neilb
Copy link
Contributor

neilb commented Sep 18, 2014

Increasingly, MetaCPAN is the interface to CPAN. One of the challenges it faces, faced by all widely-used interfaces, is catering for the full spectrum of users, from complete newbies to über power users.

In particular, how can we support beginners without penalising power users? A thought I had today, while talking to RIBASUSHI about the IRC link: how about adding a notion of user mode to MetaCPAN, and using this to modify the interface? For now I'm just thinking about two modes: newbie and regular.

The default would be newbie mode — in general I think MetaCPAN should always default to what's best for beginners. You could switch between the two modes at any time.

In newbie mode the UI could have a lot less clutter, and prioritise certain things; examples:

  • Don't show various things in the left sidebar: license, kwalitee, MetaCPAN explorer, jump to version, etc.
  • Don't list the dependencies etc on the right
  • Have a section "Get help" in the sidebar, with links like "Talk to us on IRC", "How to install this module".
  • Show the table of contents by default, and if you hide it, keep the link visible at the top of the page.

By removing the 'clutter' (it's not really clutter, but to a beginner it's effectively clutter), we're putting more emphasis on the remaining features, without needing overlarge graphics.

The regular mode would have more things on the sidebar, but with no visual priority given to any single item, as the assumption is that you're familiar with them, and know what they do. They could all have tooltips as reminders anyway.

There are several different classes of newbie: new to Perl, new to CPAN, new to MetaCPAN, etc. I think it's fine to start with a single "newbie" class, at least initially.

@zmughal
Copy link
Contributor

zmughal commented Sep 18, 2014

"Show boilerplate installation instructions for each module" #1295 is relevant here.

@haarg
Copy link
Member

haarg commented Sep 19, 2014

I really don't like this idea. I generally don't like the idea of different 'modes' for a website, and trying to pick something as "newbie" vs something else isn't going to be easily agreed upon. In your bullet points, you listed the table of contents as something this might adjust, but I don't see how it has anything to do with being particularly aimed and newbies vs experts. It's not like experts no longer need to navigate long documents. Licensing is something I think is probably worth calling out even more than it already is. Kwalitee is part of a list of resources and takes up very little on its own. How are newbies supposed to learn about resources like this if they are hidden away? I just don't think you'll find much agreement on how to categorize the items. The chat link is probably the only thing listed that is unambiguously aimed at newbies, but that's only in its current form. If it was extended to be a general "how to contact/contribute" link, I think it would be valuable to all types of users. That may involve toning down the visual presentation (ref #1360).

We do likely want to revisit the organization of the sidebars. The current position of the chat link was from me arbitrarily choosing a position when I implemented it. We also have two links to CPAN Ratings. A better organization of the sidebar should help prevent new users from being overwhelmed with information.

For things that we do want to be able to hide, I think this is better approached by having controls directly on various parts of the UI. Having inline controls makes it much easier to see what is possible, and prevents you from losing bits of the UI. While I've registered my objection to the current toggle on the right sidebar, that's mainly because I think the current form of the UI is lacking. If that were improved, I wouldn't have any objections, and would support extending that to other things where sensible.

@daxim
Copy link

daxim commented Sep 19, 2014

This is one of the well-intentioned things that proverbially pave the road to hell. User levels are a red flag even a usability/UX hobbyist should recognise‡ and therefore I'm opposing the introduction because when they have been tried a couple of times, they never worked out. I recommend metacpan devs spend their time on fixing bugs instead of attempting to implement this feature request.

The specific problems are:

  1. The bug was opened with newbie users in mind or argues on behalf of someone who does not exist in concrete - there's literally not a certain user that one could ask for guidance, clarification, details and/or test against for acceptance. Instead there's this nebulous conceptual class of newbie users, which is fine for a high level description as written above, but as soon as the responsible developer wants to nail down what exactly needs to be changed in code and templates to achieve the goal the devil in the details becomes apparent.
  2. One can never tell who is a newbie and who is a power user. Someone can be knowledgable with dependencies, but know hardly anything about bug reporting or vice-versa. There is no typical categorisation that works accurately.
  3. A multitude of interface variants is far more difficult to learn than just a single interface, even when it's "cluttered".
  4. Software should cater to the expert user by default, because each individual is only a beginner for a short time, but an expert for a much much longer time. Having a newbie user level by default goes counter to that.

‡ Further reading:

@neilb
Copy link
Contributor Author

neilb commented Sep 19, 2014

@daxim - thanks for the detailed reply. I need to think about this more, but will respond on some of the points now.

A multitude of interface variants is far more difficult to learn than just a single interface, even when it's "cluttered"

I'm not proposing a multitude of UI variants, but effectively two levels of information that is presented for distributions. I suspect that at least one of the key issues is that for beginner and casual users, there's now so much information presented in the sidebar, that they tune it out. This resulted in the change where on item is now large and red. Then we'll get something blinking :-)

Software should cater to the expert user by default, because each individual is only a beginner for a short time, but an expert for a much much longer time

That's true if a UI is used on a regular basis. Casual users are effectively beginners every time they use the service.

I suspect there is a large percentage of MetaCPAN users for whom most of the links presented are a distraction, and prevent them from noticing the links that are useful for them.

@karenetheridge
Copy link
Contributor

I feel somewhat in the middle in this discussion - I can see the value of a "dumbed down" interface to ultra-newbies, but I also agree with @haarg that information shouldn't be hidden away. It feels like a redesign of the left sidebar would help out a lot, so that's a good place to look at next, and see if the newbie problem takes care of itself after that.

@zmughal
Copy link
Contributor

zmughal commented Sep 20, 2014

Google approaches the problem of hiding advanced tools by using the Seach Tools toggle button. Perhaps we can use fold out menus like this to make it easier to indicate what each link is for. Categories can be, for example, Contact, Download, Statistics, etc. Some may fit into multiple categories and I think that is OK. The point is to answer the question "I want to do...".

We might not be there yet, but we can also make this menu have a filterable search.

@kentfredric
Copy link
Contributor

I can see the value of a "dumbed down" interface to ultra-newbies, but I also agree with @haarg that information shouldn't be hidden away.

Presently, I see the "talk to us" link as being "dumbed down" information.

That is, it's useful for somebody who doesn't know what IRC is, and useful for somebody who hasn't set up an IRC client.

However, I fall into neither of those categories, and mousing over the link I see a "mibbit.. " line an I instinctively recoil in fear, and I then have to mentally parse the respective URL query and divine what IRC channel its talking about.

Whereas, an expert user might be more comfortable having simply a text blob on the side saying

   irc contact:  #foobar@irc.perl.org

And that could be hyperlinked to

   irc://#foobar@irc.perl.org

So that a browser would decide what to do with it, etc.

Yes, all of my suggestions are obvioulsy not at all "new user friendly" =)

@oalders
Copy link
Member

oalders commented Nov 4, 2014

I'm going to close this as this doesn't look like an issue that we're making any progress on.

@oalders oalders closed this as completed Nov 4, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants