0% found this document useful (0 votes)
478 views47 pages

Tutorial - Step by Step Database Design in SQL

This document provides a tutorial on step-by-step database design in SQL. It discusses the advantages of databases over file systems, the database development lifecycle including requirements, analysis, conceptual design, and physical implementation. It also covers data models, schemas, and how to physically implement a database using SQL statements.

Uploaded by

Matthew Reach
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
478 views47 pages

Tutorial - Step by Step Database Design in SQL

This document provides a tutorial on step-by-step database design in SQL. It discusses the advantages of databases over file systems, the database development lifecycle including requirements, analysis, conceptual design, and physical implementation. It also covers data models, schemas, and how to physically implement a database using SQL statements.

Uploaded by

Matthew Reach
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

BusinessFaxSolutionsSend&ReceiveFaxesOnline.HIPAA,SOX&GLBCompliant.

DavidMcCaldin

Follow

MScStudent/PenetrationTester/MedicalDevices/CSV

Tutorial:StepbyStepDatabaseDesigninSQL
Feb22,2015

23,195views

67Likes

7Comments

Pleasecheckoutmyrelatedarticle"Howdidthemodernrelationaldatabase
cometobe?"whichiscurrentlytrendinginBigDataandfollowmefordaily
articlesontechnology,digitalmarketing,psychologyandpharmaceuticals.

DatabaseDesignandImplementationisapplicableforwhateverindustry
yourin.Hereisastepbystepapproachtodesigningandimplementinga
databaseinyourorganisation,usingspecificdatafromasweetshop
casestudyIimplementedduringmyM.Sc.inSoftware&Information
Systems.Bytheendofthistutorial,youwillknowaboutdatabases,
advantagesofdatabasessystemoverregularfilesystem,thestepsofa
databasedesignprocess,softwaredevelopmentlifecycle,qualitiesofa
wellbuiltdatabase,relationsandrelationships,dataintegrity,andmore.
Databasesareusedineveryindustry,includingthepharmaceutical
industry.
BackgroundofDatabases
Thedatabasesystemapproachtodatamanagementovercomesmanyofthe
shortcomingsoftheoldfashionedfilesystemapproach.Oneofthekeyfeatures
ofadatabasesystemisthatdataisstoredasasinglelogicalunit.Whatthismeans
isthatalthoughthedatamaybespreadacrossmultiplephysicalfiles,the
https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

1/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

databaseconveysthedataasbeinglocatedinasingledatarepository.Organizing
datainsinglelogicalrepositoryallowsforeasymanipulationandqueryingofthe
data,incontrastwithtraditionalfilesystemswheretheprogrammermustspecify
whatandhowthedataretrievalisdone.
Withdatabasesystems,itneedonlybespecifiedwhatmustbedone,theDBMS
(DatabaseManagementSystem)doestherest.Anotheradvantageofthedatabase
approachisthat,becausedataislocatedinonesingledatabase,dataindifferent
physicallocationsneednotbeduplicated.Thedatabasesoftwarecaninteract
withallthedatainthedatabase.Nonduplicationofdataisonewayof
maintainingtheintegrityofthedata.Whendataisallowedtobeduplicated,
errorscanhappenifoneinstanceofthedataisalteredandanotherinstance
remainsthesame.Whendataisallowedtobeduplicated,moremaintenanceand
systemresourcesarerequiredtoensurethatdataisalwaysintegral.
Oneofthegreatestbenefitsofdatabasesisthatdatacanbesharedorsecured
amongusersorapplications.Thereismorecontrolandaccountabilityoverhow
thedataismanagedbecausethedataallresidesinonedatabase.
Ifthereareshortcomingstodatabasesystems,itsthatmuchmorepowerfuland
sophisticatedsoftwareisneededtocontrolthedatabaseanddesigningthe
softwareanddatabasecanbeextremelytimeconsuming.Moreextensive
knowledgeofhowtousethedatabaseisrequired,thusmakingthedatabase
systemlessuserfriendlythantraditionalfilesystems.Sincethedatabaseisone
logicalrepository,evenasmallerrorcandamagetheentiredatabaseandreduce
theintegrityofthedata.Onebenchmarkofagooddatabaseisonewhichis
complete,integral,simple,understandable,flexibleandimplementable.Batiniet
alsaysthatdatabasemodellingstrivesforanonredundant,unified
representationofalldatamanagedinanorganization.Byfollowingthedatabase
softwaredevelopmentlifecyclemethodology,andbyusingthedatamodels,the
databasedesignidealsarefulfilledandwillminimizethedisadvantages.

Databases&theSoftwareDevelopmentLifecycle
Thestepsindevelopinganyapplicationcanberepresentedasalinearsequence
whereeachstepinthesequenceisafunction,whichpassesitsoutputtoits
successorfunction.Adherenceofawaterfalldevelopmentmodelensuresquality
software,whichiscomplete,efficient,usable,consistent,correctand
flexible.Thesetraitsarealsosomeofthecoreunderpinningsofawellbuilt
database.Thewaterfallmodelcanbeappliedtodatabasedesigntheoryas
effectivelyasitisappliedtoothersoftwareengineeringtheory.Thestepscanbe
https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

2/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

summarizedasfollows:

Requirementsspecification>Analysis>Conceptualdesign>
ImplementationDesign>PhysicalSchemaDesignandOptimisation
Inconsultationwithallpotentialusersofthedatabase,adatabasedesignersfirst
stepistodrawupadatarequirementsdocument.Therequirementsdocument
containsaconciseandnontechnicalsummaryofwhatdataitemswillbestored
inthedatabase,andhowthevariousdataitemsrelatetooneanother.Takingthe
datarequirementsdocument,furtheranalysisisdonetogivemeaningtothe
dataitems,e.g.definethemoredetailedattributesofthedataanddefine
constraintsifneeded.Theresultofthisanalysisisapreliminaryspecifications
document.Takingthespecificationsdocument,thedatabasedesignermodels
howtheinformationisviewedbythedatabasesystemandishowitisprocessed
andconveyedtotheenduser.Intheimplementationdesignphase,the
conceptualdesignistranslatedintoamorelowlevel,DBMSspecificdesign.
DataModels&SchemasasaMeansofCapturingData
Thedatabasedevelopmentdesignphasesbringsuptheconceptofdatamodels.
Datamodelsarediagramsorschemas,whichareusedtopresentthedata
requirementsatdifferentlevelsofabstraction.ThefirststepintheDatabase
DevelopmentLifeCycleistodrawuparequirementsdocument.

