views 2 ui design process

152
Views 2 Designing the user interface Roy Scholten

Upload: roy-scholten

Post on 28-Jan-2015

110 views

Category:

Design


0 download

DESCRIPTION

Talk about the design process for the Views 2 user interface. Views 2 is a query builder for content display in the Drupal CMS. Talk was presented at Drupalcon 2008 in Szeged, Hungary.

TRANSCRIPT

Page 1: Views 2 UI design process

Views 2 Designing the user interface

Roy Scholten

Page 2: Views 2 UI design process

hi

Page 3: Views 2 UI design process

Views .

Page 4: Views 2 UI design process

Views 2

Page 5: Views 2 UI design process

Views 2have you heard of it?

Page 6: Views 2 UI design process

Views 2have you heard of it?

Page 7: Views 2 UI design process

(views 1)

Page 8: Views 2 UI design process
Page 9: Views 2 UI design process
Page 10: Views 2 UI design process

Problem:

How to avoid the humongous scrolling form of death?

Page 11: Views 2 UI design process

ping

Page 12: Views 2 UI design process
Page 13: Views 2 UI design process

Huh?

Page 14: Views 2 UI design process

Inventory

Page 15: Views 2 UI design process
Page 16: Views 2 UI design process
Page 17: Views 2 UI design process
Page 18: Views 2 UI design process
Page 19: Views 2 UI design process
Page 20: Views 2 UI design process

round 1: groups.drupal.org

Page 21: Views 2 UI design process
Page 22: Views 2 UI design process
Page 23: Views 2 UI design process
Page 24: Views 2 UI design process
Page 25: Views 2 UI design process
Page 26: Views 2 UI design process
Page 27: Views 2 UI design process
Page 28: Views 2 UI design process
Page 29: Views 2 UI design process

“Guys, you're all redesigningViews1 here…”

Page 30: Views 2 UI design process

ping

Page 31: Views 2 UI design process

“I havent asked merlinthoroughly enough abouthis starting points really.”

“I would say grokkingmerlin's intentions is step one.Otherwise we are designingthe UI in a fog.”

Page 32: Views 2 UI design process
Page 33: Views 2 UI design process

What do I want to display?How do I want to display it?

Page 34: Views 2 UI design process

round 2:Sentences(or: “What is really going on here?”)

Page 35: Views 2 UI design process

● extasdg

Page 36: Views 2 UI design process

What do you want a list of,

Page 37: Views 2 UI design process

What do you want a list of,

Where do you want to show it,

Page 38: Views 2 UI design process

What do you want a list of,

Where do you want to show it,

How to present it, using which

Page 39: Views 2 UI design process

What do you want a list of,

Where do you want to show it,

How to present it, using which

Format for each item?

Page 40: Views 2 UI design process

What do you want a list of,

Where do you want to show it,

How to present it, using which

Format for each item?

Page 41: Views 2 UI design process
Page 42: Views 2 UI design process

What do you want a list of,

Page 43: Views 2 UI design process
Page 44: Views 2 UI design process
Page 45: Views 2 UI design process

What

Where do you want to show it,

Page 46: Views 2 UI design process
Page 47: Views 2 UI design process
Page 48: Views 2 UI design process
Page 49: Views 2 UI design process
Page 50: Views 2 UI design process
Page 51: Views 2 UI design process

What do you want a list of,

Where do you want to show it,

How to present it, using which

Format for each item?

Page 52: Views 2 UI design process

● “… a system where the base edit page is basically not editable, but gives you a summary of everything on the view and then leads you to separate pages where you can edit these items…”

Page 53: Views 2 UI design process
Page 54: Views 2 UI design process

Summaries

Page 55: Views 2 UI design process
Page 56: Views 2 UI design process
Page 57: Views 2 UI design process

a month later…

Page 58: Views 2 UI design process
Page 59: Views 2 UI design process
Page 60: Views 2 UI design process
Page 61: Views 2 UI design process

●Good?●- vertical tabs●- summaries●- compact

