Slide 1

Slide 1 text

This is a talk by David Demaree The name of this talk is NAMING THINGS Refresh Chicago • January 25, 2012

Slide 2

Slide 2 text

There are only two hard things in computer science: cache invalidation and NAMING THINGS http://martinfowler.com/bliki/TwoHardThings.html

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

pipe

Slide 6

Slide 6 text

pipe cigar

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

pipes? pipes! pipes pipes?

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

font

Slide 11

Slide 11 text

font the metal type character set of a single size and style of a particular typeface font a digital file containing the character set for a particular variation of a typeface font the database object representing a particular font file

Slide 12

Slide 12 text

font the word most commonly used by our customers to refer to a whole typeface

Slide 13

Slide 13 text

“Hey, did you get that font thing figured out?”

Slide 14

Slide 14 text

font typeface family superfamily font weight style variation

Slide 15

Slide 15 text

font typeface family superfamily = All Gothams or Gotham Narrow = Gotham Narrow = All Gothams

Slide 16

Slide 16 text

font font font font = All Gothams = Gotham Narrow = Gotham Narrow Bold = Font.find(‘gotham-narrow-bold’) CUSTOMER A CUSTOMER B TYPE DESIGNER TYPEKIT ENGINEER

Slide 17

Slide 17 text

USER INTERFACE “font” refers to typefaces

Slide 18

Slide 18 text

COMMUNICATIONS “fonts” refers to typefaces or type in general typefaces usually preferred over font or family

Slide 19

Slide 19 text

BEHIND THE SCENES TypekitFontFamily FamilyChoice FontVariation FontFile a typeface on Typekit.com a typeface added to a Kit a weight or style of a family the actual font file for a variation

Slide 20

Slide 20 text

TypekitFontFamily Browse::Family FontFamily Family a typeface on Typekit.com metadata for our new browsing UI a presenter for font/family data, no longer actively used see above

Slide 21

Slide 21 text

# It's called Family instead of Font so that # we can potentially reserve the name Font for # the current FontVariation. Naming is hard. class Family # ... end ACTUAL CODE COMMENT FROM THE TYPEKIT.COM RAILS APP

Slide 22

Slide 22 text

@families.each do |family| # What kind of family is this? family.class #=> Browse::FamilyCardPresenter?!?!?! end

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

fonts or families fonts or licenses my fonts? purchased or licensed THE SEMANTICS OF LICENSING

Slide 25

Slide 25 text

My Licenses My Web Licenses My Fonts Purchased Licenses Fonts I’ve Purchased Purchased Fonts

Slide 26

Slide 26 text

Naming things = Domain modeling

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

WHAT’S IN A NAME? GOOD

Slide 29

Slide 29 text

descriptive accessible clear consistent GOOD NAMES ARE

Slide 30

Slide 30 text

vague obscure ambiguous contradictory BAD NAMES ARE

Slide 31

Slide 31 text

NAMING IS ALWAYS a compromise vag obsc ambig contrad riptive essible lear sistent

Slide 32

Slide 32 text

Pro applications tend to sacrifice simple, intuitive naming for RAW POWER

Slide 33

Slide 33 text

How are these things di erent?

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

Hard for newcomers Extremely versatile for those trained in the system O ers more freedom to the user to define their own model but and

Slide 36

Slide 36 text

THE GREATEST DOMAIN MODEL OF ALL TIME (according to David)

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

Events Faces Places Photos grouped by time Photos grouped by people in them Photos grouped by where iPhoto’s library is automatically grouped into

Slide 39

Slide 39 text

Events Faces Places = When? = Who? = Where?

Slide 40

Slide 40 text

Natural Intuitive Unambiguous Simple

Slide 41

Slide 41 text

Tags + semantics

Slide 42

Slide 42 text

Typical tagging systems Users apply various words to describe a thing No framework for knowing what the words mean No guarantee of internal consistency Crystal Light National Aerobics Championship Opening #videos #funny #80s #wtf #rofl http://youtube.com/watch?v=ozoTzkCeO-A

Slide 43

Slide 43 text

Semantic tagging systems Users associate a thing with specific other things Tags aren’t just abstract names, they provide context Built-in mental model for organizing and finding information Crystal Light National Aerobics Championship Opening http://youtube.com/watch?v=ozoTzkCeO-A Kind: Video When: 1980s Genre: Vintage TV #wtf #rofl Like

Slide 44

Slide 44 text

No content

Slide 45

Slide 45 text

Naming things = Branding

Slide 46

Slide 46 text

JAKOB NIELSEN’S GUIDELINES FOR NAMING Supplement made-up words with known words Supplement brand names with generic terms Learn to recognize and avoid internal jargon

Slide 47

Slide 47 text

No content

Slide 48

Slide 48 text

The product’s name is OINK Things you post on Oink are OINKS The act of posting an Oink on Oink is OINKING or TO OINK

Slide 49

Slide 49 text

Making a phone call = calling Posting a tweet on Twitter = tweeting Posting an oink on Oink = oinking

Slide 50

Slide 50 text

oinking rating reviewing posting MAKES SENSE ONLY WITHIN THIS APP MAKE SENSE IN A BROADER CONTEXT NO PRIOR KNOWLEDGE NEEDED CLEARER AS TO INTENT

Slide 51

Slide 51 text

“oink” “tweet” VS.

Slide 52

Slide 52 text

Use invented or recontextualized words with caution

Slide 53

Slide 53 text

Stream Circles Hangouts Incoming +1’s New from friends Groups Video chat New from… ? Like GOOGLE+

Slide 54

Slide 54 text

NEW NEW TWITTER How are Connect and Discover di erent? How am I not Connecting or Discovering on the Home page?

Slide 55

Slide 55 text

TOO REDUCTIVE Home Connect Discover Timeline Who to follow Local trends Interactions Mentions Who to follow Stories Trends Activity

Slide 56

Slide 56 text

THANKS! [email protected] @ddemaree on Twitter http://demaree.me

Slide 57

Slide 57 text

Q&A