Figure1:Abasicexampleofarequirementsdocument
Therequirementsdocumentcanthenbeanalysedandturnedintoabasicdataset
(asshowninFigure2)whichcanbeconvertedintoaconceptualmodel.Theend
resultoftheconceptualdesignphaseisaconceptualdatamodel(Figure3),which
provideslittleinformationofhowthedatabasesystemwilleventuallybe
implemented.Theconceptualdatamodelissimplyahighleveloverviewofthe
databasesystem.
https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

3/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

Figure2:ADatabaseDataSetistheResultofanalyzingtheInformationfrom
theRequirementsPhase.ThePrimaryKeysareUnderlined.

Figure3:ANormalizedEntityRelationshipmodel(ERD)inCrowsFoot
NotationisanExampleofaConceptualDataModelandprovidesno
informationofhowthedatabasesystemwilleventuallybeimplemented
Intheimplementationdesignphase,theconceptualdatamodelistranslatedinto
alogicalrepresentationofthedatabasesystem.Thelogicaldatamodelconveys
thelogicalfunctioningandstructureofthedatabaseanddescribeshowthe
dataisstored(e.g.whattablesareused,whatconstraintsareapplied)butisnot
specifictoanyDBMS.Logicaldatabasemodelisalowerlevelconceptualmodel,
whichmustbetranslatedtoaphysicaldesign.

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

4/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

Figure4:Intheimplementationdesignphase,theconceptualdatamodel(ERD)
istranslatedintoalogicalrepresentation(logicalschema)ofthedatabase
system:adatadictionary.
Physicalmodellingdealswiththerepresentationalaspectsandtheoperational
aspectsofthedatabase,i.e.theinternalDBMSspecificoperationsandprocesses
andhowtheDBMSinteractswiththedata,thedatabaseandtheuser.The
translationfromlogicaldesigntophysicaldesignassignsfunctionstoboththe
machine(theDBMS)andtotheuser,functionssuchasstorageandsecurity,and
additionalaspectssuchasconsistency(ofdata)andlearnabilityaredealtwithin
thephysicalmodel/schema.Practicallyspeaking,aphysicalschemaistheSQL
codeusedtobuildthedatabase.
Onebenchmarkofagooddatabaseisone,whichiscomplete,integral,simple,
understandable,flexibleandimplementable.Databasemodellingstrivesfora
nonredundant,unifiedrepresentationofalldatamanagedinanorganization.By
followingtheabovemethodology,andbyusingthedatamodels,thesedatabase
designidealsarefulfilled.Inconclusion,herearetwoexamplesofwhyusingdata
modelsisparamounttocapturingandconveyingdatarequirementsofthe
informationsystem:
1. Bydrawingupalogicalmodel,extradataitemscanbeaddedmoreeasilyin
thatmodeltheninthephysicalmodel.Adatabasedesignthatcanchange
easilyaccordingtoneedsofthecompanyisimportant,becauseitensuresthe
finaldatabasesystemiscompleteanduptodate.
2. Anotherconsiderationisunderstandability.Byinitiallycreatingaconceptual
model,boththedesignerandtheorganizationareabletounderstandthe
databasedesignanddecideifitiscompleteornot.Iftherewereno
conceptualmodel,theorganizationwouldnotbeabletoconceptualizethe
https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

5/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

databasedesignandmakesurethatitactuallyrepresentsallthedata
requirementsoftheorganization.
3. Bycreatingaphysicalmodel,thedesignerscanhavealowleveloverviewof
howthedatabasesystemwouldoperatebeforeitisactuallyimplemented.

SQLStatementsImplementingtheDatabase
Thefinalstepistophysicallyimplementthelogicaldesignwhichwasillustrated
inFigure4.Tophysicallyimplementthedatabase,SQLcanbeused.Theseare
themainstepsinimplementingthedatabase:
1.CreatetheDatabaseTables
ThetablescomedirectlyfromtheinformationcontainedintheDataDictionary.
Thefollowingblocksofcodeeachrepresentarowinthedatadictionaryandare
executedoneafteranother.Theblocksofcreatetablecodecontainthedetailsof
allthedataitems(COMPANY,SUPPLIER,PURCHASES,EMPLOYEEetc),their
attributes(names,ages,costs,numbersandotherdetails),theRelationships
betweenthedataitems,theKeysandDataIntegrityRules.Allofthisinformation
isalreadydetailedintheDataDictionary,butnowweareactuallyconvertingit
andimplementingitinaphysicaldatabasesystem.

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

6/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

Explanation:
1. Thecreatetablestatementindicatesthatyouwantatabletobecreated.
WhatisLinkedIn?

JoinToday
SignIn
2. Thenameofthetableproceedsthefirst'('

Pulse

3. ThetableattributesandDataIntegrityRulesaredefinedwithinthetwo
parentheses.Howthetablerelatestoothertablesisalsodefinedwithinthe

Tutorial:StepbyStepDatabase
DesigninSQL
DavidMcCaldin

twoparentheses(e.g.bydefiningFOREIGNKEYS)
4. Thenotnullstatementmeansthatifyoutrytopopulatethetablewith
values,butleavethevalueofthatattributeempty,youwillgetanerror.

Googledodgesa$9billion
bulletTheAshleyMadison
files:adulterersarebadboys
JohnCAbell
business,tooandmorenews

5. Thevarchar2(19)meansastringof19characters.
6. Thenumber(6,2)meansanumberwhichcanhaveanumberofupto6
digits,2ofthembeingafterthedecimalplace,e.g.youcanhaveanumber

Facebookandothersthink
messagingasaplatformisthe
nextbigthing.Aretheyright?

from0.0to1234.56.
7. Thedatemeansthatthatattributewillberepresentedasadatewithinthe

ChrisMoore

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

7/47

5/27/2016

HowTechnologyHijacks
PeoplesMindsfroma
MagicianandGooglesDesig
TristanHarris
Ethicist

Tutorial:StepbyStepDatabaseDesigninSQL