Page 62: Views 2 UI design process

●Bad?●- overwhelming●- inconsistent with core●- abstract terminology

Page 63: Views 2 UI design process
Page 64: Views 2 UI design process

●Let's do this more often…

Page 65: Views 2 UI design process

Tips

●Ask for input

Page 66: Views 2 UI design process

Tips

●Design before coding

Page 67: Views 2 UI design process

Tips

●Wireframes

Page 68: Views 2 UI design process

Tips

●Usability Testing Suite● (d.o/project/uts)

Page 69: Views 2 UI design process

What's next?

●Let's do this more often

Page 70: Views 2 UI design process

●discuss…

Page 71: Views 2 UI design process

● merlinofchaos yoroy alpritt couzinhub

Page 72: Views 2 UI design process

●Thank you!

Page 73: Views 2 UI design process

●(encore)

Page 74: Views 2 UI design process
Page 75: Views 2 UI design process
Page 76: Views 2 UI design process

Views 2Designing the user interface

Roy Scholtenhttp://www.yoroy.com

Page 77: Views 2 UI design process

1

Click to add title

Views 2 Designing the user interface

Roy Scholten

Page 78: Views 2 UI design process

2

Click to add title

hi

Hello, my name is Roy Scholten.I am an interaction designer.

I like to make drawings.I create animations for fun and learning.

I use Drupal to build my websites.I help building Drupal through design, copy writing

and improving the user experience.I don't write a single line of PHP.(and I'd like to keep it that way)

Page 79: Views 2 UI design process

3

Click to add title

Views .

Question for the audience: anybody not familiar with the views module at all?

The basic idea is this:You use views for creating and presenting lists of

your content, like “10 latest blogposts”, “5 top rated pictures” or“all t-shirts available in xl, blue and in stock”.

A simple but very powerful concept, because indeed, a lot of things on the web are basically lists.

Page 80: Views 2 UI design process

4

Click to add title

Views 2

… next…

Page 81: Views 2 UI design process

5

Click to add title

Views 2have you heard of it?

Views 1, already a very powerful and indespensible tool, right?

Page 82: Views 2 UI design process

6

Click to add title

Views 2have you heard of it?

Well, for Drupal 6, views was rewritten from scratch to basically “make it extensible into every possible direction.” Even more flexibility, even more settings, even more complex…

Page 83: Views 2 UI design process

7

Click to add title

(views 1)

This is not intended to be The Roadmap for The Way to do all of our user interface design, but more of a case study for a process that needs as much attention as possible.

I am NOT an expert in this, nor am I the one who came up with all this. Lots of people contibuted. But I was involved from beginning to end, so I can give you an overview of the process from my perspective.

This is that overview.

Page 84: Views 2 UI design process

8

Click to add title

Click to add text

I'm sure a lot of you do not need reminding of htis, but still:

This is what the user interface for creating a new view in Views 1 looks like with all fieldsets expanded.

Page 85: Views 2 UI design process

9

Click to add text

Views developer merlinofchaos realized this approach would not hold for Views 2.

Page 86: Views 2 UI design process

10

Problem:

How to avoid the humongous scrolling form of death?

Page 87: Views 2 UI design process

11

ping

Click to add title

I don't know what I did that made merlin pick me to ask for some ideas. But he did.

Page 88: Views 2 UI design process

12

Click to add title

Click to add text

merlin invites yoroy to have a look at his first mockup.

Arguments, Relationships, Displays, Overrides?

Page 89: Views 2 UI design process

13

Click to add title

Huh?

Still, I could see that this was indeed a lot more complex then views1

With only a vague idea of the new concept for views, I started with looking at other software, making screengrabs.

>>

Page 90: Views 2 UI design process

14

Inventory

Click to add text

I dug into the not so pretty parts of the os x system preferences…

Page 91: Views 2 UI design process

15

Click to add title

Click to add text

Ah, modals (or popups, or what is called a sheet in this specific example)

The ones you lock you into doing something in that screen or cancel to leave that screen…

