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
HiDPI時代のFireworks
Search
Naoki Matsuda
October 25, 2013
Design
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
HiDPI時代のFireworks
Naoki Matsuda
October 25, 2013
More Decks by Naoki Matsuda
See All by Naoki Matsuda
管理画面の全体UXは利用時品質モデルで考える
readymadegogo
2
3.4k
インターフェースのユーザビリティ概論および調査手法について
readymadegogo
0
370
UIデザインのための行動・認知プロセス
readymadegogo
0
240
知っておくと得をする(かもしれない) SVGの基礎とviewBox
readymadegogo
1
170
XDはBeautiful SVGの夢を見るか
readymadegogo
4
1.5k
webフォントを120%活用するための基礎知識&最新動向
readymadegogo
7
3.7k
SVG is on your side @ MTDDC 2018
readymadegogo
6
2.1k
デザインフェーズにおけるワイヤーフレームとの付き合い方@WCAN201802
readymadegogo
5
500
ウェブデザインとセルフブランディング 2018
readymadegogo
2
300
Other Decks in Design
See All in Design
Debiasing Your Software Design Decision-Making @ Flowcon '26
baasie
1
120
デザインツールを開く前に その画面は誰に何と言わせたい?受託UIデザイナーが顧客解像度を高める 「打ち合わせの場での確かめ方」
garyuten
1
110
空間アプリ開発のフィードバックをCodexにするための抽象的なデザインツールの模索
karad
0
150
デザイナーが主導権を握る、AI協業の本音と実践
satosio
7
3.4k
AI時代、デザイナーの価値はどこに?
tararira
2
1.7k
トランジションの冒険 自分と世界を変える冒険の書 / Transition Adventure
dmattsun
2
180
もう迷わない!“なんとなく”を卒業するフォントの選び方【村田俊英】
toshihidemurata
0
750
Design dependencies
teba_eleven
0
140
設計と制作 意図を形に表す / Design and Making: Intent Made Form
usagimaru
3
2k
AI時代に求められるUXデザインのアプローチ
xtone
1
6.6k
CULTURE DECK/Frontend Engineer
mhand01
0
1.4k
「親切なオンボーディング」 が招く罠 ー AI時代のUXデザイン
godlingkogami
1
140
Featured
See All Featured
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
760
GraphQLとの向き合い方2022年版
quramy
50
15k
A Soul's Torment
seathinner
6
3.1k
Utilizing Notion as your number one productivity tool
mfonobong
4
380
Into the Great Unknown - MozCon
thekraken
41
2.6k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
270
Faster Mobile Websites
deanohume
310
32k
Chasing Engaging Ingredients in Design
codingconduct
0
230
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
650
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
300
30 Presentation Tips
portentint
PRO
1
350
Transcript
HiDPI ࣌ͷ Fireworks দాथ Flickr : ebayink
݄ ൃച দాथ
σόΠεͷߴղ૾Խ Retina Display දతͳͷ͕ɺ"QQMFͷ (iPhone 326 ppi) (iPad 264 ppi)
What’s HiDPI ?
HiDPI = ߴϐΫηϧີ = ߴdevice-pixel-ratio
device-pixel-ratio ?
device-pixel-ratio )5.-ίϯςϯπͷQYΛ ࣮ࡍͷσόΠε্Ͱ ԿഒͷQYͰ ඳը͢Δ͔Λࣔ͢
͑ɺͳΜͯʁ は Flickr : 5TBIJ-FWFOU-FWJ
device-pixel-ratio = 2
device-pixel-ratio = 2 @1x Resolution (4dpx) @2x Resolution (16dpx)
<img src="xxx.png" width="320"> device-pixel-ratio = 2
iPhone 4ʙ Android 2 1.5 ͕ଟ͍ device-pixel-ratio 326 ppi 250
ppi
3 device-pixel-ratio INFOBAR A02 Xperia Z HTC J butterfly 440
ppi
ਐΈଓ͚Δɺ σόΠεͷ)J%1*Խ Flickr : Jeffrey
WORKFLOW for HIDPI
J04ΞϓϦσβΠϯͷ3FUJOBରԠ ϫʔΫϑϩʔ͕ʹͳΓ·ͨ͠ IUUQpSFXPSLTTNBTIJOHNBHB[JOFDPNEFTJHOJPTBQQTXJUIBEPCFpSFXPSLT
όγϟϩά3FUJOBରԠ༻ʹϖʔδΛ ͚Δ'JSFXPSLTίϚϯυ IUUQDSFBUJWFUXFFUOFUCMPHSFUJOBJNBHFFYQPSUFSIUNM
ը૾Λ3FUJOBରԠͰॻ͖ग़͢͠Δ 'JSFXPSLTͷ֦ுػೳ࡞ͬͨΑɻ IUUQDSFBUJWFUXFFUOFUCMPHSFUJOBJNBHFFYQPSUFSIUNM
גࣜձࣾ·΅Ζ͠ ·ͭͩͳ͓͖͞Μͷ߹
ΧϯόεɺجຊతʹXQY ϏοτϚοϓ·ͣγϯϘϧԽ !Yͷը૾͚ͩॻ͖ग़͠ !Yͷը૾ҰׅͰʹϦαΠζ $44 47( 8FC'POUTΛ׆༻
Χϯόεԣ෯QY
Χϯόεԣ෯QY 640px w ଟ͘ͷεϚϗͷ ϒϥβ͕ɺԣ෯ QYͳͨΊ w ͦͷ··ॻ͖ग़ͤɺ 3FUJOBରԠՄ w
ίʔμʔ͕ผͷ߹ Ͱɺࣦഊ͢Δ͜ͱ͕ ͳ͍ ϝϦοτ
640px w ͯ͢ͷύʔπɺ ςΩετͷαΠζΛ ഒʹܭࢉ͢Δඞཁ͕ ͋Δ w ࣮ػͷ࣮ੇͱͷࠩҟ͕ ͋ΓɺαΠζײ͕ ͔ͭΈʹ͍͘
σϝϦοτ Χϯόεԣ෯QY
Χϯόεԣ෯QY w ͋ͱ͔Β!Yը૾͕ ࡞Γʹ͍͘ w ϏοτϚοϓΛ ֦େ͢ΔͱྼԽ͢Δ w ςΩετͷϑΥϯτ αΠζ͕͓͔͘͠ͳΔ
w εϥΠε่͕ΕΔ w ॻ͖ग़ͨ͠ޙͰഒʹ Ͱ͖ͳ͍ 320px σϝϦοτ Χϯόε͕ԣ෯QYͩͱ
Χϯόεԣ෯QY ࣮ػͰͷαΠζײ͕ ͔Γʹ͚͘Ε ࡞ͬͨΧϯϓʹɺ ڞ௨ϥΠϒϥϦͷ ʮJ1IPOFˠ)BSEXBSFʯΛ ॏͶͯΈ·͠ΐ͏ ը໘͕QYʹͳ͍ͬͯ·͢
Χϯόεԣ෯QY ͦΕͰ·ͩɺ ࣮ػͰͷαΠζײ͕ ͔Γʹ͚͘Ε LiveView https://itunes.apple.com/jp/app/liveview/id301069270?mt=8
None
Χϯόεԣ෯QY QYͷେ͖͍αΠζͰ ࡞͓͚ͬͯɺ খ͍͞αΠζͲ͏ͱͰͳΔʂ
ഒͰ࡞Δίπ
ഒͰ࡞Δίπ _ࢀߟ Workflow OptimizationDesign Cutting Edge iOS Apps With Adobe
Fireworks http://fireworks.smashingmagazine.com/2012/12/03/design-ios-apps-with-adobe-fireworks/ ߴ͞ɺ෯ɺCPSEFS෯ɺ ͯ͢ΛۮͰ࡞Δ ʹॖখͨ͠ࡍɺΤοδ͕ ϘέΔͨΊ Why ?
ഒͰ࡞Δίπ _ࢀߟ Workflow OptimizationDesign Cutting Edge iOS Apps With Adobe
Fireworks http://fireworks.smashingmagazine.com/2012/12/03/design-ios-apps-with-adobe-fireworks/ 1IPUPTIPQϥΠϒ ΤϑΣΫτΘͳ͍ ֦େॖখͨ͠ࡍɺൺྫͯ͠ ϦαΠζ͞Εͳ͍ͨΊ Why ?
ഒͰ࡞Δίπ _ࢀߟ Workflow OptimizationDesign Cutting Edge iOS Apps With Adobe
Fireworks http://fireworks.smashingmagazine.com/2012/12/03/design-ios-apps-with-adobe-fireworks/ ؙ֯ɺͳΔ͘ $44Ͱ࣮͢Δ ॖখͨ͠ࡍɺͭͿΕͯ͠·͏ ͜ͱ͕͋ΔͨΊ Why ?
ഒͰ࡞Δίπ ඪ४ͷςΫενϟ Θͳ͍ ςΫενϟഒαΠζ͕ͳ͘ɺ ϦαΠζͰ͖ͳ͍ͨΊ _ࢀߟ Workflow OptimizationDesign Cutting Edge
iOS Apps With Adobe Fireworks http://fireworks.smashingmagazine.com/2012/12/03/design-ios-apps-with-adobe-fireworks/ Why ?
ഒͰ࡞Δίπ Subtle Patterns ߴ࣭ͳςΫενϟΛ !Y !YͷηοτͰ ͍ͯ͠Δ Why ? _ࢀߟ
Subtle Patterns http://subtlepatterns.com
ഒͰ࡞Δίπ In general, bitmaps are your enemy when designing iOS
apps. Ivo Mynttinen ͬ͘͟Γ͍͑ɺJ04ΞϓϦΛ σβΠϯ͢Δ্ͰϏοτϚοϓ ܅ͷఢɺͬͯײ͡ɻ
ϏοτϚοϓγϯϘϧԽ
Χϯόεԣ෯QY άϥϑΟοΫ γϯϘϧ ඇഁյฤू ϏοτϚοϓγϯϘϧԽ͓ͯ͘͠
Χϯόεԣ෯QY άϥϑΟοΫγϯϘϧ ඇഁյฤू w γϯϘϧԽͨ͠ը૾ ֦େॖখΛ܁Γฦͯ͠ ྼԽ͠ͳ͍ w ճసΏ͕ΈΛ Ճ͑ͯɺݩը૾ͷঢ়ଶ
ͦͷ·· w ը૾େ͖Ί QYҎ ্ Ͱ༻ҙ͠ɺ γϯϘϧԽ͔ͯ͠Β େ͖͞Λௐ ϏοτϚοϓΛ ֦େɾॖখɾճస γϯϘϧΛ ֦େɾॖখɾճస ྼԽ อ࣋ ϏοτϚοϓγϯϘϧԽ͓ͯ͘͠
ϏοτϚοϓγϯϘϧԽ͓ͯ͘͠ γϯϘϧͷҙ γϯϘϧͷதͰ ࢉɾεΫϦʔϯͳͲͷ ϨΠϠʔελΠϧ͑ͳ͍ γϯϘϧͷதͷ εϥΠεͷॻ͖ग़͕͠όάΔ ʢ$4ҎԼͷ߹ʣ
ϏοτϚοϓγϯϘϧԽ͓ͯ͘͠ γϯϘϧԽ͓͚ͯ͠ɺ QY͔Β֦େͯ͠͏ͳͲ Ͳ͏ͱͰͳΔʂ
!Yͱ!Yͷը૾ॻ͖ग़͠
!Yͱ!Yͷը૾ॻ͖ग़͠ ·ͣɺ'8͔Β!Yͷը૾Λॻ͖ग़͢ όονͰҰׅͰʹϦαΠζͯ͠!YΛ༻ҙ
!Yͱ!Yͷը૾ॻ͖ग़͠ ํ๏ͦͷ Automator w ʮ!Yʯͷը૾Λෳ w αΠζௐͰʹ ϦαΠζ w ϑΝΠϧ໊͔Β
ʮ!YʯΛআ͢Δ w BQQԽͰ͖ΔͷͰศར
!Yͱ!Yͷը૾ॻ͖ग़͠ @ࢀߟ JQIPOF༻ͷը૾!YQOH͔Β௨ৗͷΛੜ IUUQEIBUFOBOFKQEPPSTJEF Shell Script w pOEͰʮ!Yʯͷ ը૾Λ୳͢ w
TJQTίϚϯυͰԣ෯Λ औಘ w TJQTίϚϯυͰʹ ϦαΠζ w XBUDIͰ͖ͨΓศར #!/bin/sh #dir=$1 find $dir -name "*@2x.*" | while read file; cd $(dirname $0) && pwd do width=`sips --getProperty pixelWidth $file | sed -E "s/.*pixelWidth: ([0-9]+)/ \1/g" | tail -1` width=`expr $width / 2` newFile=`echo $file | sed 's/@2x//'` sips --resampleWidth $width $(basename "$file") --out $(basename "$newFile") done ํ๏ͦͷ
!Yͱ!Yͷը૾ॻ͖ग़͠ w ઌͷҊͱಉ͜͡ͱ͕Մೳ w '8ίϚϯυԽͰ͖Δ w 8JOEPXTͰ0, w ઌͷҊΑΓը࣭͕ ྑ͛͞
w ੜͨ͠ը૾αΠζ͕ ܰΊ FW’s Batch ํ๏ͦͷ
!Y !Yը૾ͷৼΓ͚ʁ
[email protected]
sample-image.png !Y !Yը૾ͷৼΓ͚ K2VFSZͰʮdevicePixelRatioʯΛผ͢Δ EFWJDF1JYFM3BUJP͕ʮʯҎ্ͷσόΠεͰɺ JNHΛʮˎˎˎ!YQOHʯͳͲ ϑΝΠϧ໊ʹ!Y͕͍ͭͨํʹࠩ͠ସ͑Δ sample-image.png
!Y !Yը૾ͷৼΓ͚ K2VFSZͰʮdevicePixelRatioʯΛผ͢Δ $(function(){ if( 'devicePixelRatio' in window && window.devicePixelRatio
> 1 ){ var imgHidpi = $( 'img.hidpi' ).get(); var imgHidpiLength = imgHidpi.length; for (var i=0,l=imgHidpiLength; i<l; i++) { var src = imgHidpi[i].src; src = src.replace(/\.(png|jpg|gif)+$/i, '@2x.$1'); imgHidpi[i].src = src; }; } });
!Y !Yը૾ͷৼΓ͚ @ࢀߟ Adaptation for Retina display http://egorkhmelev.github.com/retina/ Optimising for
High Pixel Density Displays. http://menacingcloud.com/? c=highPixelDensityDisplays
!Y !Yը૾ͷৼΓ͚ Media QueryͰഎܠը૾ΛৼΓ͚Δ .selector { background: url(../sample.png) no-repeat; }
@media (-webkit-min-device-pixel-ratio: 1.5) { .selector { background-image: url(../
[email protected]
); background-size: cover; } }
!Y !Yը૾ͷৼΓ͚ $44ͷʮ-webkit-image-set()ʯͰৼΓ͚Δ .selector { background: ɹɹ-webkit-image-set ( ɹɹɹurl( sample.png
) 1x, ɹɹɹurl(
[email protected]
) 2x ɹ ); }
!Y !Yը૾ͷৼΓ͚ .FEJB2VFSZͷ+4൛ ňwindow.matchMediaʯͰৼΓ͚Δ var mq = window.matchMedia( "only screen
and ( -webkit-min-device-pixel-ratio: 1.5)" ); if(mq.matches) { ... }
!Y !Yը૾ͷৼΓ͚ Cloud ͷը૾ৼΓ͚αʔϏεͰղܾ ReSRC.it http://www.resrc.it/ Sencha.io Src http://www.sencha.com/learn/how-to- use-src-sencha-io/
!Y !Yը૾ͷৼΓ͚ +4ϥΠϒϥϦʮConditionizrʯͰৼΓ͚Δ ߴਫ਼ࡉσόΠεʹͷΈʹద༻ͤ͞Δ +4 $44 $MBTTΛৼΓ͚ΒΕΔ <html class="retina"> <script>
conditionizr({ retina : { scripts: true, styles: true, ɹɹɹɹɹɹɹɹɹɹclasses: true } }); </script> Conditionizr http://conditionizr.com
!Y !Yը૾ͷৼΓ͚ ͨͩɺ͜Ε͔Β!Yͷը૾ඞཁͳ͍͔ w ࠓϞόΠϧσόΠεͷ͕ͯ͢)J%1* w 1$ͷ)J%1*Խ͜Ε͔Βීٴʁ w ͦͦɺ38%ͷීٴͰϐΫηϧʹґଘ ͠ͳ͍σβΠϯ͕ٻΊΒΕΔ
ϏοτϚοϓ
WORKFLOW for HIDPI NO MORE BITMAP
)J%1*ରԠͷ ߴղ૾ͳ ը૾ॏ͍ σόΠεͷ ը໘αΠζ͕ ߋʹଟ༷Խ ϏοτϚοϓը૾ͷ՝
ϐΫηϧύʔϑΣΫτͳ ϏοτϚοϓʹཔΕͳ͍࣌ JNHը૾ࣸਅਤ൛ʹͷΈ͏Α͏ʹͯ͠ɺ ΞΠίϯͳͲͷڞ௨ίϯϙʔωϯτ ϏοτϚοϓΛࢦ͢
'JSFXPSLTతϏοτϚοϓ ͱ͍͏ΑΓɺJNHཁૉ
'JSFXPSLTతϏοτϚοϓ SVG + Web Fonts w ϕΫλʔ 47( ϐΫηϧʹґଘ͠ͳ͍
w '8Ͱ֦ுػೳΛͬͯ 47(ग़ྗͰ͖Δ w 8FC'POUTԽ͢Ε ৭ɾαΠζΛ$44Ͱ༰қʹ มߋՄೳ w ͍ܰ
'JSFXPSLTతϏοτϚοϓ SVG ΛରԠσόΠεͰ͚ͩ͏ <script src="jquery.js"></script> <script src="modernizr.js"></script> <script> if(!Modernizr.svg) {
$('img[src*="svg"]').attr('src', function() { return $(this).attr('src').replace('.svg', '.png'); }); } </script>
'JSFXPSLTతϏοτϚοϓ Data URI Scheme w #BTFܗࣜͰɺ )5.-$44ʹهड़ w H[JQ͕༗ޮʹͳΔ ͍ܰ
w ࣮ɺϏοτϚοϓͰ͕͢ w ม֦ுػೳ͕ग़Δӟ data:image/ png;base64,iVBORw0KGgoAAAANSUhEUgA AAABQCAYAAABoMayFAAAABHNCSVQICAgIf AAAAAlwSFlzAAALEgAACxIB0t1+/ AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRml vcmtzIENTNui8sowAAAJ/ cHJWV3ic7ZffkZswEMZlEclaiSJSgm/ ck5+vHXeSpxSQcQXXRBrIhOxKAvNH4nwzh 1hYBPJvdz+B5F9/f/5W7+q9k+3W3Xi/ drdLd712Vz6eu8ulu/BRdedzd1ad4sdgsP O9t7ABx988MEHH3zwwQcffPDBBx988MEHH +MTb34nK/P3ovsKP9BeVuR72m0v8kOKrs2 iD+FF28L3Q1NZ/z7CQNv49+tK/jQS6Wn+T
'JSFXPSLTతϏοτϚοϓ Data URI Scheme ͷมπʔϧ Data URI Converter http://www.macupdate.com/app/mac/ 46143/data-uri-converter
duri.me a super simple dataURI tool http://duri.me
'JSFXPSLTతϏοτϚοϓ Data URI Scheme ͷมπʔϧ Sublime Text 2 + Image2Base64
https://github.com/tm-minty/sublime-text-2-image2base64
'JSFXPSLTతϏοτϚοϓ @༨ஊ 'JSFXPSLTͷ$44εϓϥΠτ ػೳɺ)J%1*࣌Ͱ ͑ͳ͍ 3FUJOBରԠʢCBDLHSPVOETJ[FΛ ʹʣͯ͘͠Εͳ͍ 4B44 $PNQBTTͳͲʹ ͤͨ΄͏͕͍͍
·ͱΊ Χϯόεɺجຊతʹԣ෯QY ϏοτϚοϓγϯϘϧԽ ͳΔ͘ϕΫλʔʹΑΔύʔπ࡞Γ ͦͷάϥϑΟοΫɺϏοτϚοϓͰ ͋Δ͖͔ʁΛߟ͑Δ $44 47(͕ग़ྗͰ͖Δͷ͕'8ͷڧΈ
࠷ޙʹͻͱ͜ͱ
'JSFXPSLTؔͳ͍ωλ͕ଟͯ͘ ͍͢·ͤΜͰͨ͠
͋Γ͕ͱ͏ ͍͟͝·ͨ͠ দాथ Flickr : 4UFQIFO(FZFS