SlideShare a Scribd company logo
1 of 95
Product architecture
by Royi Benyossef
Failures and lessons learnt
Android developer since 2009
Tech community activist, speaker and founder
Mentor at * accelerator
Google expert since 2013
Developer relations manager SamsungNext Tel-Aviv
Introduction
Royi Benyossef
Introduction
Samsung Next Tel-aviv
Community (free-for-all, no strings attached)
Investment:
Early stage SW & SaaS startups
Seasoned entrepreneurs
Deep tech
- IoT, AR/VR, cyber, DL, ML, CV, bots, cloud etc.
Community (free-for-all, no strings attached)
Investment (SW & SaaS startups & entrepreneurs)
For more information:
- samsungnexttlv.com
- royi@samsungnext.com
Introduction
Samsung Next Tel-aviv
Prolog
Prolog
Vidmind:
Introduction
Prolog
Vidmind:
- End-to-end OTT TV platform
Introduction
Prolog
Vidmind:
End-to-end OTT TV platform
- Standard backend & clients
Introduction
Prolog
Vidmind:
End-to-end OTT TV platform
- Standard backend & clients
+ AOSP STB
Introduction
Prolog
Vidmind:
End-to-end OTT TV platform
- Standard backend & clients
+ Android “based” set-top box
Introduction
Prolog
AOSP STB
Me @ Vidmind:
Introduction
Prolog
AOSP STB
Me @ Vidmind:
- From Android tech. leader
Introduction
Prolog
AOSP STB
Me @ Vidmind:
From Android tech. leader
- To Android clients group manager
Introduction
Prolog
AOSP STB
Me @ Vidmind:
From Android tech. leader
- To Android clients group manager
(In charge W/ design, dev, arch. & prod.)
Introduction
Prolog
See what we did
Agenda
Prolog
See what we did
Talk about what went wrong and why
Agenda
Prolog
See what we did
Talk about what went wrong
Say what we learned from our issues
Agenda
Prolog
See what we did
Talk about what went wrong
Say what we learned from our issues
Show how we attempted to “fix it”
Agenda
Prolog
See what we did
Talk about what went wrong
Say what we learned from our issues
Show how we attempted to “fix it”
Disclose how that panned out
Agenda
Prolog
See what we did
Talk about what went wrong
Say what we learned from our issues
Show how we attempted to “fix it”
Disclose how that panned out
Repeat
Agenda
Chapter 1
To be young and hopeful
Chapter 1
One app (launcher)
What we did
Chapter 1
One app (launcher)
Each “screen” was in a transparent activity
What we did
Chapter 1
One app (launcher)
Each “screen” was in a transparent activity
Root app handled video and OpenGL gallery
What we did
Chapter 1
One app (launcher)
Each “screen” was in a transparent activity
Root app handled video and OpenGL gallery
On-prem and manual build machine
What we did
Chapter 1
One app (launcher)
Each “screen” was in a transparent activity
Root app handled video and OpenGL gallery
On-prem and manual build machine
Using proprietary APIs for “special” features
What we did
Chapter 1
Apk size was enormous
What we later found
Chapter 1
Apk size was enormous (mostly bad for dev)
What we later found
Chapter 1
Apk size was enormous (mostly bad for dev)
UX did not work as the designers asked
What we later found
Chapter 1
Apk size was enormous (mostly bad for dev)
UX did not work as the designers asked
Codebase became an unmanageable mess
What we later found
Chapter 1
Apk size was enormous (mostly bad for dev)
UX did not work as the designers asked
Codebase became an unmanageable mess:
> Builds took time and manpower
What we later found
Chapter 1
Apk size was enormous (mostly bad for dev)
UX did not work as the designers asked
Codebase became an unmanageable mess:
Builds took time and manpower
> No QA automation
What we later found
Chapter 1
Apk size was enormous (mostly bad for dev)
UX did not work as the designers asked
Codebase became an unmanageable mess:
Builds took time and manpower
No QA automation
> Stability was terrible
What we later found
Chapter 1
Apk size was enormous (mostly bad for dev)
UX did not work as the designers asked
Codebase became an unmanageable mess:
Builds took time and manpower
No QA automation
Stability was terrible
> Runtime memory was too much
What we later found
Chapter 1
Apk size was enormous (mostly bad for dev)
UX did not work as the designers asked
Codebase became an unmanageable mess:
Builds took time and manpower
No QA automation
Stability was terrible
> Runtime memory was too much
What we later found
Chapter 1
Apk size was enormous (mostly bad for dev)
UX did not work as the designers asked
Codebase became an unmanageable mess
QA was impossible
What we later found
Chapter 1
We can’t look at this as a normal application
What we learned from it
Chapter 1
We can’t look at this as a normal application
We need to seek other implementations
What we learned from it
Chapter 2
Throwing a tantrum
Chapter 2
One app
What we (almost) did
Chapter 2
One app
Implemented entirely in OpenGL
What we (almost) did
Chapter 2
OpenGL development is long and hard
What we later found
Chapter 2
OpenGL development is long and hard
OpenGL wrappers are meant for games
What we later found
Chapter 2
We have to go back!!!
What we learned from it
Chapter 3
Minimum changes
Chapter 3
Activities became apps
What we did
Chapter 3
Activities became apps (1 per screen + launcher)
What we did
Chapter 3
Activities became apps (1 per screen + launcher)
Added a “sticky” service
What we did
Chapter 3
Activities became apps (1 per screen + launcher)
Added a “sticky” service
Communication (w/ interfaces):
- App to service
What we did
Chapter 3
Activities became apps (1 per screen + launcher)
Added a “sticky” service
Communication (w/ interfaces):
App to service
- Service to app
What we did
Chapter 3
Activities became apps (1 per screen + launcher)
Added a “sticky” service
Communication (w/ interfaces)
Pseudo MVC
What we did
Chapter 3
Activities became apps (1 per screen + launcher)
Added a “sticky” service
Communication (w/ interfaces)
Pseudo MVC
* Still using OpenGL gallery
What we did
Chapter 3
What we did
Activities became apps (1 per screen + launcher)
Added a “sticky” service
Communication (w/ interfaces)
Pseudo MVC
* Still using OpenGL gallery
STB HW and FW updated to improve UX
Chapter 3
What we did
Activities became apps (1 per screen + launcher)
Added a “sticky” service
Communication (w/ interfaces)
Pseudo MVC
* Still using OpenGL gallery
STB HW and FW updated to improve UX
(Incl. Android API upgrade)
Chapter 3
Services do not live forever
What we later found
Chapter 3
Services do not live forever (= instability)
What we later found
Chapter 3
Services do not live forever
complex development process
What we later found
Chapter 3
Services do not live forever
complex development process
(= 10 files to add a method)
What we later found
Chapter 3
Services do not live forever
complex development process
All proprietary APIs changed behavior
What we later found
Chapter 3
Services do not live forever
complex development process
All proprietary APIs changed behavior
(= needed massive code changes)
What we later found
Chapter 3
Services do not live forever
complex development process
All proprietary APIs changed behavior
Code maintainability issues
What we later found
Chapter 3
Services do not live forever
complex development process
All proprietary APIs changed behavior
Code maintainability issues
+ builds (still) took time and manpower
What we later found
Chapter 3
Services do not live forever
complex development process
All proprietary APIs changed behavior
Code maintainability issues
+ builds (still) took time and manpower
+ No QA automation
What we later found
Chapter 3
Services do not live forever
complex development process
All proprietary APIs changed behavior
Code maintainability issues
+ builds (still) took time and manpower
+ No QA automation
= QA was impossible
What we later found
Chapter 3
No more OpenGL
What we learned from it
Chapter 3
No more OpenGL
We need to work with Android, not against it
What we learned from it
Chapter 3
No more OpenGL
We need to work with Android, not against it
We need a great UX that works on Android
What we learned from it
Chapter 3
No more OpenGL
We need to work with Android, not against it
We need a great UX that works on Android
Build and QA automation are a must
What we learned from it
Chapter 3
No more OpenGL
We need to work with Android, not against it
We need a great UX that works on Android
Build and QA automation are a must
Feature encapsulation is a must
What we learned from it
Chapter 3
No more OpenGL
We need to work with Android, not against it
We need a great UX that works on Android
Build and QA automation are a must
Feature encapsulation is a must
Effective code sharing is a must
What we learned from it
Chapter 4
This has to work!
Chapter 4
Maven + jenkins based build machine
What we did
Chapter 4
Maven + jenkins based build machine
Appium + Espresso + JUnit automation
What we did
Chapter 4
Maven + jenkins based build machine
Appium + Espresso + JUnit automation
HAL
What we did
Chapter 4
Maven + jenkins based build machine
Appium + Espresso + JUnit automation
HAL (Hardware Abstraction Layer)
What we did
Chapter 4
Maven + jenkins based build machine
Appium + Espresso + JUnit automation
HAL (Hardware Abstraction Layer)
Func. based encapsulation
What we did
Chapter 4
Maven + jenkins based build machine
Appium + Espresso + JUnit automation
HAL (Hardware Abstraction Layer)
Func. based encapsulation
App dependency management
What we did
Chapter 4
Far faster implementation
What we later found
Chapter 4
Far faster implementation
Reduced inter-team dependency
What we later found
Chapter 4
Far faster implementation
Reduced inter-team dependency allowed us to:
- Increase group size to ~35
What we later found
Chapter 4
Far faster implementation
Reduced inter-team dependency allowed us to:
Increase group size to ~35
- Work in 5 locations (4 countries)
What we later found
Chapter 4
Far faster implementation
Reduced inter-team dependency
Designers were happy with the UX
What we later found
Chapter 4
Far faster implementation
Reduced inter-team dependency
Designers were happy with the UX
Improved performance and stability
What we later found
Chapter 4
Far faster implementation
Reduced inter-team dependency
Designers were happy with the UX
Improved performance and stability
Improved work cycle and transparency
What we later found
Chapter 4
Far faster implementation
Reduced inter-team dependency
Designers were happy with the UX
Improved performance and stability
Improved work cycle and transparency
HW&FW agnostic product:
What we later found
Chapter 4
Far faster implementation
Reduced inter-team dependency
Designers were happy with the UX
Improved performance and stability
Improved work cycle and transparency
HW&FW agnostic product:
> Faster integ. for demos -> easier sale
What we later found
Chapter 4
Far faster implementation
Reduced inter-team dependency
Designers were happy with the UX
Improved performance and stability
Improved work cycle and transparency
HW&FW agnostic product:
Faster integ. for demos -> easier sale
> Increased bargaining powerwith
OEMs
What we later found
Summary
Summary
Work better not harder
What we learned from it
Summary
Work better not harder
Automate as much as possible
What we learned from it
Summary
Work better not harder
Automate as much as possible
Work with your system, not against it
What we learned from it
Summary
Work better not harder
Automate as much as possible
Work with your system, not against it
(HW, SW, FW and people)
What we learned from it
Summary
Work better not harder
Automate as much as possible
Work with your system, not against it
Never be afraid to start over (if you can)
What we learned from it
“We should be building great
things. Things that Don’t yet
exist”
Royi Benyossef
samsungnexttlv.com
Hope you liked it
Thanks for listening!
Royi Benyossef
(royi@samsungnext.com)