Page 92: Views 2 UI design process

16

Click to add title

Click to add text

Oh, I liked this one from the start as well,the upperpart is human readable, formatted as

spoken language.

Interesting…

Page 93: Views 2 UI design process

17

Click to add title

Click to add text

I find myself looking more at desktop software then other CMS's.

To me Drupal maps better onto the concept of an operating system as a whole.

(For example the multisite feature)

Pathfinder is a desktop replacement for OS X, full of settings and options and just a whole lot of clickable bits very close to another.

Page 94: Views 2 UI design process

18

Click to add title

Click to add text

But, my mental model voor views 1 has always been

“views is to nodes as smart playlist is to tunes”

Page 95: Views 2 UI design process

19

Click to add title

Click to add text

Page 96: Views 2 UI design process

20

Click to add title

round 1: groups.drupal.org

So with that, I quickly threw out a couple of ideas.

I posted these to g.d.o. solliciting feedback

Page 97: Views 2 UI design process

21

Click to add title

●Click to add an outline

Hmm, maybe we split the process up in a few steps, something like in panels…

Page 98: Views 2 UI design process

22

Click to add title

●Click to add an outline

Page 99: Views 2 UI design process

23

Click to add title

Click to add text

Multiple displays as tabs along the top

Page 100: Views 2 UI design process

24

Click to add title

Click to add text

hey look, vertical tabs! But used for another subset of the functionality here.

Page 101: Views 2 UI design process

25

Click to add title

Click to add text

Or maybe a second row of horizontal tabs?

Page 102: Views 2 UI design process

26

Click to add title

Click to add text

Enter couzinhub. Based on what he could learn from the thread alone, he quickly responded with a lot of sexy-looking wireframes.

Page 103: Views 2 UI design process

27

Click to add title

Click to add text

But before you know it, people are focussing on some misplaced icon…

Also… >>

Page 104: Views 2 UI design process

28

Click to add title

Click to add text

But, most of the wireframes did not reflect the real new features…

Page 105: Views 2 UI design process

29

Click to add title

“Guys, you're all redesigningViews1 here…”

Merlin gave an update on the important new concepts in Views2:

- not nodes-only anymore- multiple displays, multiples of each display- different fields, settings, overrides…

This was very important for the thread. Most of this had been discussed in IRC, but that info was not available in the discussion on g.d.o.

Page 106: Views 2 UI design process

30

ping

Click to add title

Meanwhile in IRC, alpritt connected with me. He was curious about the wireframes and he had some questions.

I soon found out I couldn't answer most of them…

Page 107: Views 2 UI design process

31

Click to add title

“I havent asked merlinthoroughly enough abouthis starting points really.”

“I would say grokkingmerlin's intentions is step one.Otherwise we are designingthe UI in a fog.”

We went through merlin's mockup and his blogpost outlining his initial plans.

This became the first of a series of late, late night talks…

Page 108: Views 2 UI design process

32

Click to add title

Click to add text

I showed alpritt my smart playlist analogy.

Again, views is to nodes as smart playlist is to tunes.

Talking this through, we ended up with chopping up the main task of creating views along two questions:

Page 109: Views 2 UI design process

33

Click to add title

What do I want to display?How do I want to display it?

Yes, isn't that mindblowing huh?

But it's exaclty these kind of simple statements/questions that are very helpful indicators for the organisation of a user interface.

It was really exciting to me, and I was very glad alpritt was there to brainstorm ideas with.

Page 110: Views 2 UI design process

34

Click to add title

round 2:Sentences(or: “What is really going on here?”)

It took some time before we decided to give it another go and present our ideas-so-far to merlin

I had saved or initial chat, merlin read it and together we talked things through.

Page 111: Views 2 UI design process

35

Click to add title

● extasdg

We realized we should really focus on understanding merlin's plans well enough to be able to explain it in simple language.

Page 112: Views 2 UI design process

36

Click to add title

What do you want a list of,

After a few very late nights (damn timezones!) of talking with merlinofchaos, this is what we cam up with

