SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
Crossing the Resolution Divide
spanning an application across multiple devices



             Cyrene Domogalla

              James Ketrenos
Who we are



       Cyrene Domogalla
         Intel Interaction and Graphics Designer


       James Ketrenos
         Intel Software Architect and Developer




2
So many choices…


    MeeGo can run on a variety of resolutions and display sizes
                       -Some examples-


     Handset                    Tablet
     800x480 – 4” – 233PPI      1024x768 – 10” – 119PPI
     864x480 – 3.67” – 269PPI   1360x768 – 11.6” – 135PPI
     960x640 – 3.5” – 326PPI




3
So what?




4
Impact Graphics


       Status bar is 30px tall and designed
                                                    150PPI
        for 150PPI

           Seen on target 150PPI screen: ~5mm
                                                    110PPI
               (25.4mm/inch * 30px / 150px/inch)

           Seen on 330PPI screen: 2.3mm
                                                    330PPI
           Seen on 110PPI screen: ~7mm




5
Impact Layout




6
Impact Interaction


       Touchable areas
           Higher PPI devices makes buttons
            smaller and hard to hit
       Gesture: Tap vs. Pan
           “Tap” – 'down' and 'up' within a specific
            period of time and little movement
           “Pan” – 'down' and more than a little
            movement
       If movement threshold is defined in pixels
        then on high PPI handsets, triggering the
        “Tap” becomes difficult.

7
Impact Legibility


       Fonts... similar to the graphics problem
       Compounded by device usage – reading distance
           “96DPI” desktop world defined to make fonts look
            (roughly) the same size as on paper given
            recommended viewing distance




8
What's the solution?




9
Density Independence

     Specify the graphics and layout in physical units




          Write your app using MeeGo.Ux.Units



10
What is MeeGo.Ux.Units?


        QML element which ties into the display density (similar
         to QtMobility DisplayInfo)
            Uses QX11Info::appDpiX()
            Assumes square pixels – developers interested in
             non-square pixels can base similar code on
             DisplayInfo's full display metrics




11
MeeGo.Ux.Units properties




                real mm - Pixels per millimeter
                  real inch - Pixels per inch
               real vp - Pixels per "virtual-pixel"




12
A note on rounding


           The properties returned by Units are non-integer
                 units.mm is 4.3307087 on a 110PPI display


            Working directly with units.mm = non-integer #s
               Introduces crawling and inconsistent pixel layout




13
Solution?




14
Use MeeGo.Ux.Units' conversion functions




15
MeeGo.Ux.Units functions



        int mm2px (real millimeters)

        int inch2px (real inches)

        int vp2px (real virtualPixels)




16
What is a virtual pixel?

        A virtual pixel is the size of a pixel on a normalized 330PPI
         device.
        Allows graphics to be designed “pixel perfect” while
         maintaining density independence
            A single pixel border specified in mm/inches can
             introduce too much rounding error




17
Getting MeeGo.Ux.Units



     $ git clone git://meego.gitorious.org/meego-ux/meego-ux-components
     $ cd meego-ux-components
     $ qmake
     $ make && sudo make install




18
Example!


            import Qt 4.7
            import MeeGo.Ux.Units 0.1

            Rectangle {
              Units { id: units }
              width: units.mm2px(100.0)
              height: units.mm2px(50.0)
            }




19
But... units only get you so far!




20
Scaling and Layout

      „Scaling up‟ preserves layout but not aesthetics




21
Scaling and Layout

       A UI can‟t always just be scaled to fit the device specs.




22
Scaling Down

      The paradigm likely will not fit
      The UI may need to be completely redesigned




       www.funny-cat-pictures.com/




23
The problem with scaling

      It is better to have a higher resolution image and scale
      down than be stuck with an inflexible low res image




24
The problem with scaling

      Sometimes you just have to make pixel perfect sized
      graphics for a larger or smaller design.
      This is especially important when dealing with icons.




