Tutorial - Step by Step Database Design in SQL
Tutorial - Step by Step Database Design in SQL
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.
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.
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