SlideShare a Scribd company logo
Porting Tips:
                         iOS to Android

                         OpenMIC #16
                             @ Exeter University
                                15 Feb 2013




   Elliot Long
   @elroid
Monday, 18 February 13
Agenda
                         • Why port?
                         • UI Structural Considerations
                         • UI Style Considerations
                         • Responsive Design
                         • Testing/Distribution
                         • Android specialties
Monday, 18 February 13
Porting?

                         Port [pohrt] Vb
                         To translate software to run on a different
                         computer and/or operating system. 




Monday, 18 February 13
Porting?

                         Port [pohrt] Vb
                         To rewrite an application so it works on a
                         different platform, using some common
                         assets where possible




Monday, 18 February 13
Why Android?




Monday, 18 February 13
Why not web-apps?

                              e.g.
                           PhoneGap
                          Appcelerator
                             Corona
                          FlashBuilder




Monday, 18 February 13
One size does not fit all



Monday, 18 February 13
One size does not fit all*



Monday, 18 February 13
*...unless you’re making a
                     game




Monday, 18 February 13
So what’s so different?




Monday, 18 February 13
So what’s so different?
                         Buttons, mainly.




Monday, 18 February 13
#1: We don’t need that on-screen back button




Monday, 18 February 13
#2: Menu options are there if you need them




                         [with menu key]   [without menu key]
Monday, 18 February 13
#2: Menu options are there if you need them

                         ...and for compatibilty
                            with older apps....




Monday, 18 February 13
#3a Tabs: Should be at the very least
                                be moved to the top...




Monday, 18 February 13
#3b Tabs: ...and preferably look more android like...




              ActionbarSherlock
                      +
               HoloEverywhere



Monday, 18 February 13
#3b Tabs: ...and preferably look more android like...




            jgilfelt.github.com/android-actionbarstylegenerator
Monday, 18 February 13
#3c Tabs: ...or ideally ditched altogether




Monday, 18 February 13
#3d: Life without tabs: the 3rd way




Monday, 18 February 13
#3d: Life without tabs: the 3rd way




                         github.com/jfeinstein10/SlidingMenu
Monday, 18 February 13
Style: General guidelines


                            •Not quite so rounded
                            •16:9 not 3:2




Monday, 18 February 13
Style: UITableView vs LinearLayout



                                 •No rounded corners
                                 •No lines to the edge!
                                 •No chevrons
                                 •Accordions? Hmm...




Monday, 18 February 13
Style: UITableView vs ListView


                                Separate each row
                                      --or--
                                  Put them in a
                                scrolling rounded
                                     window




Monday, 18 February 13
Style: 9Patch images




                    http://weblookandfeel.com/nine-patch-editor/
         iOS5 equivalent:
         cap insets

Monday, 18 February 13
Style: 9Patch images




               http://weblookandfeel.com/nine-patch-editor/

Monday, 18 February 13
Style: Button states

            In iOS you get lovely
            blueness for free




               No free lunch for
               android, need
               several states for
               all buttons


Monday, 18 February 13
Style: Icons




        http://developer.android.com/guide/practices/ui_guidelines/icon_design_launcher.html

     Tip: Android tablets icons come from the “next bucket
     up” e.g. the Nexus 10 is an xhdpi device, but will use
     icons from the xxhdpi bucket

Monday, 18 February 13
Style: Switch Buttons


                  Not supported by ABS or
                  HoloEverywhere (yet)

                  Pretty easy to do with
                  images (extend
                  CompoundButton or use an
                  ImageView)




Monday, 18 February 13
Style: Fonts


  Can use TrueType fonts
  (like iOS5)

  Not straightforward...

  But do you really need
  them....?




Monday, 18 February 13
Roboto in ICS+




Monday, 18 February 13
Roboto before ICS

                            Roboto Regular
                             Roboto Bold
                             Roboto Italic

                         But you can use roboto.ttf for < ICS


