SlideShare une entreprise Scribd logo
1  sur  14
Developing apps
for Smart TVS
1
Who we are?
Name

• Wuaki TV, S.L.

Founded

• July 2009
• Service Launched 2011

HQ

• Barcelona, Spain

Employees

• 65 (10 nationalities)

Description

• Premium TVOD y SVOD
• Multiplatform Service (TV,
PC, Tablets, consoles, etc.)

Contents
Partners

• Walt Disney, Warner
Bros, Paramount, Sony
Pictures, NBC-Universal, 20
Th Century Fox etc..

Some Data

Hollywood Studios Partners

• Registered users: 900K
• Available Titles: 10,000

Hardware Manufacturers Partners

2
From Barcelona to the world!

HQ en Barcelona

International Expansion 2013-2015

3
Smart TV development
4
Wuaki.tv: Smart TV typical stack
The typical Wuaki.tv app for a Smart TV consists of:
1.
2.
3.
4.
5.
6.

HTML
JS
CSS
Player with DRM Support
Keyboard Mapping
Integration with Wuaki.tv API

So why is it SO difficult?

5
Wuaki.tv: There are no standards!

6
Wuaki.tv: Too many brands, too many SDKs

7
Wuaki.tv: “too many” Studios!

8
Wuaki.tv Approach
• We started creating 1 app for each manufacturer. We ended up with 7 apps to
maintain.
• We learned the hard way. The apps work, but need a different solution.
• We had to reduce development cost, maintenance cost and time to market. Each
year SDKs change.
• We decided to create our “GENERIC APP”
• We know that there are parts of the app we control and other we do not.

9
Wuaki.tv: which framework do we use?

10
Wuaki.tv: TRIBBLE!

11
Wuaki.tv: Testing, building and deploying our app
To ensure quality in applications is necessary to pass them for a process of testing.
This process consists in three types of testing:
1. Unit testing to design robust software components (Jasmine)

1. Automated Integration Tests to detect regressions (things that used to work
but have stopped unexpectedly). (Karma)

1. Manual tests to find failures (things dont work as expected).

12
Wuaki.tv: Testing, building and deploying our app
In order to build the app we use Jenkins. Karma can easily be integrated with it. We
follow CI methodology.

We deploy our app using capistrano.

We Check Code Quality with CodeClimate (as of 24th October 2013)

13
GRACIAS!
Jordi Miró Bruix
CTO Wuaki.tv
jordi.miro@wuaki.tv
@jordimirobruix

Contenu connexe

En vedette

アジャイルリーダーシップと組織改革
アジャイルリーダーシップと組織改革アジャイルリーダーシップと組織改革
アジャイルリーダーシップと組織改革Rakuten Group, Inc.
 
Rakuten LeoFs - distributed file system
Rakuten LeoFs - distributed file systemRakuten LeoFs - distributed file system
Rakuten LeoFs - distributed file systemRakuten Group, Inc.
 
Latent Class Transliteration based on Source Language Origin
Latent Class Transliteration based on Source Language OriginLatent Class Transliteration based on Source Language Origin
Latent Class Transliteration based on Source Language OriginRakuten Group, Inc.
 
コンピュータのための新たな表現の追及―プログラミング言語Egison開発史
コンピュータのための新たな表現の追及―プログラミング言語Egison開発史コンピュータのための新たな表現の追及―プログラミング言語Egison開発史
コンピュータのための新たな表現の追及―プログラミング言語Egison開発史Rakuten Group, Inc.
 
[Rakuten TechConf2014] [G-4] Beyond Agile Testing to Lean Development
[Rakuten TechConf2014] [G-4] Beyond Agile Testing to Lean Development[Rakuten TechConf2014] [G-4] Beyond Agile Testing to Lean Development
[Rakuten TechConf2014] [G-4] Beyond Agile Testing to Lean DevelopmentRakuten Group, Inc.
 
