Simple API collaboration

Events happening in the community are now at Drupal community events on www.drupal.org.
Posted by philbar on October 11, 2010 at 8:50pm

Hello,

I'm working on developing a "simple mode" API for Drupal which will allow site builders to switch between simple and advance user interface or otherwise hide advance features.

The goal of this API is to make Drupal less scary for new site builders without sacrificing the robustness of Drupal for experienced site builders. It will allow new users to wrap their head around concepts like nodes, blocks, taxonomy... before they are confronted with more complex features such as Views arguments or Pathauto patterns.

See this video for a usage example:
http://www.youtube.com/watch?v=Xu5PwFV5caI

I hope this feature will end up in D8 (#914110) and I'm working on a module that will add the feature to D6 and D7.

I would like some input from you regarding how to best implement this. Please voice your input below or in the following issue:
#937750: Simple API: Initial Planning

Categories: ,

Comments

937750 comes up as not found

Posted by coderintherye on October 11, 2010 at 9:16pm

937750 comes up as not found for me.

Also, could you explain how this will be different from other methods of simplifying Drupal?

E.g. http://drupal.org/project/admin_menu, http://drupal.org/project/admin, and http://drupal.org/project/visibility_api

Drupal evangelist.
www.CoderintheRye.com

Thanks for your input. The

Posted by philbar on October 11, 2010 at 11:07pm

Thanks for your input.

The issue link for #937750 had a relative path so it was trying to find the issue at groups.drupal.org rather than drupal.org. I fixed it.

Simple API would be completely different from Admin Menu and Admin. I'm not familiar with Visibility API, it could be similar but with a much more specific goal.

Simple API will not do anything by itself other than provide a configuration option for site builders to enable "Simple Mode". When "Simple Mode" is enabled, a variable, such as $simple_mode, will be passed on to contrib modules as TRUE. This will allow contrib modules to either hide advance features, or switch between simple and advance UI.

See this video for how I anticipate drupal developers to use this API:
http://www.youtube.com/watch?v=FVpWLzSc9kA

Ahh thanks for the

Posted by coderintherye on October 11, 2010 at 11:16pm

Ahh thanks for the clarification. That makes more sense. it's an interesting idea. Though I wonder if the onus should be on the API or the developer to make it more granular. E.g., I only want users of Role X to see "Simple mode".

Drupal evangelist.
www.CoderintheRye.com

I've been considering

Posted by philbar on October 12, 2010 at 12:27am

I've been considering granularity. My goal is to make things easier for new Drupal site builders, so that means hiding everything the second Simple API is installed (or if in core, prompting users during the install process for Simple or Advance mode).

I do think unhiding advance features could be done individually though. I'm considering requiring API implementers to describe the advance feature they choosing to hide with Simple API so they can be listed on a configuration page generated by Simple API to allow site builders to enable them one-by-one.

That page would look something like this:
Enable - Views - Advance Settings - Description of Advance Settings
Enable - Views - Arguments - Description of Views Arguments
Enable - Pathauto - Patterns - Description of Pathauto Patterns

Pathauto Patterns are complex features?

Posted by dave reid on October 13, 2010 at 4:44am

We don't get many support requests of people that don't know how to use it. Plus we'd rather help make it easier to use within Pathauto itself, rather than users having to install another module just to enable a 'Simplified UI'.

Senior Drupal Developer for Lullabot | www.davereid.net | @davereid

agreed

Posted by greggles on October 13, 2010 at 4:24pm

I agree with Dave.

I think in general that your idea is a decent one, but the first step should be to work with the module maintainers to see if they are willing to simplify their UI. In the case of Pathauto, we're constantly working toward that so I think it doesn't make sense to provide an alternate UI.

I agree with both of you.

Posted by philbar on October 13, 2010 at 9:40pm

I agree with both of you. Simplifying the UI is best when possible.

The problem, as Dries pointed out in this section of the State of Drupal Keynote (8 min), is that developers are confronted with a choice between designing a product for enterprise or low-end use cases.

I'm hoping Simple API will provide a way for new site builders to ease into complicated features, making it easier for developers to make better assumptions about use cases. With Simple API, developers will be able to create two sets of UI: one designed for speed and efficiency for experienced site builders (Drupal shops and enterprise users) and another for inexperienced site builders that need more guidance (low-end users). Right now, there has to be compromises made, making it less than ideal for both use cases.

With Pathauto patterns, I use that as an example because I don't think it is something beginner site builders are comfortable with. I'm not suggesting it is a poorly made feature, it's just something that is beyond the scope of many low-end site builders. It's like the Command Line of operating systems; it's extremely useful, but not something you want widely accessible for inexperienced users.

I consider a "complicated feature" as a feature...

  • that can't be figured out almost instantly upon install.
  • that requires a large amounts of documentation to explain.
  • that is not intended for low-end users.

Obviously, installing a module like Simple API is not ideal for this type of functionality. It would be best if it were a part of core. But until then, the Simple API module will allow the Drupal community to iron out these issues before (or if) the functionality make it into D8.

source of complexity, solutions

Posted by greggles on October 14, 2010 at 11:47am

I don't think enterprise is the source of the complexity. Especially having added many of the confusing features to the UI, they often came from "low-end" uses of the module.

I'm hoping Simple API will provide a way for new site builders to ease into complicated features

Modules themselves can often do this directly. That's the path we're on with Pathauto is progressive disclosure.

I encourage your effort, but I think your current direction is not going to be fruitful. Dave and I have responded to literally hundreds of issues and I don't remember the patterns being complicated. Nobody has asked for documentation of this feature and we have written relatively little documentation about it (maybe none!). It's just not a the most confusing part of that page.

Also, maybe call these folks "less technical" or better "first time users" instead of "low-end." Nobody wants to be called low-end.

Permissions

Posted by philbar on October 13, 2010 at 11:15pm

Would using permissions be the best approach for something like this? Perhaps it would make the most sense to "tag" permissions as "Advance" and then when in "Simple Mode" disable all those "Advance" permissions. Then the user can enable them with granularity as mentioned earlier.

doesn't work for uid 1

Posted by greggles on October 14, 2010 at 11:48am

That wouldn't help for someone running their site as UID 1, which is how I think most new users do it (most advanced, as well, but I know they are not your target).

Have you looked at the Views + Simpleviews solution?

Usability

Group organizers

Group categories

UX topics

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

AltStyle によって変換されたページ (->オリジナル) /