Monday, 18 February 13
Style: Densities




                                     ldpi - 0.5x
                                     mdpi - 1x
                                     hdpi - 1.5x
                                     xhdpi - 2x
                                     xxhdpi - 2.5x?
                         http://developer.android.com/guide/practices/
                                      screens_support.html
Monday, 18 February 13
iPhone 3
                         HTC Dream (G1)
Monday, 18 February 13
Nexus 1
Monday, 18 February 13
HTC Sensation
Monday, 18 February 13
HTC Sensation   iPhone 4s (640x960)
Monday, 18 February 13
Galaxy Nexus
Monday, 18 February 13
Sony Xperia Z
Monday, 18 February 13
Android   iPhone




Monday, 18 February 13
Vodafone 858

Monday, 18 February 13
Responsive Design
                         Do Use:
                         •LinearLayout, RelativeLayout
                         •layout_weight, match_parent, wrap_content
                         •dps for measurements, sp for fonts

                         Do not use:
                         •AbsoluteLayout
                         •px for interface measurements
                         •dp for fonts
                           (sp takes user font size pref into account)


Monday, 18 February 13
Testing & Distribution

                                                iPhone                       Android


                            Type              Simulator                     Emulator

                                        Quicker, not as suitable for      Slower, more
                          Suitability     debugging, esp multi-
                                                 threaded                   accurate

                                            Provisioning                 Share a link to
                         Beta Testing
                                               (doh!)                        APK

                                                                              Up to 50mb
                         Binary Size         Up to 2GB                 +2 x 2GB extension packs



Monday, 18 February 13
Don’t forget - Android
                 does things iOS doesn’t!


Monday, 18 February 13
Android Specialties
    •Background processes




Monday, 18 February 13
Android Specialties
    •Background processes
    •Intent-filter: BROWSABLE




Monday, 18 February 13
Android Specialties
    •Background processes
    •Intent-filter: BROWSABLE
    •Widgets




Monday, 18 February 13
Android Specialties
    •Background processes
    •Intent-filter: BROWSABLE
    •Widgets
    •Rich notifications




Monday, 18 February 13
Android Specialties
    •Background processes
    •Intent-filter: BROWSABLE
    •Widgets
    •Rich notifications
    •NFC




Monday, 18 February 13
Useful Resources
        actionbarsherlock.com                        www.holoeverywhere.com
                           developer.android.com/design
             developer.android.com/guide/practices/ui_guidelines/icon_design_launcher.html


                               www.androidpatterns.com

                                    Sliding Menu
                         github.com/jfeinstein10/SlidingMenu


                                Actionbar Style Generator
                 jgilfelt.github.com/android-actionbarstylegenerator

Monday, 18 February 13
Useful Resources




                                www.jetbrains.com/idea




Monday, 18 February 13
Questions?



   Elliot Long
   @elroid




Monday, 18 February 13

More Related Content

Similar to Porting Tips: iOS to Android

From HTML5 to Hardware - Simonyi Conference Budapest April 15
From HTML5 to Hardware - Simonyi Conference Budapest April 15From HTML5 to Hardware - Simonyi Conference Budapest April 15
From HTML5 to Hardware - Simonyi Conference Budapest April 15
Jan Jongboom
 
01 Mobile Web Introduction
01 Mobile Web Introduction01 Mobile Web Introduction
01 Mobile Web Introduction
Ynon Perek
 
IA Ondernemen met innovatieve apps. Wim Vanhenden. Sessie 2
IA Ondernemen met innovatieve apps. Wim Vanhenden. Sessie 2IA Ondernemen met innovatieve apps. Wim Vanhenden. Sessie 2
IA Ondernemen met innovatieve apps. Wim Vanhenden. Sessie 2
Ikinnoveer
 
Paranoid Android
Paranoid AndroidParanoid Android
Paranoid Android
Mobile İstanbul
 
