Your SlideShare is downloading. ×
Porting Tips: iOS to Android
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Porting Tips: iOS to Android

7,633

Published on

This is a collection of tips I've accumulated during my experience of porting iOS apps to Android. It accompanied a talk i gave at openMIC#16 in Exeter, UK on 15 Feb 2013

This is a collection of tips I've accumulated during my experience of porting iOS apps to Android. It accompanied a talk i gave at openMIC#16 in Exeter, UK on 15 Feb 2013

Published in: Design
3 Comments
7 Likes
Statistics
Notes
  • It may me a good idea to let 3d party developers bring your startup to Android. There are companies like http://www.furdei.systems who has already had experience in such tasks and know how to meet all the challenges.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Great insights, thanks.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • a very good presentation, thanks
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
7,633
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
3
Likes
7
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Porting Tips: iOS to Android OpenMIC #16 @ Exeter University 15 Feb 2013 Elliot Long @elroidMonday, 18 February 13
  • 2. Agenda • Why port? • UI Structural Considerations • UI Style Considerations • Responsive Design • Testing/Distribution • Android specialtiesMonday, 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 possibleMonday, 18 February 13
  • 5. Why Android?Monday, 18 February 13
  • 6. Why not web-apps? e.g. PhoneGap Appcelerator Corona FlashBuilderMonday, 18 February 13
  • 7. One size does not fit allMonday, 18 February 13
  • 8. One size does not fit all*Monday, 18 February 13
  • 9. *...unless you’re making a gameMonday, 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 buttonMonday, 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 + HoloEverywhereMonday, 18 February 13
  • 17. #3b Tabs: ...and preferably look more android like... jgilfelt.github.com/android-actionbarstylegeneratorMonday, 18 February 13
  • 18. #3c Tabs: ...or ideally ditched altogetherMonday, 18 February 13
  • 19. #3d: Life without tabs: the 3rd wayMonday, 18 February 13
  • 20. #3d: Life without tabs: the 3rd way github.com/jfeinstein10/SlidingMenuMonday, 18 February 13
  • 21. Style: General guidelines •Not quite so rounded •16:9 not 3:2Monday, 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 windowMonday, 18 February 13
  • 24. Style: 9Patch images http://weblookandfeel.com/nine-patch-editor/ iOS5 equivalent: cap insetsMonday, 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 buttonsMonday, 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 bucketMonday, 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 < ICSMonday, 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.htmlMonday, 18 February 13
  • 33. iPhone 3 HTC Dream (G1)Monday, 18 February 13
  • 34. Nexus 1Monday, 18 February 13
  • 35. HTC SensationMonday, 18 February 13
  • 36. HTC Sensation iPhone 4s (640x960)Monday, 18 February 13
  • 37. Galaxy NexusMonday, 18 February 13
  • 38. Sony Xperia ZMonday, 18 February 13
  • 39. Android iPhoneMonday, 18 February 13
  • 40. Vodafone 858Monday, 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 packsMonday, 18 February 13
  • 43. Don’t forget - Android does things iOS doesn’t!Monday, 18 February 13
  • 44. Android Specialties •Background processesMonday, 18 February 13
  • 45. Android Specialties •Background processes •Intent-filter: BROWSABLEMonday, 18 February 13
  • 46. Android Specialties •Background processes •Intent-filter: BROWSABLE •WidgetsMonday, 18 February 13
  • 47. Android Specialties •Background processes •Intent-filter: BROWSABLE •Widgets •Rich notificationsMonday, 18 February 13
  • 48. Android Specialties •Background processes •Intent-filter: BROWSABLE •Widgets •Rich notifications •NFCMonday, 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-actionbarstylegeneratorMonday, 18 February 13
  • 50. Useful Resources www.jetbrains.com/ideaMonday, 18 February 13
  • 51. Questions? Elliot Long @elroidMonday, 18 February 13

×