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
再設計される業務 - AIにより再設計される "デザインワークフロー" / AI Ops Lab #2 Redesigned orkflows
kgsi
0
720
Design dependencies
teba_eleven
0
130
情報を翻訳する-伝わる可視化3原則とオープンデータ活用-
hjmkth
1
280
「ツール」から「パートナー」へ。AI伴走時代のUXデザインとは?~操作を減らし、成果を最大にするための設計~
ncdc
1
670
全員がアウトプットを出せる時代、 誰を採用する?
nishame
0
580
2026年5月24日Redesigner Career Jamご参加者様ご案内資料
base
PRO
0
180
デザインを信じていますか
sekiguchiy
1
1.3k
Storyboard Assignment: Storyboard from Comic Strip
lynteo
3
280
I.A. como meio, não como fim. Como avaliar o valor entregue?
videlvequio
0
380
The Art of Caring
klemens
0
350
コムデマネージャーがプロダクトデザインに挑戦した。むずかしくて楽しかった。
payatsusan213
0
320
ClaudeCodeでマーケターの課題を解決する
kenichiota0711
11
14k
Featured
See All Featured
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
310
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
850
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
170
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
540
The Cult of Friendly URLs
andyhume
79
6.9k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
150
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