Native Javascript apps with PhoneGap
Native Javascript apps with PhoneGapNative Javascript apps with PhoneGap
Native Javascript apps with PhoneGap
Martin de Keijzer
 
A survey of robotics in Ruby
A survey of robotics in RubyA survey of robotics in Ruby
A survey of robotics in Ruby
Adam Dill
 
RailsConf 2013: RubyMotion
RailsConf 2013: RubyMotionRailsConf 2013: RubyMotion
RailsConf 2013: RubyMotion
Brian Sam-Bodden
 
Mobile vs Desktop
Mobile vs DesktopMobile vs Desktop
Mobile vs Desktop
C.T.Co
 
A Multiplatform, Multi-Tenant Challenge - Droidcon Lisbon 2023
A Multiplatform, Multi-Tenant Challenge - Droidcon Lisbon 2023A Multiplatform, Multi-Tenant Challenge - Droidcon Lisbon 2023
A Multiplatform, Multi-Tenant Challenge - Droidcon Lisbon 2023
Pedro Vicente
 
Hybrid Mobile Web Apps with Sencha Touch 2
Hybrid Mobile Web Apps with Sencha Touch 2Hybrid Mobile Web Apps with Sencha Touch 2
Hybrid Mobile Web Apps with Sencha Touch 2
Martin de Keijzer
 
Greg Isenberg: My Million Dollar Product Mistake
Greg Isenberg: My Million Dollar Product MistakeGreg Isenberg: My Million Dollar Product Mistake
Greg Isenberg: My Million Dollar Product Mistake
Dealmaker Media
 
Codemotion 2013 - presentación cocoa pods
Codemotion  2013 -  presentación cocoa podsCodemotion  2013 -  presentación cocoa pods
Codemotion 2013 - presentación cocoa pods
Jorge Maroto
 
Building Blocks for the Internet of Things @ Home
Building Blocks for the Internet of Things @ HomeBuilding Blocks for the Internet of Things @ Home
Building Blocks for the Internet of Things @ Home
David Janes
 
iOS Ecosystem
iOS EcosystemiOS Ecosystem
iOS Ecosystem
Matteo Battaglio
 
Using Erlang on the RaspberryPi to interact with the physical world
Using Erlang on the RaspberryPi to interact with the physical worldUsing Erlang on the RaspberryPi to interact with the physical world
Using Erlang on the RaspberryPi to interact with the physical world
Brian Chamberlain
 
Postmortem: "Spellcreepers"
Postmortem: "Spellcreepers"Postmortem: "Spellcreepers"
Postmortem: "Spellcreepers"
IndieOutpost
 
Cross-platform tools for mobile application development
Cross-platform tools for mobile application developmentCross-platform tools for mobile application development
Cross-platform tools for mobile application development
bertouttier
 

Similar to Porting Tips: iOS to Android (17)

From HTML5 to Hardware - Simonyi Conference Budapest April 15
From HTML5 to Hardware - Simonyi Conference Budapest April 15From HTML5 to Hardware - Simonyi Conference Budapest April 15
From HTML5 to Hardware - Simonyi Conference Budapest April 15
 
01 Mobile Web Introduction
01 Mobile Web Introduction01 Mobile Web Introduction
01 Mobile Web Introduction
 
IA Ondernemen met innovatieve apps. Wim Vanhenden. Sessie 2
IA Ondernemen met innovatieve apps. Wim Vanhenden. Sessie 2IA Ondernemen met innovatieve apps. Wim Vanhenden. Sessie 2
IA Ondernemen met innovatieve apps. Wim Vanhenden. Sessie 2
 
Paranoid Android
Paranoid AndroidParanoid Android
Paranoid Android
 
Native Javascript apps with PhoneGap
Native Javascript apps with PhoneGapNative Javascript apps with PhoneGap
Native Javascript apps with PhoneGap
 
