15
so ftware studio concept idioms Daniel Jackson 1

Design Concepts: Idioms - MIT OpenCourseWare · idioms › well-established concepts › used in many apps and contexts . reuse by designers › usually polished and well understood

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Design Concepts: Idioms - MIT OpenCourseWare · idioms › well-established concepts › used in many apps and contexts . reuse by designers › usually polished and well understood

softwarestudio concept idioms

Daniel Jackson 1

Page 2: Design Concepts: Idioms - MIT OpenCourseWare · idioms › well-established concepts › used in many apps and contexts . reuse by designers › usually polished and well understood

what are idioms?

idioms › well-established concepts › used in many apps and contexts

reuse by designers › usually polished and well understood › risks and limitations known

familiar to users › helps ease of use

“near misses” › beware of almost using an idiom

2

Page 3: Design Concepts: Idioms - MIT OpenCourseWare · idioms › well-established concepts › used in many apps and contexts . reuse by designers › usually polished and well understood

format problem › a design problem to be solved

solution › one or more concepts

examples › in well known apps

refinements › more elaborate forms often used

object model › concepts & relationships

3

Page 4: Design Concepts: Idioms - MIT OpenCourseWare · idioms › well-established concepts › used in many apps and contexts . reuse by designers › usually polished and well understood

idiom: multi-selection problem › how to apply actions to sets of items

solution › selection: a subset of items chosen › action: applied to all objects in selection

examples › characters in word processors › graphical objects in drawing apps › photos in cataloging apps

refinements › group/ungroup: form new composite object › active item: one element in selection plays special role › invert (and other set-theoretic operations) › partial selection (eg, of pixels in Photoshop)

Action targets

Item

Selected

Active

4

Page 5: Design Concepts: Idioms - MIT OpenCourseWare · idioms › well-established concepts › used in many apps and contexts . reuse by designers › usually polished and well understood

case study: Lightroom selection

active element is highlightedmaintains selection when different folder selected if selected images appear in that folder

© Adobe Systems. All rights reserved. This content is excluded from our CreativeCommons license. For more information, see http://ocw.mit.edu/fairuse.

5

Page 6: Design Concepts: Idioms - MIT OpenCourseWare · idioms › well-established concepts › used in many apps and contexts . reuse by designers › usually polished and well understood

idiom: cut-buffer

problem › how to move items between contexts

solution

items Item

Buffer

+NonEmpty Buffer

Context

items ?

› buffer: stores item to be transferred

examples › text editor cut-and-paste › moving files in Windows

refinements › set: buffer can contain multiple items › object embedding: item is shared, not copied › multiple buffers

6

Page 7: Design Concepts: Idioms - MIT OpenCourseWare · idioms › well-established concepts › used in many apps and contexts . reuse by designers › usually polished and well understood

case study: evernote web clipper

copies to serverhave to sync to see in local app

© Evernote. All rights reserved. This content is excluded from our CreativeCommons license. For more information, see http://ocw.mit.edu/fairuse.

7

Page 8: Design Concepts: Idioms - MIT OpenCourseWare · idioms › well-established concepts › used in many apps and contexts . reuse by designers › usually polished and well understood

Style

Rule

Property

Value

rules !

!

Element Document

Stylesheet

elements

styles

style stylesheet ! !idiom: stylesheet problem › maintain consistent styling

property › make global changes easy

solution value

› style: holds formatting rules, attached to objects

examples › paragraph and character styles in Word, Indesign, Pages › themes in Powerpoint › cascading style sheets for HTML

refinements › stylesheets: reuse and separation of sets of styles › selectors: match objects implicitly › inheritance: of properties from style to style › overlapping styles: eg, character and paragraph styles

8

Page 9: Design Concepts: Idioms - MIT OpenCourseWare · idioms › well-established concepts › used in many apps and contexts . reuse by designers › usually polished and well understood

case study: color palettes

Powerpoint themes OS X palettenot real styles

Indesign swatches © Apple, Microsoft, and Adobe Systems. All rights reserved. This content is excluded from ourCreative Commons license. For more information, see http://ocw.mit.edu/fairuse.

9

Page 10: Design Concepts: Idioms - MIT OpenCourseWare · idioms › well-established concepts › used in many apps and contexts . reuse by designers › usually polished and well understood

palette object models three subtly different approaches › what happens when palette is modified?

palette palette palette

Doc

Element

elements

Palette

Swatch

swatches

colour

key value key value colour

Doc

Element

elements

Palette

swatches

Swatch

Doc

Element

elements

Palette

Swatch

swatches

Colour

value

colour

Name

key

Name Colour Name Colour

“Every problem in computer science can be solved by introducing another level of indirection” -- David Wheeler

10

Page 11: Design Concepts: Idioms - MIT OpenCourseWare · idioms › well-established concepts › used in many apps and contexts . reuse by designers › usually polished and well understood

File

Object

Directory

Name namedir

Root

idiom: directory

problem › organize many items into navigable space

solution › tree of directories, each its own namespace

examples › mailboxes in email clients › folders in OS X, directories in Unix › domains in DNS › package structuring in Java

refinements › links: allows arbitrary cross-connections › encapsulation (eg, OS X packages)

11

Page 12: Design Concepts: Idioms - MIT OpenCourseWare · idioms › well-established concepts › used in many apps and contexts . reuse by designers › usually polished and well understood

case study: IMAP mailboxes

some issues › many email clients allow ‘/’ in mailbox names: trouble › in some servers, mailboxes cannot contain messages & mailboxes

12

Page 13: Design Concepts: Idioms - MIT OpenCourseWare · idioms › well-established concepts › used in many apps and contexts . reuse by designers › usually polished and well understood

Name

?

!

File

Buffer

file

?

nameidiom: save-as

problem name › allow updating of multiple files on disk

solution › buffer, with explicit commands to load from and write to disk

examples › almost all desktop applications

refinements › export: separate out saving different types, especially if lossy › propagation of renaming (from file to buffer) › versions: track all previous versions

13

Page 14: Design Concepts: Idioms - MIT OpenCourseWare · idioms › well-established concepts › used in many apps and contexts . reuse by designers › usually polished and well understood

case study: OS X Lion rethinking

changes › save as replaced by dup› rename, move to adde› revert to any version

why did they do this?

licate d

© Apple. All rights reserved. This content is excluded from our CreativeCommons license. For more information, see http://ocw.mit.edu/fairuse.

14

Page 15: Design Concepts: Idioms - MIT OpenCourseWare · idioms › well-established concepts › used in many apps and contexts . reuse by designers › usually polished and well understood

MIT OpenCourseWarehttp://ocw.mit.edu

6.170 Software StudioSpring 2013

For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.