More Related Content

What's hot

Why every startup built with Ruby on Rails has an upper hand over their compe...
Why every startup built with Ruby on Rails has an upper hand over their compe...Why every startup built with Ruby on Rails has an upper hand over their compe...
Why every startup built with Ruby on Rails has an upper hand over their compe...DreamToIPO
 
Ionic framework one day training
Ionic framework one day trainingIonic framework one day training
Ionic framework one day trainingTroy Miles
 
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...Sauce Labs
 
Git and Git Workflow Models as Catalysts of Software Development
Git and Git Workflow Models as Catalysts of Software DevelopmentGit and Git Workflow Models as Catalysts of Software Development
Git and Git Workflow Models as Catalysts of Software DevelopmentLemi Orhan Ergin
 
Comparing Agile QA Approaches to End-to-End Testing
Comparing Agile QA Approaches to End-to-End TestingComparing Agile QA Approaches to End-to-End Testing
Comparing Agile QA Approaches to End-to-End TestingKatie Chin
 
Story Testing Approach for Enterprise Applications using Selenium Framework
Story Testing Approach for Enterprise Applications using Selenium FrameworkStory Testing Approach for Enterprise Applications using Selenium Framework
Story Testing Approach for Enterprise Applications using Selenium FrameworkOleksiy Rezchykov
 
Building serverless-applications
Building serverless-applicationsBuilding serverless-applications
Building serverless-applicationsAndrii Soldatenko
 
Git with t for teams
Git with t for teamsGit with t for teams
Git with t for teamsSven Peters
 
Achieving Continuous Delivery with Puppet
Achieving Continuous Delivery with PuppetAchieving Continuous Delivery with Puppet
Achieving Continuous Delivery with PuppetDevoteam Revolve
 