25
Design  Theme

        Separate your graphics from your icons
            Icons are typically fixed size and connote a contextual
             meaning.
            Graphics are used to create your layout - they provide
             the backgrounds, borders, and color but do not add
             any specific meaning.
        Use BorderImage with sci files




26
Crash course on „BorderImage‟

        BorderImage breaks images into 9 blocks
        Border dimensions specifies which region of graphical
         asset to scale when filling



                  BorderImage with 4           Result when applied to
                  pixel border on each         a 200x32 element
                  side




27
Crash course on SCI


          QML allows you to specify the border
            dimensions directly in the QML




28
Crash course on SCI


          However this is not designer friendly and
         could require code change with a graphics
                           update




29
Crash course on SCI


                 Instead – use SCI files




30
Crash course on SCI

SCI example

 Instead of:                  Use:
      BorderImage {             BorderImage {
        source: “frame.png”       source: “frame.sci”
        border.top: 4           }
        border.right: 4
        border.bottom: 4        and in frame.sci:
        border.left: 4
      }                         source: frame.jpg
                                border.top: 4
                                border.right: 4
                                border.bottom: 4
                                border.left: 4




31
Generating Assets




32
Vector graphics


        Make sure your graphics are as scalable as possible.
            Vector based graphics
            Benefits of a vector graphic are -- super powers.
             They're based on math instead of pixels. You can
             easily manipulate them; they are easily update-able.
            You can use scripts to pull them out of the application
             they are in.




33
The pretty pieces


        Regardless of your ability to use SVGs in MeeGo currently, graphics
         made as SVG standard compliant will help you in the long run




34
Tools

      Commercial:
         Photoshop and Illustrator
      Open source
         Gimp and Inkscape


      Illustrator and Inkscape are your vector programs
      Gimp and Photoshop are better for layout




35
Interaction Best Practices




36
Interaction Best Methods

      Think about how the user would hold the device
         Does this effect your layout?
         Does it need to change when the orientation changes


      Where are the fingers likely to be?
         Sides and bottom work well
         Top is often a good spot for actions used less often




37
Interaction Best Methods




       Keep your user in the know. Do your best to keep the
       context of the interaction

       How can you use animations to describe the touch
       interaction?




38
Interaction Best Methods




       Negative Space is your ally.




39
Interaction Best Methods




       If you can, prototype.




40
Interaction Best Methods

       Being clever can be brilliant or it can be trouble, so be
       carefull!


       Basically stick to the paradigms. It is tempting to re-invent,
       but if it is confusing it is useless.


       Use the components; they're there to help!




41
MeeGo Future

                         SVG support in theming
     Automatic change if device density changes (screen migration)
     Enhance BorderImage to support virtual pixel borders in .sci files
            Pixel perfect size preference vs. automatic scaling
              User and device specified font scaling support
                        Input resolution properties




42
Demo!




43

Weitere ähnliche Inhalte

Was ist angesagt?

Cg film and animation presentation
Cg film and animation presentationCg film and animation presentation
Cg film and animation presentationMeng Eu
 
Application of 3d max for 3d development and rendering and its merits
Application of 3d max for 3d development and rendering and its merits Application of 3d max for 3d development and rendering and its merits
Application of 3d max for 3d development and rendering and its merits Bismi S
 
Animation
AnimationAnimation
Animationvrashi
 
3d animation software
3d animation software3d animation software
3d animation softwareisiNCE
 
Nickolay Ivanov (Pavilion Studio): Motion Graphics
Nickolay Ivanov (Pavilion Studio): Motion Graphics Nickolay Ivanov (Pavilion Studio): Motion Graphics
Nickolay Ivanov (Pavilion Studio): Motion Graphics Provectus
 
Mechanical 3D product animation – Development Process
Mechanical 3D product animation – Development ProcessMechanical 3D product animation – Development Process
Mechanical 3D product animation – Development ProcessSowmiya Siva
 
About Motion graphics by Karriem A muhammad
About Motion graphics  by Karriem A muhammadAbout Motion graphics  by Karriem A muhammad
About Motion graphics by Karriem A muhammadKarriem A Muhammad
 