[RakutenTechConf2013] [C-0] 日本にいたまま英語ペラペラ化!来年は海外カンファレンスでしゃべろう!
[RakutenTechConf2013] [C-0] 日本にいたまま英語ペラペラ化!来年は海外カンファレンスでしゃべろう![RakutenTechConf2013] [C-0] 日本にいたまま英語ペラペラ化!来年は海外カンファレンスでしゃべろう!
[RakutenTechConf2013] [C-0] 日本にいたまま英語ペラペラ化!来年は海外カンファレンスでしゃべろう!Rakuten Group, Inc.
 
[Rakuten TechConf2014] [Sendai] Global work in Tohoku Region!
[Rakuten TechConf2014] [Sendai] Global work in Tohoku Region![Rakuten TechConf2014] [Sendai] Global work in Tohoku Region!
[Rakuten TechConf2014] [Sendai] Global work in Tohoku Region!Rakuten Group, Inc.
 
アジャイルリーダーシップと組織改革 (アジャイルサムライ横浜道場)
アジャイルリーダーシップと組織改革 (アジャイルサムライ横浜道場)アジャイルリーダーシップと組織改革 (アジャイルサムライ横浜道場)
アジャイルリーダーシップと組織改革 (アジャイルサムライ横浜道場)Rakuten Group, Inc.
 
[Rakuten TechConf2014] [B-1] Performance at scale
[Rakuten TechConf2014] [B-1] Performance at scale[Rakuten TechConf2014] [B-1] Performance at scale
[Rakuten TechConf2014] [B-1] Performance at scaleRakuten Group, Inc.
 
[Rakuten TechConf2014] [A-5] Lessons learned from Ruby
[Rakuten TechConf2014] [A-5] Lessons learned from Ruby[Rakuten TechConf2014] [A-5] Lessons learned from Ruby
[Rakuten TechConf2014] [A-5] Lessons learned from RubyRakuten Group, Inc.
 
インターネットガバナンス徒然2010-2
インターネットガバナンス徒然2010-2インターネットガバナンス徒然2010-2
インターネットガバナンス徒然2010-2Rakuten Group, Inc.
 
See the Future, See the Stars Rakuten Institute of Technology
See the Future, See the Stars Rakuten Institute of TechnologySee the Future, See the Stars Rakuten Institute of Technology
See the Future, See the Stars Rakuten Institute of TechnologyRakuten Group, Inc.
 
プレゼン勉強会 「イイタイコト 革命」Study session on presentation "What you want to say" Revol...
プレゼン勉強会 「イイタイコト 革命」Study session on presentation "What you want to say" Revol...プレゼン勉強会 「イイタイコト 革命」Study session on presentation "What you want to say" Revol...
プレゼン勉強会 「イイタイコト 革命」Study session on presentation "What you want to say" Revol...Rakuten Group, Inc.
 
