SlideShare une entreprise Scribd logo
1  sur  21
Lesson learned in developing UI and mobile
apps blibli.com
Ifnu, 8 April 2016
What are we going to talk today?
• Lesson learned in developing UI and mobile
apps blibli.com
• List of lesson I learn during my time at
blibli.com
• Lesson developing UI
• Lesson developing mobile apps
Agenda
• Who am I?
• What we learn about customer
• Then vs Now
• Lesson 1 : People
• Lesson 2 : Process
• Lesson 3 : Solr
• Lesson 4 : Cache
• Lesson 5 : Microservices
• Lesson 6 : Web UI
• Lesson 7 : Mobile First
• Lesson 8 : Content
Who am I?
• Ifnu Bima
• Ilmu Komputer IPB
• Join blibli in 2012
• Was working for Deustche Bank Singapore since 2010
• Employee no 69
• Engineers no ~13
• Development Manager
– blibli.com Web UI
– Mobile Apps : Android, iOS, Windows Phone
– Content Management System
– Search
– Product Discovery : Wishlist, Product Review
What we learn about customer
• Fast UI
– Speed & Performance
• Website stay up during promotion and flash sale
– Scalability & Elasticity
• Consistently good user experience
– Great UI/UX
– Timely order delivery
– Original and high quality product
• New features
– Rapid Deployment
– Continuous Delivery
Then vs Now
• Based on 4 things that customer have, how do
we improve over time
• Things we learn along the way
Blibli UI circa 2012
Blibli architecture circa 2012
Store Front
Back officeMerchant
Blibli GUI application architecture 2016
Lesson 1 : People
• Hiring is the most important job in growing
company
– 800+ people
– 150+ engineers
• Right person with knowledge, skill and
attitude
• Do not compromise on quality
• Hire someone better than you, at least when
you are at their age
Lesson 2 : Process => Product development
Product
Program
Manager
Development
Manager
Product
Manager
1. Product Manager (PM)
– Defining the right product
2. Development Manager
(DM)
– Building the product right
3. Program Manager (PgM)
– Cross-functional executioner
Source: Inspired: How To Create Products Customers Love
Lesson 2 : Process => Agile, XP and Scrum
• Scrum role is perfectly fit with product
development role
• Release fast
• Test Driven Development, 90% code coverage
• Refactor often
Lesson 3 : SOLR
• Product catalog and category
• Full text search on product
– Very vast full text search compared to database
– Relevancy score to sort search result
• Filtering and Faceting
• Very fast
• Elasticsearch as alternative
• CQRS (Command Query Responsibility
Segregation) pattern
Lesson 4 : Cache
• Redis
– User session
– Very fast for small and lots of data
– Turn off disk flush, it can make server disk IO 100%
and response timeout while flusing
• Guava
– Cache content from CMS
– In memory cache
– Background cache reload
• Varnish
– Cache HTML in front of app server
– Same content for all user, cannot do personalization
Lesson 5 : Microservices
• Small team working on product
• Independence release
• Cross functional team vs Siloed functional
team
• GUI application as orchestrator
Lesson 6 : Web UI
• Responsive vs Adaptive
• AngularJS is great
• Browsing through mobile web then purchase
through desktop web
• Image is our biggest enemy
– 95+% traffic is image
– Compress, resize and optimize it reduce 50%
bandwith
– Image operation need very high CPU
• Client side performance is much much harder
than server side performance
Lesson 7 : Mobile First
• Based on our traffic, there are 3 peak each every day: morning,
afternoon and night
• Morning and afternoon from desktop, Night from mobile web &
apps
• Only office worker is using desktop
• To reach majority of Indonesia user, we need first class mobile web
and apps
• Mobile apps conversion is 7x web conversion
• 70% web traffic goes to mobile web
• 80% transaction happen on desktop web
• We want user to use mobile apps as much as possible
Lesson 7 : Mobile First
• Native is first choice
• Others if you constrained by budget or team
size
• More engineers currently working in mobile
apps than web
Lesson 8 : Content
• Banner and promotion page
• Different content for different channel : web
and mobile apps
• Control UI from CMS
• Layout and content saved in database, no
deployment while update it
THANK YOU