3 d computer graphics software
3 d computer graphics software3 d computer graphics software
3 d computer graphics softwareAfnan Asem
 
Introduction to computer graphics
Introduction to computer graphicsIntroduction to computer graphics
Introduction to computer graphicsKamal Acharya
 

Was ist angesagt? (20)

Cg film and animation presentation
Cg film and animation presentationCg film and animation presentation
Cg film and animation presentation
 
Vfx Terminologies with Examples
Vfx Terminologies with ExamplesVfx Terminologies with Examples
Vfx Terminologies with Examples
 
Application of 3d max for 3d development and rendering and its merits
Application of 3d max for 3d development and rendering and its merits Application of 3d max for 3d development and rendering and its merits
Application of 3d max for 3d development and rendering and its merits
 
Visual effects(VFX)
Visual effects(VFX)Visual effects(VFX)
Visual effects(VFX)
 
Animation
AnimationAnimation
Animation
 
Multimedia chapter 5
Multimedia chapter 5Multimedia chapter 5
Multimedia chapter 5
 
Motion Graphics Vs VFX
Motion Graphics Vs VFXMotion Graphics Vs VFX
Motion Graphics Vs VFX
 
Motion graphics
Motion graphicsMotion graphics
Motion graphics
 
Visual effects
Visual effectsVisual effects
Visual effects
 
3d animation software
3d animation software3d animation software
3d animation software
 
Nickolay Ivanov (Pavilion Studio): Motion Graphics
Nickolay Ivanov (Pavilion Studio): Motion Graphics Nickolay Ivanov (Pavilion Studio): Motion Graphics
Nickolay Ivanov (Pavilion Studio): Motion Graphics
 
Mechanical 3D product animation – Development Process
Mechanical 3D product animation – Development ProcessMechanical 3D product animation – Development Process
Mechanical 3D product animation – Development Process
 
About Motion graphics by Karriem A muhammad
About Motion graphics  by Karriem A muhammadAbout Motion graphics  by Karriem A muhammad
About Motion graphics by Karriem A muhammad
 
3 d computer graphics software
3 d computer graphics software3 d computer graphics software
3 d computer graphics software
 
Ch06
Ch06Ch06
Ch06
 
Introduction to computer graphics
Introduction to computer graphicsIntroduction to computer graphics
Introduction to computer graphics
 
Ch07
Ch07Ch07
Ch07
 
Computer graphics ppt
Computer graphics pptComputer graphics ppt
Computer graphics ppt
 
lecture1 introduction to computer graphics(Computer graphics tutorials)
lecture1 introduction to computer graphics(Computer graphics tutorials)lecture1 introduction to computer graphics(Computer graphics tutorials)
lecture1 introduction to computer graphics(Computer graphics tutorials)
 
Understanding 2D Animation
Understanding 2D AnimationUnderstanding 2D Animation
Understanding 2D Animation
 

Andere mochten auch

Edtc6340 63 s_villaneda_copyright
Edtc6340 63 s_villaneda_copyrightEdtc6340 63 s_villaneda_copyright
Edtc6340 63 s_villaneda_copyrightpeanut_05
 
Svillaneda 5375 multimedia_project
Svillaneda 5375 multimedia_projectSvillaneda 5375 multimedia_project
Svillaneda 5375 multimedia_projectpeanut_05
 
¿Sabes Emplear el Poder del NO?
¿Sabes Emplear el Poder del NO?¿Sabes Emplear el Poder del NO?
¿Sabes Emplear el Poder del NO?Mario Cardeña
 
Gestión Adecuada de la Tecnología para Alcanzar el Éxito
Gestión Adecuada de la Tecnología para Alcanzar el ÉxitoGestión Adecuada de la Tecnología para Alcanzar el Éxito
Gestión Adecuada de la Tecnología para Alcanzar el ÉxitoMario Cardeña
 