databasesystem.
8. TheCONSTRAINTstatementmeansthataconstraintisbeingdefined.This
statementwillbeusedtodescribewhichoftheattributesareprimarykeys
andwhich(ifany)oftheattributesareforeignkeys(referencinganother

CEOpayisn'tslowing
Investorscan'tgetenoughof
now$18billionSnapchat,an
IsabelleRoughol
morenews
HiringManagers:StopInsulting
theJobCandidates
BriandeHaaff

table).
9. TheCONSTRAINTstatementisintheformCONSTRAINTxxxPRIMARY
KEY(name_of_attribute_that_you_want_as_the_primary_key)or
CONSTRAINTyyyFOREIGN
KEY(name_of_attribute_that_references_another_table)REFERENCES
hhh(name_of_attribute_that_references_another_table)wherethevalues
ofxxxandyyyarejustarbitrarilymadeupnameswhicharenotimportant.

HeresWhyYoureWrongTo
ThrowShadeAtTheTSAAnd
TheirFiredExecutive

hhhisthenameofthebasetablebeingreferenced.

2.Populatethetables
UseSQLstatementstopopulateeachtablewithspecificdata(suchasemployee
names,ages,wagesetc).

3.Querythedatabase.
WriteSQLstatementstoobtaininformationandknowledgeaboutthecompany,
e.g.howmanyemployeesarethere,totalprofitetc.

Keys&DataIntegrityRules
Dataintegrityrulesareacorecomponentofadatamodel.Integrityrules
implicitlyorexplicitlydefinethesetofconsistentdatabasestate(s).So,integrity
rulesensurethatdatabasestatesandchangesofstateconfirmtospecifiedrules.
Dataintegrityrulesareoftwotypes:EntityintegrityrulesandReferential
integrityrules..
Howdokeysrelatetoensuringthatchangesindatabasestatesconfirmto
specifiedrules?
Well,forexample,youcouldensurethattheprimarykeyofanentitycannotbe
null.Thisisonewayofensuringentityintegrity.Ifprimarykeyswereallowedto
benull,thentherewouldbenowayofensuringthatindividualentitieswere
uniquelyidentifiable.Ifyoucannotensurethatindividualentitiesareuniquely
identifiablethenyoucantensurethatthedatabaseisintegral,whichisacore
propertyofaproperlydesigneddatamodel.So,byensuringthatkeysfollow
certainrules,youcanensureintegrityofdata.

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

8/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

Anotherwayofenforcingintegrityofdataviakeys,istoensurethat,iftwotables
arerelatedtoeachother,anattributeofonerelationmustbethesameasthe
primaryattribute(primarykey)oftheotherone.Enforcingthisruleensures
referentialintegrityofdata.
So,wedoneedintegrityrules,andproperdefiningofkeysareameansof
enforcingthem.

Relationships
Wheninitiallyexplainingtherelationalmodel,E.F.Coddproposedthatusers
shouldbeabstractedfromtheinternalrepresentationofthedata,suchthatifthe
internalrepresentationofthatdataweretochange(e.g.becauseofsystem
growth),thewaythattheuserperceivesthedatashouldremainunchanged.This
iswhyheproposedthatusersshouldonlyinteractwithacollectionoftime
varyingrelationshipsi.e.ausershouldonlyknowthenameoftherelationship
togetherwithitsdomain(e.g.departmentisthedomainofemployees,andthe
employeesareownedbythedepartment)ratherthantherelation(table)itself.
Inusingthetermsrelationandtableassynonyms,Coddmusthaveimplied
thatatableshouldbeviewedintermsofitsrelationshipwithothertables.
Relationshipsarewhatbindtherelations/tablesinadatabasetogether,soproper
understandingisneeded.
Incorrectunderstandingofrelationshipsmayleadtoincorrectlydefined
relationshipsbetweentables.Incorrectlydefinedrelationshipsbetweentables
couldleadtodatanotbeingupdatedcorrectlyinsometables,orcouldcausea
dataitemtobeunnecessarilyduplicatedinanothertable.Allthismayleadto
incompleteinformationinthedatabase,whichinturnresultsinincomplete
knowledge.

Databases, SoftwareDevelopment, DataAnalysis

FeaturedInBigData
Writtenby

DavidMcCaldin

Like

Comment

Follow

67likes 7comments

Addyourcomment

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

9/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL
Popular

HudaNaiemMohamedOsman
Interpreter:LanguageResources,TaxReturns'Preparer,
Programmer/DeveloperofDatabase/System
DavidMcCaldin:)Iamspeechlesstowardsyourconisecourseon
Databases.Youhavemanagedtonarratetheknowledgeandconcepts
fluentlyandcaptively.Youhaveexcelledinyourchoiceofmodelsto
demonstratehowcanonemakeanefficientdatabasefile.Outputdisplayis
essentialandwillfollownaturally,oncethefoundationissetcorrectly.All
relevantprogramcodesandquerieswillneedlearning,butallthesewill
leadyounowhereifyoudonotknowhowtoinitiateyourdatasystemand
warehouseTOWORKONwiththelattercoding,queriesandreporting.
Thankyouonbehalfofmypeerreadersandonbehalfofmyselfforthe
treasuredinput.
Like (3)

Reply

February24,2015

HamzaTariq,DavidMcCaldin,andOLAYEMIOYEWALE

ShowMore

JohnCAbell

Follow

ManagingEditor,NewsatLinkedInExReutersExWired

Googledodgesa$9billionbulletTheAshley
Madisonfiles:adulterersarebadboysinbusiness,
tooandmorenews
May26,2016

59,720views

494Likes

17Comments

FacebookandMicrosoftarebuildingwhatwillbe"thehighest
capacitysubseacabletoevercrosstheAtlantic."Therearehundreds,for
https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

10/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

therecord,butdemandkeepsgrowing.ThisoneshouldbedonebyOctober2017,
CNBCreports.Datainfrastructurebuildoutisnowthepurviewofsuppliers,not
telecommunicationintermediariestwoyearsagoAlphabetannouncedaPacific
cableprojectwithfiveAsiabasedtelecomcompanies.

WIRED

Follow

@WIRED

SoFacebookandMicrosoftaregoingtobuildagiantundersea
cableacrosstheAtlanticoh,andit's160TB/secbit.ly/249ApCV
1:08PM26May2016

FacebookandMicrosoftAreLayingaGiantCableAcrossth
Internetgiantsarestartingtobuildenormousnetworksoftheirown,
takingovertheroletraditionallyplayedbytelecomcompanies.
wired.com