[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service delivery
[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service delivery[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service delivery
[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service deliveryRakuten Group, Inc.
 
[RakutenTechConf2013] [D-3_2] Counting Big Data by Streaming Algorithms
[RakutenTechConf2013] [D-3_2] Counting Big Databy Streaming Algorithms[RakutenTechConf2013] [D-3_2] Counting Big Databy Streaming Algorithms
[RakutenTechConf2013] [D-3_2] Counting Big Data by Streaming AlgorithmsRakuten Group, Inc.
 
楽天ブックスiPhoneアプリ開発日誌 ~導かれし者たち~
楽天ブックスiPhoneアプリ開発日誌 ~導かれし者たち~楽天ブックスiPhoneアプリ開発日誌 ~導かれし者たち~
楽天ブックスiPhoneアプリ開発日誌 ~導かれし者たち~Rakuten Group, Inc.
 
What does Globalization mean for Rakuten? ~ 楽天のグローバル戦略について ~
What does Globalization mean for Rakuten? ~ 楽天のグローバル戦略について ~What does Globalization mean for Rakuten? ~ 楽天のグローバル戦略について ~
What does Globalization mean for Rakuten? ~ 楽天のグローバル戦略について ~Rakuten Group, Inc.
 
Panel Discussion, Agile, Big Data, and Globalization
Panel Discussion, Agile, Big Data, and GlobalizationPanel Discussion, Agile, Big Data, and Globalization
Panel Discussion, Agile, Big Data, and GlobalizationRakuten Group, Inc.
 
How to change our world ~楽天の開発現場からのアジャイル改善事例~
How to change our world ~楽天の開発現場からのアジャイル改善事例~How to change our world ~楽天の開発現場からのアジャイル改善事例~
How to change our world ~楽天の開発現場からのアジャイル改善事例~Rakuten Group, Inc.
 

En vedette (20)

アジャイルリーダーシップと組織改革
アジャイルリーダーシップと組織改革アジャイルリーダーシップと組織改革
アジャイルリーダーシップと組織改革
 
Rakuten LeoFs - distributed file system
Rakuten LeoFs - distributed file systemRakuten LeoFs - distributed file system
Rakuten LeoFs - distributed file system
 
Latent Class Transliteration based on Source Language Origin
Latent Class Transliteration based on Source Language OriginLatent Class Transliteration based on Source Language Origin
Latent Class Transliteration based on Source Language Origin
 
コンピュータのための新たな表現の追及―プログラミング言語Egison開発史
コンピュータのための新たな表現の追及―プログラミング言語Egison開発史コンピュータのための新たな表現の追及―プログラミング言語Egison開発史
コンピュータのための新たな表現の追及―プログラミング言語Egison開発史
 
Hadoop at Rakuten, 2011/07/06
Hadoop at Rakuten, 2011/07/06Hadoop at Rakuten, 2011/07/06
Hadoop at Rakuten, 2011/07/06
 
[Rakuten TechConf2014] [G-4] Beyond Agile Testing to Lean Development
[Rakuten TechConf2014] [G-4] Beyond Agile Testing to Lean Development[Rakuten TechConf2014] [G-4] Beyond Agile Testing to Lean Development
[Rakuten TechConf2014] [G-4] Beyond Agile Testing to Lean Development
 
[RakutenTechConf2013] [C-0] 日本にいたまま英語ペラペラ化!来年は海外カンファレンスでしゃべろう!
[RakutenTechConf2013] [C-0] 日本にいたまま英語ペラペラ化!来年は海外カンファレンスでしゃべろう![RakutenTechConf2013] [C-0] 日本にいたまま英語ペラペラ化!来年は海外カンファレンスでしゃべろう!
[RakutenTechConf2013] [C-0] 日本にいたまま英語ペラペラ化!来年は海外カンファレンスでしゃべろう!
 
[Rakuten TechConf2014] [Sendai] Global work in Tohoku Region!
[Rakuten TechConf2014] [Sendai] Global work in Tohoku Region![Rakuten TechConf2014] [Sendai] Global work in Tohoku Region!
[Rakuten TechConf2014] [Sendai] Global work in Tohoku Region!
 
アジャイルリーダーシップと組織改革 (アジャイルサムライ横浜道場)
アジャイルリーダーシップと組織改革 (アジャイルサムライ横浜道場)アジャイルリーダーシップと組織改革 (アジャイルサムライ横浜道場)
アジャイルリーダーシップと組織改革 (アジャイルサムライ横浜道場)
 
[Rakuten TechConf2014] [B-1] Performance at scale
[Rakuten TechConf2014] [B-1] Performance at scale[Rakuten TechConf2014] [B-1] Performance at scale
[Rakuten TechConf2014] [B-1] Performance at scale
 
[Rakuten TechConf2014] [A-5] Lessons learned from Ruby
[Rakuten TechConf2014] [A-5] Lessons learned from Ruby[Rakuten TechConf2014] [A-5] Lessons learned from Ruby
[Rakuten TechConf2014] [A-5] Lessons learned from Ruby
 
インターネットガバナンス徒然2010-2
インターネットガバナンス徒然2010-2インターネットガバナンス徒然2010-2
インターネットガバナンス徒然2010-2
 
See the Future, See the Stars Rakuten Institute of Technology
See the Future, See the Stars Rakuten Institute of TechnologySee the Future, See the Stars Rakuten Institute of Technology
See the Future, See the Stars Rakuten Institute of Technology
 
プレゼン勉強会 「イイタイコト 革命」Study session on presentation "What you want to say" Revol...
プレゼン勉強会 「イイタイコト 革命」Study session on presentation "What you want to say" Revol...プレゼン勉強会 「イイタイコト 革命」Study session on presentation "What you want to say" Revol...
プレゼン勉強会 「イイタイコト 革命」Study session on presentation "What you want to say" Revol...
 
[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service delivery
[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service delivery[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service delivery
[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service delivery
 
[RakutenTechConf2013] [D-3_2] Counting Big Data by Streaming Algorithms
[RakutenTechConf2013] [D-3_2] Counting Big Databy Streaming Algorithms[RakutenTechConf2013] [D-3_2] Counting Big Databy Streaming Algorithms
[RakutenTechConf2013] [D-3_2] Counting Big Data by Streaming Algorithms
 
楽天ブックスiPhoneアプリ開発日誌 ~導かれし者たち~
楽天ブックスiPhoneアプリ開発日誌 ~導かれし者たち~楽天ブックスiPhoneアプリ開発日誌 ~導かれし者たち~
楽天ブックスiPhoneアプリ開発日誌 ~導かれし者たち~
 
What does Globalization mean for Rakuten? ~ 楽天のグローバル戦略について ~
What does Globalization mean for Rakuten? ~ 楽天のグローバル戦略について ~What does Globalization mean for Rakuten? ~ 楽天のグローバル戦略について ~
What does Globalization mean for Rakuten? ~ 楽天のグローバル戦略について ~
 
Panel Discussion, Agile, Big Data, and Globalization
Panel Discussion, Agile, Big Data, and GlobalizationPanel Discussion, Agile, Big Data, and Globalization
Panel Discussion, Agile, Big Data, and Globalization
 
How to change our world ~楽天の開発現場からのアジャイル改善事例~
How to change our world ~楽天の開発現場からのアジャイル改善事例~How to change our world ~楽天の開発現場からのアジャイル改善事例~
How to change our world ~楽天の開発現場からのアジャイル改善事例~
 

Similaire à [RakutenTechConf2013] [C-2_2] Developing apps for Smart TVS

Porting experience - by Golden Gekko
Porting experience - by Golden GekkoPorting experience - by Golden Gekko
Porting experience - by Golden GekkoVodafone developer
 
Crash free sdk - to share
Crash free sdk - to shareCrash free sdk - to share
Crash free sdk - to shareYakiLevin
 
Why do developers prefer ionic to build progressive web apps
Why do developers prefer ionic to build progressive web apps  Why do developers prefer ionic to build progressive web apps
Why do developers prefer ionic to build progressive web apps Moon Technolabs Pvt. Ltd.
 
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar SeriesGetting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar SeriesAmazon Web Services
 
Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...
Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...
Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...AugmentedWorldExpo
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA
 
Yahoo! Connected TV - Developer Event - Device Communication
Yahoo! Connected TV - Developer Event - Device CommunicationYahoo! Connected TV - Developer Event - Device Communication
Yahoo! Connected TV - Developer Event - Device CommunicationYahooConnectedTV
 
Mobile application development platform
Mobile application development platformMobile application development platform
Mobile application development platformi4consulting.org
 
Qt everywhere
Qt everywhereQt everywhere
Qt everywhereNokia
 
Why is it advisable for Start-ups to pick Ionic for App Development.pdf
Why is it advisable for Start-ups to pick Ionic for App Development.pdfWhy is it advisable for Start-ups to pick Ionic for App Development.pdf
Why is it advisable for Start-ups to pick Ionic for App Development.pdfShelly Megan
 
SWE Interactive - Overview
SWE Interactive - OverviewSWE Interactive - Overview
SWE Interactive - OverviewCraig Le
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
 

Similaire à [RakutenTechConf2013] [C-2_2] Developing apps for Smart TVS (20)

JAKT Portfolio
JAKT PortfolioJAKT Portfolio
JAKT Portfolio
 
Porting experience - by Golden Gekko
Porting experience - by Golden GekkoPorting experience - by Golden Gekko
Porting experience - by Golden Gekko
 
Vodafone 360 - Porting Experience
Vodafone 360 - Porting  ExperienceVodafone 360 - Porting  Experience
Vodafone 360 - Porting Experience
 
Crash free sdk - to share
Crash free sdk - to shareCrash free sdk - to share
Crash free sdk - to share
 
Why do developers prefer ionic to build progressive web apps
Why do developers prefer ionic to build progressive web apps  Why do developers prefer ionic to build progressive web apps
Why do developers prefer ionic to build progressive web apps
 
Getty/IO - Business Presentation 2017
Getty/IO - Business Presentation 2017Getty/IO - Business Presentation 2017
Getty/IO - Business Presentation 2017
 
Android @ Neev
Android @ NeevAndroid @ Neev
Android @ Neev
 
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar SeriesGetting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
 
Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...
Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...
Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612
 
Janus conf'19: janus client side
Janus conf'19:  janus client sideJanus conf'19:  janus client side
Janus conf'19: janus client side
 
Yahoo! Connected TV - Developer Event - Device Communication
Yahoo! Connected TV - Developer Event - Device CommunicationYahoo! Connected TV - Developer Event - Device Communication
Yahoo! Connected TV - Developer Event - Device Communication
 
Mobile application development platform
Mobile application development platformMobile application development platform
Mobile application development platform
 
Qt everywhere
Qt everywhereQt everywhere
Qt everywhere
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Why is it advisable for Start-ups to pick Ionic for App Development.pdf
Why is it advisable for Start-ups to pick Ionic for App Development.pdfWhy is it advisable for Start-ups to pick Ionic for App Development.pdf
Why is it advisable for Start-ups to pick Ionic for App Development.pdf
 
Company Profile
Company ProfileCompany Profile
Company Profile
 
SWE Interactive - Overview
SWE Interactive - OverviewSWE Interactive - Overview
SWE Interactive - Overview
 
IOS ecosystem
IOS ecosystemIOS ecosystem
IOS ecosystem
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 

Plus de Rakuten Group, Inc.

コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話Rakuten Group, Inc.
 
楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のりRakuten Group, Inc.
 
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Rakuten Group, Inc.
 
DataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みDataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みRakuten Group, Inc.
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開Rakuten Group, Inc.
 
楽天における大規模データベースの運用
楽天における大規模データベースの運用楽天における大規模データベースの運用
楽天における大規模データベースの運用Rakuten Group, Inc.
 
楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャーRakuten Group, Inc.
 
楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割Rakuten Group, Inc.
 
Rakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Group, Inc.
 
The Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfThe Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfRakuten Group, Inc.
 
Supporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfSupporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfRakuten Group, Inc.
 
Making Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfRakuten Group, Inc.
 
How We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfHow We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfRakuten Group, Inc.
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoRakuten Group, Inc.
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoRakuten Group, Inc.
 
Introduction of GORA API Group technology
Introduction of GORA API Group technologyIntroduction of GORA API Group technology
Introduction of GORA API Group technologyRakuten Group, Inc.
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情Rakuten Group, Inc.
 
社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャーRakuten Group, Inc.
 

Plus de Rakuten Group, Inc. (20)

コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
 
楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり
 
What Makes Software Green?
What Makes Software Green?What Makes Software Green?
What Makes Software Green?
 
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
 
DataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みDataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組み
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開
 
楽天における大規模データベースの運用
楽天における大規模データベースの運用楽天における大規模データベースの運用
楽天における大規模データベースの運用
 
楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー
 
楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割
 
Rakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdf
 
The Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfThe Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdf
 
Supporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfSupporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdf
 
Making Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdf
 
How We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfHow We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdf
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
OWASPTop10_Introduction
OWASPTop10_IntroductionOWASPTop10_Introduction
OWASPTop10_Introduction
 
Introduction of GORA API Group technology
Introduction of GORA API Group technologyIntroduction of GORA API Group technology
Introduction of GORA API Group technology
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情
 
社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー
 

Dernier

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
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
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Dernier (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
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
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

[RakutenTechConf2013] [C-2_2] Developing apps for Smart TVS

  • 2. Who we are? Name • Wuaki TV, S.L. Founded • July 2009 • Service Launched 2011 HQ • Barcelona, Spain Employees • 65 (10 nationalities) Description • Premium TVOD y SVOD • Multiplatform Service (TV, PC, Tablets, consoles, etc.) Contents Partners • Walt Disney, Warner Bros, Paramount, Sony Pictures, NBC-Universal, 20 Th Century Fox etc.. Some Data Hollywood Studios Partners • Registered users: 900K • Available Titles: 10,000 Hardware Manufacturers Partners 2
  • 3. From Barcelona to the world! HQ en Barcelona International Expansion 2013-2015 3
  • 5. Wuaki.tv: Smart TV typical stack The typical Wuaki.tv app for a Smart TV consists of: 1. 2. 3. 4. 5. 6. HTML JS CSS Player with DRM Support Keyboard Mapping Integration with Wuaki.tv API So why is it SO difficult? 5
  • 6. Wuaki.tv: There are no standards! 6
  • 7. Wuaki.tv: Too many brands, too many SDKs 7
  • 9. Wuaki.tv Approach • We started creating 1 app for each manufacturer. We ended up with 7 apps to maintain. • We learned the hard way. The apps work, but need a different solution. • We had to reduce development cost, maintenance cost and time to market. Each year SDKs change. • We decided to create our “GENERIC APP” • We know that there are parts of the app we control and other we do not. 9
  • 10. Wuaki.tv: which framework do we use? 10
  • 12. Wuaki.tv: Testing, building and deploying our app To ensure quality in applications is necessary to pass them for a process of testing. This process consists in three types of testing: 1. Unit testing to design robust software components (Jasmine) 1. Automated Integration Tests to detect regressions (things that used to work but have stopped unexpectedly). (Karma) 1. Manual tests to find failures (things dont work as expected). 12
  • 13. Wuaki.tv: Testing, building and deploying our app In order to build the app we use Jenkins. Karma can easily be integrated with it. We follow CI methodology. We deploy our app using capistrano. We Check Code Quality with CodeClimate (as of 24th October 2013) 13
  • 14. GRACIAS! Jordi Miró Bruix CTO Wuaki.tv jordi.miro@wuaki.tv @jordimirobruix

Notes de l'éditeur

  1. We want to use MVC and Backbone and AngularJS allows us to do so, but in different manners.jQuery5 to manage the elements on the page and also Ajax. RequireJS6 because allows downloading javascript files asynchronously avoiding the rest of the page content is blocked until the js loaded finish. It also optimizes files joining them into one so are needed fewer requests to the server. Marionette7 to simplify the construction of the application scaling it with modular event driven architecture. This allows us an easy way to modify the application being so flexible as we need. Also gives nested views and layouts within visual regions and much more benefits. Handlebars8 because let us build semantic templates effectively with no frustration so we save many lines of code. Lodash9 as an alternative to underscore because gives customs builds and additional features. Grunt10 to automate repetitive tasks as compilation, unit testing… 
  2. Tribble was launched to have LG on the UK working. We are now certifying the app.On the image is shown how was the application modularized following the MCV architecture and also our structure proposed at the beginning of the document to have the differences between devices separated from the common code. So, on packages we’ll find the specific from LG and on future the rest of devices.