A survey of robotics in Ruby
A survey of robotics in RubyA survey of robotics in Ruby
A survey of robotics in Ruby
 
RailsConf 2013: RubyMotion
RailsConf 2013: RubyMotionRailsConf 2013: RubyMotion
RailsConf 2013: RubyMotion
 
Mobile vs Desktop
Mobile vs DesktopMobile vs Desktop
Mobile vs Desktop
 
A Multiplatform, Multi-Tenant Challenge - Droidcon Lisbon 2023
A Multiplatform, Multi-Tenant Challenge - Droidcon Lisbon 2023A Multiplatform, Multi-Tenant Challenge - Droidcon Lisbon 2023
A Multiplatform, Multi-Tenant Challenge - Droidcon Lisbon 2023
 
Hybrid Mobile Web Apps with Sencha Touch 2
Hybrid Mobile Web Apps with Sencha Touch 2Hybrid Mobile Web Apps with Sencha Touch 2
Hybrid Mobile Web Apps with Sencha Touch 2
 
Greg Isenberg: My Million Dollar Product Mistake
Greg Isenberg: My Million Dollar Product MistakeGreg Isenberg: My Million Dollar Product Mistake
Greg Isenberg: My Million Dollar Product Mistake
 
Codemotion 2013 - presentación cocoa pods
Codemotion  2013 -  presentación cocoa podsCodemotion  2013 -  presentación cocoa pods
Codemotion 2013 - presentación cocoa pods
 
Building Blocks for the Internet of Things @ Home
Building Blocks for the Internet of Things @ HomeBuilding Blocks for the Internet of Things @ Home
Building Blocks for the Internet of Things @ Home
 
iOS Ecosystem
iOS EcosystemiOS Ecosystem
iOS Ecosystem
 
Using Erlang on the RaspberryPi to interact with the physical world
Using Erlang on the RaspberryPi to interact with the physical worldUsing Erlang on the RaspberryPi to interact with the physical world
Using Erlang on the RaspberryPi to interact with the physical world
 
Postmortem: "Spellcreepers"
Postmortem: "Spellcreepers"Postmortem: "Spellcreepers"
Postmortem: "Spellcreepers"
 
Cross-platform tools for mobile application development
Cross-platform tools for mobile application developmentCross-platform tools for mobile application development
Cross-platform tools for mobile application development
 

Recently uploaded

ITR Filing for the year of the 2023-24 .pdf
ITR Filing for the year of the 2023-24 .pdfITR Filing for the year of the 2023-24 .pdf
ITR Filing for the year of the 2023-24 .pdf
shyamraj39
 
Surface Analysis Civil 3D using different tools
Surface Analysis Civil 3D using different toolsSurface Analysis Civil 3D using different tools
Surface Analysis Civil 3D using different tools
ManashChatterjee3
 
Analysis-of-Finance-Bill-2024-13-May-2024_-002.pdf
Analysis-of-Finance-Bill-2024-13-May-2024_-002.pdfAnalysis-of-Finance-Bill-2024-13-May-2024_-002.pdf
Analysis-of-Finance-Bill-2024-13-May-2024_-002.pdf
Dennoh5
 
Pranay Mhatre Introduction cum Portfolio
Pranay Mhatre Introduction cum PortfolioPranay Mhatre Introduction cum Portfolio
Pranay Mhatre Introduction cum Portfolio
Pranay Мhatre
 
Acclerating_the_energy_transition_Microsoft_x_WindEurope_1711355110.pdf
Acclerating_the_energy_transition_Microsoft_x_WindEurope_1711355110.pdfAcclerating_the_energy_transition_Microsoft_x_WindEurope_1711355110.pdf
Acclerating_the_energy_transition_Microsoft_x_WindEurope_1711355110.pdf
ssuserdee4d8
 
