The document discusses changes to Android development at Merari since 2014. It summarizes that they have kept daily standup meetings between Tokyo and San Francisco offices. They have also kept one source code base but target two products for the US and JP markets by using flavors. Issues worked on include streamlining the translation process and reducing app size. Current work involves developing an in-house analysis platform and AB testing tool to have more control and insights.
Android Clean Architecture for DummiesKengo Suzuki
Brief tutorial of implementing very primitive app(single list view) using Android Clean Architecture. It won't describe what and why, but rather, how to use it.
Serverless applications in Python sounds, strange isn’t? In this talk I’ll explain how to build not only crop images or select data from DynamoDB, but build real application, what kind of troubles are we should expect, how to make decision is your task fit into serverless architecture in Python or may be you should use, general approach. How fast serverless applications
written in Python, and more important how to scale it.
Merge hells!! feature toggles to the rescueLeena N
Introducing Continuous Delivery practices to a team in trouble can be daunting. Where do you start ? What do you do first ? Which battle do you pick first ?
I’ll share my experience of guiding a team to achieve a higher degree of delivery maturity. This is a journey from a troublesome, struggling start of chaotic manual deployments, merge hell, regular production roll backs and lost code, to deliver a single commit to trunk automatically and reliably, under an hour, many times a day.
This is the presentation given at the Flutter London meetup on 15th April 2019. This covers Flutter Unit, Widget and UI Testing. This also covers BDD, Screenshot and CI for Flutter tests. Event link
https://www.meetup.com/FlutterLDN/events/256834958/
Android Clean Architecture for DummiesKengo Suzuki
Brief tutorial of implementing very primitive app(single list view) using Android Clean Architecture. It won't describe what and why, but rather, how to use it.
Serverless applications in Python sounds, strange isn’t? In this talk I’ll explain how to build not only crop images or select data from DynamoDB, but build real application, what kind of troubles are we should expect, how to make decision is your task fit into serverless architecture in Python or may be you should use, general approach. How fast serverless applications
written in Python, and more important how to scale it.
Merge hells!! feature toggles to the rescueLeena N
Introducing Continuous Delivery practices to a team in trouble can be daunting. Where do you start ? What do you do first ? Which battle do you pick first ?
I’ll share my experience of guiding a team to achieve a higher degree of delivery maturity. This is a journey from a troublesome, struggling start of chaotic manual deployments, merge hell, regular production roll backs and lost code, to deliver a single commit to trunk automatically and reliably, under an hour, many times a day.
This is the presentation given at the Flutter London meetup on 15th April 2019. This covers Flutter Unit, Widget and UI Testing. This also covers BDD, Screenshot and CI for Flutter tests. Event link
https://www.meetup.com/FlutterLDN/events/256834958/
Look, Ma! No servers! Serverless application development with MongoDB StitchLauren Hayward Schaefer
Serverless architectures are hot right now--and for a good reason. Managing servers can be time consuming and painful.
We'll begin this talk by explaining what serverless really is. Then we'll dive into how you can use Stitch Functions and Stitch Triggers to rapidly build your next app. We'll wrap up with a discussion of the software development lifecycle (think DevOps!) for serverless apps. You'll leave feeling confident that you can leverage MongoDB's serverless capabilities to rapidly build your next app.
Mobile development with React Native — one year in productionAvivi Academy
JavaScript Meetup
Андрій Шумада
Sr. Software Developer at Debitoor/Ciklum
Більше 10 років у розробці. За останні три роки підготував 25+ доповідей.
Доповідь про створення мобільного додатку Debitoor під iOS на React Native з точки зору JavaScript розробника без навичок ObjectiveC/Swift. Розкажу про процес розробки, автоматичного і ручного тестування, релізи, такі особливості мобільної розробки як offline first, інтеграція з Spotlight search, робота з камерою, InAppPurchases та інші в середовищі React Native
The Developer experience for your API is much like an unpacking experience of a product. It begins when a developer first lands on your developer portal wanting to learn more about your API and what he sees there is either gonna make or break his experience. 10 things you can do to ensure it's a pleasant one.
In this webinar, Postman Developer Advocate Arlemi Turpault will show you:
- How to get started with Postman
- Key tips and tricks
- Where to look for documentation and help
Behavior Driven Development (BDD) is very popular with many Agilists out there, specially those focused on Testing. However my view is that BDD is not about Test Automation, it is about collaboration so that the expected behavior of the application can be determined. Cucumber happens to be the tool of choice to implement BDD. While doing this for web applications, we can drive the features through WebDriver.
Lately the application development has been inclined towards mobile apps and we need to extend our exiting BDD frameworks to handle app, be it Android, iOS or Win Mobile.
Appium is a neat tool for anyone who has exposure to WebDriver, irrespective of that also it is an excellent tool for mobile testing.
Here is my video of running Appium tests for android app using Cucumber.
Appium Desktop is a new graphical interface for starting an Appium server and inspecting your app's structure via Appium. It's recently been developed by the Appium contributors at Sauce Labs and is currently in open beta. In this webinar we will take you on a tour of Appium Desktop and show how it can be used with the goal of making it easier to write tests for your apps.
Enterprise E-Commerce Webinar #3: Bringing Your API to MarketNikita Sharma
This webinar is the last in Postman’s three-part webinar series on implementing an API-first strategy in enterprise e-commerce. The series, hosted by Postman Chief Evangelist Kin Lane, will walk you through key topics and how-to content via a hypothetical e-commerce enterprise, Union Fashion (see it on GitHub).
Continuing with our series, the third webinar will walk you through details of making your API available to a wider public and partner audience. We will take the API we developed during Episode 1 and then deployed in Episode 2 and bring it to market by focusing on the following areas:
API Management
Documentation
Validation
Monitors
Reports
Communication/Marketing
Feedback loop
Goal:
Minimize technical debt, code changes, and rewrites. Show stakeholders and customers the developing or fully-implemented UI as early as possible.
How:
Fake the backend. Then when the UI code is completely done, make the backend real.
The API development nowadays is a commodity. As developers, our challenge now is how to deliver a great experience to other developers that want to integrate with our services.
Get Your Node.js API Swaggering with OpenAPI SpecAdam Paxton
An overview of OpenAPI Spec, fka Swagger, as well as an example of how to use it when building a Node.js REST API.
Presented at Connect.tech Atlanta, September 21, 2017.
This slide explains a simple Android library called Debot.
Debot offers features that are useful to debug Android applications. Those features can be added to any activity that has the toolbar menu. Also, developers can easily add their own custom debugging features with simple steps.
https://github.com/tomoima525/debot
Look, Ma! No servers! Serverless application development with MongoDB StitchLauren Hayward Schaefer
Serverless architectures are hot right now--and for a good reason. Managing servers can be time consuming and painful.
We'll begin this talk by explaining what serverless really is. Then we'll dive into how you can use Stitch Functions and Stitch Triggers to rapidly build your next app. We'll wrap up with a discussion of the software development lifecycle (think DevOps!) for serverless apps. You'll leave feeling confident that you can leverage MongoDB's serverless capabilities to rapidly build your next app.
Mobile development with React Native — one year in productionAvivi Academy
JavaScript Meetup
Андрій Шумада
Sr. Software Developer at Debitoor/Ciklum
Більше 10 років у розробці. За останні три роки підготував 25+ доповідей.
Доповідь про створення мобільного додатку Debitoor під iOS на React Native з точки зору JavaScript розробника без навичок ObjectiveC/Swift. Розкажу про процес розробки, автоматичного і ручного тестування, релізи, такі особливості мобільної розробки як offline first, інтеграція з Spotlight search, робота з камерою, InAppPurchases та інші в середовищі React Native
The Developer experience for your API is much like an unpacking experience of a product. It begins when a developer first lands on your developer portal wanting to learn more about your API and what he sees there is either gonna make or break his experience. 10 things you can do to ensure it's a pleasant one.
In this webinar, Postman Developer Advocate Arlemi Turpault will show you:
- How to get started with Postman
- Key tips and tricks
- Where to look for documentation and help
Behavior Driven Development (BDD) is very popular with many Agilists out there, specially those focused on Testing. However my view is that BDD is not about Test Automation, it is about collaboration so that the expected behavior of the application can be determined. Cucumber happens to be the tool of choice to implement BDD. While doing this for web applications, we can drive the features through WebDriver.
Lately the application development has been inclined towards mobile apps and we need to extend our exiting BDD frameworks to handle app, be it Android, iOS or Win Mobile.
Appium is a neat tool for anyone who has exposure to WebDriver, irrespective of that also it is an excellent tool for mobile testing.
Here is my video of running Appium tests for android app using Cucumber.
Appium Desktop is a new graphical interface for starting an Appium server and inspecting your app's structure via Appium. It's recently been developed by the Appium contributors at Sauce Labs and is currently in open beta. In this webinar we will take you on a tour of Appium Desktop and show how it can be used with the goal of making it easier to write tests for your apps.
Enterprise E-Commerce Webinar #3: Bringing Your API to MarketNikita Sharma
This webinar is the last in Postman’s three-part webinar series on implementing an API-first strategy in enterprise e-commerce. The series, hosted by Postman Chief Evangelist Kin Lane, will walk you through key topics and how-to content via a hypothetical e-commerce enterprise, Union Fashion (see it on GitHub).
Continuing with our series, the third webinar will walk you through details of making your API available to a wider public and partner audience. We will take the API we developed during Episode 1 and then deployed in Episode 2 and bring it to market by focusing on the following areas:
API Management
Documentation
Validation
Monitors
Reports
Communication/Marketing
Feedback loop
Goal:
Minimize technical debt, code changes, and rewrites. Show stakeholders and customers the developing or fully-implemented UI as early as possible.
How:
Fake the backend. Then when the UI code is completely done, make the backend real.
The API development nowadays is a commodity. As developers, our challenge now is how to deliver a great experience to other developers that want to integrate with our services.
Get Your Node.js API Swaggering with OpenAPI SpecAdam Paxton
An overview of OpenAPI Spec, fka Swagger, as well as an example of how to use it when building a Node.js REST API.
Presented at Connect.tech Atlanta, September 21, 2017.
This slide explains a simple Android library called Debot.
Debot offers features that are useful to debug Android applications. Those features can be added to any activity that has the toolbar menu. Also, developers can easily add their own custom debugging features with simple steps.
https://github.com/tomoima525/debot
This presentation on sleep hacking provides an overview of some of the variables that affect sleep. Understanding these variables provides insight into how to optimize your sleep so you can achieve a better sleep. I tried to include some less obvious sleep hacks as a precursor to my class: Sleep Hacking - How to Dominate Your Sleep in Less than A Week
My recent presentation from the East Midlands Learning Technology Winter 2015 meeting discussing and highlighting the power of Digital Assessment for teachers, students and schools.
This is a modified version of a presentation given to high school students about understanding their digital reputations and identities online. It includes practical tips and guides from Erik Qualman's book, What Happens On Campus Stays On YouTube. A book to which I was a contributing author. Available on Amazon: http://www.amazon.com/gp/product/0991183525/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=0991183525&linkCode=as2&tag=paulgordonbro-20&linkId=VEIE5AKM4DCK7MW2
Despite the myth of "digital natives," most of my students have very little experience using technology as anything more than a consumer device. It doesn't have to be this way. By using the design thinking cycle, teachers can foster creative thinking in every content area.
This slides explains how we develop our Mercari app globally.
It shows:
- The difference between the US and Japan
- Our product team
- Developing flow and localization
- Tools we use for communication
The talk is about the “Best Practices” after the mistakes we learnt from.
This is a series of the most interesting “epic fails” we did and hard lessons we learnt. In this session, we will share some stories on how the most unexpected tiny error had the biggest impact.
http://2015.droidcon.gr/session/raymond-chenon/
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source ToolsMichael Lihs
In diesem Talk beschreibe ich die Continuous Integartion Pipeline von punkt.de und deren Entstehen. Es wird motiviert, warum es sich lohnt, eine solche Pipeline zu implementieren und welche Tools wir dafür verwendet haben. Neben der Beschreibung von Git, Jenkins, Chef, Vagrant, Behat und Surf geht es auch um Integration der einzelnen Tools in eine Deployment Kette.
Orchestrate Your End-to-end Mainframe Application Release PipelineDevOps.com
What steel and concrete are to a skyscraper, the mainframe is to the global economy. The mainframe is the transactional backbone for 96 of the world’s top 100 banks, 23 of the 25 top US retailers and 9 out of 10 of the world’s largest insurance companies.
When you think of a mainframe, you probably think of an old green computer screen. Did you know you can use the same modern tools and techniques with mainframes that you use with cloud and mobile?
With the growth of mission-critical mainframe workloads showing no signs of slowing down, application delivery cannot remain slow and complex. Organizations must apply the same DevOps processes to the mainframe as they do with other platforms.
Compuware and XebiaLabs enable large enterprises to automatically build, test and deploy mainframe releases within a cross-platform application release pipeline.
Published December 18, 2015, in Education
Final presentation for CSC 404 class - Software Design & Development.
CSC 404
Software Design & Development I
Hampton University
Fall 2015
---
FVCproductions
https://fvcproductions.com
How to feature flag and run experiments in iOS and AndroidOptimizely
Join Tom Zurkan and Kody O’Connell from Optimizely’s Engineering and Developer Relations teams to learn about the developer experience for the iOS and Android SDKs.
In this webinar, you’ll learn:
- How feature flagging sets a strong foundation for app development
- How the iOS and Android SDKs work
- What to expect when implementing and maintaining Full Stack in your app
- The steps to create feature flags and experiments in your app
- How to get started for free with Optimizely Rollouts
Встреча "QA: в каких направлениях может найти себя тестировщик?"GoIT
19.12.2014 в креативном пространстве "Часопыс" состоялась очередная встреча от проекта GoIT, посвященная "вечному". Наши любимые преподаватели и менторы доносили следующее:
• Виды QA и специфика работы в каждом из этих направлений;
• Необходимые вспомогательные навыки, которыми должен обладать тестировщик;
• Новинки мира QA.
Наши спикеры:
Николай Ковш - QA Engineer в Ciklum, которому успешно удалось перейти в сферу IT из маркетинга. Расскажет о необходимости тестировщикам уметь программировать.
Алла Пенальба - QA Lead в компании invisibleCRM, работала в компании ПИКСУС, 4 года проживала в Бельгии, где работала Mobile QA Engineer.
Марина Шевченко - Mobile QA Engineer в Ciklum. QA с опытом тестирования веб, десктопных и мобильных приложений. Расскажет о специфике тестирования мобильных приложений.
Александр Майданюк - Head of Quality Assurance Solution в компании Ciklum. Занимал должности QA Lead, Manager, QA Consultant и Trainer. Эксперт и судья QA секции чемпионата UA Web Challenge. Соучредитель Киевского клуба тестировщиков QA Club.
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysAndreas Grabner
Slides used for https://www.devopsdays.org/events/2017-toronto/program/andreas-grabner/
In 2011 we delivered 2 major releases of our on premise enterprise software. Market, technology and customer requirements forced us to change that in order to remain competitive.
Now – in 2017 - we are deploying and providing feature releases every 2 weeks for both our on premise and SaaS-based offering. We deploy 170 SaaS production changes per day and have a DevOps pipeline that allows us to deploy a code change within 1h if necessary.
To increase quality, we built and provide a DevOps pipeline that currently executes 31000 Unit & Integration Tests per Hour as well as 60h UI Tests per Build. Our application teams are responsible end-to-end for their features and use production monitoring to validate their deployments which allows them to find 93% of bugs in production before it impacts our end users.
In this session I explain how this transformation worked from both “Top Down” as well as “Bottom Up” in our organization. A key component was the 4 people strong DevOps Team who developed and “sell” their DevOps Pipeline to the globally distributed application teams. I will give insights into how our pipeline enables application teams to design, code, test and run a new feature for our user base.
I will also talk about the “dark moments” as change is never without friction. Both internally as well as with our customers who also had to get used to more rapid changes.
Similar to Android development at mercari 2015 (20)
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...Amil Baba Dawood bangali
Contact with Dawood Bhai Just call on +92322-6382012 and we'll help you. We'll solve all your problems within 12 to 24 hours and with 101% guarantee and with astrology systematic. If you want to take any personal or professional advice then also you can call us on +92322-6382012 , ONLINE LOVE PROBLEM & Other all types of Daily Life Problem's.Then CALL or WHATSAPP us on +92322-6382012 and Get all these problems solutions here by Amil Baba DAWOOD BANGALI
#vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore#blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #blackmagicforlove #blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #Amilbabainuk #amilbabainspain #amilbabaindubai #Amilbabainnorway #amilbabainkrachi #amilbabainlahore #amilbabaingujranwalan #amilbabainislamabad
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)MdTanvirMahtab2
This presentation is about the working procedure of Shahjalal Fertilizer Company Limited (SFCL). A Govt. owned Company of Bangladesh Chemical Industries Corporation under Ministry of Industries.
Welcome to WIPAC Monthly the magazine brought to you by the LinkedIn Group Water Industry Process Automation & Control.
In this month's edition, along with this month's industry news to celebrate the 13 years since the group was created we have articles including
A case study of the used of Advanced Process Control at the Wastewater Treatment works at Lleida in Spain
A look back on an article on smart wastewater networks in order to see how the industry has measured up in the interim around the adoption of Digital Transformation in the Water Industry.
Explore the innovative world of trenchless pipe repair with our comprehensive guide, "The Benefits and Techniques of Trenchless Pipe Repair." This document delves into the modern methods of repairing underground pipes without the need for extensive excavation, highlighting the numerous advantages and the latest techniques used in the industry.
Learn about the cost savings, reduced environmental impact, and minimal disruption associated with trenchless technology. Discover detailed explanations of popular techniques such as pipe bursting, cured-in-place pipe (CIPP) lining, and directional drilling. Understand how these methods can be applied to various types of infrastructure, from residential plumbing to large-scale municipal systems.
Ideal for homeowners, contractors, engineers, and anyone interested in modern plumbing solutions, this guide provides valuable insights into why trenchless pipe repair is becoming the preferred choice for pipe rehabilitation. Stay informed about the latest advancements and best practices in the field.
5. See our changes from
KPT stand point
K eep
P roblem
T ry
What we keep doing since 2014
Issues we worked on
What we are currently working on
6. But before we go,
Let’s talk about our current status
7. How we develop now
• IDE
- Eclipse -> Android Studio
• Teams
- Tokyo & San Francisco
- 3 Android Engineers
• 1 source code, 2 product (US/JP)
• Powered by lots of external services…
8. See our changes from
KPT stand point
K eep
P roblem
T ry
What we keep doing since 2014
Issues we worked on
What we are currently working on
9. Standup meeting
• JST 11AM(PST 6PM), 10min, everyday
• Between Tokyo & San Francisco office
• The best way to track progress, issues
JP Office Hours
US Office Hours
6PM PST
11AM JST
Standup
Meeting
Updating tickets
Code reviews
Feedback
10. 1 repository, 2 products
• Both Apps have the same UI, but some features are
different
• Package names
• Targeting single language
US -> com.mercariapp.mercari
JP -> com.kouzoh.mercari
US -> English JP -> Japanese
US JP
ex) Shipping
11. Set up flavors for targeted
languages
def PACKAGE_NAME = "com.kouzoh.mercari"
def PACKAGE_NAME_US = "com.mercariapp.mercari"
productFlavors {
jp {
minSdkVersion 9
applicationId PACKAGE_NAME
manifestPlaceholders = [appName:"@string/app_name"]
resConfigs "ja"
}
us {
minSdkVersion 14
applicationId PACKAGE_NAME_US
resConfigs "en"
}
}
12. Set up flavors for targeted
languages
def PACKAGE_NAME = "com.kouzoh.mercari"
def PACKAGE_NAME_US = "com.mercariapp.mercari"
productFlavors {
jp {
minSdkVersion 9
applicationId PACKAGE_NAME
manifestPlaceholders = [appName:"@string/app_name"]
resConfigs "ja"
}
us {
minSdkVersion 14
applicationId PACKAGE_NAME_US
resConfigs "en"
}
}
Change package name
13. Set up flavors for targeted
languages
def PACKAGE_NAME = "com.kouzoh.mercari"
def PACKAGE_NAME_US = "com.mercariapp.mercari"
productFlavors {
jp {
minSdkVersion 9
applicationId PACKAGE_NAME
manifestPlaceholders = [appName:"@string/app_name"]
resConfigs "ja"
}
us {
minSdkVersion 14
applicationId PACKAGE_NAME_US
resConfigs "en"
}
}
Apply targeted language
14. Support older SDK version
Importing a library which min SDK version is more
recent than App's min SDK version fails with an error
Error:Execution failed for task ':Tasks:processDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 9 cannot be smaller
than version 10 declared in library /Users/tomo/Projects/mercari/
Tasks/build/intermediates/exploded-aar/com.aviary.android/aviary/
21.0.2/AndroidManifest.xml
Suggestion: use
tools:overrideLibrary=“com.aviary.android.feather.library" to force
usage
ex)
App’s min SDK -> 9
Aviary’s min SDK -> 10
15. Support older SDK version
Use overridelibrary marker to avoid the build error
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:installLocation="auto">
<uses-sdk tools:overrideLibrary=“com.aviary.android.feather.library”…
16. See our changes from
KPT stand point
K eep
P roblem
T ry
What we keep doing since 2014
Issues we worked on
What we are currently working on
17. Word Translations
• Transifix was used to prevent omission of
translation
Translation
TeamEngineer
3. Translate
wordings
5. Push
string.xml
4. Pull
string.xml
2. Push
string.xml
1. Pull
string.xml
string.xml should be
updated to the latest
to avoid conflict
18. Word Translations
• However, too much time was taken for
changing one word
Translation
TeamEngineer
3. Translate
wordings
5. Push
string.xml
4. Pull
string.xml
2. Push
string.xml
1. Pull
string.xml
string.xml should be
updated to the latest
to avoid conflict
19. How we changed translation
process
• Wordings are decided on Redmine
• Created a check list to prevent omission
Translation
Team
Engineer
Push
string.xml
Product Manager
21. Analyzation
• External analysis tools are easy way to collect
logs and visualize data
• On the other hand…
- Not suitable for analyzing into deeper meanings
- Data are stocked in each analysis tools
23. See our changes from
KPT stand point
K eep
P roblem
T ry
What we keep doing since 2014
Issues we worked on
What we are currently working on
24. Reducing the size of App
• Modularize functions
- Set flavor to dependencies
- Split codes by flavor
25. Reducing the size of App
• Look over the size of images
• Remove unused libraries, methods…
4.6MB→721KB
26. Reducing the size of App
• Size went down by 25%!!
16.5 MB -> 12.4 MB
• Though did not raise the install rate… :-(
27. In-house AB testing
• Apptimize for mobile AB Testing
• Some issues
- Can configure AB test programatically
- Segment specific users from GUI
- Analyzing data in detail was not so easy
- Not enough for complex testing including server-side
- Wanted to control A/B test from our server
28. In-house AB testing
{
result: "OK",
data: {
experiment_results: [
{
name: "003_buy_button_colors",
variant: 3,
metadata: { color : blue}
}
]
},
Request testing data
29. In-house AB testing
{
result: "OK",
data: {
experiment_results: [
{
name: "003_buy_button_colors",
variant: 3,
metadata: { color : blue}
}
]
},
Send testing result
to Pascal
ABTest.runTest(ABTestList.BUY_BUTTON.getTestName(), new ABTest.ABTestRunner() {
@Override
public void run(ABTestContent content) {
int id = content.getVariant();
switch (id) { . . .}
30. See our changes from
KPT stand point
K eep
P roblem
T ry
Daily standup meeting
1 source code 2 products
Changed translation flow
Developed in-house Analysis tool
Reducing the size of App
Developing in-house AB Testing tool