Message Queues in Ruby - An Overview
Message Queues in Ruby - An OverviewMessage Queues in Ruby - An Overview
Message Queues in Ruby - An OverviewPradeep Elankumaran
 
Workshop on Hybrid App Development with Ionic Framework
Workshop on Hybrid App Development with Ionic FrameworkWorkshop on Hybrid App Development with Ionic Framework
Workshop on Hybrid App Development with Ionic FrameworkAayush Shrestha
 
DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)Nitin Bhide
 
What Are The Best Practices When Building a Back-end App With Kotlin And Spri...
What Are The Best Practices When Building a Back-end App With Kotlin And Spri...What Are The Best Practices When Building a Back-end App With Kotlin And Spri...
What Are The Best Practices When Building a Back-end App With Kotlin And Spri...Alex Fedorov
 
Bulletproof design systems using storybook
Bulletproof design systems using storybookBulletproof design systems using storybook
Bulletproof design systems using storybookChen Feldman
 
CI CD Jenkins for Swift Deployment
CI CD Jenkins for Swift DeploymentCI CD Jenkins for Swift Deployment
CI CD Jenkins for Swift DeploymentBintang Thunder
 
DevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsDevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsNitin Bhide
 
CI/CD for mobile at HERE
CI/CD for mobile at HERECI/CD for mobile at HERE
CI/CD for mobile at HEREStefan Verhoeff
 

What's hot (20)

Why every startup built with Ruby on Rails has an upper hand over their compe...
Why every startup built with Ruby on Rails has an upper hand over their compe...Why every startup built with Ruby on Rails has an upper hand over their compe...
Why every startup built with Ruby on Rails has an upper hand over their compe...
 
Ionic framework one day training
Ionic framework one day trainingIonic framework one day training
Ionic framework one day training
 
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
 
Git and Git Workflow Models as Catalysts of Software Development
Git and Git Workflow Models as Catalysts of Software DevelopmentGit and Git Workflow Models as Catalysts of Software Development
Git and Git Workflow Models as Catalysts of Software Development
 
Comparing Agile QA Approaches to End-to-End Testing
Comparing Agile QA Approaches to End-to-End TestingComparing Agile QA Approaches to End-to-End Testing
Comparing Agile QA Approaches to End-to-End Testing
 
Story Testing Approach for Enterprise Applications using Selenium Framework
Story Testing Approach for Enterprise Applications using Selenium FrameworkStory Testing Approach for Enterprise Applications using Selenium Framework
Story Testing Approach for Enterprise Applications using Selenium Framework
 
Building serverless-applications
Building serverless-applicationsBuilding serverless-applications
Building serverless-applications
 
Git with t for teams
Git with t for teamsGit with t for teams
Git with t for teams
 
A Tale of Two Apps
A Tale of Two AppsA Tale of Two Apps
A Tale of Two Apps
 
Phonegap presentation
Phonegap presentationPhonegap presentation
Phonegap presentation
 
Achieving Continuous Delivery with Puppet
Achieving Continuous Delivery with PuppetAchieving Continuous Delivery with Puppet
Achieving Continuous Delivery with Puppet
 
Message Queues in Ruby - An Overview
Message Queues in Ruby - An OverviewMessage Queues in Ruby - An Overview
Message Queues in Ruby - An Overview
 
Workshop on Hybrid App Development with Ionic Framework
Workshop on Hybrid App Development with Ionic FrameworkWorkshop on Hybrid App Development with Ionic Framework
Workshop on Hybrid App Development with Ionic Framework
 
DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)
 
What Are The Best Practices When Building a Back-end App With Kotlin And Spri...
What Are The Best Practices When Building a Back-end App With Kotlin And Spri...What Are The Best Practices When Building a Back-end App With Kotlin And Spri...
What Are The Best Practices When Building a Back-end App With Kotlin And Spri...
 
Bulletproof design systems using storybook
Bulletproof design systems using storybookBulletproof design systems using storybook
Bulletproof design systems using storybook
 
Appium vs Espresso and XCUI Test
Appium vs Espresso and XCUI TestAppium vs Espresso and XCUI Test
Appium vs Espresso and XCUI Test
 
CI CD Jenkins for Swift Deployment
CI CD Jenkins for Swift DeploymentCI CD Jenkins for Swift Deployment
CI CD Jenkins for Swift Deployment
 
DevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsDevOps - Understanding Core Concepts
DevOps - Understanding Core Concepts
 
CI/CD for mobile at HERE
CI/CD for mobile at HERECI/CD for mobile at HERE
CI/CD for mobile at HERE
 

Similar to "Product Architecture: failures and lessons learnt" - Royi Benyossef @Products_of_Things, August 2016

MongoDB World 2019: In-App Bug Reporting
MongoDB World 2019: In-App Bug ReportingMongoDB World 2019: In-App Bug Reporting
MongoDB World 2019: In-App Bug ReportingMongoDB
 
What is Codename One - Transcript.pdf
What is Codename One - Transcript.pdfWhat is Codename One - Transcript.pdf
What is Codename One - Transcript.pdfShaiAlmog1
 
Crystal clear service interfaces w/ Swagger/OpenAPI
Crystal clear service interfaces w/ Swagger/OpenAPICrystal clear service interfaces w/ Swagger/OpenAPI
Crystal clear service interfaces w/ Swagger/OpenAPIScott Triglia
 
Mobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMoataz Nabil
 
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptat
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptatDominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptat
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptatmdevtalk
 
Ruby on Google App Engine: Upgrade to Google App "Turbo" Engine
Ruby on Google App Engine: Upgrade to Google App "Turbo" EngineRuby on Google App Engine: Upgrade to Google App "Turbo" Engine
Ruby on Google App Engine: Upgrade to Google App "Turbo" EngineJoseph Ku
 
Subverting the monolith!
Subverting the monolith!Subverting the monolith!
Subverting the monolith!Sophia Russell
 
Reliable mobile test automation
Reliable mobile test automationReliable mobile test automation
Reliable mobile test automationVishal Banthia
 
Wds leanengineering-141103233017-conversion-gate02
Wds leanengineering-141103233017-conversion-gate02Wds leanengineering-141103233017-conversion-gate02
Wds leanengineering-141103233017-conversion-gate02Shivam Prajapati
 
Mobile application development platform
Mobile application development platformMobile application development platform
Mobile application development platformi4consulting.org
 
Making Angular2 lean and Fast
Making Angular2 lean and FastMaking Angular2 lean and Fast
Making Angular2 lean and FastVinci Rufus
 
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysOur DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysDynatrace
 