Contenu connexe

Tendances

MOBILE QUESTIONS & ANSWER WEBSITE
MOBILE QUESTIONS & ANSWER WEBSITEMOBILE QUESTIONS & ANSWER WEBSITE
MOBILE QUESTIONS & ANSWER WEBSITE
Vishal Mittal
 
Tech a Break Sudhanshu - Mobile Apps
Tech a Break Sudhanshu - Mobile AppsTech a Break Sudhanshu - Mobile Apps
Tech a Break Sudhanshu - Mobile Apps
devpin
 

Tendances (19)

Creating a Responsive Website From Scratch
Creating a Responsive Website From ScratchCreating a Responsive Website From Scratch
Creating a Responsive Website From Scratch
 
DeveloperDeveloperDeveloper! Sydney 2012
DeveloperDeveloperDeveloper! Sydney 2012DeveloperDeveloperDeveloper! Sydney 2012
DeveloperDeveloperDeveloper! Sydney 2012
 
Synapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps developmentSynapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps development
 
Satisfying Business and Engineering Requirements: Client-server JavaScript, S...
Satisfying Business and Engineering Requirements: Client-server JavaScript, S...Satisfying Business and Engineering Requirements: Client-server JavaScript, S...
Satisfying Business and Engineering Requirements: Client-server JavaScript, S...
 
Google Developers Group Cloud Los Angeles, Progressive Web Applications by Ta...
Google Developers Group Cloud Los Angeles, Progressive Web Applications by Ta...Google Developers Group Cloud Los Angeles, Progressive Web Applications by Ta...
Google Developers Group Cloud Los Angeles, Progressive Web Applications by Ta...
 
Collaboration Tools and Methods in Software Development
Collaboration Tools and Methods in Software DevelopmentCollaboration Tools and Methods in Software Development
Collaboration Tools and Methods in Software Development
 
Career Options for CS/IT/IS graduates
Career Options for CS/IT/IS graduatesCareer Options for CS/IT/IS graduates
Career Options for CS/IT/IS graduates
 
Presentation
PresentationPresentation
Presentation
 
MOBILE QUESTIONS & ANSWER WEBSITE
MOBILE QUESTIONS & ANSWER WEBSITEMOBILE QUESTIONS & ANSWER WEBSITE
MOBILE QUESTIONS & ANSWER WEBSITE
 
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ PublishContent Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
 
User Experience Prototyping
User Experience PrototypingUser Experience Prototyping
User Experience Prototyping
 
Php ey final
Php ey finalPhp ey final
Php ey final
 
Service Workers: no more offline!
Service Workers: no more offline!Service Workers: no more offline!
Service Workers: no more offline!
 
The latest tools for developing your IBM i systems
The latest tools for developing your IBM i systemsThe latest tools for developing your IBM i systems
The latest tools for developing your IBM i systems
 
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
 
Tech a Break Sudhanshu - Mobile Apps
Tech a Break Sudhanshu - Mobile AppsTech a Break Sudhanshu - Mobile Apps
Tech a Break Sudhanshu - Mobile Apps
 
The headless CMS
The headless CMSThe headless CMS
The headless CMS
 
2014 Picking a Platform by Anand Kulkarni
2014 Picking a Platform by Anand Kulkarni2014 Picking a Platform by Anand Kulkarni
2014 Picking a Platform by Anand Kulkarni
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
 

En vedette

java-fundamental-dan-java-web-blibli-dot-com-ilmu-komputer-IPB
java-fundamental-dan-java-web-blibli-dot-com-ilmu-komputer-IPBjava-fundamental-dan-java-web-blibli-dot-com-ilmu-komputer-IPB
java-fundamental-dan-java-web-blibli-dot-com-ilmu-komputer-IPB
ifnu bima
 
Development di Blibli
Development di BlibliDevelopment di Blibli
Development di Blibli
ifnu bima
 

En vedette (16)

Blibli.com[kiyosaki]
Blibli.com[kiyosaki]Blibli.com[kiyosaki]
Blibli.com[kiyosaki]
 
