SlideShare a Scribd company logo
1 of 70
Download to read offline
www.immobilienscout24.de

Mobile Development across
Different Platforms

  Berlin | 13.02.2012 | Hasan Hoşgel & Thomas Kummert
About us ...




Hasan Hoşgel, @alosdev
Senior Developer
Mobile enthusiast,
Man of action
About us ...




 Thomas Kummert,
 @kummibaer
 Developer
 Pragmatic developer
Germany‘s leading
ImmobilienScout24
                                              real-estate portal
                                              550 employees,
                                              170 in the IT




 Seite | Titel der Präsentation | Autor der
 4     Präsentation
Germany‘s leading
ImmobilienScout24
                                              real-estate portal
                                              550 employees,
                                              160 in the IT
 > 6 Million unique users
 > 2 Billion PI
 > 180 Million Expose views
 ~ 1.5 Million active listings
 > 110,000 Vendors
 ... per month
 Seite | Titel der Präsentation | Autor der
 5     Präsentation
Germany‘s leading
ImmobilienScout24
                                              real-estate portal
                                              550 employees,
                                              160 in the IT
 > 6 Million unique users
                                                    2 datacenter
 > 2 Billion PI
                                                    ~100 physical
 > 180 Million Expose views
                                                    ~800 virtual
 ~ 1.5 Million active listings
                                                    ... machines
 > 110,000 Vendors
 ... per month
 Seite | Titel der Präsentation | Autor der
 6     Präsentation
2010-08 (no team):
The Creators
               1 x developer
               2012-02 (2 teams):
               7 x developer
               2 x QA-engineer
               2 x product manager
               1 x designer
2010-08 (no team):
The Creators
                       1 x developer
                       2012-02 (2 teams):
                       7 x developer
11 applications        2 x QA-engineer
1 Mobile site          2 x product manager
> 2.2 Mio Downloads    1 x designer
> 7.8 Mio Visits
> 20% mobile traffic
2010-08 (no team):
The Creators
                          1 x developer
                          2012-02 (2 teams):
                          7 x developer
11 applications           2 x QA-engineer
1 Mobile site             2 x product manager
> 2.2 Mio Downloads       1 x designer
> 7.8 Mio Visits
                       Agile development
> 20% mobile traffic
                       Scrum/ Kanban
Native, hybrid or
webapp?




                    http://www.flickr.com/photos/y_i/2330044065/sizes/l/in/photostream/
Native, hybrid or
webapp?

           Depends on
           application,
           environment and
           user needs




                    http://www.flickr.com/photos/y_i/2330044065/sizes/l/in/photostream/
Native, hybrid or
webapp?

           Depends on
           application,
           environment and
           user needs



                               - User-interface
                               - Responsive design
                    http://www.flickr.com/photos/y_i/2330044065/sizes/l/in/photostream/
Native, hybrid or
webapp?

            Depends on
            application,
            environment and
            user needs


- Hardware
- Device features              - User-interface
- Security                     - Responsive design
                    http://www.flickr.com/photos/y_i/2330044065/sizes/l/in/photostream/
Native, hybrid or
webapp?

            Depends on
            application,
            environment and
            user needs                          - External resources
                                                - Performance

- Hardware
- Device features              - User-interface
- Security                     - Responsive design
                    http://www.flickr.com/photos/y_i/2330044065/sizes/l/in/photostream/
- Development
Native, hybrid or                            - Technologies
webapp?                                      - Knowledge

            Depends on
            application,
            environment and
            user needs                          - External resources
                                                - Performance

- Hardware
- Device features              - User-interface
- Security                     - Responsive design
                    http://www.flickr.com/photos/y_i/2330044065/sizes/l/in/photostream/
- Development
Native, hybrid or                            - Technologies
webapp?                                      - Knowledge

   Therepends no „the
       De is on
       application and
   right“ needs
       user solution to lfit rces
                       - Externa resou
   every demand. rformance
                       - Pe

- Hardware
- Device features              - User-interface
- Security                     - Responsive design
                    http://www.flickr.com/photos/y_i/2330044065/sizes/l/in/photostream/
- Development
Native, hybrid or                            - Technologies
webapp?                                      - Knowledge

   Therepends no „the
       De is on
       application and
   right“ needs
       user Solution to lfit rces
                       - Externa resou
   every demand. rformance
                       - Pe

- Hardware
- Device features              - User-interface
- Security                     - Responsive design
                    http://www.flickr.com/photos/y_i/2330044065/sizes/l/in/photostream/
Native, hybrid or
webapp?

            Android & IOS will be supported
            Two Mainstream applications
            è native

            Other applications can choose

            Future:
            Mobile website with responsive
            Design & HTML 5
Infrastructure




                 http://www.flickr.com/photos/theplanetdotcom/4878805439/in/photostream/
Infrastructure



                       CI-Server:
                       > SSD
                       > Ubuntu 32-Bit
                       > Jenkins
                       > ADT




                 http://www.flickr.com/photos/theplanetdotcom/4878805439/in/photostream/
Infrastructure                                             Repository:
                                                           > Nexus
                       CI-Server:
                       > SSD
                       > Ubuntu 32-Bit
                       > Jenkins
                       > ADT




                 http://www.flickr.com/photos/theplanetdotcom/4878805439/in/photostream/
Infrastructure                                             Repository:
                                                           > Nexus
                       CI-Server:
                                                              VCS:
                       > SSD
                                                              > SVN
                       > Ubuntu 32-Bit
                       > Jenkins
                       > ADT




                 http://www.flickr.com/photos/theplanetdotcom/4878805439/in/photostream/
Infrastructure                                             Repository:
                                                           > Nexus
                       CI-Server:
                                                              VCS:
                       > SSD
                                                              > SVN
                       > Ubuntu 32-Bit
                       > Jenkins
                       > ADT                                  Errorreporting:
                                                              > Hockeyapp



                 http://www.flickr.com/photos/theplanetdotcom/4878805439/in/photostream/