Evolving Services Into A Cloud Native World
Evolving Services Into A Cloud Native WorldEvolving Services Into A Cloud Native World
Evolving Services Into A Cloud Native WorldIain Hull
 
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...André Goliath
 
I Love APIs - Oct 2015
I Love APIs - Oct 2015I Love APIs - Oct 2015
I Love APIs - Oct 2015Mike McNeil
 
The Ember.js Framework - Everything You Need To Know
The Ember.js Framework - Everything You Need To KnowThe Ember.js Framework - Everything You Need To Know
The Ember.js Framework - Everything You Need To KnowAll Things Open
 
Building a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekBuilding a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekDr. Felix Raab
 
Zero cost serverless Real time web app
Zero cost serverless Real time web appZero cost serverless Real time web app
Zero cost serverless Real time web appBarcamp Saigon
 

Similar to "Product Architecture: failures and lessons learnt" - Royi Benyossef @Products_of_Things, August 2016 (20)

MongoDB World 2019: In-App Bug Reporting
MongoDB World 2019: In-App Bug ReportingMongoDB World 2019: In-App Bug Reporting
MongoDB World 2019: In-App Bug Reporting
 
What is Codename One - Transcript.pdf
What is Codename One - Transcript.pdfWhat is Codename One - Transcript.pdf
What is Codename One - Transcript.pdf
 
Crystal clear service interfaces w/ Swagger/OpenAPI
Crystal clear service interfaces w/ Swagger/OpenAPICrystal clear service interfaces w/ Swagger/OpenAPI
Crystal clear service interfaces w/ Swagger/OpenAPI
 
Mobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and Docker
 
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptat
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptatDominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptat
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptat
 
Ruby on Google App Engine: Upgrade to Google App "Turbo" Engine
Ruby on Google App Engine: Upgrade to Google App "Turbo" EngineRuby on Google App Engine: Upgrade to Google App "Turbo" Engine
Ruby on Google App Engine: Upgrade to Google App "Turbo" Engine
 
Subverting the monolith!
Subverting the monolith!Subverting the monolith!
Subverting the monolith!
 
Angular
AngularAngular
Angular
 
Reliable mobile test automation
Reliable mobile test automationReliable mobile test automation
Reliable mobile test automation
 
Wds leanengineering-141103233017-conversion-gate02
Wds leanengineering-141103233017-conversion-gate02Wds leanengineering-141103233017-conversion-gate02
Wds leanengineering-141103233017-conversion-gate02
 
Mobile application development platform
Mobile application development platformMobile application development platform
Mobile application development platform
 
Making Angular2 lean and Fast
Making Angular2 lean and FastMaking Angular2 lean and Fast
Making Angular2 lean and Fast
 
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysOur DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
 
Evolving Services Into A Cloud Native World
Evolving Services Into A Cloud Native WorldEvolving Services Into A Cloud Native World
Evolving Services Into A Cloud Native World
 
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
 
I Love APIs - Oct 2015
I Love APIs - Oct 2015I Love APIs - Oct 2015
I Love APIs - Oct 2015
 
The Ember.js Framework - Everything You Need To Know
The Ember.js Framework - Everything You Need To KnowThe Ember.js Framework - Everything You Need To Know
The Ember.js Framework - Everything You Need To Know
 
Building a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekBuilding a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one week
 
Zero cost serverless Real time web app
Zero cost serverless Real time web appZero cost serverless Real time web app
Zero cost serverless Real time web app
 
Serverless
ServerlessServerless
Serverless
 

More from Product of Things

With tangible products, comes tangible pain: how to better predict problems i...
With tangible products, comes tangible pain: how to better predict problems i...With tangible products, comes tangible pain: how to better predict problems i...
With tangible products, comes tangible pain: how to better predict problems i...Product of Things
 
Match the supply chain for your product needs with Amit Rotenberg
Match the supply chain for your product needs with Amit RotenbergMatch the supply chain for your product needs with Amit Rotenberg
Match the supply chain for your product needs with Amit RotenbergProduct of Things
 
‘Mapping the IoT Toolkit’ an open research to design meaningful smart product...
‘Mapping the IoT Toolkit’ an open research to design meaningful smart product...‘Mapping the IoT Toolkit’ an open research to design meaningful smart product...
‘Mapping the IoT Toolkit’ an open research to design meaningful smart product...Product of Things
 
Making better ‘things’ using Design Thinking with Yorai Gabriel
Making better ‘things’ using Design Thinking with Yorai GabrielMaking better ‘things’ using Design Thinking with Yorai Gabriel
Making better ‘things’ using Design Thinking with Yorai GabrielProduct of Things
 
Empathetic Strategy: Design mindset for product innovation in the age of acce...
Empathetic Strategy: Design mindset for product innovation in the age of acce...Empathetic Strategy: Design mindset for product innovation in the age of acce...
Empathetic Strategy: Design mindset for product innovation in the age of acce...Product of Things
 
Pushing traditional manufacturers towards agile hardware manufacturing with D...
Pushing traditional manufacturers towards agile hardware manufacturing with D...Pushing traditional manufacturers towards agile hardware manufacturing with D...
Pushing traditional manufacturers towards agile hardware manufacturing with D...Product of Things
 
IoF - Internet of Farms - How the digital revolution is changing the agricult...
IoF - Internet of Farms - How the digital revolution is changing the agricult...IoF - Internet of Farms - How the digital revolution is changing the agricult...
IoF - Internet of Farms - How the digital revolution is changing the agricult...Product of Things
 
Product and UX lessons learned from 100 IoT companies with Jonathan Seroussi
Product and UX lessons learned from 100 IoT companies with Jonathan SeroussiProduct and UX lessons learned from 100 IoT companies with Jonathan Seroussi
Product and UX lessons learned from 100 IoT companies with Jonathan SeroussiProduct of Things
 
Be ready for personalized augmented reality experiences with Lior Romanwosky
Be ready for personalized augmented reality experiences with Lior RomanwoskyBe ready for personalized augmented reality experiences with Lior Romanwosky
Be ready for personalized augmented reality experiences with Lior RomanwoskyProduct of Things
 
Build your first IoT device - The tricky interface of Product and R&D with Ni...
Build your first IoT device - The tricky interface of Product and R&D with Ni...Build your first IoT device - The tricky interface of Product and R&D with Ni...
Build your first IoT device - The tricky interface of Product and R&D with Ni...Product of Things
 
Avoid embarrassing press by designing secure IoT products with Misha Seltzer
Avoid embarrassing press by designing secure IoT products with Misha SeltzerAvoid embarrassing press by designing secure IoT products with Misha Seltzer
Avoid embarrassing press by designing secure IoT products with Misha SeltzerProduct of Things
 
