This site is archived.

Developer Experience: Because Coders Are People Too!

bjaspan's picture
Submitted by bjaspan on Wed, 07/02/2008 - 17:24.

Session recording

Attached files

Placement
Session time: 
08/30/2008 - 13:30 - 08/30/2008 - 14:30
Conference booklet summary and bio
Article for conference booklet: 
I am declaring a personal crusade to improve Drupal's "Developer Experience," which I hereby abbreviate as "DX." User experience can be defined as "the overall experience and satisfaction a user has when using a product or system." A product's UX affects a user's interest, ability, and enjoyment when using a product. If a product's UX sucks, people will not use it if they have a choice or hate using it if they do not. Well, guess what? Software engineers are people, too. When creating a software product that is intended to be used by other developers, the UX includes the experience of those developers as they write code for the product. But software engineers aren't exactly like normal people and the kinds of issues developers face are very different from the issues the end users of the product face, so it seems logical to talk about DX distinctly from UX just to keep the target audience straight. My first attempt at a definition for DX is "the overall experience, satisfaction, and efficiency a software developer has when using a software development platform." I'm sure a better definition is possible. The Drupal community has not historically been great at UX design (mostly we're just a bunch of hackers) but recently has focused its enormous talents in this direction and started to make great strides. Somewhat surprisingly, we have also not historically been great at DX design. Drupal is quite powerful and flexible but unless you climb a fairly steep learning curve it can be hard to develop for. I have personally spoken with a number of web developers who have evaluated Drupal and found it too annoying, too unlike everything they have done before, and sometimes just too "backwards" for them to want to use it. There are many, many ways to improve Drupal's Developer Experience. Some are trivial, some are complex, and many are in between. Please bring your own to the workshop!
Bios for conference booklet: 
Barry is an entrepreneurially-minded computer programmer with a strong focus on computer security and privacy. Prior to Acquia, Barry spent two years as a Drupal core developer; he also created interMute, the first commercial web annoyance blocker, and Spamnix, a spam-blocking product. Barry is a maniacal whitewater kayaker and rock climber and generally spends his time wherever rocks, water, and gravity dance.

Overview

User experience (UX) can be defined as “the overall experience and satisfaction a user has when using a product or system.” A product’s UX affects a user’s interest, ability, and enjoyment when using a product. If a product’s UX sucks, people will not use it if they have a choice or hate using it if they do not.

Well, programmers are people, too. When creating a software product like Drupal that is intended to be used by other developers, the UX includes the experience of those developers as they write code for the product.

Since developers face different kinds of issues than the end users of the product, it is useful to consider Development Experience (DX) distinctly from UX. DX might be defined as “the overall experience, satisfaction, and efficiency a software developer has when using a software development platform.”

In this workshop, we'll brainstorm about ways that Drupal's Developer Experience can be improved.

Agenda

* Why Developer Experience matters
* Open discussion of how Drupal's DX can be improved.

Suggestions I'll bring the workshop include using defined names instead of anonymous constants, abandoning anonymous arrays in favor of typed data structures, and replacing form submit handlers with API functions. Please bring your own!

Goals

We'll come up with a list of proposed coding style directions or improvements for Drupal 7+ and contrib modules that will make Drupal a much more enjoyable and efficient platform for which to develop.

Resources

Anyone familiar with Drupal development is qualified and encouraged to attend. In many ways the less experienced you are, the better, as you will not already be indoctrinated into The Drupal Way of doing things.

alex_b's picture

Looking forward to this one.

Looking forward to this one.

http://www.developmentseed.org/blog

agentrickard's picture

uninstall perms

Just a note to remind myself.

I just finished weiting a hook_uninstall() implementation. I can delete tables, variables, but not module permissions.

We need a clean core hook for removing module permissions.

Neil Drumm's picture

Any reason that should not

Any reason that should not happen automatically? We know all the perms from hook_perm(). It should probably be done first to get all the dynamically-created permissions.