High level summary of meeting

Mihaela kicked off the meeting by presenting some research she has done in the past week to help identify personas in the Drupal community that would be served by this Initiative.

She first acknowledged that there is a hurdle to installing contributed modules in Drupal 8, due to Composer, and the four types of personas identified were differentiated along those lines:

  1. The "Manual Installer." This persona might be a small site/business owner who manages their one website through FTP, possibly without the use of a staging or dev environment. Generally they would be using shared hosting. While comfortable with tinkering, they can get "module happy" and install many modules, assuming that they all are of the same quality and all work nicely together, which may not be the case.
  2. Laid back Drupalers. These people don't mind not being on the cutting edge. Maybe they're a little more technologically advanced than the Manual Installer, but if they're not using composer, they are OK with that. They are probably pretty comfortable with Drupal 7 and are happy to stay there as long as they can.
  3. Eager Drupalists. These people know they're not on the cutting edge, but they want to be. They know they're not where they need to be, and may want/need/seek help getting there.
  4. Advaced Drupalists. These people are on the cutting edge, using all the best practices for installing and maintaining a Drupal site, including version control, Enterprise hosting, advanced features of Drupal, etc.

When looking at these audiences, they may have different needs, and it's hard to dissociate their needs from the installation methods they're using to install Drupal modules. It may be that for MVP, the Project Browser gives you several instructions for install methods, such as a link to the tar.gz file, a Drush command, and a Composer command. Installing modules is one of the biggest barriers for power-users/site builders. Solving problems like these at the Manual Installer level can still solve problems and make life easier for those at other levels.

People at higher levels might want to see some Drupal-specific information in their browsing/shopping experience, like:

  • How many maintainers on the project
  • How many outstanding / unresolved issues
  • How secure the module is
  • How many installs

Open Discussion

After opening the discussion up after presenting these personas, conversation quickly evolved into a discussion around "curation" of modules to be presented by this system. There are some very common use-cases for Drupal that are installed nearly everywhere: projects like Pathauto & Metatag for example. So any algorithm or criteria which recommends modules should take into account popularity. Factors to consider:

  • Popularity (downloads)
  • Complexity (number of dependencies, etc)
  • "Freshness" - last contibuted to or last activity by maintainers in the issue queue, ex.g. This can be complicated by the fact that some modules "just work" and are of high quality, so don't need maintenance or have issues. Other times, referenced libraries are linking from d.o to spam sites.
  • Security - we need to ensure bad actors are not let into the featured/promoted/curated tier.

With that said, others expressed the desire to "turn on the fire hose" and just see everything. So, we should consider a flag or way to see all the projects if that is what the "shopper" chooses. Whether this refers them to Drupal.org or turns on more projects inside the Browser is TBD. There are many technical considerations for which is better, which can be delayed until we have defined the MVP.

One side effect of having criteria for "top-tier" modules is our ability to shape how project maintainers may behave. For example, we can require that documentation exist in the Drupal handbook in order to be in the tier.

We spoke about the need to revamp the search functionality of the existing Drupal.org project browser. Sometimes even searching for the module name doesn't pull it up in the initial results. Sometimes we have names like "ctools" that aren't as descriptive of what they are used for or do. There may be some things on drupal.org projects that may need to be changed. We talked about the need for more screenshots on many projects, as well as robust user-friendly descriptions for modules that are written for the global audience and not developers.

By the end of the project, we were mostly in agreement that some form of "curation" (language TBD) would be helpful to these personas, because of decision paralysis. We also talked about helping to serve audiences new to Drupal by also guiding them toward the Project Browser on install, or by recommending some initial popular modules that most sites may want or need.

We brought back the idea of the Apple App Store and Google Play Store when discussing "what would make this project feel like a success?" but acknowledged that those stores don't do things to help you necessarily decide which to install; sometimes you just "download all three" and try each of them out.

We need to do more research on how people are currently browsing/"shopping" for modules. We may produce user surveys/polls in the coming weeks, but are not putting one out quite yet.

Meeting recording

See https://youtu.be/G3fJ0ZeMGQs

Next steps

TBD

Comments

Gábor Hojtsy created an issue. See original summary.

kevinquillen’s picture