262

176

Moreevidencethe2017iPhonewillhavea(mostly)glasscase.The
chairmanof"longtimeiPhonechassismakerCatcherTechnology"toldhis
annualmeetingit'sasurething,reportsForbes.Itwouldbereinforcedwitha
steelcase,whichwethinkcoulddouble(uhoh)asanantenna.

Googleprevailedina$9billionlawsuitbroughtOracleallegingthe
https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

11/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

searchgianthadviolateditsJavacopyrighttodevelopAndroid.This
casehasbouncedaroundvariouscourtsforyears(theSupremeCourtdeclinedto
hearthefederalone),andOraclesaiditwouldappealtheverdict,byaCalifornia
statejury.Forthenonelementaryversion,readGregLeffler'sanalysis.
Makeofthiswhatyouwill:ArelativelysmallnumberofAshleyMadison
membersregisteredwithworkaddresses.Butitwasenoughforresearchersto
drawsomeconclusionsabouttheircompanies.Onthedownside:Theywerewere
likelytohavebeendisciplinedbytheSEC,andwereaboveaveragein"bribery
andfraudscandals,taxdisputes,humanrightsviolationsandproductquality
problems,"observesFinancialTimescolumnistMichaelSkapinker.Onthe
upside:Theseestablishments"alsoappearedtobemoreinventiveandcreative"
aboveaverageinpatents,which"coveredawiderrangeoftechnologies,"and
"tendedtobeinhighgrowthsectors."
DonaldTrumpclinchedtheRepublicanpresidentialnominationwith
1,239delegates,accordingtoacountfirstreportedbytheAP.
CoverArt:IllustrationsofherostyleG7leadersbuiltforaNGOtoencourage
themtobeUniversalHealthCoveragesuperheroes,Isecity,Mieprefectureon
May26,2016.WorldleaderskickofftwodaysofG7talksinJapanonMay26
withthecreakyglobaleconomy,terrorism,refugees,China'scontroversial
maritimeclaims,andapossibleBrexitheadliningtheirpackedagenda.

FeaturedInTechnology,DailyDigest
Writtenby

JohnCAbell

Like

Comment

Follow

497likes 17comments

Addyourcomment

Popular

AndyBoura
SeniorInformationSecurityArchitectThomsonReuters(DirectorSecure
ProductArchitecture|CISSP|MPhys)
JusticeinGooglevsOracle.Ireadthejudgesnotesfromtheprevioustrialit
wasprettyclearfromthatOraclewerehavingapunttoseeiftheycouldget
anything.It'sreallyimportantprecidentforsoftwareengineeringbasedon
myunderstandingAPIsarenotcopyrightable.

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

12/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL
Like (5)

Reply(4)

17hoursago

SuzyEkman,DiegoValeroSeyffert,BeatGaldsAizpurua,+2

AndyBoura
SeniorInformationSecurityArchitectThomsonReuters
(DirectorSecureProductArchitecture|CISSP|MPhys)
Tobeclear.Googledidn'tdevelopeanapplicationinJava
thatwouldhavebeenfine.Theycreatedawholenewvirtual
machinetorunAndroidJavaapplicationswithoutpaying
Oraclefortheirvirtualmachine.
Like

5hoursago

KhaledHussain
SeniorSystemsEngineeratGlobalCharge
ErikGrobIthinkthey'dabsolutelywantyoutodevelopyour
softwareinJavaonthepremisethatifyoursoftwareturnsout
tobesuccessful,they'dtake"apunttoseeiftheycouldget
anything"fromyou,asAndyBouraspeculates.Perhapsnow
theywon't...
Like

5hoursago

ShowMore

ShowMore

ChrisMoore

Follow

Facebookandothersthinkmessagingasaplatform
isthenextbigthing.Aretheyright?
May26,2016

10,461views

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

236Likes

26Comments


13/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

Asinvestorsinthemobileecosystem,weareconstantlyworkingtobetter
understandandpredicthowtheuniqueaspectsofthemobilecomputingplatform
willallowentrepreneurstobuildnewandlastingbusinessesacrossindustries.
Inspiredbyrecentindustrydevelopmentsandconversationswevebeenhaving
withfriendsandfounderscreatingmobilefirstservices,wedecidedtoopen
sourcemoreofourconversationsandcreateaforumtosurfacedifferent
perspectivesonmobilerelatedissuesthathaverelevanceacrossarangeof
categories.
Ourintentistoshareopinionsandpracticaladvicearoundwhatsworkingaswell
aswhatsnot.Wedloveformorefolkstojointhediscussionasourhopeisthat
thisprocesswillaccelerateourcollectiveknowledge.Lookforamixofindustry
commentary,metricsandanalysis,guestpostsandquicktakesinthisvein(like
thisperspectiveonGboardfrommypartnerJamieDavidson).
Latelywevebeenawashinthemessagingasaplatformdiscussionsasallthe
majorplayersarecomingoutwithmessaging+AIplays.LastweekGoogle
announcedAlloasakindofnewsmartmessagingapp.FacebooksF8messaging
newshadalreadybeentopofmindasbothasourceofpromiseandapainful
reminderofhowchallengingthecurrentappdiscoveryanddistributionstructure
reallyis.Couldmessagingbotsbecomeanewdistributionchannelforapp
providers?Thepeoplewevesurveyedareintriguedbutskeptical.Intriguedfor
theobviousreasonthateveryoneislookingforanotherwaytoreachconsumers
wheretheyrespendingtime.Butskepticalbasedontheapplicabilityofthechat
basedinterfaceforthefullrangeofapps,andtheinevitabilityofthesame
discoverychallengesifthemodelgainsawarenessandtraction.
Oneappwhoseapproachtodistributionandengagementcouldinformusmore
broadlyisRiffsy(alsoaRedpointportfoliocompany).AttherecentMobileApps
Unlockedconference(anawesomeeventorganizedbyGrow.cofoundersAdam
LovalloandJayWeintraub)IdidanonstageinterviewwithRffsyfounderand
CEODavidMcIntoshwherewetalkedaboutRiffsysapproachtoleveraging
messagingasaplatform.Davidtoldthecongregationofmobileappthinkersthat
makingRiffsyavailableacrossmultiplemessagingplatformswaskeytoachieving
scaleandencouragingrepeatusers.RiffsyworkswelloniOS,Kik,Twitter,and
FacebookMessengeramongothers.Itsuserbasehassharedtensofbillionsof
GIFsacrossmultiplemobilemessagingplatformsnosmallfeatgiventhe
challengesofplatformfragmentation.AppmakershereintheU.S.cantborrow
fromtheTencentplaybookwheretheWeChatplatformdominatesthemessaging
applandscapeandservesasthedefactoportalfor3rdpartyapplications.ButId
https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

