Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Naming Things

David Demaree
January 25, 2012

Naming Things

A talk about the role of naming and semantics in code, usability, and more. Presented at Refresh Chicago, January 25, 2012.

David Demaree

January 25, 2012
Tweet

More Decks by David Demaree

Other Decks in Design

Transcript

  1. This is a talk by David Demaree The name of

    this talk is NAMING THINGS Refresh Chicago • January 25, 2012
  2. There are only two hard things in computer science: cache

    invalidation and NAMING THINGS http://martinfowler.com/bliki/TwoHardThings.html
  3. 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
  4. font font font font = All Gothams = Gotham Narrow

    = Gotham Narrow Bold = Font.find(‘gotham-narrow-bold’) CUSTOMER A CUSTOMER B TYPE DESIGNER TYPEKIT ENGINEER
  5. 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
  6. 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
  7. # 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
  8. @families.each do |family| # What kind of family is this?

    family.class #=> Browse::FamilyCardPresenter?!?!?! end
  9. 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
  10. Events Faces Places Photos grouped by time Photos grouped by

    people in them Photos grouped by where iPhoto’s library is automatically grouped into
  11. 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
  12. 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
  13. 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
  14. 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
  15. Making a phone call = calling Posting a tweet on

    Twitter = tweeting Posting an oink on Oink = oinking
  16. oinking rating reviewing posting MAKES SENSE ONLY WITHIN THIS APP

    MAKE SENSE IN A BROADER CONTEXT NO PRIOR KNOWLEDGE NEEDED CLEARER AS TO INTENT
  17. NEW NEW TWITTER How are Connect and Discover di erent?

    How am I not Connecting or Discovering on the Home page?
  18. TOO REDUCTIVE Home Connect Discover Timeline Who to follow Local

    trends Interactions Mentions Who to follow Stories Trends Activity
  19. Q&A