Colonial Architecture Legacy Unveiling Its Design Influence.pdf
Colonial Architecture Legacy Unveiling Its Design Influence.pdfColonial Architecture Legacy Unveiling Its Design Influence.pdf
Colonial Architecture Legacy Unveiling Its Design Influence.pdf
waleedmustafa31
 
Carleton University degree offer diploma Transcript
Carleton University degree offer diploma TranscriptCarleton University degree offer diploma Transcript
Carleton University degree offer diploma Transcript
eamhs
 
2024 Creating truly accessible forms, Ladies that UX Seattle
2024 Creating truly accessible forms, Ladies that UX Seattle2024 Creating truly accessible forms, Ladies that UX Seattle
2024 Creating truly accessible forms, Ladies that UX Seattle
Caroline Jarrett
 
2024_summer_my_dream_from_gnjpuser_20240708
2024_summer_my_dream_from_gnjpuser_202407082024_summer_my_dream_from_gnjpuser_20240708
2024_summer_my_dream_from_gnjpuser_20240708
kousato1
 
The Stone (Slideshow by: Kal-el Marcus Renne Go)
The Stone (Slideshow by: Kal-el Marcus Renne Go)The Stone (Slideshow by: Kal-el Marcus Renne Go)
The Stone (Slideshow by: Kal-el Marcus Renne Go)
Kal-el Shows
 
This is Diva abaya look book portfolio .pdf
This is Diva abaya look book portfolio .pdfThis is Diva abaya look book portfolio .pdf
This is Diva abaya look book portfolio .pdf
divathisis
 
A Green City is an urban area that prioritizes sustainability
A Green City is an urban area that prioritizes sustainabilityA Green City is an urban area that prioritizes sustainability
A Green City is an urban area that prioritizes sustainability
Mostafa Abd Elrahman
 
Zaha-Hadids-Influence-on-Modern-Architecture.pdf
Zaha-Hadids-Influence-on-Modern-Architecture.pdfZaha-Hadids-Influence-on-Modern-Architecture.pdf
Zaha-Hadids-Influence-on-Modern-Architecture.pdf
Mostafa Abd Elrahman
 
When the Storm Attacks Summer (Slideshow by: Kal-el)
When the Storm Attacks Summer (Slideshow by: Kal-el)When the Storm Attacks Summer (Slideshow by: Kal-el)
When the Storm Attacks Summer (Slideshow by: Kal-el)
Kal-el Shows
 
bedsores20-9-14-150627122143-lva1-app6892.pptx
bedsores20-9-14-150627122143-lva1-app6892.pptxbedsores20-9-14-150627122143-lva1-app6892.pptx
bedsores20-9-14-150627122143-lva1-app6892.pptx
gameransh001
 
Gender Equity in Architecture: Cultural Anthropology in Design Ideologies
Gender Equity in Architecture: Cultural Anthropology in Design IdeologiesGender Equity in Architecture: Cultural Anthropology in Design Ideologies
Gender Equity in Architecture: Cultural Anthropology in Design Ideologies
Aditi Sh.
 
S S Bhavikatti Civil Engineering Structural Designing
S S Bhavikatti Civil Engineering Structural DesigningS S Bhavikatti Civil Engineering Structural Designing
S S Bhavikatti Civil Engineering Structural Designing
SuvamoyPanja
 
Fear and Faith (Slideshow by: Kal-el Go)
Fear and Faith (Slideshow by: Kal-el Go)Fear and Faith (Slideshow by: Kal-el Go)
Fear and Faith (Slideshow by: Kal-el Go)
Kal-el Shows
 
2024_summer_my_dream_gnjp_20240705_ks.pdf
2024_summer_my_dream_gnjp_20240705_ks.pdf2024_summer_my_dream_gnjp_20240705_ks.pdf
2024_summer_my_dream_gnjp_20240705_ks.pdf
kousato1
 