14/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

arguethatmakesthewholelandscapemoreinterestingandanareawethinkis
stillinitsearlystageshereintheU.S.
WillmessengerasaplatformbeaTHING?Andwhatdoesthatportendforallthe
platformsandappmakerscompetingforourattentionaswellasthemobile
ecosystematlarge?Aswereactivelyexploringotherideastotackletheproblem
ofgettingandkeepingpeoplesattentioninthiscrowdedmobilelandscape,were
takingafreshlookattheappasweknowit.Thetimeisrightfornewideasabout
messagingasaplatformandhowwecanbuildaneffectivedistributionand
engagementmodelformobilecontentandservices.

VentureCapital, MobileApplications, StartUps

FeaturedInTechnology,Entrepreneurship,Editor'sPicks,VC&PrivateEquity,Mobile
Writtenby

Follow

ChrisMoore

Like

Comment

236likes 26comments

Addyourcomment

Popular

MarkParrish
Sr.ITProjectManager,ProductDevelopmentatTMGHealth
Yawn!Afineexampleofasolutioninsearchofaproblem.Anotherintrusion
intobeingatruehumanthatinteractswithsocietyasneeded.AsMonty
Pythonsays,thiswillincrease"SPAMSPAMSPAM".Dobusinessesreally
needtobeattachedtocustomersviamessagingapps?
Like (3)

Reply(3)

19hoursago

JonathandePotter,BrianHochstetter,andRobertW.Kapfhammer

TaitusiVuataki
ProjectCoordinator
NopejustFacebook
Like

5hoursago

Sr.ITProjectManager,ProductDevelopmentatTMGHealth
It'sverymuchmissingthepointasasolution...theproblem,
thatisalludedtoisthattheywantamechanismthatwillget
peopletobuythingsviaachatsystemthebottleneckwiththat
isthepsychologyofbuying.Untilthisaspectisfully
characterised,thenDallasiscompletelycorrect.Formethe
solutionisnottheplatform,butthemechanismofpurchase.A
platformforsales(ormaybe"arena")couldbeasupermarket,
butthemechanismisthetillinfluencingfactorsarethe

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

15/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL
ambience(music,temperature,aroma,colours),theabsence
ofclocks,thelayoutoftheproducts,etc...youcouldarguethat
asolutionmechanismmightbehavingthetillfittedtothe
trolleyyoupusharound,orattheendofeachaisle,etc...The
realplatform,mightbethetrolleyorthemannedtillandself
servicetill,andisverymuchadependencyofthemechanism.
That'smytuppence.AllthiswideeyedIoToverethusiasmis
sufferingfromafailureofproblemanalysisandrequirements
capture.
Like (2)

7hoursago

KristianWildeandDallasStephens
ShowMore

ShowMore

TristanHarris

Follow

DesignEthics&ProductPhilosopheratGoogle

HowTechnologyHijacksPeoplesMindsfroma
MagicianandGooglesDesignEthicist
May26,2016

7,013views

354Likes

39Comments

Imanexpertonhowtechnologyhijacksourpsychologicalvulnerabilities.Thats
whyIspentthelastthreeyearsasaDesignEthicistatGooglecaringabouthowto
designthingsinawaythatdefendsabillionpeoplesmindsfromgettinghijacked.
Whenusingtechnology,weoftenfocusoptimisticallyonallthethingsitdoesfor
us.ButIwantyoutoshowyouwhereitmightdotheopposite.

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

16/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

Wheredoestechnologyexploitourmindsweaknesses?
IlearnedtothinkthiswaywhenIwasamagician.Magiciansstartbylookingfor
blindspots,edges,vulnerabilitiesandlimitsofpeoplesperception,sotheycan
influencewhatpeopledowithoutthemevenrealizingit.Onceyouknowhowto
pushpeoplesbuttons,youcanplaythemlikeapiano.

(Thatsmeperformingsleightofhandmagicatmymothersbirthdayparty)
Andthisisexactlywhatproductdesignersdotoyourmind.Theyplayyour
psychologicalvulnerabilities(consciouslyandunconsciously)againstyouinthe
racetograbyourattention.
Iwanttoshowyouhowtheydoit.

Hijack#1:IfYouControltheMenu,YouControltheChoices

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

17/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

WesternCultureisbuiltaroundidealsofindividualchoiceandfreedom.Millions
ofusfiercelydefendourrighttomakefreechoices,whileweignorehowthose
choicesaremanipulatedupstreambymenuswedidntchooseinthefirstplace.
Thisisexactlywhatmagiciansdo.Theygivepeopletheillusionoffreechoice
whilearchitectingthemenusothattheywin,nomatterwhatyouchoose.Icant
emphasizeenoughhowdeepthisinsightis.
Whenpeoplearegivenamenuofchoices,theyrarelyask:
whatsnotonthemenu?
whyamIbeinggiventheseoptionsandnotothers?
doIknowthemenuprovidersgoals?
isthismenuempoweringformyoriginalneed,orarethechoicesactuallya
distraction?(e.g.anoverwhelminglyarrayoftoothpastes)

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

18/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

(Howempoweringisthismenuofchoicesfortheneed,Iranoutof
toothpaste?)

Forexample,imagineyoureoutwithfriendsonaTuesdaynightandwantto
keeptheconversationgoing.YouopenYelptofindnearbyrecommendationsand
seealistofbars.Thegroupturnsintoahuddleoffacesstaringdownattheir
phonescomparingbars.Theyscrutinizethephotosofeach,comparingcocktail
drinks.Isthismenustillrelevanttotheoriginaldesireofthegroup?

Itsnotthatbarsarentagoodchoice,itsthatYelpsubstitutedthegroups
originalquestion(wherecanwegotokeeptalking?)withadifferentquestion
(whatsabarwithgoodphotosofcocktails?)allbyshapingthemenu.