Module Promotion

There was some discussion as to how to present the promoted modules in the project browser, without seeming to favor one module over the other.

As an initial MVP, I think a curation team can decide pretty quickly on the top modules to show that nearly every Drupal install has - projects like Pathauto, Redirect, Metatag, Robotstxt, Webform come to mind. These are useful, value-add projects that most users seek out of their CMS and one of the first things a majority of us install in a new project.

Possible Module/Theme Curation Requirements

Curation would provide vetted modules to allow to be displayed in the project browser with the goal of aiding end users and also ensuring quality projects are displayed.

Curation also would be required to prevent bad actors / bad packages from making it to users, thus preventing site hijacking, security issues, or Drupalgeddon-like events.

Possible criteria:

  • Must be a stable, tagged release.
  • Must be under security coverage.
  • Should have tests (debatable, depending on the module)
  • Must be reviewed (code, docs) to some degree
  • Project can be flagged on or off for ‘visible’ in project browser
  • Module is not a copy of another existing or more popular module (promote consolidation/collaboration)
  • Does not have a lot of dependencies (debatable)

Curation questions:

  • Who is selected to curate? Senior team?
  • What is the quota per week to review?
  • Do new releases require a re-review?
  • Even if the project has not had commits in a long time, does the module work and do what it says it does? (this still makes it a good candidate)

Project Browser "Filters"

By default I think most agree that only vetted projects should show. There has been discussion however of configuration to override this, to show 'all' or 'show beta' or 'show alpha' releases. IMO for the benefit of the users I believe this initiative is targeting, it may be safer to not allow that at all. But in some cases, it is unavoidable.

Part of my opinion that modules must be stable tagged releases (above) would be to combat that issue where modules seemingly live as beta forever, despite being quite stable, and also where curation members could intervene in such a case. It may also have a side effect of encouraging maintainers to finish their module up so they can be included. One of the long running stigmas with Drupal 8 is "modules are all beta/yellow" which scares end users and perhaps this can be a positive effect on that.

chrisfromredfin’s picture

Issue summary: View changes
narendrar’s picture

portulaca’s picture

One way of getting feedback might be to implement a rating for current projects on d.o. worded something like:

  • "this page is clear, I got the info I wanted, I was successful in configuring this module on my site"
  • "I wish for more clarity/information in this description"
  • "This project description is confusing/not enough for me to move forward"
  • "this page is clear, but I was unsuccessful"
  • "I've solved my problem using this module but not thanks to this page! I was helped elsewhere."
  • "I give up"

This way we might gather info about which projects need polishing, even before Project Browser takes off.

If data is available the analysis of the results could connect Drupal experience based on the Drupal account and the answer stats, maybe it would show the expected difference between what we perceive as "global audience" and "drupalists".

Clearly that would still be biased towards drupalists because there are a lot more people not knowing Drupal that are excluded from gathering data only through Drupal channels.

rubyji’s picture

I am neutral on the question of whether the Project Browser lives on d.o or on people's sites, but just after the meeting I thought of one possible benefit of having it integrated into the admin UI, which is that the project browser would be able to detect whether a module's dependencies already exist on the site where it's running.

For example: if I'm evaluating two possible solutions for something and they both have dependencies, but the requirements for one of them are all modules and libraries that I already have, I wold very much like to know that. I can think of lots of other ways that integration in this way could surface information that would be useful for the site builder.

Thanks to everyone for the good discussion today!

rubyji’s picture

Oh and one other thought about ratings. I feel like my ratings might not be that relevant for a different type of user with different needs, and vice versa. I'd love to see if it could be implemented as a set of ratings that get at different aspects of the module. For example: how is the interface, how is the functionality, how extensible is it, how well does it play with others, and probably a lot of other things I am not thinking of. Or at the very least maybe we could separate the scores and see that front end devs rated it differently than site builders or coders.

gábor hojtsy’s picture

gábor hojtsy’s picture

Issue summary: View changes

Added meeting recording for now. Will add embed when we are ready to close the discussion (that requires full HTML summary I think, which will make it impossible to further edit the summary).

gábor hojtsy’s picture

Adding missing credits.

gábor hojtsy’s picture

Status: Active » Fixed

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.