How Can UI/UX Mastery Increase the Success of Your SaaS Pricing Page?
How Can UI/UX Mastery Increase the Success of Your SaaS Pricing Page?How Can UI/UX Mastery Increase the Success of Your SaaS Pricing Page?
How Can UI/UX Mastery Increase the Success of Your SaaS Pricing Page?
YellowSlice1
 

Recently uploaded (20)

ITR Filing for the year of the 2023-24 .pdf
ITR Filing for the year of the 2023-24 .pdfITR Filing for the year of the 2023-24 .pdf
ITR Filing for the year of the 2023-24 .pdf
 
Surface Analysis Civil 3D using different tools
Surface Analysis Civil 3D using different toolsSurface Analysis Civil 3D using different tools
Surface Analysis Civil 3D using different tools
 
Analysis-of-Finance-Bill-2024-13-May-2024_-002.pdf
Analysis-of-Finance-Bill-2024-13-May-2024_-002.pdfAnalysis-of-Finance-Bill-2024-13-May-2024_-002.pdf
Analysis-of-Finance-Bill-2024-13-May-2024_-002.pdf
 
Pranay Mhatre Introduction cum Portfolio
Pranay Mhatre Introduction cum PortfolioPranay Mhatre Introduction cum Portfolio
Pranay Mhatre Introduction cum Portfolio
 
Acclerating_the_energy_transition_Microsoft_x_WindEurope_1711355110.pdf
Acclerating_the_energy_transition_Microsoft_x_WindEurope_1711355110.pdfAcclerating_the_energy_transition_Microsoft_x_WindEurope_1711355110.pdf
Acclerating_the_energy_transition_Microsoft_x_WindEurope_1711355110.pdf
 
Colonial Architecture Legacy Unveiling Its Design Influence.pdf
Colonial Architecture Legacy Unveiling Its Design Influence.pdfColonial Architecture Legacy Unveiling Its Design Influence.pdf
Colonial Architecture Legacy Unveiling Its Design Influence.pdf
 
Carleton University degree offer diploma Transcript
Carleton University degree offer diploma TranscriptCarleton University degree offer diploma Transcript
Carleton University degree offer diploma Transcript
 
2024 Creating truly accessible forms, Ladies that UX Seattle
2024 Creating truly accessible forms, Ladies that UX Seattle2024 Creating truly accessible forms, Ladies that UX Seattle
2024 Creating truly accessible forms, Ladies that UX Seattle
 
2024_summer_my_dream_from_gnjpuser_20240708
2024_summer_my_dream_from_gnjpuser_202407082024_summer_my_dream_from_gnjpuser_20240708
2024_summer_my_dream_from_gnjpuser_20240708
 
The Stone (Slideshow by: Kal-el Marcus Renne Go)
The Stone (Slideshow by: Kal-el Marcus Renne Go)The Stone (Slideshow by: Kal-el Marcus Renne Go)
The Stone (Slideshow by: Kal-el Marcus Renne Go)
 
This is Diva abaya look book portfolio .pdf
This is Diva abaya look book portfolio .pdfThis is Diva abaya look book portfolio .pdf
This is Diva abaya look book portfolio .pdf
 
A Green City is an urban area that prioritizes sustainability
A Green City is an urban area that prioritizes sustainabilityA Green City is an urban area that prioritizes sustainability
A Green City is an urban area that prioritizes sustainability
 
Zaha-Hadids-Influence-on-Modern-Architecture.pdf
Zaha-Hadids-Influence-on-Modern-Architecture.pdfZaha-Hadids-Influence-on-Modern-Architecture.pdf
Zaha-Hadids-Influence-on-Modern-Architecture.pdf
 
When the Storm Attacks Summer (Slideshow by: Kal-el)
When the Storm Attacks Summer (Slideshow by: Kal-el)When the Storm Attacks Summer (Slideshow by: Kal-el)
When the Storm Attacks Summer (Slideshow by: Kal-el)
 