Edtc634063svillanedacopyright 111003001404-phpapp01
Edtc634063svillanedacopyright 111003001404-phpapp01Edtc634063svillanedacopyright 111003001404-phpapp01
Edtc634063svillanedacopyright 111003001404-phpapp01peanut_05
 
Edtc6340 63 s_villaneda_copyright
Edtc6340 63 s_villaneda_copyrightEdtc6340 63 s_villaneda_copyright
Edtc6340 63 s_villaneda_copyrightpeanut_05
 
ITA Overview Brief 2
ITA Overview   Brief 2ITA Overview   Brief 2
ITA Overview Brief 2kcheaney
 
Grails in 5mins (2010-v0.3)
Grails in 5mins (2010-v0.3)Grails in 5mins (2010-v0.3)
Grails in 5mins (2010-v0.3)David Trattnig
 
Yearbook 12 13
Yearbook 12 13Yearbook 12 13
Yearbook 12 13peanut_05
 
FINAL PAPER Vibration and Stochastic Wave Response of a TLP
FINAL PAPER Vibration and Stochastic Wave Response of a TLPFINAL PAPER Vibration and Stochastic Wave Response of a TLP
FINAL PAPER Vibration and Stochastic Wave Response of a TLPJoshua Harris
 
muscular - neurvous tissue
muscular - neurvous tissuemuscular - neurvous tissue
muscular - neurvous tissueReiss Perez
 
документация о закрытом аукционе
документация о закрытом аукционедокументация о закрытом аукционе
документация о закрытом аукционеmail2442
 

Andere mochten auch (18)

Edtc6340 63 s_villaneda_copyright
Edtc6340 63 s_villaneda_copyrightEdtc6340 63 s_villaneda_copyright
Edtc6340 63 s_villaneda_copyright
 
Svillaneda 5375 multimedia_project
Svillaneda 5375 multimedia_projectSvillaneda 5375 multimedia_project
Svillaneda 5375 multimedia_project
 
Ladies night out summer 2011 photo show
Ladies night out summer 2011 photo showLadies night out summer 2011 photo show
Ladies night out summer 2011 photo show
 
¿Sabes Emplear el Poder del NO?
¿Sabes Emplear el Poder del NO?¿Sabes Emplear el Poder del NO?
¿Sabes Emplear el Poder del NO?
 
TAREA DIANA ARANA UTE
TAREA DIANA ARANA UTETAREA DIANA ARANA UTE
TAREA DIANA ARANA UTE
 
Gestión Adecuada de la Tecnología para Alcanzar el Éxito
Gestión Adecuada de la Tecnología para Alcanzar el ÉxitoGestión Adecuada de la Tecnología para Alcanzar el Éxito
Gestión Adecuada de la Tecnología para Alcanzar el Éxito
 
Edtc634063svillanedacopyright 111003001404-phpapp01
Edtc634063svillanedacopyright 111003001404-phpapp01Edtc634063svillanedacopyright 111003001404-phpapp01
Edtc634063svillanedacopyright 111003001404-phpapp01
 
Edtc6340 63 s_villaneda_copyright
Edtc6340 63 s_villaneda_copyrightEdtc6340 63 s_villaneda_copyright
Edtc6340 63 s_villaneda_copyright
 
A Falta de Líderes
A Falta de LíderesA Falta de Líderes
A Falta de Líderes
 
Mogotix
MogotixMogotix
Mogotix
 
ITA Overview Brief 2
ITA Overview   Brief 2ITA Overview   Brief 2
ITA Overview Brief 2
 
Grails in 5mins (2010-v0.3)
Grails in 5mins (2010-v0.3)Grails in 5mins (2010-v0.3)
Grails in 5mins (2010-v0.3)
 
Yearbook 12 13
Yearbook 12 13Yearbook 12 13
Yearbook 12 13
 
FINAL PAPER Vibration and Stochastic Wave Response of a TLP
FINAL PAPER Vibration and Stochastic Wave Response of a TLPFINAL PAPER Vibration and Stochastic Wave Response of a TLP
FINAL PAPER Vibration and Stochastic Wave Response of a TLP
 