Page 113: Views 2 UI design process

37

Click to add title

What do you want a list of,

Where do you want to show it,

Page 114: Views 2 UI design process

38

Click to add title

What do you want a list of,

Where do you want to show it,

How to present it, using which

Page 115: Views 2 UI design process

39

Click to add title

What do you want a list of,

Where do you want to show it,

How to present it, using which

Format for each item?

We summarized this on g.d.o. and this already made things a lot clearer to people.

but more importantly,

the feedback we got showed us that we needed to explain some more about the hierachy that is implied by those four questions.

Page 116: Views 2 UI design process

40

Click to add title

What do you want a list of,

Where do you want to show it,

How to present it, using which

Format for each item?

There was no way I could ever put that in words.

So I made this.

Page 117: Views 2 UI design process

41

Click to add title

Click to add text

So I made this.

Now, this is a very schematic diagram and it doesn't even propose a user interface at all, but it explains a lot about how the different parts are related to eachother. This would have been very difficult to put in words. at least for me!

The four sentences about what where how and format plus this diagram were the two big things we learned and got a grip on in this first phase.

Page 118: Views 2 UI design process

42

Click to add title

What do you want a list of,

So we started at the beginning, looking at the 'What' part first.

Views must know what kind of things it will show a list of. Because this defines which options will be available later on.

Basically a technical requirement.

Page 119: Views 2 UI design process

43

Click to add title

●Click to add an outline

Inspired by our little sentences, I made this very compact wireframe for creating a new view through just one form-sentence.

This isn't used in the final version, but I think it's still an interesting concept. Very compact and very clearly communicating the idea behind views in general.

Human readable playlist creation…

Page 120: Views 2 UI design process

44

Click to add title

●Click to add an outline

So, answering the 'what' was the easy part.

Creating a new view is a seperate step in the ui, the next ones were a lot more complex so we moved on…

Page 121: Views 2 UI design process

45

Click to add title

What

Where do you want to show it,

Next up: 'Where'. meaning the different displays of a view: where do you want to show it in your site: as a block, as a page, as an rss feed etc.?

For this level we soon agreed on using vertical tabs along the left side.

This list can grow big, horizontal tabs would be too limiting for that. stacking this vertically just made sense.

Page 122: Views 2 UI design process

46

Click to add title

●Click to add an outline

Page 123: Views 2 UI design process

47

Click to add title

●Click to add an outline

Page 124: Views 2 UI design process

48

Click to add title

●Click to add an outline

In v2, there's this concept of 'default' view.

it's the basic view that contains the defaults for the settings you want to use.

Later in the process this default view was added as a seperate view that has no display itself, instead you must add at least one display to it to get a view you could actually show.

This was another technical choice merlin had to make.

But at this moment the default was still married to one of the actual displays.

Page 125: Views 2 UI design process

49

Click to add title

●Click to add an outline

Page 126: Views 2 UI design process

50

Click to add title

●Click to add an outline

So vertical tabs for the displays.

Now on to the right part of those tabs: the actual groups of settings.

Page 127: Views 2 UI design process

51

Click to add title

What do you want a list of,

Where do you want to show it,

How to present it, using which

Format for each item?

These next two questions are closely related and had to be considered as a whole

The first one defines the format of your list (list, teaserlist, table…)

The second one defines the format for each item in your view. (teaser, custom fields, full node…)

And because of the hierachy, the first one defines which settings will be available on the 'per-item' layer.

We had progressed nicely so far. But now we were only at the start of the biggest ui problem: How to provide quick access to all these configuration options in a compact space, presented in a more meaningful way then just link-dumping abstract labels?

Page 128: Views 2 UI design process

52

Click to add title

● “… a system where the base edit page is basically not editable, but gives you a summary of everything on the view and then leads you to separate pages where you can edit these items…”

Page 129: Views 2 UI design process

53

Click to add title

●Click to add an outline

And it was Alpritt who misunderstood this prototype by merlin in a very creative way.

Page 130: Views 2 UI design process