Infrastructure                                             Repository:
                                                           > Nexus
                       CI-Server:
                                                              VCS:
                       > SSD
                                                              > SVN
                       > Ubuntu 32-Bit
                       > Jenkins
                       > ADT                                  Errorreporting:
                                                              > Hockeyapp
                       ~20 Android devices

                 http://www.flickr.com/photos/theplanetdotcom/4878805439/in/photostream/
Infrastructure                                             Repository:
                                                           > Nexus

Build-Tools:           CI-Server:
                                                              VCS:
> Maven                > SSD
                                                              > SVN
> Maven-               > Ubuntu 32-Bit
Android-Plugin         > Jenkins
> Android-             > ADT                                  Errorreporting:
Jenkins-Plugin                                                > Hockeyapp
> Eclipse + ADT        ~20 Android devices

                 http://www.flickr.com/photos/theplanetdotcom/4878805439/in/photostream/
Architecture



                                  UI



                            services




filesystem         sensors              network                  database


        http://www.flickr.com/photos/designandtechnologydepartment/4029381213/in/photostream/
Architecture
example


                        Exposeview


                            expose
                            service



      memory               database                   network

        http://www.flickr.com/photos/designandtechnologydepartment/4029381213/in/photostream/
Used Frameworks




       http://www.flickr.com/photos/designandtechnologydepartment/4029381213/in/photostream/
Used Frameworks



  Signpost
(OAuth client)




        http://www.flickr.com/photos/designandtechnologydepartment/4029381213/in/photostream/
Used Frameworks


                                                                RoboGuice
  Signpost
                                                               (dependency
(OAuth client)                                                   injection)




        http://www.flickr.com/photos/designandtechnologydepartment/4029381213/in/photostream/
Used Frameworks


                                                                RoboGuice
  Signpost
                                                               (dependency
(OAuth client)                                                   injection)


                                                              JSoup
                                                           (HTML parser)


        http://www.flickr.com/photos/designandtechnologydepartment/4029381213/in/photostream/
Used Frameworks


                                                                RoboGuice
  Signpost
                                                               (dependency
(OAuth client)              Robotium                             injection)
                         (like selenium/
                            webdriver)
                                                              JSoup
                                                           (HTML parser)


        http://www.flickr.com/photos/designandtechnologydepartment/4029381213/in/photostream/
Backend
API




          http://www.flickr.com/photos/roll_initiative/3305000778/in/photostream/
Backend
API

   Best Cross-Platform
        approach:
      create an API




                 http://www.flickr.com/photos/roll_initiative/3305000778/in/photostream/
Backend
API

   Best Cross-Platform                       Rest-API
        approach:                            resource
      create an API                           oriented




                 http://www.flickr.com/photos/roll_initiative/3305000778/in/photostream/
Backend
API

   Best Cross-Platform                       Rest-API
        approach:                            resource
      create an API                           oriented


                                                       Json/
                                                        XML



                 http://www.flickr.com/photos/roll_initiative/3305000778/in/photostream/
Backend
API

   Best Cross-Platform                       Rest-API
        approach:                            resource
      create an API                           oriented


                                                       Json/
                     „eat your own                      XML
                       dog food“


                 http://www.flickr.com/photos/roll_initiative/3305000778/in/photostream/
Backend
API

    Best Cross-Platform                           Rest-API
         approach:                                resource
       create an API                               oriented


Don‘t create client                                         Json/
                          „eat your own                      XML
 dependent APIs
                            dog food“


                      http://www.flickr.com/photos/roll_initiative/3305000778/in/photostream/
Backend
API – Best Practices




                       http://www.flickr.com/photos/familymwr/4927926523/in/photostream/
Backend
API – Best Practices


     versioning




                       http://www.flickr.com/photos/familymwr/4927926523/in/photostream/
Backend
API – Best Practices

                       downward
     versioning        compatible




                       http://www.flickr.com/photos/familymwr/4927926523/in/photostream/
Backend
API – Best Practices

                       downward
     versioning        compatible


                            OAuth
                            support




                       http://www.flickr.com/photos/familymwr/4927926523/in/photostream/
Backend
API – Best Practices

                       downward
     versioning        compatible


                            OAuth
                            support

          communicate:
        upward compatibility
                       http://www.flickr.com/photos/familymwr/4927926523/in/photostream/
Backend
API – Best Practices

                       downward
     versioning        compatible


       different            OAuth
         views              support

          communicate:
        upward compatibility
                       http://www.flickr.com/photos/familymwr/4927926523/in/photostream/
Backend
API – Best Practices

                       downward
     versioning        compatible                            addable
                                                             features

       different            OAuth
         views              support

          communicate:
        upward compatibility
                       http://www.flickr.com/photos/familymwr/4927926523/in/photostream/
Backend
API – Best Practices

                       downward
     versioning        compatible                            addable
                                                             features

       different            OAuth                   help caching:
         views              support               Modified-Since- &
                                                    Etag-Header
          communicate:
        upward compatibility
                       http://www.flickr.com/photos/familymwr/4927926523/in/photostream/
offer
Backend                                                   playground
API – Best Practices

                       downward
     versioning        compatible                            addable
                                                             features

       different            OAuth                   help caching:
         views              support               Modified-Since- &
                                                    Etag-Header
          communicate:
        upward compatibility
                       http://www.flickr.com/photos/familymwr/4927926523/in/photostream/
Android
Best Practices
Android
Best Practices


             test
Android
Best Practices


   test      test
Android
Best Practices


   test          test
          test
Android
Best Practices


   test      test
       test
   on all emulators
Android
Best Practices


   test      test
       test
   on all emulators
Android
Best Practices


   test      test
        test
    on all emulators
   available devices