muscular - neurvous tissue
muscular - neurvous tissuemuscular - neurvous tissue
muscular - neurvous tissue
 
документация о закрытом аукционе
документация о закрытом аукционедокументация о закрытом аукционе
документация о закрытом аукционе
 
Muscular system
Muscular systemMuscular system
Muscular system
 
Cell Structure
Cell StructureCell Structure
Cell Structure
 

Ähnlich wie Crossing the Resolution Divide with Density Independence

High DPI for desktop applications
High DPI for desktop applicationsHigh DPI for desktop applications
High DPI for desktop applicationsKirill Grouchnikov
 
Данило Ульянич “C89 OpenGL for ARM microcontrollers on Cortex-M. Basic functi...
Данило Ульянич “C89 OpenGL for ARM microcontrollers on Cortex-M. Basic functi...Данило Ульянич “C89 OpenGL for ARM microcontrollers on Cortex-M. Basic functi...
Данило Ульянич “C89 OpenGL for ARM microcontrollers on Cortex-M. Basic functi...Lviv Startup Club
 
Computer class Software/Hardware Presentation
Computer class Software/Hardware PresentationComputer class Software/Hardware Presentation
Computer class Software/Hardware Presentationtreynolds5
 
Digital graphics technology
Digital graphics technologyDigital graphics technology
Digital graphics technologyhaverstockmedia
 
Digital Graphics Technology
Digital Graphics TechnologyDigital Graphics Technology
Digital Graphics Technologyhaverstockmedia
 
Digital Graphics Technology
Digital Graphics TechnologyDigital Graphics Technology
Digital Graphics Technologyhaverstockmedia
 
Digital graphics technology
Digital graphics technologyDigital graphics technology
Digital graphics technologyhaverstockmedia
 
Digital graphics technology
Digital graphics technologyDigital graphics technology
Digital graphics technologyhaverstockmedia
 
Better DITA Graphics for a Multi-Screen World
Better DITA Graphics for a Multi-Screen WorldBetter DITA Graphics for a Multi-Screen World
Better DITA Graphics for a Multi-Screen WorldJoe Pairman
 
Digital graphics technology
Digital graphics technologyDigital graphics technology
Digital graphics technologyhadilasharif
 
Tech Talk July 29 - Pixel
Tech Talk July 29 - Pixel Tech Talk July 29 - Pixel
Tech Talk July 29 - Pixel Indosystem
 
Resolution Independent Icon Design
Resolution Independent Icon DesignResolution Independent Icon Design
Resolution Independent Icon DesignThomas Immich
 
Supporting multiple screens on android
Supporting multiple screens on androidSupporting multiple screens on android
Supporting multiple screens on androidLi SUN
 
Unit 13 assignment 1 report
Unit 13 assignment 1 reportUnit 13 assignment 1 report
Unit 13 assignment 1 reporthaverstockmedia
 

Ähnlich wie Crossing the Resolution Divide with Density Independence (20)

Pixel Perfect
Pixel PerfectPixel Perfect
Pixel Perfect
 
High DPI for desktop applications
High DPI for desktop applicationsHigh DPI for desktop applications
High DPI for desktop applications
 
Данило Ульянич “C89 OpenGL for ARM microcontrollers on Cortex-M. Basic functi...
Данило Ульянич “C89 OpenGL for ARM microcontrollers on Cortex-M. Basic functi...Данило Ульянич “C89 OpenGL for ARM microcontrollers on Cortex-M. Basic functi...
Данило Ульянич “C89 OpenGL for ARM microcontrollers on Cortex-M. Basic functi...
 
Computer class Software/Hardware Presentation
Computer class Software/Hardware PresentationComputer class Software/Hardware Presentation
Computer class Software/Hardware Presentation
 
Digital graphics technology
Digital graphics technologyDigital graphics technology
Digital graphics technology
 
Digital Graphics Technology
Digital Graphics TechnologyDigital Graphics Technology
Digital Graphics Technology
 