bedsores20-9-14-150627122143-lva1-app6892.pptx
bedsores20-9-14-150627122143-lva1-app6892.pptxbedsores20-9-14-150627122143-lva1-app6892.pptx
bedsores20-9-14-150627122143-lva1-app6892.pptx
 
Gender Equity in Architecture: Cultural Anthropology in Design Ideologies
Gender Equity in Architecture: Cultural Anthropology in Design IdeologiesGender Equity in Architecture: Cultural Anthropology in Design Ideologies
Gender Equity in Architecture: Cultural Anthropology in Design Ideologies
 
S S Bhavikatti Civil Engineering Structural Designing
S S Bhavikatti Civil Engineering Structural DesigningS S Bhavikatti Civil Engineering Structural Designing
S S Bhavikatti Civil Engineering Structural Designing
 
Fear and Faith (Slideshow by: Kal-el Go)
Fear and Faith (Slideshow by: Kal-el Go)Fear and Faith (Slideshow by: Kal-el Go)
Fear and Faith (Slideshow by: Kal-el Go)
 
2024_summer_my_dream_gnjp_20240705_ks.pdf
2024_summer_my_dream_gnjp_20240705_ks.pdf2024_summer_my_dream_gnjp_20240705_ks.pdf
2024_summer_my_dream_gnjp_20240705_ks.pdf
 
How Can UI/UX Mastery Increase the Success of Your SaaS Pricing Page?
How Can UI/UX Mastery Increase the Success of Your SaaS Pricing Page?How Can UI/UX Mastery Increase the Success of Your SaaS Pricing Page?
How Can UI/UX Mastery Increase the Success of Your SaaS Pricing Page?
 