Moreover,thegroupfallsfortheillusionthatYelpsmenurepresentsacomplete
setofchoicesforwheretogo.Whilelookingdownattheirphones,theydontsee
theparkacrossthestreetwithabandplayinglivemusic.Theymissthepopup
galleryontheothersideofthestreetservingcrepesandcoffee.Neitherofthose
showuponYelpsmenu.

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

19/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

(Yelpsubtlyreframesthegroupsneedwherecanwegotokeeptalking?in
termsofphotosofcocktailsserved.)
Themorechoicestechnologygivesusinnearlyeverydomainofourlives
(information,events,placestogo,friends,dating,jobs)themoreweassume
thatourphoneisalwaysthemostempoweringandusefulmenutopickfrom.Is
it?
Themostempoweringmenuisdifferentthanthemenuthathasthe
mostchoices.Butwhenweblindlysurrendertothemenusweregiven,itseasy
tolosetrackofthedifference:
Whosfreetonighttohangout?becomesamenuofmostrecentpeople
whotextedus(whowecouldping).
Whatshappeningintheworld?becomesamenuofnewsfeedstories.
Whossingletogoonadate?becomesamenuoffacestoswipeonTinder
(insteadoflocaleventswithfriends,orurbanadventuresnearby).
Ihavetorespondtothisemail.becomesamenuofkeystotypearesponse
(insteadofempoweringwaystocommunicatewithaperson).

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

20/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

Whenwewakeupinthemorningandturnourphoneovertoseealistof
notificationsitframestheexperienceofwakingupinthemorningarounda
menuofallthethingsIvemissedsinceyesterday.(formoreexamples,seeJoe
EdelmansEmpoweringDesigntalk)

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

21/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

Byshapingthemenuswepickfrom,technologyhijacksthewayweperceiveour
choicesandreplacesthemwithnewones.Butthecloserwepayattentiontothe
optionsweregiven,themorewellnoticewhentheydontactuallyalignwithour
trueneeds.

Hijack#2:PutaSlotMachineInaBillionPockets
https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

22/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

Ifyoureanapp,howdoyoukeeppeoplehooked?Turnyourselfintoaslot
machine.
Theaveragepersoncheckstheirphone150timesaday.Whydowedothis?Are
wemaking150consciouschoices?

Onemajorreasonwhyisthe#1psychologicalingredientinslot
machines:intermittentvariablerewards.

Ifyouwanttomaximizeaddictiveness,alltechdesignersneedtodoislinka
usersaction(likepullingalever)withavariablereward.Youpullaleverand
immediatelyreceiveeitheranenticingreward(amatch,aprize!)ornothing.
Addictivenessismaximizedwhentherateofrewardismostvariable.

Doesthiseffectreallyworkonpeople?Yes.Slotmachinesmakemore
moneyintheUnitedStatesthanbaseball,movies,andtheme
parkscombined.Relativetootherkindsofgambling,peopleget
problematicallyinvolvedwithslotmachines34xfasteraccordingtoNYU
professorNatashaDowSchull,authorofAddictionbyDesign.

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

23/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

Butherestheunfortunatetruthseveralbillionpeoplehaveaslot
machinetheirpocket:

Whenwepullourphoneoutofourpocket,wereplayingaslotmachineto
seewhatnotificationswegot.
Whenwepulltorefreshouremail,wereplayingaslotmachinetoseewhat
newemailwegot.
WhenweswipedownourfingertoscrolltheInstagramfeed,wereplayinga
slotmachinetoseewhatphotocomesnext.
Whenweswipefacesleft/rightondatingappslikeTinder,wereplayinga
slotmachinetoseeifwegotamatch.
Whenwetapthe#ofrednotifications,wereplayingaslotmachineto
whatsunderneath.

Appsandwebsitessprinkleintermittentvariablerewardsallovertheirproducts
becauseitsgoodforbusiness.
Butinothercases,slotmachinesemergebyaccident.Forexample,thereisno
maliciouscorporationbehindallofemailwhoconsciouslychosetomakeitaslot
machine.Nooneprofitswhenmillionschecktheiremailandnothingsthere.
NeitherdidAppleandGooglesdesignerswantphonestoworklikeslot
machines.Itemergedbyaccident.

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

24/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

ButnowcompanieslikeAppleandGooglehavearesponsibilitytoreducethese
effectsbyconvertingintermittentvariablerewardsintolessaddictive,more
predictableoneswithbetterdesign.Forexample,theycouldempowerpeopleto
setpredictabletimesduringthedayorweekforwhentheywanttocheckslot
machineapps,andcorrespondinglyadjustwhennewmessagesaredeliveredto
alignwiththosetimes.

Hijack#3:FearofMissingSomethingImportant(FOMSI)
Anotherwayappsandwebsiteshijackpeoplesmindsisbyinducinga1%chance
youcouldbemissingsomethingimportant.
IfIconvinceyouthatImachannelforimportantinformation,messages,
friendships,orpotentialsexualopportunitiesitwillbehardforyoutoturnme
off,unsubscribe,orremoveyouraccountbecause(aha,Iwin)youmightmiss
somethingimportant:
Thiskeepsussubscribedtonewslettersevenaftertheyhaventdelivered
recentbenefits(whatifImissafutureannouncement?)
Thiskeepsusfriendedtopeoplewithwhomwehaventspokeinages
(whatifImisssomethingimportantfromthem?)
Thiskeepsusswipingfacesondatingapps,evenwhenwehaventevenmet
upwithanyoneinawhile(whatifImissthatonehotmatchwholikesme?)
Thiskeepsususingsocialmedia(whatifImissthatimportantnewsstoryor
fallbehindwhatmyfriendsaretalkingabout?)
Butifwezoomintothatfear,welldiscoverthatitsunbounded:wellalways
misssomethingimportantatanypointwhenwestopusingsomething.
TherearemagicmomentsonFacebookwellmissbynotusingitforthe6th
hour(e.g.anoldfriendwhosvisitingtownrightnow).
TherearemagicmomentswellmissonTinder(e.g.ourdreamromantic
partner)bynotswipingour700thmatch.
Thereareemergencyphonecallswellmissifwerenotconnected24/7.
Butlivingmomenttomomentwiththefearofmissingsomethingisnthowwere
builttolive.
Anditsamazinghowquickly,onceweletgoofthatfear,wewakeupfromthe
illusion.Whenweunplugformorethanaday,unsubscribefromthose
https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