java-fundamental-dan-java-web-blibli-dot-com-ilmu-komputer-IPB
java-fundamental-dan-java-web-blibli-dot-com-ilmu-komputer-IPBjava-fundamental-dan-java-web-blibli-dot-com-ilmu-komputer-IPB
java-fundamental-dan-java-web-blibli-dot-com-ilmu-komputer-IPB
 
E-Commerce blibli.com
E-Commerce blibli.comE-Commerce blibli.com
E-Commerce blibli.com
 
Blibli.com
Blibli.comBlibli.com
Blibli.com
 
e commerce pada perusahaan lazada indonesia
e commerce pada perusahaan lazada indonesiae commerce pada perusahaan lazada indonesia
e commerce pada perusahaan lazada indonesia
 
Development di Blibli
Development di BlibliDevelopment di Blibli
Development di Blibli
 
Journey To The Front End World - Part2 - The Cosmetic
Journey To The Front End World - Part2 - The  CosmeticJourney To The Front End World - Part2 - The  Cosmetic
Journey To The Front End World - Part2 - The Cosmetic
 
Journey To The Front End World - Part3 - The Machine
Journey To The Front End World - Part3 - The MachineJourney To The Front End World - Part3 - The Machine
Journey To The Front End World - Part3 - The Machine
 
What Great eCommerce Service Leaders Know & Do - A Modria Webinar
What Great eCommerce Service Leaders Know & Do - A Modria WebinarWhat Great eCommerce Service Leaders Know & Do - A Modria Webinar
What Great eCommerce Service Leaders Know & Do - A Modria Webinar
 
Php Indonesia x Bliblidotcom - Architecting Scalable CSS
Php Indonesia x Bliblidotcom - Architecting Scalable CSSPhp Indonesia x Bliblidotcom - Architecting Scalable CSS
Php Indonesia x Bliblidotcom - Architecting Scalable CSS
 
Irfan Maulana - Career Journey
Irfan Maulana - Career JourneyIrfan Maulana - Career Journey
Irfan Maulana - Career Journey
 
Email Marketing for ECommerce: Creating personalized experiences
Email Marketing for ECommerce: Creating personalized experiencesEmail Marketing for ECommerce: Creating personalized experiences
Email Marketing for ECommerce: Creating personalized experiences
 
Working cast &die shams new1
Working cast &die shams  new1Working cast &die shams  new1
Working cast &die shams new1
 
Imc clas mild final
Imc clas mild finalImc clas mild final
Imc clas mild final
 
Analisis lingkungan internal
Analisis lingkungan internalAnalisis lingkungan internal
Analisis lingkungan internal
 
Best buy A marketing excellence,concepts of managing retailing,wholesaling an...
Best buy A marketing excellence,concepts of managing retailing,wholesaling an...Best buy A marketing excellence,concepts of managing retailing,wholesaling an...
Best buy A marketing excellence,concepts of managing retailing,wholesaling an...
 

Similaire à Lesson learned in developing UI and mobile apps blibli.com

How to build an awesome mobile APP
How to build an awesome mobile APPHow to build an awesome mobile APP
How to build an awesome mobile APP
BSP Media Group
 
How to build an awesome mobile APP
How to build an awesome mobile APPHow to build an awesome mobile APP
How to build an awesome mobile APP
BSP Media Group
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4
Marvin Heery
 
Nirdesh_Developer_2.0_Years_6_months_Exp
Nirdesh_Developer_2.0_Years_6_months_ExpNirdesh_Developer_2.0_Years_6_months_Exp
Nirdesh_Developer_2.0_Years_6_months_Exp
Nirdesh Kulshreshtha
 

Similaire à Lesson learned in developing UI and mobile apps blibli.com (20)

Mobile media module part 6 - app development rev-mf
Mobile media module   part 6 - app development rev-mfMobile media module   part 6 - app development rev-mf
Mobile media module part 6 - app development rev-mf
 
Architecting for Huper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering CultureArchitecting for Huper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering Culture
 
UX in Action: IBM Watson
UX in Action: IBM WatsonUX in Action: IBM Watson
UX in Action: IBM Watson
 