The IoT on-boarding challenge: Software, people, and things with Noam Mantel
The IoT on-boarding challenge: Software, people, and things with Noam MantelThe IoT on-boarding challenge: Software, people, and things with Noam Mantel
The IoT on-boarding challenge: Software, people, and things with Noam MantelProduct of Things
 
Your challenge is not to sell products but to profitably manage products with...
Your challenge is not to sell products but to profitably manage products with...Your challenge is not to sell products but to profitably manage products with...
Your challenge is not to sell products but to profitably manage products with...Product of Things
 
Make sure your product doesn’t only follow but also lead tomorrow’s tech with...
Make sure your product doesn’t only follow but also lead tomorrow’s tech with...Make sure your product doesn’t only follow but also lead tomorrow’s tech with...
Make sure your product doesn’t only follow but also lead tomorrow’s tech with...Product of Things
 
"Lean startups : what happens when you put hardware into the mix?" - Gal Shau...
"Lean startups : what happens when you put hardware into the mix?" - Gal Shau..."Lean startups : what happens when you put hardware into the mix?" - Gal Shau...
"Lean startups : what happens when you put hardware into the mix?" - Gal Shau...Product of Things
 
"Breaking the tech barrier: difficulties of going smart for non tech teams" -...
"Breaking the tech barrier: difficulties of going smart for non tech teams" -..."Breaking the tech barrier: difficulties of going smart for non tech teams" -...
"Breaking the tech barrier: difficulties of going smart for non tech teams" -...Product of Things
 
"Bridging the gap between prototypes and production" - Odi Dahan @Products_of...
"Bridging the gap between prototypes and production" - Odi Dahan @Products_of..."Bridging the gap between prototypes and production" - Odi Dahan @Products_of...
"Bridging the gap between prototypes and production" - Odi Dahan @Products_of...Product of Things
 
“It’s Not About Sensor Making, it’s About Sense Making” - Moriya Kassis @Prod...
“It’s Not About Sensor Making, it’s About Sense Making” - Moriya Kassis @Prod...“It’s Not About Sensor Making, it’s About Sense Making” - Moriya Kassis @Prod...
“It’s Not About Sensor Making, it’s About Sense Making” - Moriya Kassis @Prod...Product of Things
 
“Medical Robotics - Perception & Reality - The R&D challenge” - Yossi Bar @Pr...
“Medical Robotics - Perception & Reality - The R&D challenge” - Yossi Bar @Pr...“Medical Robotics - Perception & Reality - The R&D challenge” - Yossi Bar @Pr...
“Medical Robotics - Perception & Reality - The R&D challenge” - Yossi Bar @Pr...Product of Things
 

More from Product of Things (19)

With tangible products, comes tangible pain: how to better predict problems i...
With tangible products, comes tangible pain: how to better predict problems i...With tangible products, comes tangible pain: how to better predict problems i...
With tangible products, comes tangible pain: how to better predict problems i...
 
Match the supply chain for your product needs with Amit Rotenberg
Match the supply chain for your product needs with Amit RotenbergMatch the supply chain for your product needs with Amit Rotenberg
Match the supply chain for your product needs with Amit Rotenberg
 
‘Mapping the IoT Toolkit’ an open research to design meaningful smart product...
‘Mapping the IoT Toolkit’ an open research to design meaningful smart product...‘Mapping the IoT Toolkit’ an open research to design meaningful smart product...
‘Mapping the IoT Toolkit’ an open research to design meaningful smart product...
 
Making better ‘things’ using Design Thinking with Yorai Gabriel
Making better ‘things’ using Design Thinking with Yorai GabrielMaking better ‘things’ using Design Thinking with Yorai Gabriel
Making better ‘things’ using Design Thinking with Yorai Gabriel
 
Empathetic Strategy: Design mindset for product innovation in the age of acce...
Empathetic Strategy: Design mindset for product innovation in the age of acce...Empathetic Strategy: Design mindset for product innovation in the age of acce...
Empathetic Strategy: Design mindset for product innovation in the age of acce...
 
Pushing traditional manufacturers towards agile hardware manufacturing with D...
Pushing traditional manufacturers towards agile hardware manufacturing with D...Pushing traditional manufacturers towards agile hardware manufacturing with D...
Pushing traditional manufacturers towards agile hardware manufacturing with D...
 
IoF - Internet of Farms - How the digital revolution is changing the agricult...
IoF - Internet of Farms - How the digital revolution is changing the agricult...IoF - Internet of Farms - How the digital revolution is changing the agricult...
IoF - Internet of Farms - How the digital revolution is changing the agricult...
 
Product and UX lessons learned from 100 IoT companies with Jonathan Seroussi
Product and UX lessons learned from 100 IoT companies with Jonathan SeroussiProduct and UX lessons learned from 100 IoT companies with Jonathan Seroussi
Product and UX lessons learned from 100 IoT companies with Jonathan Seroussi
 
Be ready for personalized augmented reality experiences with Lior Romanwosky
Be ready for personalized augmented reality experiences with Lior RomanwoskyBe ready for personalized augmented reality experiences with Lior Romanwosky
Be ready for personalized augmented reality experiences with Lior Romanwosky
 
Build your first IoT device - The tricky interface of Product and R&D with Ni...
Build your first IoT device - The tricky interface of Product and R&D with Ni...Build your first IoT device - The tricky interface of Product and R&D with Ni...
Build your first IoT device - The tricky interface of Product and R&D with Ni...
 
Avoid embarrassing press by designing secure IoT products with Misha Seltzer
Avoid embarrassing press by designing secure IoT products with Misha SeltzerAvoid embarrassing press by designing secure IoT products with Misha Seltzer
Avoid embarrassing press by designing secure IoT products with Misha Seltzer
 
The IoT on-boarding challenge: Software, people, and things with Noam Mantel
The IoT on-boarding challenge: Software, people, and things with Noam MantelThe IoT on-boarding challenge: Software, people, and things with Noam Mantel
The IoT on-boarding challenge: Software, people, and things with Noam Mantel
 
Your challenge is not to sell products but to profitably manage products with...
Your challenge is not to sell products but to profitably manage products with...Your challenge is not to sell products but to profitably manage products with...
Your challenge is not to sell products but to profitably manage products with...
 
Make sure your product doesn’t only follow but also lead tomorrow’s tech with...
Make sure your product doesn’t only follow but also lead tomorrow’s tech with...Make sure your product doesn’t only follow but also lead tomorrow’s tech with...
Make sure your product doesn’t only follow but also lead tomorrow’s tech with...
 