25/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

notifications,orgotoCampGroundedtheconcernswethoughtwedhavedont
actuallyhappen.
Wedontmisswhatwedontsee.
Thethought,whatifImisssomethingimportant?isgeneratedinadvanceof
unplugging,unsubscribing,orturningoffnotafter.Imagineiftechcompanies
recognizedthat,andhelpedusproactivelytuneourrelationshipswithfriendsand
businessesintermsofwhatwedefineastimewellspentforourlives,insteadof
intermsofwhatwemightmiss.

Hijack#4:SocialApproval

Wereallvulnerabletosocialapproval.Theneedtobelong,tobeapprovedor
appreciatedbyourpeersisamongthehighesthumanmotivations.Butnowour
socialapprovalisinthehandsoftechcompanies.

WhenIgettaggedbymyfriendMarc,Iimaginehimmakingaconsciouschoiceto
tagme.ButIdontseehowacompanylikeFacebookorchestratedhisdoingthat
inthefirstplace.

Facebook,InstagramorSnapChatcanmanipulatehowoftenpeoplegettaggedin
photosbyautomaticallysuggestingallthefacespeopleshouldtag(e.g.by
showingaboxwitha1clickconfirmation,TagTristaninthisphoto?).

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

26/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

SowhenMarctagsme,hesactuallyrespondingtoFacebookssuggestion,not
makinganindependentchoice.Butthroughdesignchoiceslikethis,Facebook
controlsthemultiplierforhowoftenmillionsofpeopleexperiencetheirsocial
approvalontheline.

(Facebookusesautomaticsuggestionslikethistogetpeopletotagmorepeople,
creatingmoresocialexternalitiesandinterruptions.)
ThesamehappenswhenwechangeourmainprofilephotoFacebookknows
thatsamomentwhenwerevulnerabletosocialapproval:whatdomyfriends
thinkofmynewpic?Facebookcanrankthishigherinthenewsfeed,soitsticks
aroundforlongerandmorefriendswilllikeorcommentonit.Eachtimetheylike
orcommentonit,wellgetpulledrightback.
Everyoneinnatelyrespondstosocialapproval,butsomedemographics
(teenagers)aremorevulnerabletoitthanothers.Thatswhyitssoimportantto
recognizehowpowerfuldesignersarewhentheyexploitthisvulnerability.

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

27/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

Hijack#5:SocialReciprocity(Titfortat)
YoudomeafavorIoweyouonenexttime.
Yousay,thankyouIhavetosayyourewelcome.
Yousendmeanemailitsrudenottogetbacktoyou.
Youfollowmeitsrudenottofollowyouback.(especiallyforteenagers)
Wearevulnerabletoneedingtoreciprocateothersgestures.ButaswithSocial
Approval,techcompaniesnowmanipulatehowoftenweexperienceit.
Insomecases,itsbyaccident.Email,textingandmessagingappsaresocial
reciprocityfactories.Butinothercases,companiesexploitthisvulnerabilityon
purpose.
LinkedInisthemostobviousoffender.LinkedInwantsasmanypeoplecreating
socialobligationsforeachotheraspossible,becauseeachtimetheyreciprocate
(byacceptingaconnection,respondingtoamessage,orendorsingsomeoneback
foraskill)theyhavetocomebacktolinkedin.comwheretheycangetpeopleto
spendmoretime.
LikeFacebook,LinkedInexploitsanasymmetryinperception.Whenyoureceive
aninvitationfromsomeonetoconnect,youimaginethatpersonmakinga
consciouschoicetoinviteyou,wheninreality,theylikelyunconsciously
respondedtoLinkedInslistofsuggestedcontacts.Inotherwords,LinkedIn
turnsyourunconsciousimpulses(toaddaperson)intonewsocialobligations
thatmillionsofpeoplefeelobligatedtorepay.Allwhiletheyprofitfromthetime
peoplespenddoingit.

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

28/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

Imaginemillionsofpeoplegettinginterruptedlikethisthroughouttheirday,
runningaroundlikechickenswiththeirheadscutoff,reciprocatingeachother
alldesignedbycompanieswhoprofitfromit.
Welcometosocialmedia.

Afteracceptinganendorsement,LinkedIntakesadvantageofyourbiasto
reciprocatebyoffering*four*additionalpeopleforyoutoendorseinreturn.
https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

29/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

Imagineiftechnologycompanieshadaresponsibilitytominimizesocial
reciprocity.Oriftherewasanindependentorganizationthatrepresentedthe
publicsinterestsanindustryconsortiumoranFDAfortechthatmonitored
whentechnologycompaniesabusedthesebiases?

Hijack#6:Bottomlessbowls,InfiniteFeeds,andAutoplay

Anotherwaytohijackpeopleistokeepthemconsumingthings,evenwhenthey
arenthungryanymore.
How?Easy.Takeanexperiencethatwasboundedandfinite,andturnitintoa
bottomlessflowthatkeepsgoing.
https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

30/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

CornellprofessorBrianWansinkdemonstratedthisinhisstudyshowingyoucan
trickpeopleintokeepeatingsoupbygivingthemabottomlessbowlthat
automaticallyrefillsastheyeat.Withbottomlessbowls,peopleeat73%more
caloriesthanthosewithnormalbowlsandunderestimatehowmanycaloriesthey
ateby140calories.
Techcompaniesexploitthesameprinciple.Newsfeedsarepurposelydesignedto
autorefillwithreasonstokeepyouscrolling,andpurposelyeliminateanyreason
foryoutopause,reconsiderorleave.
ItsalsowhyvideoandsocialmediasiteslikeNetflix,YouTubeor
Facebookautoplaythenextvideoafteracountdowninsteadofwaitingforyouto
makeaconsciouschoice(incaseyouwont).Ahugeportionoftrafficonthese
websitesisdrivenbyautoplayingthenextthing.

Techcompaniesoftenclaimthatwerejustmakingiteasierforuserstoseethe
videotheywanttowatchwhentheyareactuallyservingtheirbusinessinterests.
Andyoucantblamethem,becauseincreasingtimespentisthecurrencythey
competefor.

Instead,imagineiftechnologycompaniesempoweredyoutoconsciouslybound
yourexperiencetoalignwithwhatwouldbetimewellspentforyou.Notjust
boundingthequantityoftimeyouspend,butthequalitiesofwhatwouldbe
timewellspent.

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