54

Click to add title

Summaries

That word summaries a click somewhere in Alpritt's brain linking back to another discussion about 'summaries' he'd had elsewhere.

He sketched out his interpretation and it was this wireframe that provided the framework for the next part of the ui problem:

Page 131: Views 2 UI design process

55

Click to add title

Click to add text

summaries. add minimal yet useful info about the current value(s) for each setting.

You click a setting to open it's form below.

It was this wireframe that gave merlin a solid direction for how to build the interface:

item-summaries aboveedit item-settings below

(notice how the displays are little stacks along the top

Page 132: Views 2 UI design process

56

Click to add title

Click to add text

There was some more discussion about seperating global settings from display-specific ones

In the end merlin just said no to this :-)

This is around the same time that the abstract default view was introduced as the first vertical tab in the list of displays.

Page 133: Views 2 UI design process

57

Click to add title

a month later…

Page 134: Views 2 UI design process

58

Click to add title

Click to add text

Merlin returns with a working prototype.

And really, from then on it was mostly finetuning the layout and the design.

You can blame me for the way it looks now. I know it's hugely inconsisten with the rest of Drupal. So, I just tried to keep it as plain as possible.

Page 135: Views 2 UI design process

59

Click to add title

Click to add text

I made a Garland inspired design, which was nice for demo purposes of course, but not very friendly towards other themes.

I also made some icons for the settings that had yet another level of their own for configuration options.

Page 136: Views 2 UI design process

60

Click to add title

Click to add text

So there it is, this is how the views ui was born.

For me it was very exciting but also kinda scary, messing around with one of the most important modules. But if felt really good to actually help out.

Props to merlin for asking for input and actually using it as well!

Page 137: Views 2 UI design process

61

●Good?●- vertical tabs●- summaries●- compact

Page 138: Views 2 UI design process

62

●Bad?●- overwhelming●- inconsistent with core●- abstract terminology

Page 139: Views 2 UI design process

63

Click to add title

●Click to add an outline

Page 140: Views 2 UI design process

64

Click to add title

●Let's do this more often…

Page 141: Views 2 UI design process

65

Tips

●Ask for input

merlin asking for input was key and it was what made this process even possible at all.

Page 142: Views 2 UI design process

66

Tips

●Design before coding

Design before code. We the uninitiated could ask our questions and give our input at the moment the canvas for the gui was still blank.

Page 143: Views 2 UI design process

67

Tips

●Wireframes

wireframes, not mockups. avoid 'designing' them but focus on conceptual sketches. or else people will start critiqueing the design and lose sight of the concept.

Images are a shared vocabulary between developers and designers and can put a lot of information in a small space and remove some of the jargon.

Page 144: Views 2 UI design process

68

Tips

●Usability Testing Suite● (d.o/project/uts)

We happily went along not testing anything at all.

There's this very cool GSOC project that aims to be a simple online testing tool that can show you where people click when they try to accomplish a predefined task.

It will show where people get lost and thus tell you which part of your interface is not communicating itself clearly enough yet.

Page 145: Views 2 UI design process

69

What's next?

●Let's do this more often

Page 146: Views 2 UI design process

70

Click to add title

●discuss…

How can we make it possible for developers to incorporate a design phase?

What would you like to see?

How would you like to be helped?

Page 147: Views 2 UI design process

71

Click to add title

● merlinofchaos yoroy alpritt couzinhub

Page 148: Views 2 UI design process

72

Click to add title

●Thank you!

Page 149: Views 2 UI design process

73

Click to add title

●(encore)

Page 150: Views 2 UI design process

74

●Click to add an outline

Click to add title

Oh, and I kind of did the same thing again recently, be it on a much smaller scope:

Merlin was annotating a screenshot of the ui for the views help docs.

This is his version.

Page 151: Views 2 UI design process

75

Click to add title

●Click to add an outline

This is mine.

Page 152: Views 2 UI design process

76

Click to add title

Views 2Designing the user interface

Roy Scholtenhttp://www.yoroy.com