Android
Best Practices
                       Don‘t recycle images
                          >Gingerbread
   test      test
        test            è process‘ crash
    on all emulators
   available devices
Android
Best Practices
                       Don‘t recycle images
                          >Gingerbread
   test      test
       test             è process‘ crash
   on all emulators
   on all emulators
  available devices
Remove dialogues in
onSavedInstanceState
Android
Best Practices
                        Don‘t recycle images
                           >Gingerbread
   test      test
       test              è process‘ crash
   on all emulators
   on all emulators
  available devices          Don‘t use
Remove dialogues in    message.what=1006 on
onSavedInstanceState      LG Smartphones
                       è ClassCastException
Android
Best Practices
                        Don‘t recycle images
                           >Gingerbread
   test      test
       test              è process‘ crash
   on all emulators
   on all emulators
  available devices          Don‘t use
Remove dialogues in    message.what=1006 on
onSavedInstanceState      LG Smartphones
                       è ClassCastException
   Json streamer vs.
         parser
Android
Best Practices
                        Don‘t recycle images
                           >Gingerbread
   test      test
       test              è process‘ crash
   on all emulators
   on all emulators
  available devices          Don‘t use
Remove dialogues in    message.what=1006 on
onSavedInstanceState      LG Smartphones
                       è ClassCastException
   Json streamer vs.
         parser         AsyncTask vs. Handler
Android
Best Practices

offer StreetView, if possible:
1. create WebView
2. add JavascriptInterface
3. load data with base URL (maps.js &
StreetViewService)
4. Start Intent for StreetView, if
panorama exists!
http://stackoverflow.com/a/4747663/495712
Android
Best Practices

offer StreetView, if possible:              Attention:
1. create WebView                    A lot of best practices
2. add JavascriptInterface              doesn‘t work on
3. load data with base URL (maps.js &Honeycomb & higher
StreetViewService)
4. Start Intent for StreetView, if
panorama exists!
http://stackoverflow.com/a/4747663/495712
Forecast




           http://www.flickr.com/photos/ponchopenguin/3262869038/sizes/l/in/photostream/
Forecast




                        using Git




           http://www.flickr.com/photos/ponchopenguin/3262869038/sizes/l/in/photostream/
Forecast




                        using Git




       Widget

           http://www.flickr.com/photos/ponchopenguin/3262869038/sizes/l/in/photostream/
Forecast




                        using Git



                                                              extend
       Widget                                                 IS24-API
                                                              SDK
           http://www.flickr.com/photos/ponchopenguin/3262869038/sizes/l/in/photostream/
Forecast




                        using Git



                                 using new                    extend
       Widget                    Google                       IS24-API
                                 APIs                         SDK
           http://www.flickr.com/photos/ponchopenguin/3262869038/sizes/l/in/photostream/
Forecast




    tablet                using Git
    layout


                                   using new                    extend
       Widget                      Google                       IS24-API
                                   APIs                         SDK
             http://www.flickr.com/photos/ponchopenguin/3262869038/sizes/l/in/photostream/
Forecast




    tablet                using Git
                                                           Google TV
    layout
                                                           layout

                                   using new                    extend
       Widget                      Google                       IS24-API
                                   APIs                         SDK
             http://www.flickr.com/photos/ponchopenguin/3262869038/sizes/l/in/photostream/
Forecast
                                             code
                                             coverage


    tablet                using Git
                                                           Google TV
    layout
                                                           layout

                                   using new                    extend
       Widget                      Google                       IS24-API
                                   APIs                         SDK
             http://www.flickr.com/photos/ponchopenguin/3262869038/sizes/l/in/photostream/
Thanks for your
attention! Questions?




               http://www.flickr.com/photos/peterjlambert/97671748/sizes/o/in/photostream/

More Related Content

Viewers also liked

Chude02: Chương 2: Học kết hợp (blended-learning): một mô hình học tập...
Chude02: Chương 2: Học kết hợp (blended-learning): một mô hình học tập...Chude02: Chương 2: Học kết hợp (blended-learning): một mô hình học tập...
Chude02: Chương 2: Học kết hợp (blended-learning): một mô hình học tập...Kim Kha
 
SISTEM DE PRIORITIZARE AL TRAFICULUI DE URGENŢE
SISTEM DE PRIORITIZARE AL TRAFICULUI DE URGENŢESISTEM DE PRIORITIZARE AL TRAFICULUI DE URGENŢE
SISTEM DE PRIORITIZARE AL TRAFICULUI DE URGENŢERaducanuM
 
Droidcon nl 2013 best practices to develop for different android device class...
Droidcon nl 2013 best practices to develop for different android device class...Droidcon nl 2013 best practices to develop for different android device class...
Droidcon nl 2013 best practices to develop for different android device class...Hasan Hosgel
 
QuantumMagic.ru: КВАНТОВАЯ МАГИЯ | Что если ваша новая жизнь начнется прямо с...
QuantumMagic.ru: КВАНТОВАЯ МАГИЯ | Что если ваша новая жизнь начнется прямо с...QuantumMagic.ru: КВАНТОВАЯ МАГИЯ | Что если ваша новая жизнь начнется прямо с...
QuantumMagic.ru: КВАНТОВАЯ МАГИЯ | Что если ваша новая жизнь начнется прямо с...Supraman (Shukhrat) Khashimov
 
Droidcon it 2014 best practices to develop for different android device class...
Droidcon it 2014 best practices to develop for different android device class...Droidcon it 2014 best practices to develop for different android device class...
Droidcon it 2014 best practices to develop for different android device class...Hasan Hosgel
 
第10回放射能ゴミ焼却を考える学習会 2015-09-27 再エネはフクシマを救う?今木質バイオマス発電から考える
第10回放射能ゴミ焼却を考える学習会 2015-09-27 再エネはフクシマを救う?今木質バイオマス発電から考える第10回放射能ゴミ焼却を考える学習会 2015-09-27 再エネはフクシマを救う?今木質バイオマス発電から考える
第10回放射能ゴミ焼却を考える学習会 2015-09-27 再エネはフクシマを救う?今木質バイオマス発電から考えるコーヒー プリン
 
