Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Modelessness
Search
Manabu Ueno
July 07, 2019
Design
7
2.1k
Modelessness
Slides from my presentation at "macOS native symposium #04" on Jul 7, 2019.
Manabu Ueno
July 07, 2019
Tweet
Share
More Decks by Manabu Ueno
See All by Manabu Ueno
Idea and Controller
manabuueno
2
190
The Object of OOUI
manabuueno
1
630
The Modeless Design Pattern
manabuueno
2
470
The Modeless Design
manabuueno
9
1.9k
Other Decks in Design
See All in Design
LayerX DesignersDeck
layerx
PRO
0
6.5k
デザインシステムの力 Webデザイナーとエンジニアのための実践ガイド / The Power of Design System
spindle
9
5.2k
エンタメ業界からDX領域に飛び込んだデザイナーが今立ち向かっている壁とは / applibot-dx-designer
cyberagentdevelopers
PRO
1
230
Tableau曲線表現講座(2024.11.21)
cielo1985
0
310
Дизайн услуги через её визуализацию с Картой процесса-опыта
ashapiro
0
280
同人音声のための、 最高の視聴体験を求めて【サブカル×デザインMeetUP!】
vivion
0
400
マルチプロダクトにおけるデザイナーの挑戦-デザイン初め新年会2025
u_ri_ta
2
170
成長する組織のナレッジベースのつくりかた_知識基盤のデザインとメタデザイン
gaussbeam
0
970
Dinosaur Mayhem
storyartist
PRO
0
160
1年目のクリエイターがつくりあげた!採用冊子CANVAS制作の裏側 / creator-canvas
cyberagentdevelopers
PRO
1
580
利用者が離れないUX/UIデザイン 長く使われる業務アプリデザインのポイント
ncdc
5
570
線で考える画面構成
natsuume
1
810
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
69
4.7k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Code Review Best Practice
trishagee
67
18k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
470
Bash Introduction
62gerente
611
210k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.6k
Gamification - CAS2011
davidbonilla
81
5.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Producing Creativity
orderedlist
PRO
344
40k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.2k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Transcript
.PEFMFTTOFTT
Apple ][ Human Interface Guidelines (pre-release) -- 1985 -- DigiBarn
Computer Museum -- Apple Computer, Inc. Distributed under the Creative Commons License on page 4 Page 0001 of 0130
I n s i d e M a c
O S X Aqua Human Interface Guidelines Preliminary Macworld draft, 01/10/01
OS X Human Interface Guidelines
ϞʔυϨεωεΛ৴ไ͠ͳ͍͞ Ϣʔβʔ൴൴ঁΒʹίϯτϩʔϧݖΛ༩͑ΔΞϓϦΛΈɺ ·ͨ൴Β͔ΒසൟʹίϯτϩʔϧݖΛୣ͏ΞϓϦΛେݏ͍· ͢ɻϢʔβʔ͔ΒίϯτϩʔϧݖΛୣ͏࠷Ұൠతͳํ๏ɺ Ϣʔβʔʹಛఆͷਐ࿏Λڧཁ͢ΔϞʔυΛཚ༻͢Δ͜ͱͰ͢ɻ 049)VNBO*OUFSGBDF(VJEFMJOFT
None
ίϯϐϡʔλ ϢʔβʔϩάΠϯ ΞϓϦέʔγϣϯ Οϯυ ίϯτϩʔϧ Ωʔೖྗ ʜ Ϟʔυίϯϐϡʔλͷݪࡑ
.PEFWT.PEFMFTT
NBHMJUFDPN
0'' 0/ 0'' 0/ 0/ 0/ 0'' 0/
Ϟʔυ ૢ࡞ͷҙຯΛγεςϜ͕ዞҙతʹنఆʗมߋ͍ͯ͠Δঢ়ଶ ϞʔυϢʔβʔΛಛఆͷॴϑϩʔʹറΓɺϢʔβʔ͋Δܾ ·ͬͨૢ࡞Λ͢Δ·Ͱ͔ͦ͜Βൈ͚ग़͢͜ͱ͕Ͱ͖ͳ͍ ϞʔυɺڥΛίϯτϩʔϧ͍ͨ͠ͱ͍͏զʑͷجຊతͳཉٻʹ ͢ΔͨΊɺετϨεʹͳΔ
lϞʔυΤϥʔɺஔ͕͍͔ͭ͘ҟͳΔૢ࡞ϞʔυΛ͍ͬͯͯɺ ͋ΔϞʔυͰదͳߦҝ͕ଞͷϞʔυͰҧ͏ҙຯΛͭΑ͏ͳͱ͖ ʹੜ͡ΔɻϞʔυΤϥʔɺͦͷஔ͕͍ͬͯΔ੍ޚεΠονද ࣔͷΑΓɺ࣮ߦՄೳͳߦҝͷͷํ͕ଟ͘ɺͦΕΏ͑Ұͭͷε Πον͕ೋͭͷׂΛՌ͍ͯ͠ΔஔͰ͍ͭͰੜ͡͏Δɻz υφϧυɾϊʔϚϯ
.PEBM .PEFMFTT XJLJQFEJBDPN
XJLJQFEJBDPN .PEBM .PEFMFTT
.PEBM .PEFMFTT
.PEBM .PEFMFTT
.PEBM .PEFMFTT
.PEBM .PEFMFTT
.PEBM .PEFMFTT
.PEBM .PEFMFTT
.PEBM .PEFMFTT
.PEBM .PEFMFTT
lࢲɺΠϯλϑΣʔε͕ϞʔυΛ࣋ͨͣɺ͔ͭɺՄೳͳݶΓϞϊτφ εͰ͋ΕɺͦͷଞશͯͷσβΠϯ͕ݱͷΠϯλϑΣʔεਫ४͔Β ݟͯฏۉతͳͷͰ͋ͬͯɺܶతʹ͍͍͢ͷͱͳΔͱ৴ͯ͡ ͍·͢ɻʢதུʣϞʔυ͕ແ͘Ϟϊτχʔʹج͍ͮͨΛ༻͢Δ ͜ͱʹΑͬͯɺ΄ͱΜͲපΈ͖ͭͱݴ͑Δश׳͕ܗ͞ΕɺΛ Ѫ͢ΔϢʔβਓޱ૿Ճ͍ͯ͘͜͠ͱͰ͠ΐ͏ɻz δΣϑɾϥεΩϯ
None
$PNNBOE-JOF*OUFSGBDF 7FSCˠ0CKFDU ίϯϐϡʔλʹରͯ͠ɺӳޠͷ໋ྩจͰॲཧΛࢦࣔ͢ΔʢίϚϯυˍλΠϐϯάʣ ίϯϐϡʔλΛɺ௨࣌తʗݴޠతͳͷͱͯ͠ଊ͑ͨૢ࡞ମܥʢϞʔμϧʣ
4LFUDIQBE ʹΞΠόϯɾαβϥϯυ͕։ൃͨ͠ɻ ը໘ʹදࣔ͞ΕͨάϥϑΟοΫΛతʹૢ ࡞͢Δͱ͍͏ɺ(6*ͷΞΠσΞͷىݯɻ άϥϑΟοΫΦϒδΣΫτ ϥΠτϖϯ XJLJQFEJBPSH
FYUSFNFUFDIDPN ʹμάϥεɾΤϯήϧόʔτ͍Δ ݚڀऀνʔϜ͕։ൃͨ͠ɻ ϏοτϚοϓσΟεϓϨΠ Ϛε ϋΠύʔςΩετ /-4
ʹΞϥϯɾέΠΛத৺ʹ9FSPY 1"3$Ͱ։ൃ͞Εͨɻ ΦϒδΣΫτࢦˍ(6*ϕʔεͷ04 ύʔιφϧίϯϐϡʔλͷ࠷ॳͷܗ σεΫτοϓϝλϑΝ ΦʔόʔϥοϐϯάΟϯυ ϓϩάϥϛϯάڥ !TVNJN 4NBMMUBML
5FTMFS -BSSZ
IUUQTZPVUVCF%IN[$**:
l"QFSTPOBMIJTUPSZPGNPEFMFTTUFYUFEJUJOHBOEDVUDPQZQBTUFz-BSSZ5FTMFS
None
(SBQIJDBM6TFS*OUFSGBDF 0CKFDU0SJFOUFE6TFS*OUFSGBDF 0CKFDUˠ7FSC ରʹରͯ͠ɺಇ͖ΛδΣενϟͰࢦࣔ͢ΔʢάϥϑΟοΫˍϙΠϯςΟϯάʣ ίϯϐϡʔλΛɺڞ࣌తʗۭؒతͳͷͱͯ͠ଊ͑ͨૢ࡞ମܥʢϞʔυϨεʣ
l4NBMMUBMLͷΦϒδΣΫτࢦੑඇৗʹࣔࠦతͰ͋ͬͨɻʢதུʣ நతͳγϯϘϧͷͰɺͦΕɺ࠷ॳʹΦϒδΣΫτ໊Λهड़͠ ͯͦͯͦ͠ΕʹԿΛ͢Δ͔Λࢦࣔ͢ΔϝοηʔδΛ͚Δɻ۩ମతͳ ϢʔβʔΠϯλʔϑΣʔεͷͰɺͦΕ࠷ॳʹΦϒδΣΫτΛબ ͢Δ͜ͱΛҙຯ͍ͯ͠ΔɻͦΕ͔ΒԿ͕͍ͨ͠ͷ͔Λϝχϡʔʹ Αͬͯఏࣔ͢ΔɻͲͪΒͷ߹ͰɺΦϒδΣΫτ͕ઌͰ͋ΓɺΓ ͍ͨ͜ͱ͕ͦͷ࣍ͱͳ͍ͬͯΔɻ͜Ε۩ମతͳͷͱநతͳͷ ͱΛߴ͍࣍ݩͰ౷߹͍ͯ͠Δɻz ΞϥϯɾέΠ
lΦϒδΣΫτࢦϓϩάϥϛϯάɺίϯϐϡʔλਓؒͷਫ਼ਆΛ֦ு͠ ͨͷͰ͋Δͱ͍͏Τϯήϧόʔτͷߏ͔Βੜͨ͡ɻΞϥϯɾέΠͷ %ZOBCPPLߏۙ͠͠ʹ͓͚Δϥοϓτοϓ1$ͷઌۦͱ͞Εͯ ͍Δͷ͕ͩɺ͜Ε͜ͷΑ͏ͳߏͷయܕͩͱݴ͑Α͏ɻʢதུʣέΠ ޙʹ͜ͷߏΛιʔείʔυʹ·Ͱ࣋ͪࠐΉͨΊʹɺݴޠΛ࡞͍ͬͯ ΔɻͦΕ͕4NBMMUBMLͰ͋Δɻࣄ࣮ɺΦϒδΣΫτࢦϓϩάϥϛϯάʹ͓ ͚ΔઌۦऀͨͪͷతɺΤϯυϢʔβͷϝϯλϧϞσϧΛίʔυʹ͓͍ ͯͱΒ͑Δ͜ͱͩͬͨɻ͜ΕΒͷߏ͕ࠓͷΘΕΘΕʹͯ͘͠Εͨͷ ɺΠϯλϥΫςΟϒͰάϥϑΟΧϧͳϢʔβΠϯλϑΣʔεͱɺੈͷத ͷϓϩάϥϛϯάʹ͓͚ΔΦϒδΣΫτࢦݴޠͷོͰ͋Δɻz
τϦάϰΣɾϦʔϯεΧΫ
ϞʔυϨεωεͷݪଇ 0CKFDU7FSCͷૢ࡞ߏจ ର͕ݟ͍͑ͯͯɺҙͷॱংͰΞΫηεͰ͖Δ త͔ͭՄٯతͳૢ࡞ ঢ়ଶมԽΛϦΞϧλΠϜʹϑΟʔυόοΫ͢Δ
$PDPB
.VMUJ5BTLJOH ΞϓϦέʔγϣϯৗʹ'PSFHSPVOEɻ ΞϓϦέʔγϣϯʗΠϯυ*OBDUJWFͰ ಈ͖ଓ͚Δɻ IUUQTEFWFMPQFSBQQMFDPNMJCSBSZBSDIJWFEPDVNFOUBUJPO(FOFSBM$PODFQUVBM .049"QQ1SPHSBNNJOH(VJEF$PSF"QQ%FTJHO$PSF"QQ%FTJHOIUNM
3VO-PPQT 3VOMPPQεϨουʹਵ͢ΔجຊతͳΠϯϑ ϥετϥΫνϟͷҰ෦Ͱ͢ɻ3VOMPPQɺ࡞ۀ Λεέδϡʔϧͯ࣍͠ʹདྷΔΠϕϯτͷड৴Λ ௐ͢ΔͨΊʹ༻͢ΔΠϕϯτॲཧϧʔϓͰ ͢ɻ IUUQTEFWFMPQFSBQQMFDPNMJCSBSZBSDIJWFEPDVNFOUBUJPO$PDPB$PODFQUVBM .VMUJUISFBEJOH3VO-PPQ.BOBHFNFOU3VO-PPQ.BOBHFNFOUIUNM
'JSTU3FTQPOEFST 'JSTUSFTQPOEFSҰൠʹɺϢʔβʔ͕Ϛε· ͨΩʔϘʔυͰબ·ͨΞΫςΟϒԽ͢Δ ϢʔβʔΠϯλʔϑΣʔεΦϒδΣΫτͰ͢ɻ ͦΕ௨ৗɺΠϕϯτ·ͨΞΫγϣϯϝο ηʔδΛड৴͢ΔϨεϙϯμνΣʔϯͷ࠷ॳ ͷΦϒδΣΫτͰ͢ɻ IUUQTEFWFMPQFSBQQMFDPNMJCSBSZBSDIJWFEPDVNFOUBUJPO$PDPB$PODFQUVBM &WFOU0WFSWJFX&WFOU"SDIJUFDUVSF&WFOU"SDIJUFDUVSFIUNM
0CKFDU7FSC4ZOUBY ॲཧΛಛఆ͢ΔલʹରΛબ͢Δ͜ͱɺ .BDJOUPTIώϡʔϚϯΠϯλʔϑΣʔεͷجຊ తͳಛͰ͢ɻ Ϣʔβʔ͕ରʢ໊ࢺʣΛબ Ϣʔβʔ͕ॲཧʢಈࢺʣΛબ ͜Εl໊ࢺಈࢺύϥμΠϜzͱݺΕ·͢ɻ l4FMFDUJOHz.BDJOUPTI)VNBO*OUFSGBDF(VJEFMJOFT
5BSHFU"DUJPO ϢʔβʔΠϯλʔϑΣΠε্ͷίϯτϩʔϧͷ ׂγϯϓϧͰ͢ϢʔβʔͷҙਤΛղऍ͠ɺ ͦͷཁٻΛ࣮ߦ͢ΔΑ͏ʹଞͷΦϒδΣΫτʹ ࢦࣔ͢Δ͜ͱͰ͢ɻ 5BSHFU"DUJPOͷϝΧχζϜʹΑΓɺίϯτϩʔ ϧʢηϧʣɺΞϓϦέʔγϣϯݻ༗ͷ໋ྩΛ దͳΦϒδΣΫτૹΔͷʹඞཁͳใΛΧ ϓηϧԽͰ͖·͢ɻ IUUQTEFWFMPQFSBQQMFDPNMJCSBSZBSDIJWFEPDVNFOUBUJPO(FOFSBM$PODFQUVBM
$PDPB&ODZDMPQFEJB5BSHFU"DUJPO5BSHFU"DUJPOIUNMBQQMF@SFGEPDVJE 51$)48 aButton.title = @"Button"; aButton.target = aTargetObject; aButton.action = @selector(doSomething:);
%SBHBOE%SPQ $PDPBΛ༻͢ΔͱɺΞϓϦέʔγϣϯͱΞ ϓϦέʔγϣϯؒͷ྆ํͰߴͳυϥοάΞϯ υυϩοϓػೳΛ࣮Ͱ͖·͢ɻ /4%SBHHJOH4PVSDF /4%SBHHJOH*UFN /4%SBHHJOH4FTTJPO
/4%SBHHJOH%FTUJOBUJPO /4%SBHHJOH*OGP IUUQTEFWFMPQFSBQQMFDPNMJCSBSZBSDIJWFEPDVNFOUBUJPO$PDPB$PODFQUVBM %SBHBOE%SPQ%SBHBOE%SPQIUNMBQQMF@SFGEPDVJE48 %SBH %SBHHJOH 4PVSDF 1BTUFCPBSE %SBHHJOH %FTUJOBUJPO %SPQ %SBHHJOH 4FTTJPO
"VUPTBWJOH ͋ͳͨৗʹɺσʔλʹՃ͑ΒΕͨมߋͷอଘ ΛϢʔβʔ͕खಈͰߦ͏͜ͱΛڧཁ͠ͳ͍Α͏ ʹ͠·͢ɻͦͷ͔ΘΓɺࣗಈσʔλอଘΛ࣮ ͍ͯͩ͘͠͞ɻ/4%PDVNFOUͷϚϧνΠϯυ ΞϓϦͰɺࣗಈอଘ؆୯Ͱ͢ɻ ΞϓϦ͕ऴྃ͢Δ࣌ ΞϓϦ͕EFBDUJWBUF͞ΕΔ࣌
ΞϓϦΛӅͨ࣌͠ ΞϓϦͰσʔλ͕มߋ͞Εͨ࣌ IUUQTEFWFMPQFSBQQMFDPNMJCSBSZBSDIJWFEPDVNFOUBUJPO(FOFSBM$PODFQUVBM .049"QQ1SPHSBNNJOH(VJEF$PSF"QQ%FTJHO$PSF"QQ%FTJHOIUNM
$PDPB#JOEJOHT $PDPBCJOEJOHTɺϞσϧ͕ΞϓϦέʔγϣϯ σʔλΛΧϓηϧԽ͠ɺϏϡʔ͕σʔλͷදࣔ ͱฤूΛߦ͍ɺͦͯ͠ίϯτϩʔϥʔ͕྆ऀͷ ؒΛऔΓ࣋ͭͱ͍͏ɺ.PEFM7JFX$POUSPMMFSύ ϥμΠϜΛΞϓϦέʔγϣϯͰશʹ࣮͢ ΔͨΊͷςΫϊϩδʔͷू·ΓͰ͢ɻ IUUQTEFWFMPQFSBQQMFDPNMJCSBSZBSDIJWFEPDVNFOUBUJPO$PDPB$PODFQUVBM $PDPB#JOEJOHT$PDPB#JOEJOHTIUNM
0CKFDU$POUSPMMFS $PDPBCJOEJOHTʹରԠͨ͠ίϯτϩʔϥʔɻί ϯςϯτΦϒδΣΫτͷϓϩύςΟΛϢʔβʔ ΠϯλʔϑΣʔεཁૉʹόΠϯυ͠ɺͷΞ ΫηεͱมߋΛՄೳʹ͢Δɻ /40CKFDU$POUSPMMFS /4"SSBZ$POUSPMMFS 5BCMF7JFX
/45SFF$POUSPMMFS 0VUMJOF7JFX 5BCMF$PMVNO %BUB"SSBZ "SSBZ$POUSPMMFS 5FYU'JFME 5FYU'JFME selectedObjects[0] IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOBQQLJUOTPCKFDUDPOUSPMMFS
3FQSFTFOUFE0CKFDU ͜ͷϓϩύςΟࢦఆ͞ΕͨΦϒδΣΫτΛϦ ςΠϯ͠·͢ɻίϐʔͰ͋Γ·ͤΜɻͭ·Γ Ϩγʔόʔද͞ΕͨΦϒδΣΫτͱରͷ ؔΛ࣋ͪɺΞτϦϏϡʔτͱͯ͠ॴ༗͠· ͤΜɻ SFQSFTFOUFE0CKFDU͔Β࢝·ΔΩʔύεΛͬ ͯɺ7JFX$POUSPMMFSʢଞʣͱίϯτϩʔϧΛό ΠϯυͰ͖·͢ɻ IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOBQQLJUOTWJFXDPOUSPMMFS
SFQSFTFOUFEPCKFDU "SSBZ$POUSPMMFS selectedObjects[0] .FOV*UFN representedObject 7JFX$POUSPMMFS representedObject
$PNCJOF $PNCJOF࣌ؒͷܦաͱͱʹΛॲཧ͢Δͨ Ίͷ౷ҰతͳએݴܕϑϨʔϜϫʔΫͰ͢ɻωο τϫʔΩϯάɺ,FZ7BMVFࢹɺ௨ɺίʔϧ όοΫͳͲͷඇಉظίʔυΛ୯७Խ͠·͢ɻ 1VCMJTIFSσʔλΛੜ͢Δ 4VCTDSJCFSσʔλΛड͚औΔ
0QFSBUPSσʔλͷ߹ՃΛߦ͏ IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED NEW
8SBQVQ
None
.PEFMFTTBOE.PEBM IUUQTNPEFMFTTEFTJHODPNNPEFMFTTBOENPEBM ϞʔυϨεͲ͔͜Βདྷ͔ͨrΦϒδΣΫτࢦ6*ͷىݯr IUUQTNPEFMFTTEFTJHODPNCBDLESPQ ϞʔυϨεɾϢʔβʔΠϯλʔϑΣʔε IUUQTXXXTPDJPNFEJBDPKQ 0069rΦϒδΣΫτϕʔεͷ6*ϞσϦϯά IUUQTXXXTPDJPNFEJBDPKQ 006*ͷͯ IUUQTXXXTPDJPNFEJBDPKQ
"IJTUPSZPG"QQMF)*(UBCMFPGDPOUFOUTrUIFQIJMPTPQIZBOEQSJODJQMFT IUUQTNPEFMFTTEFTJHODPNCBDLESPQ 5XJUUFS !NBOBCVVFOP
.BOBCV6FOP