Digital Graphics Technology
Digital Graphics TechnologyDigital Graphics Technology
Digital Graphics Technology
 
Digital graphics technology
Digital graphics technologyDigital graphics technology
Digital graphics technology
 
Digital graphics technology
Digital graphics technologyDigital graphics technology
Digital graphics technology
 
Better DITA Graphics for a Multi-Screen World
Better DITA Graphics for a Multi-Screen WorldBetter DITA Graphics for a Multi-Screen World
Better DITA Graphics for a Multi-Screen World
 
Digital graphics technology
Digital graphics technologyDigital graphics technology
Digital graphics technology
 
Bitmap and vector
Bitmap and vectorBitmap and vector
Bitmap and vector
 
Tech Talk July 29 - Pixel
Tech Talk July 29 - Pixel Tech Talk July 29 - Pixel
Tech Talk July 29 - Pixel
 
Resolution Independent Icon Design
Resolution Independent Icon DesignResolution Independent Icon Design
Resolution Independent Icon Design
 
(2) gui drawing
(2) gui drawing(2) gui drawing
(2) gui drawing
 
Supporting multiple screens on android
Supporting multiple screens on androidSupporting multiple screens on android
Supporting multiple screens on android
 
Graphics file
Graphics fileGraphics file
Graphics file
 
Unit 13 assignment 1 report
Unit 13 assignment 1 reportUnit 13 assignment 1 report
Unit 13 assignment 1 report
 
Seminar5.1
Seminar5.1Seminar5.1
Seminar5.1
 
divide and qonquer
divide and qonquerdivide and qonquer
divide and qonquer
 