Analysis of multi-hazard risk to human life at County Level in the Yangtze Ri...
Analysis of multi-hazard risk to human life at County Level in the Yangtze Ri...Analysis of multi-hazard risk to human life at County Level in the Yangtze Ri...
Analysis of multi-hazard risk to human life at County Level in the Yangtze Ri...Global Risk Forum GRFDavos
 
книги прочитанные летом!
книги прочитанные летом!книги прочитанные летом!
книги прочитанные летом!shkola16
 
MPPL Chapter 2
MPPL Chapter 2MPPL Chapter 2
MPPL Chapter 2beiharira
 
куренкова полина, ученица 7а
куренкова полина, ученица 7акуренкова полина, ученица 7а
куренкова полина, ученица 7аshkola16
 
Makalah tentang Hardisk - Akademi Manajemen Informatika dan Komputer Amik Mit...
Makalah tentang Hardisk - Akademi Manajemen Informatika dan Komputer Amik Mit...Makalah tentang Hardisk - Akademi Manajemen Informatika dan Komputer Amik Mit...
Makalah tentang Hardisk - Akademi Manajemen Informatika dan Komputer Amik Mit...Ari Septiawan
 
5 originálnych tipov na valentínsky darček
5 originálnych tipov na valentínsky darček5 originálnych tipov na valentínsky darček
5 originálnych tipov na valentínsky darčekVeronika Huláková
 

Viewers also liked (16)

Chude02: Chương 2: Học kết hợp (blended-learning): một mô hình học tập...
Chude02: Chương 2: Học kết hợp (blended-learning): một mô hình học tập...Chude02: Chương 2: Học kết hợp (blended-learning): một mô hình học tập...
Chude02: Chương 2: Học kết hợp (blended-learning): một mô hình học tập...
 
SISTEM DE PRIORITIZARE AL TRAFICULUI DE URGENŢE
SISTEM DE PRIORITIZARE AL TRAFICULUI DE URGENŢESISTEM DE PRIORITIZARE AL TRAFICULUI DE URGENŢE
SISTEM DE PRIORITIZARE AL TRAFICULUI DE URGENŢE
 
Droidcon nl 2013 best practices to develop for different android device class...
Droidcon nl 2013 best practices to develop for different android device class...Droidcon nl 2013 best practices to develop for different android device class...
Droidcon nl 2013 best practices to develop for different android device class...
 
2015.09.28新聞剪報
2015.09.28新聞剪報2015.09.28新聞剪報
2015.09.28新聞剪報
 
M3_translators stocktaking
M3_translators stocktakingM3_translators stocktaking
M3_translators stocktaking
 
заходи в нвк №3
заходи в нвк №3заходи в нвк №3
заходи в нвк №3
 
QuantumMagic.ru: КВАНТОВАЯ МАГИЯ | Что если ваша новая жизнь начнется прямо с...
QuantumMagic.ru: КВАНТОВАЯ МАГИЯ | Что если ваша новая жизнь начнется прямо с...QuantumMagic.ru: КВАНТОВАЯ МАГИЯ | Что если ваша новая жизнь начнется прямо с...
QuantumMagic.ru: КВАНТОВАЯ МАГИЯ | Что если ваша новая жизнь начнется прямо с...
 
Droidcon it 2014 best practices to develop for different android device class...
Droidcon it 2014 best practices to develop for different android device class...Droidcon it 2014 best practices to develop for different android device class...
Droidcon it 2014 best practices to develop for different android device class...
 
第10回放射能ゴミ焼却を考える学習会 2015-09-27 再エネはフクシマを救う?今木質バイオマス発電から考える
第10回放射能ゴミ焼却を考える学習会 2015-09-27 再エネはフクシマを救う?今木質バイオマス発電から考える第10回放射能ゴミ焼却を考える学習会 2015-09-27 再エネはフクシマを救う?今木質バイオマス発電から考える
第10回放射能ゴミ焼却を考える学習会 2015-09-27 再エネはフクシマを救う?今木質バイオマス発電から考える
 
Analysis of multi-hazard risk to human life at County Level in the Yangtze Ri...
Analysis of multi-hazard risk to human life at County Level in the Yangtze Ri...Analysis of multi-hazard risk to human life at County Level in the Yangtze Ri...
Analysis of multi-hazard risk to human life at County Level in the Yangtze Ri...
 
книги прочитанные летом!
книги прочитанные летом!книги прочитанные летом!
книги прочитанные летом!
 
MPPL Chapter 2
MPPL Chapter 2MPPL Chapter 2
MPPL Chapter 2
 
куренкова полина, ученица 7а
куренкова полина, ученица 7акуренкова полина, ученица 7а
куренкова полина, ученица 7а
 
Makalah tentang Hardisk - Akademi Manajemen Informatika dan Komputer Amik Mit...
Makalah tentang Hardisk - Akademi Manajemen Informatika dan Komputer Amik Mit...Makalah tentang Hardisk - Akademi Manajemen Informatika dan Komputer Amik Mit...
Makalah tentang Hardisk - Akademi Manajemen Informatika dan Komputer Amik Mit...
 
Inheritance
InheritanceInheritance
Inheritance
 
5 originálnych tipov na valentínsky darček
5 originálnych tipov na valentínsky darček5 originálnych tipov na valentínsky darček
5 originálnych tipov na valentínsky darček
 

Similar to Mobile Development at ImmobilienScout24

Android Things Internals
Android Things InternalsAndroid Things Internals
Android Things InternalsOpersys inc.
 
14180203 an-introduction-to-android
14180203 an-introduction-to-android14180203 an-introduction-to-android
14180203 an-introduction-to-androidNeha Jain
 
