SlideShare a Scribd company logo
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

More Related Content

What's hot

Creating a Responsive Website From Scratch
Creating a Responsive Website From ScratchCreating a Responsive Website From Scratch
Creating a Responsive Website From Scratch
Corky Brown
 
DeveloperDeveloperDeveloper! Sydney 2012
DeveloperDeveloperDeveloper! Sydney 2012DeveloperDeveloperDeveloper! Sydney 2012
DeveloperDeveloperDeveloper! Sydney 2012
kittenthecat
 
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
saritasingh19866
 
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...
Jason Strimpel
 
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...
Marie Smith
 
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
Stefan Fodor
 
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
Alfred Jett Grandeza
 
Presentation
PresentationPresentation
Presentation
Nikhilesh Sharma
 
MOBILE QUESTIONS & ANSWER WEBSITE
MOBILE QUESTIONS & ANSWER WEBSITEMOBILE QUESTIONS & ANSWER WEBSITE
MOBILE QUESTIONS & ANSWER WEBSITEVishal Mittal
 
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
Jani Tarvainen
 
User Experience Prototyping
User Experience PrototypingUser Experience Prototyping
User Experience Prototyping
Catapult New Business
 
Service Workers: no more offline!
Service Workers: no more offline!Service Workers: no more offline!
Service Workers: no more offline!
maciej-adamczak
 
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
Proximity Group
 
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 ...
GreeceJS
 
Tech a Break Sudhanshu - Mobile Apps
Tech a Break Sudhanshu - Mobile AppsTech a Break Sudhanshu - Mobile Apps
Tech a Break Sudhanshu - Mobile Apps
devpin
 
The headless CMS
The headless CMSThe headless CMS
The headless CMS
Érico Andrei
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
Manesh Lad
 

What's hot (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
 

Viewers also liked

Blibli.com[kiyosaki]
Blibli.com[kiyosaki]Blibli.com[kiyosaki]
Blibli.com[kiyosaki]
Edo Alfendo
 
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-IPBifnu bima
 
E-Commerce blibli.com
E-Commerce blibli.comE-Commerce blibli.com
E-Commerce blibli.com
Forum Tunas Bangsa (FORTUNA)
 
e commerce pada perusahaan lazada indonesia
e commerce pada perusahaan lazada indonesiae commerce pada perusahaan lazada indonesia
e commerce pada perusahaan lazada indonesia
Sammuel Des Andre
 
Development di Blibli
Development di BlibliDevelopment di Blibli
Development di Blibliifnu bima
 
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
Irfan Maulana
 
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
Irfan Maulana
 
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
Mike Greene
 
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
 
Irfan Maulana - Career Journey
Irfan Maulana - Career JourneyIrfan Maulana - Career Journey
Irfan Maulana - Career Journey
Irfan Maulana
 
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
Sita Kalluri
 
Working cast &die shams new1
Working cast &die shams  new1Working cast &die shams  new1
Working cast &die shams new1
nudii
 
Analisis lingkungan internal
Analisis lingkungan internalAnalisis lingkungan internal
Analisis lingkungan internal
Faridatul Fitriyah
 
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...
deepakearth
 

Viewers also liked (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...
 

Similar to Lesson learned in developing UI and mobile apps blibli.com

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
Michelle Ferrier
 
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
SARCCOM
 
UX in Action: IBM Watson
UX in Action: IBM WatsonUX in Action: IBM Watson
UX in Action: IBM Watson
UserTesting
 
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
Teamstudio
 
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 APPBSP 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 APPBSP Media Group
 
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
Aaron Grant
 
Transformations: Smart Application Migration to XPages
Transformations: Smart Application Migration to XPagesTransformations: Smart Application Migration to XPages
Transformations: Smart Application Migration to XPages
Teamstudio
 
CMS Crash Course!
CMS Crash Course!CMS Crash Course!
CMS Crash Course!
TechSoup Canada
 
amansingh.docx
amansingh.docxamansingh.docx
amansingh.docx
ammusingh2409
 
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 4Marvin Heery
 
Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019
Ahmed Misbah
 
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
Paul Walk
 
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?
LavaConConference
 
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
Jon Brasted
 
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
Richard Eskins
 
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
Synerzip
 
Eduzilla Institute Management Software
Eduzilla Institute Management SoftwareEduzilla Institute Management Software
Eduzilla Institute Management Software
Yogesh Raut
 
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_ExpNirdesh Kulshreshtha
 

Similar to 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
 

More from ifnu bima

Northstar Metrics and OKR
Northstar Metrics and OKRNorthstar Metrics and OKR
Northstar Metrics and OKR
ifnu bima
 
A brief history of metrics
A brief history of metricsA brief history of metrics
A brief history of metrics
ifnu bima
 
Clean code
Clean codeClean code
Clean code
ifnu bima
 
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
ifnu bima
 
solr @ blibli
solr @ bliblisolr @ blibli
solr @ blibliifnu bima
 
Java Technology
Java TechnologyJava Technology
Java Technologyifnu bima
 
Spring Mvc
Spring MvcSpring Mvc
Spring Mvc
ifnu bima
 
Rembug Presentation
Rembug PresentationRembug Presentation
Rembug Presentation
ifnu bima
 
IT Carier
IT CarierIT Carier
IT Carier
ifnu bima
 
Free Software Foundation,FSF,Opensource
Free Software Foundation,FSF,OpensourceFree Software Foundation,FSF,Opensource
Free Software Foundation,FSF,Opensource
ifnu bima
 
Spring Mvc,Java, Spring
Spring Mvc,Java, SpringSpring Mvc,Java, Spring
Spring Mvc,Java, Spring
ifnu bima
 

More from 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