"Lean startups : what happens when you put hardware into the mix?" - Gal Shau...
"Lean startups : what happens when you put hardware into the mix?" - Gal Shau..."Lean startups : what happens when you put hardware into the mix?" - Gal Shau...
"Lean startups : what happens when you put hardware into the mix?" - Gal Shau...
 
"Breaking the tech barrier: difficulties of going smart for non tech teams" -...
"Breaking the tech barrier: difficulties of going smart for non tech teams" -..."Breaking the tech barrier: difficulties of going smart for non tech teams" -...
"Breaking the tech barrier: difficulties of going smart for non tech teams" -...
 
"Bridging the gap between prototypes and production" - Odi Dahan @Products_of...
"Bridging the gap between prototypes and production" - Odi Dahan @Products_of..."Bridging the gap between prototypes and production" - Odi Dahan @Products_of...
"Bridging the gap between prototypes and production" - Odi Dahan @Products_of...
 
“It’s Not About Sensor Making, it’s About Sense Making” - Moriya Kassis @Prod...
“It’s Not About Sensor Making, it’s About Sense Making” - Moriya Kassis @Prod...“It’s Not About Sensor Making, it’s About Sense Making” - Moriya Kassis @Prod...
“It’s Not About Sensor Making, it’s About Sense Making” - Moriya Kassis @Prod...
 
“Medical Robotics - Perception & Reality - The R&D challenge” - Yossi Bar @Pr...
“Medical Robotics - Perception & Reality - The R&D challenge” - Yossi Bar @Pr...“Medical Robotics - Perception & Reality - The R&D challenge” - Yossi Bar @Pr...
“Medical Robotics - Perception & Reality - The R&D challenge” - Yossi Bar @Pr...
 

Recently uploaded

What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 

Recently uploaded (20)

What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
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
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 