Mobilize Your Business, Not Just an App
Mobilize Your Business, Not Just an AppMobilize Your Business, Not Just an App
Mobilize Your Business, Not Just an App
 
How to build an awesome mobile APP
How to build an awesome mobile APPHow to build an awesome mobile APP
How to build an awesome mobile APP
 
How to build an awesome mobile APP
How to build an awesome mobile APPHow to build an awesome mobile APP
How to build an awesome mobile APP
 
Agile Mobile Strategies on a Shoestring Budget
Agile Mobile Strategies on a Shoestring BudgetAgile Mobile Strategies on a Shoestring Budget
Agile Mobile Strategies on a Shoestring Budget
 
Transformations: Smart Application Migration to XPages
Transformations: Smart Application Migration to XPagesTransformations: Smart Application Migration to XPages
Transformations: Smart Application Migration to XPages
 
The Agile Movement
The Agile MovementThe Agile Movement
The Agile Movement
 
CMS Crash Course!
CMS Crash Course!CMS Crash Course!
CMS Crash Course!
 
amansingh.docx
amansingh.docxamansingh.docx
amansingh.docx
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4
 
Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019
 
Towards an Agile approach to building application profiles
Towards an Agile approach to building application profilesTowards an Agile approach to building application profiles
Towards an Agile approach to building application profiles
 
Neil Perlin - We're Going Mobile! Great! Are We Ready?
Neil Perlin - We're Going Mobile! Great! Are We Ready?Neil Perlin - We're Going Mobile! Great! Are We Ready?
Neil Perlin - We're Going Mobile! Great! Are We Ready?
 
Using mobile learning as an effective onboarding tool
Using mobile learning as an effective onboarding toolUsing mobile learning as an effective onboarding tool
Using mobile learning as an effective onboarding tool
 
Web Teaching Day 2014 - Agency ready and other things
Web Teaching Day 2014 - Agency ready and other thingsWeb Teaching Day 2014 - Agency ready and other things
Web Teaching Day 2014 - Agency ready and other things
 
Synerzip’s Top 10 Take Aways, From Agile 2013
Synerzip’s Top 10 Take Aways, From Agile 2013Synerzip’s Top 10 Take Aways, From Agile 2013
Synerzip’s Top 10 Take Aways, From Agile 2013
 
Eduzilla Institute Management Software
Eduzilla Institute Management SoftwareEduzilla Institute Management Software
Eduzilla Institute Management Software
 
Nirdesh_Developer_2.0_Years_6_months_Exp
Nirdesh_Developer_2.0_Years_6_months_ExpNirdesh_Developer_2.0_Years_6_months_Exp
Nirdesh_Developer_2.0_Years_6_months_Exp
 

Plus de ifnu bima

solr @ blibli
solr @ bliblisolr @ blibli
solr @ blibli
ifnu bima
 
Java Technology
Java TechnologyJava Technology
Java Technology
ifnu bima
 

Plus de ifnu bima (11)

Northstar Metrics and OKR
Northstar Metrics and OKRNorthstar Metrics and OKR
Northstar Metrics and OKR
 
A brief history of metrics
A brief history of metricsA brief history of metrics
A brief history of metrics
 
Clean code
Clean codeClean code
Clean code
 
IT Today IPB 2017 : bring new era of business with e-commerce
IT Today IPB 2017 : bring new era of business with e-commerceIT Today IPB 2017 : bring new era of business with e-commerce
IT Today IPB 2017 : bring new era of business with e-commerce
 
solr @ blibli
solr @ bliblisolr @ blibli
solr @ blibli
 
Java Technology
Java TechnologyJava Technology
Java Technology
 
Spring Mvc
Spring MvcSpring Mvc
Spring Mvc
 
Rembug Presentation
Rembug PresentationRembug Presentation
Rembug Presentation
 
IT Carier
IT CarierIT Carier
IT Carier
 
Free Software Foundation,FSF,Opensource
Free Software Foundation,FSF,OpensourceFree Software Foundation,FSF,Opensource
Free Software Foundation,FSF,Opensource
 
Spring Mvc,Java, Spring
Spring Mvc,Java, SpringSpring Mvc,Java, Spring
Spring Mvc,Java, Spring
 