Porting Tips: iOS to Android

  • 1. Porting Tips: iOS to Android OpenMIC #16 @ Exeter University 15 Feb 2013 Elliot Long @elroid Monday, 18 February 13
  • 2. Agenda • Why port? • UI Structural Considerations • UI Style Considerations • Responsive Design • Testing/Distribution • Android specialties Monday, 18 February 13
  • 3. Porting? Port [pohrt] Vb To translate software to run on a different computer and/or operating system.  Monday, 18 February 13
  • 4. Porting? Port [pohrt] Vb To rewrite an application so it works on a different platform, using some common assets where possible Monday, 18 February 13
  • 6. Why not web-apps? e.g. PhoneGap Appcelerator Corona FlashBuilder Monday, 18 February 13
  • 7. One size does not fit all Monday, 18 February 13
  • 8. One size does not fit all* Monday, 18 February 13
  • 9. *...unless you’re making a game Monday, 18 February 13
  • 10. So what’s so different? Monday, 18 February 13
  • 11. So what’s so different? Buttons, mainly. Monday, 18 February 13
  • 12. #1: We don’t need that on-screen back button Monday, 18 February 13
  • 13. #2: Menu options are there if you need them [with menu key] [without menu key] Monday, 18 February 13
  • 14. #2: Menu options are there if you need them ...and for compatibilty with older apps.... Monday, 18 February 13
  • 15. #3a Tabs: Should be at the very least be moved to the top... Monday, 18 February 13
  • 16. #3b Tabs: ...and preferably look more android like... ActionbarSherlock + HoloEverywhere Monday, 18 February 13
  • 17. #3b Tabs: ...and preferably look more android like... jgilfelt.github.com/android-actionbarstylegenerator Monday, 18 February 13
  • 18. #3c Tabs: ...or ideally ditched altogether Monday, 18 February 13
  • 19. #3d: Life without tabs: the 3rd way Monday, 18 February 13
  • 20. #3d: Life without tabs: the 3rd way github.com/jfeinstein10/SlidingMenu Monday, 18 February 13
  • 21. Style: General guidelines •Not quite so rounded •16:9 not 3:2 Monday, 18 February 13
  • 22. Style: UITableView vs LinearLayout •No rounded corners •No lines to the edge! •No chevrons •Accordions? Hmm... Monday, 18 February 13
  • 23. Style: UITableView vs ListView Separate each row --or-- Put them in a scrolling rounded window Monday, 18 February 13
  • 24. Style: 9Patch images http://weblookandfeel.com/nine-patch-editor/ iOS5 equivalent: cap insets Monday, 18 February 13
  • 25. Style: 9Patch images http://weblookandfeel.com/nine-patch-editor/ Monday, 18 February 13
  • 26. Style: Button states In iOS you get lovely blueness for free No free lunch for android, need several states for all buttons Monday, 18 February 13
  • 27. Style: Icons http://developer.android.com/guide/practices/ui_guidelines/icon_design_launcher.html Tip: Android tablets icons come from the “next bucket up” e.g. the Nexus 10 is an xhdpi device, but will use icons from the xxhdpi bucket Monday, 18 February 13
  • 28. Style: Switch Buttons Not supported by ABS or HoloEverywhere (yet) Pretty easy to do with images (extend CompoundButton or use an ImageView) Monday, 18 February 13
  • 29. Style: Fonts Can use TrueType fonts (like iOS5) Not straightforward... But do you really need them....? Monday, 18 February 13
  • 30. Roboto in ICS+ Monday, 18 February 13
  • 31. Roboto before ICS Roboto Regular Roboto Bold Roboto Italic But you can use roboto.ttf for < ICS Monday, 18 February 13
  • 32. Style: Densities ldpi - 0.5x mdpi - 1x hdpi - 1.5x xhdpi - 2x xxhdpi - 2.5x? http://developer.android.com/guide/practices/ screens_support.html Monday, 18 February 13
  • 33. iPhone 3 HTC Dream (G1) Monday, 18 February 13
  • 34. Nexus 1 Monday, 18 February 13
  • 36. HTC Sensation iPhone 4s (640x960) Monday, 18 February 13
  • 37. Galaxy Nexus Monday, 18 February 13
  • 38. Sony Xperia Z Monday, 18 February 13
  • 39. Android iPhone Monday, 18 February 13
  • 40. Vodafone 858 Monday, 18 February 13
  • 41. Responsive Design Do Use: •LinearLayout, RelativeLayout •layout_weight, match_parent, wrap_content •dps for measurements, sp for fonts Do not use: •AbsoluteLayout •px for interface measurements •dp for fonts (sp takes user font size pref into account) Monday, 18 February 13
  • 42. Testing & Distribution iPhone Android Type Simulator Emulator Quicker, not as suitable for Slower, more Suitability debugging, esp multi- threaded accurate Provisioning Share a link to Beta Testing (doh!) APK Up to 50mb Binary Size Up to 2GB +2 x 2GB extension packs Monday, 18 February 13
  • 43. Don’t forget - Android does things iOS doesn’t! Monday, 18 February 13
  • 44. Android Specialties •Background processes Monday, 18 February 13
  • 45. Android Specialties •Background processes •Intent-filter: BROWSABLE Monday, 18 February 13
  • 46. Android Specialties •Background processes •Intent-filter: BROWSABLE •Widgets Monday, 18 February 13
  • 47. Android Specialties •Background processes •Intent-filter: BROWSABLE •Widgets •Rich notifications Monday, 18 February 13
  • 48. Android Specialties •Background processes •Intent-filter: BROWSABLE •Widgets •Rich notifications •NFC Monday, 18 February 13
  • 49. Useful Resources actionbarsherlock.com www.holoeverywhere.com developer.android.com/design developer.android.com/guide/practices/ui_guidelines/icon_design_launcher.html www.androidpatterns.com Sliding Menu github.com/jfeinstein10/SlidingMenu Actionbar Style Generator jgilfelt.github.com/android-actionbarstylegenerator Monday, 18 February 13
  • 50. Useful Resources www.jetbrains.com/idea Monday, 18 February 13
  • 51. Questions? Elliot Long @elroid Monday, 18 February 13