![Page 1: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/1.jpg)
All rights reserved. Daniel Jackson, 2015
Onward, SPLASH · Pittsburgh · October 29, 2015
towards a theory ofconceptual design for software
Daniel Jackson · MIT
![Page 2: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/2.jpg)
threesoftware design
problems
![Page 3: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/3.jpg)
#1email categories
![Page 4: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/4.jpg)
gmail’s categories
![Page 5: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/5.jpg)
category tab settings
![Page 6: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/6.jpg)
some reactions
![Page 7: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/7.jpg)
categories? labels?
![Page 8: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/8.jpg)
how google explains labels (!)
![Page 9: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/9.jpg)
what you can’t do
associate tabs with labelsfeature available only for categories
use tabs outside inboxtabs disappear when you filter on a label
![Page 10: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/10.jpg)
#2camera settings
![Page 11: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/11.jpg)
my camera fuji x100s
![Page 12: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/12.jpg)
image quality setting
![Page 13: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/13.jpg)
aspect ratio
![Page 14: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/14.jpg)
image size setting
![Page 15: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/15.jpg)
non-standard ratio + raw?
![Page 16: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/16.jpg)
what you can’t do
non-standard aspect ratio + raweven though raw images get nice nondestructive crop!
![Page 17: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/17.jpg)
#3fonts & styles
![Page 18: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/18.jpg)
what’s a font?
![Page 19: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/19.jpg)
what you can’t do
define a style that italicizesArno Regular to Arno Italic
Futura Book to Futura Book ObliqueMagma Light to Magma Light Italic
![Page 20: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/20.jpg)
what kind of problems are these?
manifestationsconstrained functionalityconfusion & complexity
coding errors?no, code seems to meet the spec
user interface design errors?no, interfaces are clear and faithful to function
![Page 21: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/21.jpg)
these are conceptual flaws
image size:a confusing concept
categories:a redundant concept
subfamily:a missing concept
![Page 22: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/22.jpg)
what’s anapp about?
![Page 23: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/23.jpg)
what characterizes an app?
Apple Mail Microsoft Word Twitter
EmailAddressMessage
Folder or Label
ParagraphFormat
Style
concepts!
TweetHashtag
Following
Photoshop
PixelMapLayer/MaskAdjustment
![Page 24: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/24.jpg)
concepts define classes
text editorline
buffer
paragraphformat
style
word processor
stylesheettext flow
page template
desktop publishing app
![Page 25: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/25.jpg)
where are Word’s concepts from?
Charles Simonyi: brought key concepts to Word from Xerox PARC
![Page 26: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/26.jpg)
rich concepts have long journeys
Bravo, 1974
Ginn & Co, since 1868
Microsoft Word, 1983
Apple Pages, 2005
![Page 27: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/27.jpg)
so whatexactly is
a concept?
![Page 28: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/28.jpg)
a timer
![Page 29: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/29.jpg)
a non-conceptual description
¬ON
¬ON
ON
¬ON
¬ON
ON
ON
ON
ticktoggle(day)toggle(night)
a precise semanticsbut no real meaning
![Page 30: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/30.jpg)
a conceptual explanation
using this timer, you can program a light to be on at certain times each day
if you put a slot in the schedule, thenwhen the time is in that current slot, the light will be on
the day’s divided into time slotsthere’s a set of slots called the schedule
and a current time slot
operational principle
each tab is a time slotthe current time is where the arrow points
purpose
data model
user interface
the concept!
![Page 31: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/31.jpg)
the operational principlea way to define & explain a concept
an archetypal scenarioseparates essential from accidental aspects
shows how purpose is fulfilledby combination of user & system actions
Michael Polanyi
“if you pull a tab out, then when that time slot comes around, the light will
go on”
![Page 32: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/32.jpg)
“if you change a style’s format, then all paragraphs of that style will change
format accordingly”“if you tag a photo, then all friends of the person tagged
will be able to see the photo”
“if you select some files and they belong to a folder with
keyboard focus, then pressing delete will move the files to the
trash”
“if you pull a tab out, then when that time slot comes around, the light will
go on”
![Page 33: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/33.jpg)
designingon purpose
![Page 34: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/34.jpg)
design is driven by purpose
motivates
fulfills?
contrivance
purpose
misfit✘
not a counterexample
![Page 35: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/35.jpg)
adhesive corners
magnetic paint
corkboard tiles
changeable wall display of prints
example: a photo wall
✔not strong
enough
✘
motivates
fulfills?
damagesprints
✘
![Page 36: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/36.jpg)
as implemented
![Page 37: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/37.jpg)
adhesive corners
magnetic paint
corkboard tiles
changeable wall display of prints
refining the purpose with misfits
✘
motivates
fulfills?
✘
strongenough
no damage
blockswifi
✘
anticipatedmisfits
unanticipatedmisfits
![Page 38: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/38.jpg)
Such a list of requirements is potentially endless... But if we think of the requirements from a negative point of view, as potential misfits, there is a simple way of picking a finite set.
![Page 39: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/39.jpg)
application purpose
application
concepts driven by purposes too
mot
ivat
es
fulfi
lls?
concept conceptconcept
purpose purposepurposem
otiv
ates
fulfi
lls?
mot
ivat
es
fulfi
lls?
![Page 40: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/40.jpg)
create & format documents
microsoft word
example: microsoft word
paragraph stylesheetstylem
otiv
ates
provide structure
consistency within docs
mot
ivat
es
consistency across docs
mot
ivat
es
![Page 41: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/41.jpg)
purposes, principles & misfits
concept: trash
operational principle: if you delete a file, it moves to a special folder; you can restore from there, but emptying it removes contents for good
purpose: allow undo of deletions
misfit: if you delete a file on an external drive, you cannot reclaim the space until you empty the trash, but then you’ll lose the ability to restore files deleted from the main drive
misfit: if you delete an old file and change your mind, you may not be able to find it again in the trash (if there are many deleted files and you forgot the file’s name)
![Page 42: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/42.jpg)
the fundamental principlein a well-designed system
each concept is motivated by one purpose
![Page 43: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/43.jpg)
analyzingconcepts
![Page 44: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/44.jpg)
the ideal mapping
P1 C1
P2 C2
purposes concepts
![Page 45: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/45.jpg)
4 bad smells
P1 C1
P2
P1 C1
C2
P1 C1
C2
P1 C1
P2
unfulfilled purpose
unmotivated concept
overloaded concept
redundant concepts
![Page 46: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/46.jpg)
unfulfilled purposes
P1 C1
P2
user (Apple Mail, Gmail)‘identify parties to communication’
weak search, no authentication
slide hierarchy (Powerpoint)‘structure slides in a tree’
sections provide just one level
aspect ratio (Sony A7Rii, Canon 5D3)‘take square image’
can’t view in finder or save setting
binder (Preview, Acrobat)‘maintain composite PDF doc’
can insert pages, but forgets source
C2
![Page 47: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/47.jpg)
unfulfilled purpose Apple Mail
![Page 48: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/48.jpg)
P1 C1
C2
unmotivated concepts
buffer (emacs)no reason not to save to file
stash (Git)addresses branching misfits
staging area (Git)what’s it for?
boxing (Java)addresses primitives vs objects misfit
![Page 49: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/49.jpg)
P1 C1
C2
redundant concepts
rating stars (Lightroom)colors, flags, stars, oh my!
rules & searches (Apple Mail)two ways to specify set of messages
labels & categories (Gmail)two ways to classify messages
text object & text box (Acrobat 10) document text too: all different
permissions (AFS)coexist with Unix permissions
headline, title, caption (IPTC)original purposes lost
![Page 50: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/50.jpg)
redundant concepts apple mail
![Page 51: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/51.jpg)
P1 C1
P2
overloaded concepts
Nam Suhindependence
axiom
No one can serve two masters. Either you will hate the one and love the other,or you will be devoted to the one and despise the other. [Matthew 6:24]
![Page 52: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/52.jpg)
P1 C1
P2
overloaded concepts
conference reviewfeedback vs. selection
call forwardingfollow-me vs. delegate
contact (Apple address book)shortcut vs. format addressee
friends (Facebook)filter posts vs. limit access
signature (Acrobat 9)digital vs. physical
paper size (Epson printer driver)dimensions vs. source
![Page 53: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/53.jpg)
overloaded concepts epson driver
result: can’t create custom size for front loadingalso, page size presets in Lightroom hold feed setting
![Page 54: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/54.jpg)
casestudies
![Page 55: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/55.jpg)
gitless: a reworking of git
SantiagoPerez De Rosso
![Page 56: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/56.jpg)
results of a user study
18%
0%
9%
36%
73%
64%
64%
55%5% 9% 27% 18%
14% 27% 27% 9%
18% 27% 18% 18%
5% 36% 9% 27%
5%18%18%
14%9%
18%
5%9%9%
I would continue usingGitless if I could
I found Gitless to beeasier to use than Git
I found Gitless to beeasier to learn than Git
I enjoyed using Gitless
100 50 0 50 100Percentage
Strongly Disagree Disagree Disagree Somewhat Neutral Agree Somewhat Agree Strongly Agree
Git Gitless
12
34
56
78
Task
com
ple
tion tim
e (
min
ute
s)
Git Gitless
45
67
89
Task
com
ple
tion tim
e (
min
ute
s)
Git Gitless
46
810
12
Task
com
ple
tion tim
e (
min
ute
s)
Git Gitless
510
15
Task
com
ple
tion tim
e (
min
ute
s)
Git Gitless
510
15
20
Task
com
ple
tion tim
e (
min
ute
s)
Git Gitless
46
810
12
14
Task
com
ple
tion tim
e (
min
ute
s)
![Page 57: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/57.jpg)
small survey of MIT dropbox users
0%
20.0%
40.0%
60.0%
80.0%
good knowledge average knowledge poor knowledge
correctly predicting behavior
delete shared folder results in leavingdelete shared subfolder removes it
Kelly Zhang
![Page 58: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/58.jpg)
conclusions
![Page 59: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/59.jpg)
what else is in the paper?
stylesheet
style
paragraphformat
text
paragraph style
character style
concept
purpose
consistency
style
achieve consistent formatting of a set of elements
masterachieve consistent structure and format of composite elements
stenciluse archetypal objects for consistency and time saving
style bufferreformat another object like a previous one to save effort
presetallow setting of many properties at once
organizatio
n
folderorganize collection of items into a hierarchy
REST
organize collection of resources by simple path names
groupgroup items so they can be treated as a single item
layer
allow easy inclusion/exclusion of sets of items
stack
place items in stacking order for precedence
selectionapply action in aggregate to many items at once
label
add labels to items so they can be found later
alias
address one or more items with a shorthand name
filter
allow filtering of set of objects by their features
propertydescribe an object with properties that have values
metadatasort and search for items using associated data
navigation
historykeep past actions for audit, undo, visibility
buffer provide temporary storage area for quick modification
cursorprovide shortcut entry into traversable document
access
access tokencontrol access to a resource in an easy way
reservationallocate resources efficiently and prevent conflicts
OOBAauthenticate user with ‘out of bound’ channel unique to user
communication
messagecommunicate in discrete packets between endpoints
postingshare a short communication by broadcast
notificationlet a user know when something happens
community
friendmediate communications by preapproved relationships
cliquecreate subcommunity within larger community
invitationpredicate relationship on approval
accountcentralize user-specific information
karmaincentivize users to contribute to an online community
ratingcrowdsource evaluation of items
concept dependence graphs
concept idioms
![Page 60: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/60.jpg)
contributions
the idea of conceptsa new-old view of software design
talking about conceptspurpose, misfit, operational principle
analyzing conceptspurpose-concept mapping, esp. overloading
![Page 61: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/61.jpg)
a common view of software design
UI designsoft & human
about presentation
programminghard & technicalabout content
![Page 62: towards a theory of conceptual design for softwarepeople.csail.mit.edu/dnj/talks/onward15/onward15-talk.pdf · towards a theory of conceptual design for software Daniel Jackson ·](https://reader035.vdocuments.us/reader035/viewer/2022062919/5ee16403ad6a402d666c4a7d/html5/thumbnails/62.jpg)
a better view of software design
conceptual design:essential concepts
& behavior
representation design:organization & performance
Layer
Adjustment
Mask
PixelMap
Brush