Lesson learned in developing UI and mobile apps blibli.com

  • 1. Lesson learned in developing UI and mobile apps blibli.com Ifnu, 8 April 2016
  • 2. What are we going to talk today? • Lesson learned in developing UI and mobile apps blibli.com • List of lesson I learn during my time at blibli.com • Lesson developing UI • Lesson developing mobile apps
  • 3. Agenda • Who am I? • What we learn about customer • Then vs Now • Lesson 1 : People • Lesson 2 : Process • Lesson 3 : Solr • Lesson 4 : Cache • Lesson 5 : Microservices • Lesson 6 : Web UI • Lesson 7 : Mobile First • Lesson 8 : Content
  • 4. Who am I? • Ifnu Bima • Ilmu Komputer IPB • Join blibli in 2012 • Was working for Deustche Bank Singapore since 2010 • Employee no 69 • Engineers no ~13 • Development Manager – blibli.com Web UI – Mobile Apps : Android, iOS, Windows Phone – Content Management System – Search – Product Discovery : Wishlist, Product Review
  • 5. What we learn about customer • Fast UI – Speed & Performance • Website stay up during promotion and flash sale – Scalability & Elasticity • Consistently good user experience – Great UI/UX – Timely order delivery – Original and high quality product • New features – Rapid Deployment – Continuous Delivery
  • 6. Then vs Now • Based on 4 things that customer have, how do we improve over time • Things we learn along the way
  • 8.
  • 9. Blibli architecture circa 2012 Store Front Back officeMerchant
  • 10. Blibli GUI application architecture 2016
  • 11. Lesson 1 : People • Hiring is the most important job in growing company – 800+ people – 150+ engineers • Right person with knowledge, skill and attitude • Do not compromise on quality • Hire someone better than you, at least when you are at their age
  • 12. Lesson 2 : Process => Product development Product Program Manager Development Manager Product Manager 1. Product Manager (PM) – Defining the right product 2. Development Manager (DM) – Building the product right 3. Program Manager (PgM) – Cross-functional executioner Source: Inspired: How To Create Products Customers Love
  • 13. Lesson 2 : Process => Agile, XP and Scrum • Scrum role is perfectly fit with product development role • Release fast • Test Driven Development, 90% code coverage • Refactor often
  • 14. Lesson 3 : SOLR • Product catalog and category • Full text search on product – Very vast full text search compared to database – Relevancy score to sort search result • Filtering and Faceting • Very fast • Elasticsearch as alternative • CQRS (Command Query Responsibility Segregation) pattern
  • 15. Lesson 4 : Cache • Redis – User session – Very fast for small and lots of data – Turn off disk flush, it can make server disk IO 100% and response timeout while flusing • Guava – Cache content from CMS – In memory cache – Background cache reload • Varnish – Cache HTML in front of app server – Same content for all user, cannot do personalization
  • 16. Lesson 5 : Microservices • Small team working on product • Independence release • Cross functional team vs Siloed functional team • GUI application as orchestrator
  • 17. Lesson 6 : Web UI • Responsive vs Adaptive • AngularJS is great • Browsing through mobile web then purchase through desktop web • Image is our biggest enemy – 95+% traffic is image – Compress, resize and optimize it reduce 50% bandwith – Image operation need very high CPU • Client side performance is much much harder than server side performance
  • 18. Lesson 7 : Mobile First • Based on our traffic, there are 3 peak each every day: morning, afternoon and night • Morning and afternoon from desktop, Night from mobile web & apps • Only office worker is using desktop • To reach majority of Indonesia user, we need first class mobile web and apps • Mobile apps conversion is 7x web conversion • 70% web traffic goes to mobile web • 80% transaction happen on desktop web • We want user to use mobile apps as much as possible
  • 19. Lesson 7 : Mobile First • Native is first choice • Others if you constrained by budget or team size • More engineers currently working in mobile apps than web
  • 20. Lesson 8 : Content • Banner and promotion page • Different content for different channel : web and mobile apps • Control UI from CMS • Layout and content saved in database, no deployment while update it