Android Things Internals
Android Things InternalsAndroid Things Internals
Android Things InternalsOpersys inc.
 
Next Generation Vulnerability Assessment Using Datadog and Snyk
Next Generation Vulnerability Assessment Using Datadog and SnykNext Generation Vulnerability Assessment Using Datadog and Snyk
Next Generation Vulnerability Assessment Using Datadog and SnykDevOps.com
 
[Wroclaw #1] Android Security Workshop
[Wroclaw #1] Android Security Workshop[Wroclaw #1] Android Security Workshop
[Wroclaw #1] Android Security WorkshopOWASP
 
Android e mobile security - Falcomatà
Android e mobile security - FalcomatàAndroid e mobile security - Falcomatà
Android e mobile security - FalcomatàCodemotion
 
UX and the City - An introduction to user experience design in the financial ...
UX and the City - An introduction to user experience design in the financial ...UX and the City - An introduction to user experience design in the financial ...
UX and the City - An introduction to user experience design in the financial ...Amir Dotan
 
2019-12-11-OWASP-IoT-Top-10---Introduction-and-Root-Causes.pdf
2019-12-11-OWASP-IoT-Top-10---Introduction-and-Root-Causes.pdf2019-12-11-OWASP-IoT-Top-10---Introduction-and-Root-Causes.pdf
2019-12-11-OWASP-IoT-Top-10---Introduction-and-Root-Causes.pdfdino715195
 
Developing Tizen OS Based Solutions (IDF13) - Chris Norman
Developing Tizen OS Based Solutions (IDF13) - Chris NormanDeveloping Tizen OS Based Solutions (IDF13) - Chris Norman
Developing Tizen OS Based Solutions (IDF13) - Chris NormanRyo Jin
 
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
Mihai Tataran - Building Windows 8 Applications with HTML5 and JSMihai Tataran - Building Windows 8 Applications with HTML5 and JS
Mihai Tataran - Building Windows 8 Applications with HTML5 and JSITCamp
 
Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!Jonas Bandi
 
Managing the Experience + Ad Hoc Reporting
Managing the Experience + Ad Hoc ReportingManaging the Experience + Ad Hoc Reporting
Managing the Experience + Ad Hoc ReportingTIBCO Jaspersoft
 
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIY
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIYWhy Pay for Open Source Linux? Avoid the Hidden Cost of DIY
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIYEnterprise Management Associates
 
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...darwinodb
 
IoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSesIoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSesMender.io
 
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
Ugly truths about html5   moosecon - robert virkus - 2013-03-07Ugly truths about html5   moosecon - robert virkus - 2013-03-07
Ugly truths about html5 moosecon - robert virkus - 2013-03-07Enough Software
 
Python + NoSQL in Animations
Python + NoSQL in AnimationsPython + NoSQL in Animations
Python + NoSQL in AnimationsShuen-Huei Guan
 

Similar to Mobile Development at ImmobilienScout24 (20)

Android Things Internals
Android Things InternalsAndroid Things Internals
Android Things Internals
 
14180203 an-introduction-to-android
14180203 an-introduction-to-android14180203 an-introduction-to-android
14180203 an-introduction-to-android
 
Android Things Internals
Android Things InternalsAndroid Things Internals
Android Things Internals
 
Next Generation Vulnerability Assessment Using Datadog and Snyk
Next Generation Vulnerability Assessment Using Datadog and SnykNext Generation Vulnerability Assessment Using Datadog and Snyk
Next Generation Vulnerability Assessment Using Datadog and Snyk
 
[Wroclaw #1] Android Security Workshop
[Wroclaw #1] Android Security Workshop[Wroclaw #1] Android Security Workshop
[Wroclaw #1] Android Security Workshop
 
Micro Frontends
Micro FrontendsMicro Frontends
Micro Frontends
 
Android e mobile security - Falcomatà
Android e mobile security - FalcomatàAndroid e mobile security - Falcomatà
Android e mobile security - Falcomatà
 
UX and the City - An introduction to user experience design in the financial ...
UX and the City - An introduction to user experience design in the financial ...UX and the City - An introduction to user experience design in the financial ...
UX and the City - An introduction to user experience design in the financial ...
 
2019-12-11-OWASP-IoT-Top-10---Introduction-and-Root-Causes.pdf
2019-12-11-OWASP-IoT-Top-10---Introduction-and-Root-Causes.pdf2019-12-11-OWASP-IoT-Top-10---Introduction-and-Root-Causes.pdf
2019-12-11-OWASP-IoT-Top-10---Introduction-and-Root-Causes.pdf
 
Developing Tizen OS Based Solutions (IDF13) - Chris Norman
Developing Tizen OS Based Solutions (IDF13) - Chris NormanDeveloping Tizen OS Based Solutions (IDF13) - Chris Norman
Developing Tizen OS Based Solutions (IDF13) - Chris Norman
 
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
Mihai Tataran - Building Windows 8 Applications with HTML5 and JSMihai Tataran - Building Windows 8 Applications with HTML5 and JS
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
 
Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!
 
Improve Android System Component Performance
Improve Android System Component PerformanceImprove Android System Component Performance
Improve Android System Component Performance
 
Managing the Experience + Ad Hoc Reporting
Managing the Experience + Ad Hoc ReportingManaging the Experience + Ad Hoc Reporting
Managing the Experience + Ad Hoc Reporting
 
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIY
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIYWhy Pay for Open Source Linux? Avoid the Hidden Cost of DIY
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIY
 
Android ppt
Android pptAndroid ppt
Android ppt
 
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
 
IoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSesIoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSes
 
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
Ugly truths about html5   moosecon - robert virkus - 2013-03-07Ugly truths about html5   moosecon - robert virkus - 2013-03-07
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
 
Python + NoSQL in Animations
Python + NoSQL in AnimationsPython + NoSQL in Animations
Python + NoSQL in Animations
 

More from Hasan Hosgel

DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Ch...
DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Ch...DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Ch...
DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Ch...Hasan Hosgel
 
Android Developer Days 2014 How second screen can enhance your app
Android Developer Days 2014 How second screen can enhance your appAndroid Developer Days 2014 How second screen can enhance your app
Android Developer Days 2014 How second screen can enhance your appHasan Hosgel
 
Mtc spring 2014 best practices to develop for different android device classi...
Mtc spring 2014 best practices to develop for different android device classi...Mtc spring 2014 best practices to develop for different android device classi...
Mtc spring 2014 best practices to develop for different android device classi...Hasan Hosgel
 
MTC 2013 Berlin - Best Practices for Multi Devices
MTC 2013 Berlin - Best Practices for Multi DevicesMTC 2013 Berlin - Best Practices for Multi Devices
MTC 2013 Berlin - Best Practices for Multi DevicesHasan Hosgel
 
Android Developer Days 2013 - MultiDevice Nightmare
Android Developer Days 2013 - MultiDevice NightmareAndroid Developer Days 2013 - MultiDevice Nightmare
Android Developer Days 2013 - MultiDevice NightmareHasan Hosgel
 
Droidcon 2013 Multidevice Nightmare
Droidcon 2013 Multidevice NightmareDroidcon 2013 Multidevice Nightmare
Droidcon 2013 Multidevice NightmareHasan Hosgel
 
Android bootcamp 2013 Lists & Adapter
Android bootcamp 2013 Lists & AdapterAndroid bootcamp 2013 Lists & Adapter
Android bootcamp 2013 Lists & AdapterHasan Hosgel
 
Customer's Choice @ Moosecon 2013
Customer's Choice @ Moosecon 2013Customer's Choice @ Moosecon 2013
Customer's Choice @ Moosecon 2013Hasan Hosgel
 
Customer’s Choice @ GDG Android Berlin on January meetup
Customer’s Choice @ GDG Android Berlin on January meetupCustomer’s Choice @ GDG Android Berlin on January meetup
Customer’s Choice @ GDG Android Berlin on January meetupHasan Hosgel
 
Continuously Break The Android
Continuously Break The AndroidContinuously Break The Android
Continuously Break The AndroidHasan Hosgel
 
Coexisting of Android & Robots
Coexisting of Android & RobotsCoexisting of Android & Robots
Coexisting of Android & RobotsHasan Hosgel
 

More from Hasan Hosgel (11)

DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Ch...
DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Ch...DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Ch...
DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Ch...
 
Android Developer Days 2014 How second screen can enhance your app
Android Developer Days 2014 How second screen can enhance your appAndroid Developer Days 2014 How second screen can enhance your app
Android Developer Days 2014 How second screen can enhance your app
 
Mtc spring 2014 best practices to develop for different android device classi...
Mtc spring 2014 best practices to develop for different android device classi...Mtc spring 2014 best practices to develop for different android device classi...
Mtc spring 2014 best practices to develop for different android device classi...
 
MTC 2013 Berlin - Best Practices for Multi Devices
MTC 2013 Berlin - Best Practices for Multi DevicesMTC 2013 Berlin - Best Practices for Multi Devices
MTC 2013 Berlin - Best Practices for Multi Devices
 
Android Developer Days 2013 - MultiDevice Nightmare
Android Developer Days 2013 - MultiDevice NightmareAndroid Developer Days 2013 - MultiDevice Nightmare
Android Developer Days 2013 - MultiDevice Nightmare
 
Droidcon 2013 Multidevice Nightmare
Droidcon 2013 Multidevice NightmareDroidcon 2013 Multidevice Nightmare
Droidcon 2013 Multidevice Nightmare
 
Android bootcamp 2013 Lists & Adapter
Android bootcamp 2013 Lists & AdapterAndroid bootcamp 2013 Lists & Adapter
Android bootcamp 2013 Lists & Adapter
 
Customer's Choice @ Moosecon 2013
Customer's Choice @ Moosecon 2013Customer's Choice @ Moosecon 2013
Customer's Choice @ Moosecon 2013
 
Customer’s Choice @ GDG Android Berlin on January meetup
Customer’s Choice @ GDG Android Berlin on January meetupCustomer’s Choice @ GDG Android Berlin on January meetup
Customer’s Choice @ GDG Android Berlin on January meetup
 
Continuously Break The Android
Continuously Break The AndroidContinuously Break The Android
Continuously Break The Android
 
Coexisting of Android & Robots
Coexisting of Android & RobotsCoexisting of Android & Robots
Coexisting of Android & Robots
 

Recently uploaded

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Recently uploaded (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

Mobile Development at ImmobilienScout24

  • 1. www.immobilienscout24.de Mobile Development across Different Platforms Berlin | 13.02.2012 | Hasan Hoşgel & Thomas Kummert
  • 2. About us ... Hasan Hoşgel, @alosdev Senior Developer Mobile enthusiast, Man of action
  • 3. About us ... Thomas Kummert, @kummibaer Developer Pragmatic developer
  • 4. Germany‘s leading ImmobilienScout24 real-estate portal 550 employees, 170 in the IT Seite | Titel der Präsentation | Autor der 4 Präsentation
  • 5. Germany‘s leading ImmobilienScout24 real-estate portal 550 employees, 160 in the IT > 6 Million unique users > 2 Billion PI > 180 Million Expose views ~ 1.5 Million active listings > 110,000 Vendors ... per month Seite | Titel der Präsentation | Autor der 5 Präsentation
  • 6. Germany‘s leading ImmobilienScout24 real-estate portal 550 employees, 160 in the IT > 6 Million unique users 2 datacenter > 2 Billion PI ~100 physical > 180 Million Expose views ~800 virtual ~ 1.5 Million active listings ... machines > 110,000 Vendors ... per month Seite | Titel der Präsentation | Autor der 6 Präsentation
  • 7. 2010-08 (no team): The Creators 1 x developer 2012-02 (2 teams): 7 x developer 2 x QA-engineer 2 x product manager 1 x designer
  • 8. 2010-08 (no team): The Creators 1 x developer 2012-02 (2 teams): 7 x developer 11 applications 2 x QA-engineer 1 Mobile site 2 x product manager > 2.2 Mio Downloads 1 x designer > 7.8 Mio Visits > 20% mobile traffic
  • 9. 2010-08 (no team): The Creators 1 x developer 2012-02 (2 teams): 7 x developer 11 applications 2 x QA-engineer 1 Mobile site 2 x product manager > 2.2 Mio Downloads 1 x designer > 7.8 Mio Visits Agile development > 20% mobile traffic Scrum/ Kanban
  • 10. Native, hybrid or webapp? http://www.flickr.com/photos/y_i/2330044065/sizes/l/in/photostream/
  • 11. Native, hybrid or webapp? Depends on application, environment and user needs http://www.flickr.com/photos/y_i/2330044065/sizes/l/in/photostream/
  • 12. Native, hybrid or webapp? Depends on application, environment and user needs - User-interface - Responsive design http://www.flickr.com/photos/y_i/2330044065/sizes/l/in/photostream/
  • 13. Native, hybrid or webapp? Depends on application, environment and user needs - Hardware - Device features - User-interface - Security - Responsive design http://www.flickr.com/photos/y_i/2330044065/sizes/l/in/photostream/
  • 14. Native, hybrid or webapp? Depends on application, environment and user needs - External resources - Performance - Hardware - Device features - User-interface - Security - Responsive design http://www.flickr.com/photos/y_i/2330044065/sizes/l/in/photostream/
  • 15. - Development Native, hybrid or - Technologies webapp? - Knowledge Depends on application, environment and user needs - External resources - Performance - Hardware - Device features - User-interface - Security - Responsive design http://www.flickr.com/photos/y_i/2330044065/sizes/l/in/photostream/
  • 16. - Development Native, hybrid or - Technologies webapp? - Knowledge Therepends no „the De is on application and right“ needs user solution to lfit rces - Externa resou every demand. rformance - Pe - Hardware - Device features - User-interface - Security - Responsive design http://www.flickr.com/photos/y_i/2330044065/sizes/l/in/photostream/
  • 17. - Development Native, hybrid or - Technologies webapp? - Knowledge Therepends no „the De is on application and right“ needs user Solution to lfit rces - Externa resou every demand. rformance - Pe - Hardware - Device features - User-interface - Security - Responsive design http://www.flickr.com/photos/y_i/2330044065/sizes/l/in/photostream/
  • 18. Native, hybrid or webapp? Android & IOS will be supported Two Mainstream applications è native Other applications can choose Future: Mobile website with responsive Design & HTML 5
  • 19. Infrastructure http://www.flickr.com/photos/theplanetdotcom/4878805439/in/photostream/
  • 20. Infrastructure CI-Server: > SSD > Ubuntu 32-Bit > Jenkins > ADT http://www.flickr.com/photos/theplanetdotcom/4878805439/in/photostream/
  • 21. Infrastructure Repository: > Nexus CI-Server: > SSD > Ubuntu 32-Bit > Jenkins > ADT http://www.flickr.com/photos/theplanetdotcom/4878805439/in/photostream/
  • 22. Infrastructure Repository: > Nexus CI-Server: VCS: > SSD > SVN > Ubuntu 32-Bit > Jenkins > ADT http://www.flickr.com/photos/theplanetdotcom/4878805439/in/photostream/
  • 23. Infrastructure Repository: > Nexus CI-Server: VCS: > SSD > SVN > Ubuntu 32-Bit > Jenkins > ADT Errorreporting: > Hockeyapp http://www.flickr.com/photos/theplanetdotcom/4878805439/in/photostream/
  • 24. Infrastructure Repository: > Nexus CI-Server: VCS: > SSD > SVN > Ubuntu 32-Bit > Jenkins > ADT Errorreporting: > Hockeyapp ~20 Android devices http://www.flickr.com/photos/theplanetdotcom/4878805439/in/photostream/
  • 25. Infrastructure Repository: > Nexus Build-Tools: CI-Server: VCS: > Maven > SSD > SVN > Maven- > Ubuntu 32-Bit Android-Plugin > Jenkins > Android- > ADT Errorreporting: Jenkins-Plugin > Hockeyapp > Eclipse + ADT ~20 Android devices http://www.flickr.com/photos/theplanetdotcom/4878805439/in/photostream/
  • 26. Architecture UI services filesystem sensors network database http://www.flickr.com/photos/designandtechnologydepartment/4029381213/in/photostream/
  • 27. Architecture example Exposeview expose service memory database network http://www.flickr.com/photos/designandtechnologydepartment/4029381213/in/photostream/
  • 28. Used Frameworks http://www.flickr.com/photos/designandtechnologydepartment/4029381213/in/photostream/
  • 29. Used Frameworks Signpost (OAuth client) http://www.flickr.com/photos/designandtechnologydepartment/4029381213/in/photostream/
  • 30. Used Frameworks RoboGuice Signpost (dependency (OAuth client) injection) http://www.flickr.com/photos/designandtechnologydepartment/4029381213/in/photostream/
  • 31. Used Frameworks RoboGuice Signpost (dependency (OAuth client) injection) JSoup (HTML parser) http://www.flickr.com/photos/designandtechnologydepartment/4029381213/in/photostream/
  • 32. Used Frameworks RoboGuice Signpost (dependency (OAuth client) Robotium injection) (like selenium/ webdriver) JSoup (HTML parser) http://www.flickr.com/photos/designandtechnologydepartment/4029381213/in/photostream/
  • 33. Backend API http://www.flickr.com/photos/roll_initiative/3305000778/in/photostream/
  • 34. Backend API Best Cross-Platform approach: create an API http://www.flickr.com/photos/roll_initiative/3305000778/in/photostream/
  • 35. Backend API Best Cross-Platform Rest-API approach: resource create an API oriented http://www.flickr.com/photos/roll_initiative/3305000778/in/photostream/
  • 36. Backend API Best Cross-Platform Rest-API approach: resource create an API oriented Json/ XML http://www.flickr.com/photos/roll_initiative/3305000778/in/photostream/
  • 37. Backend API Best Cross-Platform Rest-API approach: resource create an API oriented Json/ „eat your own XML dog food“ http://www.flickr.com/photos/roll_initiative/3305000778/in/photostream/
  • 38. Backend API Best Cross-Platform Rest-API approach: resource create an API oriented Don‘t create client Json/ „eat your own XML dependent APIs dog food“ http://www.flickr.com/photos/roll_initiative/3305000778/in/photostream/
  • 39. Backend API – Best Practices http://www.flickr.com/photos/familymwr/4927926523/in/photostream/
  • 40. Backend API – Best Practices versioning http://www.flickr.com/photos/familymwr/4927926523/in/photostream/
  • 41. Backend API – Best Practices downward versioning compatible http://www.flickr.com/photos/familymwr/4927926523/in/photostream/
  • 42. Backend API – Best Practices downward versioning compatible OAuth support http://www.flickr.com/photos/familymwr/4927926523/in/photostream/
  • 43. Backend API – Best Practices downward versioning compatible OAuth support communicate: upward compatibility http://www.flickr.com/photos/familymwr/4927926523/in/photostream/
  • 44. Backend API – Best Practices downward versioning compatible different OAuth views support communicate: upward compatibility http://www.flickr.com/photos/familymwr/4927926523/in/photostream/
  • 45. Backend API – Best Practices downward versioning compatible addable features different OAuth views support communicate: upward compatibility http://www.flickr.com/photos/familymwr/4927926523/in/photostream/
  • 46. Backend API – Best Practices downward versioning compatible addable features different OAuth help caching: views support Modified-Since- & Etag-Header communicate: upward compatibility http://www.flickr.com/photos/familymwr/4927926523/in/photostream/
  • 47. offer Backend playground API – Best Practices downward versioning compatible addable features different OAuth help caching: views support Modified-Since- & Etag-Header communicate: upward compatibility http://www.flickr.com/photos/familymwr/4927926523/in/photostream/
  • 51. Android Best Practices test test test
  • 52. Android Best Practices test test test on all emulators
  • 53. Android Best Practices test test test on all emulators
  • 54. Android Best Practices test test test on all emulators available devices
  • 55. Android Best Practices Don‘t recycle images >Gingerbread test test test è process‘ crash on all emulators available devices
  • 56. Android Best Practices Don‘t recycle images >Gingerbread test test test è process‘ crash on all emulators on all emulators available devices Remove dialogues in onSavedInstanceState
  • 57. Android Best Practices Don‘t recycle images >Gingerbread test test test è process‘ crash on all emulators on all emulators available devices Don‘t use Remove dialogues in message.what=1006 on onSavedInstanceState LG Smartphones è ClassCastException
  • 58. Android Best Practices Don‘t recycle images >Gingerbread test test test è process‘ crash on all emulators on all emulators available devices Don‘t use Remove dialogues in message.what=1006 on onSavedInstanceState LG Smartphones è ClassCastException Json streamer vs. parser
  • 59. Android Best Practices Don‘t recycle images >Gingerbread test test test è process‘ crash on all emulators on all emulators available devices Don‘t use Remove dialogues in message.what=1006 on onSavedInstanceState LG Smartphones è ClassCastException Json streamer vs. parser AsyncTask vs. Handler
  • 60. Android Best Practices offer StreetView, if possible: 1. create WebView 2. add JavascriptInterface 3. load data with base URL (maps.js & StreetViewService) 4. Start Intent for StreetView, if panorama exists! http://stackoverflow.com/a/4747663/495712
  • 61. Android Best Practices offer StreetView, if possible: Attention: 1. create WebView A lot of best practices 2. add JavascriptInterface doesn‘t work on 3. load data with base URL (maps.js &Honeycomb & higher StreetViewService) 4. Start Intent for StreetView, if panorama exists! http://stackoverflow.com/a/4747663/495712
  • 62. Forecast http://www.flickr.com/photos/ponchopenguin/3262869038/sizes/l/in/photostream/
  • 63. Forecast using Git http://www.flickr.com/photos/ponchopenguin/3262869038/sizes/l/in/photostream/
  • 64. Forecast using Git Widget http://www.flickr.com/photos/ponchopenguin/3262869038/sizes/l/in/photostream/
  • 65. Forecast using Git extend Widget IS24-API SDK http://www.flickr.com/photos/ponchopenguin/3262869038/sizes/l/in/photostream/
  • 66. Forecast using Git using new extend Widget Google IS24-API APIs SDK http://www.flickr.com/photos/ponchopenguin/3262869038/sizes/l/in/photostream/
  • 67. Forecast tablet using Git layout using new extend Widget Google IS24-API APIs SDK http://www.flickr.com/photos/ponchopenguin/3262869038/sizes/l/in/photostream/
  • 68. Forecast tablet using Git Google TV layout layout using new extend Widget Google IS24-API APIs SDK http://www.flickr.com/photos/ponchopenguin/3262869038/sizes/l/in/photostream/
  • 69. Forecast code coverage tablet using Git Google TV layout layout using new extend Widget Google IS24-API APIs SDK http://www.flickr.com/photos/ponchopenguin/3262869038/sizes/l/in/photostream/
  • 70. Thanks for your attention! Questions? http://www.flickr.com/photos/peterjlambert/97671748/sizes/o/in/photostream/