"Product Architecture: failures and lessons learnt" - Royi Benyossef @Products_of_Things, August 2016

  • 1. Product architecture by Royi Benyossef Failures and lessons learnt
  • 2. Android developer since 2009 Tech community activist, speaker and founder Mentor at * accelerator Google expert since 2013 Developer relations manager SamsungNext Tel-Aviv Introduction Royi Benyossef
  • 3. Introduction Samsung Next Tel-aviv Community (free-for-all, no strings attached) Investment: Early stage SW & SaaS startups Seasoned entrepreneurs Deep tech - IoT, AR/VR, cyber, DL, ML, CV, bots, cloud etc.
  • 4. Community (free-for-all, no strings attached) Investment (SW & SaaS startups & entrepreneurs) For more information: - samsungnexttlv.com - royi@samsungnext.com Introduction Samsung Next Tel-aviv
  • 7. Prolog Vidmind: - End-to-end OTT TV platform Introduction
  • 8. Prolog Vidmind: End-to-end OTT TV platform - Standard backend & clients Introduction
  • 9. Prolog Vidmind: End-to-end OTT TV platform - Standard backend & clients + AOSP STB Introduction
  • 10. Prolog Vidmind: End-to-end OTT TV platform - Standard backend & clients + Android “based” set-top box Introduction
  • 11. Prolog AOSP STB Me @ Vidmind: Introduction
  • 12. Prolog AOSP STB Me @ Vidmind: - From Android tech. leader Introduction
  • 13. Prolog AOSP STB Me @ Vidmind: From Android tech. leader - To Android clients group manager Introduction
  • 14. Prolog AOSP STB Me @ Vidmind: From Android tech. leader - To Android clients group manager (In charge W/ design, dev, arch. & prod.) Introduction
  • 15. Prolog See what we did Agenda
  • 16. Prolog See what we did Talk about what went wrong and why Agenda
  • 17. Prolog See what we did Talk about what went wrong Say what we learned from our issues Agenda
  • 18. Prolog See what we did Talk about what went wrong Say what we learned from our issues Show how we attempted to “fix it” Agenda
  • 19. Prolog See what we did Talk about what went wrong Say what we learned from our issues Show how we attempted to “fix it” Disclose how that panned out Agenda
  • 20. Prolog See what we did Talk about what went wrong Say what we learned from our issues Show how we attempted to “fix it” Disclose how that panned out Repeat Agenda
  • 21. Chapter 1 To be young and hopeful
  • 22. Chapter 1 One app (launcher) What we did
  • 23. Chapter 1 One app (launcher) Each “screen” was in a transparent activity What we did
  • 24. Chapter 1 One app (launcher) Each “screen” was in a transparent activity Root app handled video and OpenGL gallery What we did
  • 25. Chapter 1 One app (launcher) Each “screen” was in a transparent activity Root app handled video and OpenGL gallery On-prem and manual build machine What we did
  • 26. Chapter 1 One app (launcher) Each “screen” was in a transparent activity Root app handled video and OpenGL gallery On-prem and manual build machine Using proprietary APIs for “special” features What we did
  • 27. Chapter 1 Apk size was enormous What we later found
  • 28. Chapter 1 Apk size was enormous (mostly bad for dev) What we later found
  • 29. Chapter 1 Apk size was enormous (mostly bad for dev) UX did not work as the designers asked What we later found
  • 30. Chapter 1 Apk size was enormous (mostly bad for dev) UX did not work as the designers asked Codebase became an unmanageable mess What we later found
  • 31. Chapter 1 Apk size was enormous (mostly bad for dev) UX did not work as the designers asked Codebase became an unmanageable mess: > Builds took time and manpower What we later found
  • 32. Chapter 1 Apk size was enormous (mostly bad for dev) UX did not work as the designers asked Codebase became an unmanageable mess: Builds took time and manpower > No QA automation What we later found
  • 33. Chapter 1 Apk size was enormous (mostly bad for dev) UX did not work as the designers asked Codebase became an unmanageable mess: Builds took time and manpower No QA automation > Stability was terrible What we later found
  • 34. Chapter 1 Apk size was enormous (mostly bad for dev) UX did not work as the designers asked Codebase became an unmanageable mess: Builds took time and manpower No QA automation Stability was terrible > Runtime memory was too much What we later found
  • 35. Chapter 1 Apk size was enormous (mostly bad for dev) UX did not work as the designers asked Codebase became an unmanageable mess: Builds took time and manpower No QA automation Stability was terrible > Runtime memory was too much What we later found
  • 36. Chapter 1 Apk size was enormous (mostly bad for dev) UX did not work as the designers asked Codebase became an unmanageable mess QA was impossible What we later found
  • 37. Chapter 1 We can’t look at this as a normal application What we learned from it
  • 38. Chapter 1 We can’t look at this as a normal application We need to seek other implementations What we learned from it
  • 40. Chapter 2 One app What we (almost) did
  • 41. Chapter 2 One app Implemented entirely in OpenGL What we (almost) did
  • 42. Chapter 2 OpenGL development is long and hard What we later found
  • 43. Chapter 2 OpenGL development is long and hard OpenGL wrappers are meant for games What we later found
  • 44. Chapter 2 We have to go back!!! What we learned from it
  • 46. Chapter 3 Activities became apps What we did
  • 47. Chapter 3 Activities became apps (1 per screen + launcher) What we did
  • 48. Chapter 3 Activities became apps (1 per screen + launcher) Added a “sticky” service What we did
  • 49. Chapter 3 Activities became apps (1 per screen + launcher) Added a “sticky” service Communication (w/ interfaces): - App to service What we did
  • 50. Chapter 3 Activities became apps (1 per screen + launcher) Added a “sticky” service Communication (w/ interfaces): App to service - Service to app What we did
  • 51. Chapter 3 Activities became apps (1 per screen + launcher) Added a “sticky” service Communication (w/ interfaces) Pseudo MVC What we did
  • 52. Chapter 3 Activities became apps (1 per screen + launcher) Added a “sticky” service Communication (w/ interfaces) Pseudo MVC * Still using OpenGL gallery What we did
  • 53. Chapter 3 What we did Activities became apps (1 per screen + launcher) Added a “sticky” service Communication (w/ interfaces) Pseudo MVC * Still using OpenGL gallery STB HW and FW updated to improve UX
  • 54. Chapter 3 What we did Activities became apps (1 per screen + launcher) Added a “sticky” service Communication (w/ interfaces) Pseudo MVC * Still using OpenGL gallery STB HW and FW updated to improve UX (Incl. Android API upgrade)
  • 55. Chapter 3 Services do not live forever What we later found
  • 56. Chapter 3 Services do not live forever (= instability) What we later found
  • 57. Chapter 3 Services do not live forever complex development process What we later found
  • 58. Chapter 3 Services do not live forever complex development process (= 10 files to add a method) What we later found
  • 59. Chapter 3 Services do not live forever complex development process All proprietary APIs changed behavior What we later found
  • 60. Chapter 3 Services do not live forever complex development process All proprietary APIs changed behavior (= needed massive code changes) What we later found
  • 61. Chapter 3 Services do not live forever complex development process All proprietary APIs changed behavior Code maintainability issues What we later found
  • 62. Chapter 3 Services do not live forever complex development process All proprietary APIs changed behavior Code maintainability issues + builds (still) took time and manpower What we later found
  • 63. Chapter 3 Services do not live forever complex development process All proprietary APIs changed behavior Code maintainability issues + builds (still) took time and manpower + No QA automation What we later found
  • 64. Chapter 3 Services do not live forever complex development process All proprietary APIs changed behavior Code maintainability issues + builds (still) took time and manpower + No QA automation = QA was impossible What we later found
  • 65. Chapter 3 No more OpenGL What we learned from it
  • 66. Chapter 3 No more OpenGL We need to work with Android, not against it What we learned from it
  • 67. Chapter 3 No more OpenGL We need to work with Android, not against it We need a great UX that works on Android What we learned from it
  • 68. Chapter 3 No more OpenGL We need to work with Android, not against it We need a great UX that works on Android Build and QA automation are a must What we learned from it
  • 69. Chapter 3 No more OpenGL We need to work with Android, not against it We need a great UX that works on Android Build and QA automation are a must Feature encapsulation is a must What we learned from it
  • 70. Chapter 3 No more OpenGL We need to work with Android, not against it We need a great UX that works on Android Build and QA automation are a must Feature encapsulation is a must Effective code sharing is a must What we learned from it
  • 71. Chapter 4 This has to work!
  • 72. Chapter 4 Maven + jenkins based build machine What we did
  • 73. Chapter 4 Maven + jenkins based build machine Appium + Espresso + JUnit automation What we did
  • 74. Chapter 4 Maven + jenkins based build machine Appium + Espresso + JUnit automation HAL What we did
  • 75. Chapter 4 Maven + jenkins based build machine Appium + Espresso + JUnit automation HAL (Hardware Abstraction Layer) What we did
  • 76. Chapter 4 Maven + jenkins based build machine Appium + Espresso + JUnit automation HAL (Hardware Abstraction Layer) Func. based encapsulation What we did
  • 77. Chapter 4 Maven + jenkins based build machine Appium + Espresso + JUnit automation HAL (Hardware Abstraction Layer) Func. based encapsulation App dependency management What we did
  • 78. Chapter 4 Far faster implementation What we later found
  • 79. Chapter 4 Far faster implementation Reduced inter-team dependency What we later found
  • 80. Chapter 4 Far faster implementation Reduced inter-team dependency allowed us to: - Increase group size to ~35 What we later found
  • 81. Chapter 4 Far faster implementation Reduced inter-team dependency allowed us to: Increase group size to ~35 - Work in 5 locations (4 countries) What we later found
  • 82. Chapter 4 Far faster implementation Reduced inter-team dependency Designers were happy with the UX What we later found
  • 83. Chapter 4 Far faster implementation Reduced inter-team dependency Designers were happy with the UX Improved performance and stability What we later found
  • 84. Chapter 4 Far faster implementation Reduced inter-team dependency Designers were happy with the UX Improved performance and stability Improved work cycle and transparency What we later found
  • 85. Chapter 4 Far faster implementation Reduced inter-team dependency Designers were happy with the UX Improved performance and stability Improved work cycle and transparency HW&FW agnostic product: What we later found
  • 86. Chapter 4 Far faster implementation Reduced inter-team dependency Designers were happy with the UX Improved performance and stability Improved work cycle and transparency HW&FW agnostic product: > Faster integ. for demos -> easier sale What we later found
  • 87. Chapter 4 Far faster implementation Reduced inter-team dependency Designers were happy with the UX Improved performance and stability Improved work cycle and transparency HW&FW agnostic product: Faster integ. for demos -> easier sale > Increased bargaining powerwith OEMs What we later found
  • 89. Summary Work better not harder What we learned from it
  • 90. Summary Work better not harder Automate as much as possible What we learned from it
  • 91. Summary Work better not harder Automate as much as possible Work with your system, not against it What we learned from it
  • 92. Summary Work better not harder Automate as much as possible Work with your system, not against it (HW, SW, FW and people) What we learned from it
  • 93. Summary Work better not harder Automate as much as possible Work with your system, not against it Never be afraid to start over (if you can) What we learned from it
  • 94. “We should be building great things. Things that Don’t yet exist”
  • 95. Royi Benyossef samsungnexttlv.com Hope you liked it Thanks for listening! Royi Benyossef (royi@samsungnext.com)