Crossing the Resolution Divide with Density Independence

  • 1. Crossing the Resolution Divide spanning an application across multiple devices Cyrene Domogalla James Ketrenos
  • 2. Who we are Cyrene Domogalla Intel Interaction and Graphics Designer James Ketrenos Intel Software Architect and Developer 2
  • 3. So many choices… MeeGo can run on a variety of resolutions and display sizes -Some examples- Handset Tablet 800x480 – 4” – 233PPI 1024x768 – 10” – 119PPI 864x480 – 3.67” – 269PPI 1360x768 – 11.6” – 135PPI 960x640 – 3.5” – 326PPI 3
  • 5. Impact Graphics  Status bar is 30px tall and designed 150PPI for 150PPI  Seen on target 150PPI screen: ~5mm 110PPI  (25.4mm/inch * 30px / 150px/inch)  Seen on 330PPI screen: 2.3mm 330PPI  Seen on 110PPI screen: ~7mm 5
  • 7. Impact Interaction  Touchable areas  Higher PPI devices makes buttons smaller and hard to hit  Gesture: Tap vs. Pan  “Tap” – 'down' and 'up' within a specific period of time and little movement  “Pan” – 'down' and more than a little movement  If movement threshold is defined in pixels then on high PPI handsets, triggering the “Tap” becomes difficult. 7
  • 8. Impact Legibility  Fonts... similar to the graphics problem  Compounded by device usage – reading distance  “96DPI” desktop world defined to make fonts look (roughly) the same size as on paper given recommended viewing distance 8
  • 10. Density Independence Specify the graphics and layout in physical units Write your app using MeeGo.Ux.Units 10
  • 11. What is MeeGo.Ux.Units?  QML element which ties into the display density (similar to QtMobility DisplayInfo)  Uses QX11Info::appDpiX()  Assumes square pixels – developers interested in non-square pixels can base similar code on DisplayInfo's full display metrics 11
  • 12. MeeGo.Ux.Units properties real mm - Pixels per millimeter real inch - Pixels per inch real vp - Pixels per "virtual-pixel" 12
  • 13. A note on rounding The properties returned by Units are non-integer units.mm is 4.3307087 on a 110PPI display Working directly with units.mm = non-integer #s Introduces crawling and inconsistent pixel layout 13
  • 16. MeeGo.Ux.Units functions  int mm2px (real millimeters)  int inch2px (real inches)  int vp2px (real virtualPixels) 16
  • 17. What is a virtual pixel?  A virtual pixel is the size of a pixel on a normalized 330PPI device.  Allows graphics to be designed “pixel perfect” while maintaining density independence  A single pixel border specified in mm/inches can introduce too much rounding error 17
  • 18. Getting MeeGo.Ux.Units $ git clone git://meego.gitorious.org/meego-ux/meego-ux-components $ cd meego-ux-components $ qmake $ make && sudo make install 18
  • 19. Example! import Qt 4.7 import MeeGo.Ux.Units 0.1 Rectangle { Units { id: units } width: units.mm2px(100.0) height: units.mm2px(50.0) } 19
  • 20. But... units only get you so far! 20
  • 21. Scaling and Layout „Scaling up‟ preserves layout but not aesthetics 21
  • 22. Scaling and Layout A UI can‟t always just be scaled to fit the device specs. 22
  • 23. Scaling Down The paradigm likely will not fit The UI may need to be completely redesigned www.funny-cat-pictures.com/ 23
  • 24. The problem with scaling It is better to have a higher resolution image and scale down than be stuck with an inflexible low res image 24
  • 25. The problem with scaling Sometimes you just have to make pixel perfect sized graphics for a larger or smaller design. This is especially important when dealing with icons. 25
  • 26. Design  Theme  Separate your graphics from your icons  Icons are typically fixed size and connote a contextual meaning.  Graphics are used to create your layout - they provide the backgrounds, borders, and color but do not add any specific meaning.  Use BorderImage with sci files 26
  • 27. Crash course on „BorderImage‟  BorderImage breaks images into 9 blocks  Border dimensions specifies which region of graphical asset to scale when filling BorderImage with 4 Result when applied to pixel border on each a 200x32 element side 27
  • 28. Crash course on SCI QML allows you to specify the border dimensions directly in the QML 28
  • 29. Crash course on SCI However this is not designer friendly and could require code change with a graphics update 29
  • 30. Crash course on SCI Instead – use SCI files 30
  • 31. Crash course on SCI SCI example Instead of: Use: BorderImage { BorderImage { source: “frame.png” source: “frame.sci” border.top: 4 } border.right: 4 border.bottom: 4 and in frame.sci: border.left: 4 } source: frame.jpg border.top: 4 border.right: 4 border.bottom: 4 border.left: 4 31
  • 33. Vector graphics  Make sure your graphics are as scalable as possible.  Vector based graphics  Benefits of a vector graphic are -- super powers. They're based on math instead of pixels. You can easily manipulate them; they are easily update-able.  You can use scripts to pull them out of the application they are in. 33
  • 34. The pretty pieces  Regardless of your ability to use SVGs in MeeGo currently, graphics made as SVG standard compliant will help you in the long run 34
  • 35. Tools Commercial: Photoshop and Illustrator Open source Gimp and Inkscape Illustrator and Inkscape are your vector programs Gimp and Photoshop are better for layout 35
  • 37. Interaction Best Methods Think about how the user would hold the device Does this effect your layout? Does it need to change when the orientation changes Where are the fingers likely to be? Sides and bottom work well Top is often a good spot for actions used less often 37
  • 38. Interaction Best Methods Keep your user in the know. Do your best to keep the context of the interaction How can you use animations to describe the touch interaction? 38
  • 39. Interaction Best Methods Negative Space is your ally. 39
  • 40. Interaction Best Methods If you can, prototype. 40
  • 41. Interaction Best Methods Being clever can be brilliant or it can be trouble, so be carefull! Basically stick to the paradigms. It is tempting to re-invent, but if it is confusing it is useless. Use the components; they're there to help! 41
  • 42. MeeGo Future SVG support in theming Automatic change if device density changes (screen migration) Enhance BorderImage to support virtual pixel borders in .sci files Pixel perfect size preference vs. automatic scaling User and device specified font scaling support Input resolution properties 42