31/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

Hijack#7:InstantInterruptionvs.RespectfulDelivery

Companiesknowthatmessagesthatinterruptpeopleimmediatelyaremore
persuasiveatgettingpeopletorespondthanmessagesdeliveredasynchronously
(likeemailoranydeferredinbox).

Giventhechoice,FacebookMessenger(orWhatsApp,WeChatorSnapChatfor
thatmatter)wouldprefertodesigntheirmessagingsystemtointerrupt
recipientsimmediately(andshowachatbox)insteadofhelpingusersrespect
eachothersattention.

Inotherwords,interruptionisgoodforbusiness.

Itsalsointheirinteresttoheightenthefeelingofurgencyandsocialreciprocity.
Forexample,Facebookautomaticallytellsthesenderwhenyousawtheir
message,insteadoflettingyouavoiddisclosingwhetheryoureadit(nowthat
youknowIveseenthemessage,Ifeelevenmoreobligatedtorespond.)

Bycontrast,ApplemorerespectfullyletsuserstoggleReadReceiptsonoroff.

Theproblemis,maximizinginterruptionsinthenameofbusinesscreatesa
tragedyofthecommons,ruiningglobalattentionspansandcausingbillionsof
unnecessaryinterruptionseachday.Thisisahugeproblemweneedtofixwith
shareddesignstandards(potentially,aspartofTimeWellSpent).

Hijack#8:BundlingYourReasonswithTheirReasons

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

32/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

Anotherwayappshijackyouisbytakingyourreasonsforvisitingtheapp(to
performatask)andmaketheminseparablefromtheappsbusiness
reasons(maximizinghowmuchweconsumeoncewerethere).

Forexample,inthephysicalworldofgrocerystories,the#1and#2mostpopular
reasonstovisitarepharmacyrefillsandbuyingmilk.Butgrocerystoreswantto
maximizehowmuchpeoplebuy,sotheyputthepharmacyandthemilkatthe
backofthestore.

Inotherwords,theymakethethingcustomerswant(milk,pharmacy)
inseparablefromwhatthebusinesswants.Ifstoresweretrulyorganizedto
supportpeople,theywouldputthemostpopularitemsinthefront.

Techcompaniesdesigntheirwebsitesthesameway.Forexample,whenyouyou
wanttolookupaFacebookeventhappeningtonight(yourreason)theFacebook
appdoesntallowyoutoaccessitwithoutfirstlandingonthenewsfeed(their
reasons),andthatsonpurpose.Facebookwantstoconverteveryreasonyou
haveforusingFacebook,intotheirreasonwhichistomaximizethetimeyou
spendconsumingthings.

Inanidealworld,appswouldalwaysgiveyouadirectwaytogetwhatyouwant
separatelyfromwhattheywant.

Imagineadigitalbillofrightsoutliningdesignstandardsthatforcedthe
productsusedbybillionsofpeopletosupportempoweringwaysforthemto
navigatetowardtheirgoals.

Hijack#9:InconvenientChoices
https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

33/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

Weretoldthatitsenoughforbusinessestomakechoicesavailable.

Ifyoudontlikeityoucanalwaysuseadifferentproduct.
Ifyoudontlikeit,youcanalwaysunsubscribe.
Ifyoureaddictedtoourapp,youcanalwaysuninstallitfromyourphone.

Businessesnaturallywanttomakethechoicestheywantyoutomakeeasier,
andthechoicestheydontwantyoutomakeharder.Magiciansdothesame
thing.Youmakeiteasierforaspectatortopickthethingyouwantthemtopick,
andhardertopickthethingyoudont.

Forexample,NYTimes.comletsyoumakeafreechoicetocancelyourdigital
subscription.ButinsteadofjustdoingitwhenyouhitCancelSubscription,they
sendyouanemailwithinformationonhowtocancelyouraccountbycallinga
phonenumberthatsonlyopenatcertaintimes.

Insteadofviewingtheworldintermsofavailabilityofchoices,weshouldview
theworldintermsoffrictionrequiredtoenactchoices.Imagineaworldwhere
https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

34/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

choiceswerelabeledwithhowdifficulttheyweretofulfill(likecoefficientsof
friction)andtherewasanindependententityanindustryconsortiumornon
profitthatlabeledthesedifficultiesandsetstandardsforhoweasynavigation
shouldbe.

Hijack#10:ForecastingErrors,FootintheDoorstrategies

SummaryAndHowWeCanFixThis
Areyouupsetthattechnologyhijacksyouragency?Iamtoo.Ivelistedafew
techniquesbutthereareliterallythousands.Imaginewholebookshelves,
seminars,workshopsandtrainingsthatteachaspiringtechentrepreneurs
techniqueslikethese.Imaginehundredsofengineerswhosejobeverydayisto
inventnewwaystokeepyouhooked.
Theultimatefreedomisafreemind,andweneedtechnologythatsonourteam
tohelpuslive,feel,thinkandactfreely.
Weneedoursmartphones,notificationsscreensandwebbrowserstobe
exoskeletonsforourmindsandinterpersonalrelationshipsthatputourvalues,
notourimpulses,first.Peoplestimeisvaluable.Andweshouldprotectitwith
thesamerigorasprivacyandotherdigitalrights.
TristanHarriswasaProductPhilosopheratGoogleuntil2016wherehestudied
howtechnologyaffectsabillionpeoplesattention,wellbeingandbehavior.For
moreresourcesonTimeWellSpent,seehttp://timewellspent.io.
UPDATE:Thefirstversionofthispostlackedacknowledgementsto
thosewhoinspiredmythinkingovermanyyearsincludingJoe
Edelman,AzaRaskin,RaphDAmico,JonathanHarrisandDamon
Horowitz.
https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

35/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

MythinkingonmenusandchoicemakingaredeeplyrootedinJoe
EdelmansworkonHumanValuesandChoicemaking.

FeaturedInEntrepreneurship,Design,SocialMedia,Editor'sPicks
Writtenby

TristanHarris

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

Follow

36/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

37/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

38/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

39/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

40/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

41/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

42/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

43/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

44/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

45/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

46/47

5/27/2016

Tutorial:StepbyStepDatabaseDesigninSQL

https://www.linkedin.com/pulse/tutorialstepdatabasedesignsqldavidmccaldin

47/47

You might also like