Editor's Notes

  1. Hello and welcome back to “Internet of terms”, this episode is called; Becoming aware
  2. Delight and excite our users. in this case we’re interested in doing that by
  3. Delight and excite our users. in this case we’re interested in doing that by
  4. Delight and excite our users. in this case we’re interested in doing that by
  5. So what are are we interested in today? well today we’ll focus on the desire all developers have which is to
  6. Delight and excite our users. in this case we’re interested in doing that by
  7. Delight and excite our users. in this case we’re interested in doing that by
  8. Delight and excite our users. in this case we’re interested in doing that by
  9. Delight and excite our users. in this case we’re interested in doing that by
  10. Delight and excite our users. in this case we’re interested in doing that by
  11. Delight and excite our users. in this case we’re interested in doing that by
  12. Delight and excite our users. in this case we’re interested in doing that by
  13. Delight and excite our users. in this case we’re interested in doing that by
  14. Delight and excite our users. in this case we’re interested in doing that by
  15. Delight and excite our users. in this case we’re interested in doing that by
  16. Delight and excite our users. in this case we’re interested in doing that by
  17. Delight and excite our users. in this case we’re interested in doing that by
  18. Delight and excite our users. in this case we’re interested in doing that by
  19. Delight and excite our users. in this case we’re interested in doing that by
  20. Delight and excite our users. in this case we’re interested in doing that by
  21. So what are are we interested in today? well today we’ll focus on the desire all developers have which is to
  22. Delight and excite our users. in this case we’re interested in doing that by
  23. Delight and excite our users. in this case we’re interested in doing that by
  24. Delight and excite our users. in this case we’re interested in doing that by
  25. Delight and excite our users. in this case we’re interested in doing that by
  26. Delight and excite our users. in this case we’re interested in doing that by
  27. Delight and excite our users. in this case we’re interested in doing that by
  28. Delight and excite our users. in this case we’re interested in doing that by
  29. Delight and excite our users. in this case we’re interested in doing that by
  30. Delight and excite our users. in this case we’re interested in doing that by
  31. Delight and excite our users. in this case we’re interested in doing that by
  32. Delight and excite our users. in this case we’re interested in doing that by
  33. Delight and excite our users. in this case we’re interested in doing that by
  34. Delight and excite our users. in this case we’re interested in doing that by
  35. Delight and excite our users. in this case we’re interested in doing that by
  36. Delight and excite our users. in this case we’re interested in doing that by
  37. Delight and excite our users. in this case we’re interested in doing that by
  38. Delight and excite our users. in this case we’re interested in doing that by
  39. So what are are we interested in today? well today we’ll focus on the desire all developers have which is to
  40. Delight and excite our users. in this case we’re interested in doing that by
  41. Delight and excite our users. in this case we’re interested in doing that by
  42. Delight and excite our users. in this case we’re interested in doing that by
  43. Delight and excite our users. in this case we’re interested in doing that by
  44. Delight and excite our users. in this case we’re interested in doing that by
  45. So what are are we interested in today? well today we’ll focus on the desire all developers have which is to
  46. Delight and excite our users. in this case we’re interested in doing that by
  47. Delight and excite our users. in this case we’re interested in doing that by
  48. Delight and excite our users. in this case we’re interested in doing that by
  49. Delight and excite our users. in this case we’re interested in doing that by
  50. Delight and excite our users. in this case we’re interested in doing that by
  51. Delight and excite our users. in this case we’re interested in doing that by
  52. Delight and excite our users. in this case we’re interested in doing that by
  53. Delight and excite our users. in this case we’re interested in doing that by
  54. Delight and excite our users. in this case we’re interested in doing that by
  55. Delight and excite our users. in this case we’re interested in doing that by
  56. Delight and excite our users. in this case we’re interested in doing that by
  57. Delight and excite our users. in this case we’re interested in doing that by
  58. Delight and excite our users. in this case we’re interested in doing that by
  59. Delight and excite our users. in this case we’re interested in doing that by
  60. Delight and excite our users. in this case we’re interested in doing that by
  61. Delight and excite our users. in this case we’re interested in doing that by
  62. Delight and excite our users. in this case we’re interested in doing that by
  63. Delight and excite our users. in this case we’re interested in doing that by
  64. Delight and excite our users. in this case we’re interested in doing that by
  65. Delight and excite our users. in this case we’re interested in doing that by
  66. Delight and excite our users. in this case we’re interested in doing that by
  67. Delight and excite our users. in this case we’re interested in doing that by
  68. Delight and excite our users. in this case we’re interested in doing that by
  69. Delight and excite our users. in this case we’re interested in doing that by
  70. Delight and excite our users. in this case we’re interested in doing that by
  71. So what are are we interested in today? well today we’ll focus on the desire all developers have which is to
  72. Delight and excite our users. in this case we’re interested in doing that by
  73. Delight and excite our users. in this case we’re interested in doing that by
  74. Delight and excite our users. in this case we’re interested in doing that by
  75. Delight and excite our users. in this case we’re interested in doing that by
  76. Delight and excite our users. in this case we’re interested in doing that by
  77. Delight and excite our users. in this case we’re interested in doing that by
  78. Delight and excite our users. in this case we’re interested in doing that by
  79. Delight and excite our users. in this case we’re interested in doing that by
  80. Delight and excite our users. in this case we’re interested in doing that by
  81. Delight and excite our users. in this case we’re interested in doing that by
  82. Delight and excite our users. in this case we’re interested in doing that by
  83. Delight and excite our users. in this case we’re interested in doing that by
  84. Delight and excite our users. in this case we’re interested in doing that by
  85. Delight and excite our users. in this case we’re interested in doing that by
  86. Delight and excite our users. in this case we’re interested in doing that by
  87. Delight and excite our users. in this case we’re interested in doing that by
  88. So what are are we interested in today? well today we’ll focus on the desire all developers have which is to
  89. Delight and excite our users. in this case we’re interested in doing that by
  90. Delight and excite our users. in this case we’re interested in doing that by
  91. Delight and excite our users. in this case we’re interested in doing that by
  92. Delight and excite our users. in this case we’re interested in doing that by
  93. Delight and excite our users. in this case we’re interested in doing that by
  94. Delight and excite our users. in this case we’re interested in doing that by
  95. If that interests you please visit samsungnexttlv.com