Building an app across 11 arabic countries
-
Upload
droidcon-dubai -
Category
Mobile
-
view
167 -
download
1
Transcript of Building an app across 11 arabic countries
ContentBackground.Building our team Challenges Research and pivot1 API. The MVP. VerticalizingNative or Hybrid?
RTL (thanks google)Material design listening to feedback. fixing fastreleasing fastour success.the reality
Background- dubizzle was built and formed in the UAE by
2 American founders. - Originally the HQ was in a villa.- dubizzle has grown to 150 since then.- I am one of them 150
BackgroundWho am I?- I am from London- I‘m a Native iOS and Android Developer- I have been building native apps since 2009- Currently leading dubizzles’ mobile team.
BackgroundWhat made me move to Dubai from London? - To build something that changes lives.- For dubizzle’s culture and environment.- To build and lead a strong mobile team.
concept
May June July August Oct Nov Jan FebSept March
2014 2015
Building our team- The right mobile engineer is hard to find in Dubai. - Eventually we had our team. - We had a big challenge to face.
build a team
May June July August Oct Nov Jan FebSept March
2014 2015
Challenges- The market moves fast- We will need to pivot to any category fast.- We will need to be able to fail fast- Learnings will come as we develop and come fast.
Challenges
May June July August Oct Nov Jan FebSept March
2014 2015
Challenges..and learn fast we did. We changed a lot in this last year. Some include:- Moving from Eclipse/Ant -> Gradle/Android Studio- From Multiple apps to a single app- From English first to Arabic first- Our design += Material design principles.
Started to learn
May June July August Oct Nov Jan FebSept March
2014 2015
Challenges- Multiple apps to a single app
- moving away from a vertical app- considering every one of our categories- deprecating and moving old users to our new app.
Started to learn
May June July August Oct Nov Jan FebSept March
2014 2015
ChallengesEclipse/Ant -> Gradle/Android Studio- Eclipse crashes -> Android Studio (usually) doesn’t- multidex support in Eclipse is hard work. - multidex support comes out the box with gradle- gradle supports maven dependency management- great lint checking.
Started to learn
May June July August Oct Nov Jan FebSept March
2014 2015
Research and pivotRules we learnt:- Make it data driven. A hunch can work, but always
prove it.- justify theory with some data. - track everything. - test heavily before releasing
driven by research
May June July August Oct Nov Jan FebSept March
NOT SO GOOD
GOOD
2014 2015
Research and pivot- Google analytics is an amazing tool- One analytics tool to rule them all
driven by research
May June July August Oct Nov Jan FebSept March
2014 2015
ONE API1 API:- Simplifies development. Makes things easier.- Single data Transformation layer.- Encourages clean architecture.
One API to serve them all
May June July August Oct Nov Jan FebSept March
Android Client
One API
Service Service Service Service Service
client 2client 3
2014 2015
ONE APIThird parties are still okay.- We use some for:
- A/B testing- Analytics- Request logging
One API to serve them all
May June July August Oct Nov Jan FebSept March
- User feedback- Crash reporting- ad-hoc deployment
2014 2015
The MVP
We had the MVP and the right insights.- listen to our customers- consider all analytics.
The MVP release
May June July August Oct Nov Jan FebSept March
2014 2015
App
Analytics User feedback
Listen to feedback
May June July August Oct Nov Jan FebSept March
We listen to all the feedback (inc engineers; them too!)We use Hockeyapp and Zendesk for customer support.
2014 2015
Fixing fastOnce you know you can improve something… fix it!
May June July August Oct Nov Jan FebSept March
2014 2015
Fixing fastWe see crash reports as soon as new crashes happen.
May June July August Oct Nov Jan FebSept March
2014 2015
VerticalizingLooking at the vertical picture. - We focus on multiple streams at once. (jobs, property,
motors, classifieds)- We knew our architecture had to allow us to
customize per category.
2014 2015
Verticalize
May June July August Oct Nov Jan FebSept March
Native or Hybrid?- We use a webview for some features.- This allows us to provide functionality
we do not have time to build.
2014 2015
Going Hybrid
May June July August Oct Nov Jan FebSept March
Native or Hybrid?A Webview can be a good solution for getting mobile web features out the door in a native environment.- We use AdvancedWebView by delight.im. - There are problems with openFileChooser in
Android Kitkat 4.4.2 and lower. (issue 62220; Android codebase).
2014 20152015
Going Hybrid
May June July August Oct Nov Jan FebSept March
2014
Native or Hybrid?So we are Native with Hybrid Elements. - Most functionality is Native.- We rely on a WebView for only the things we want to
make native later.
2014 20152014 2015
Going Hybrid
May June July August Oct Nov Jan FebSept March
RTL (thanks google)We knew that a lot of people speak arabic here.- Arabic is read right to left.- We use xml layouts for everything right to left.- We allow people to change locale within the app.
2014 20152015
RTL
May June July August Oct Nov Jan FebSept March
- Our localization became regional
2014 2015
RTL (thanks google)
2014 2015
RTL
May June July August Oct Nov Jan FebSept March
- Interaction points and animations became reversed
2014 2015
RTL (thanks google)
2015
RTL
May June July August Oct Nov Jan FebSept March
2014
Material Design and how it helped us.We ran an A/B test for some material design principles….Elevated floating action buttons and our toolbar. Its working for us… (we use floatingactionbutton by getbase)
2014 20152015
Material Design
May June July August Oct Nov Jan FebSept March
2014
Material Design and how it helped us.Biggest advantage:Lots of free research centric design principles out the box to combine with our own principles.
2014 20152015
Material Design
May June July August Oct Nov Jan FebSept March
2014
Releasing fast
2014 2015
We use release trains
2014 2015
Releasing fast
May June July August Oct Nov Jan FebSept March
Releasing fast
feature branch PR to release branch
mobile team
reviews
Good to go?
good for release train. do integration testing.
GTG?fix the code
Yes
Yes
No
No
release
2014 2015
Releasing fast
May June July August Oct Nov Jan FebSept March
Our success
2014 2015
We really have succeeded on the google play market now.
2015
Our Success
May June July August Oct Nov Jan FebSept March
2014
Our success
2014 2015
We are in top 5 lifestyle apps.We won a wonderful award
2014 2015
Our Success
May June July August Oct Nov Jan FebSept March
The Reality
2014 2015
The Android SDK and tools are amazing. Making a great app would not be so possible without
the tools google provide us.
Monkeyrunnerdraw 9 patchheirarchyview
proguarduiautomatorview
DDMSAndroid Studio (beta no more!).
ADB
2014 2015
The reality
May June July August Oct Nov Jan FebSept March
The Reality
2014 2015
An Android success with a great team.
2014 2015
The reality
May June July August Oct Nov Jan FebSept March