SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
WHO WE ARE
Alexander Wilhelm – ‘Alex’

alex@cinemacraft.tv
Manager Client Engineering | UI/UX Designer

Using Sencha since 2008 (ExtJS 2.x+) and developed apps as consultant from late 2010
mainly with Sencha Touch (0.8b+)

Hiroyuki Fukuhara – ‘Hiro’

hiro@cinemacraft.tv

Video Engineering (Founding Team)

Veteran in the video industry and works on the native iOS components (Player, Capture,
Plugins etc.) of Videogram, Mediaglyphics and everything else that’s needed.
CINEMACRAFT (THAT’S WHERE WE WORK)
OVERVIEW

PRODUCTS

ü  Established 2010

1.  Videogram (Flagship)
www.videogram.com

ü  Offices in Tokyo & LA
ü  Currently 8 employees

2.  Qixshr
www.qixshr.com

Don’t be afraid, visit us:
www.cinemacraft.tv

investors
TOPICS FOR YOU TODAY
ü  Videogram Product Overview
ü  Pros & Cons of why we chose ‘Sencha Touch’
ü  Our integration (Web and Mobile Apps)
ü  Our Development Process
ü  Performance Tips, Pitfalls etc.
ü  Q&A
WHAT IS VIDEOGRAM?
“Videogram converts video into an interactive pictorial summary giving a user multiple
entry points and allowing video to be browsed and discovered with the same
simplicity as photos. It uses a proprietary algorithm that takes into account
variables including motion, light, color, and clip duration.
Our service enables users to share clips and comment on video at the frame level,
providing for much more context and in turn higher engagement.”
- Marketing Pitch

BUT WHAT DOES THAT MEAN?
ONLINE VIDEO IS BROKEN
AND HERE IS WHY…

ü  Only one thumbnail… is the video
relevant to me?
ü  Videos are very time intensive to
consume or check
ü  Commenting on videos out of context
to the video – difficult to interact
THE SALVATION!

ü  Browse through videos as quickly as
photos
ü  scales according to screen size
(completely responsive – Phone, Tablet, Mobile Web,
Desktop Web)

ü  Every aspect of the video is visible,
shareable and inter actable
ü  Can utilize new user navigation
paradigms (e.g. Leap Motion, Kinect etc.)
ü  We offer libraries for white-labeling
solutions (use Videogram in your apps!)
VIDEOGRAM EMBEDS ARE LEAP ENABLED
Any Publisher Using videogram embeds will automatically allow consumers with Leap
technology to benefit – visit www.videogram.com to try it out!

https://www.leapmotion.com/
ü  Videogram core library was already built on web
technologies (JS & HTML5)
ü  Cross platform support out of the box
ü  Native mobile look & feel and hardware access
possible via Adobe PhoneGap (Cordova) +
extensive theming possibilities
ü  Flexibility for quicker iterations across platforms
ü  Resource constraints… two developers can
build for 4 different platforms at the same time
ü  AR, Games in general (2D/3D)
ü  Very high performance, low latency
apps (finance, equalizers etc.)
ü  Already a mature and proven
formula in place
ü  Mobile Web or cross-platform
strategy not a focus
ü  If you have to support Android <
4.0 (incl. 3.0 which is not
supported)
WHY ADOBE PHONEGAP?
ü  PhoneGap offers standardized cross-platform for direct-access to hardware components
(e.g. camera, upload, Facebook SDK etc.)

ü  Great Community with lots of native plugins incl. social sharing, push notifications, SMS/
web components etc.
ü  JavaScript code can be standardized to call web components and native counterparts
alike (e.g. Facebook integration – web & native components)
ü  Most ‘alternatives’ are built on top of PhoneGap (Steroids.JS, Iceanium, etc.)
ü  Completely open source (Apache Cordova project)
ü  NEW! Sencha Touch features PhoneGap integration via SenchaCMD

Overall the best solution to natively package HTML5 apps as hybrid-solutions
PHONEGAP – WHAT TO LOOK OUT FOR THOUGH
ü  UIWebViews often behave differently than mobile browser counterparts
ü  Major version releases tend to break Plugins/Plugin Architecture – which can be
time consuming on project updates (e.g. having Facebook, Twitter, Push Notifications plugins
as a central part of the app)

ü  Sometimes default shipped components are a bit unevenly implemented. (e.g. camera
returns more/different values than camera roll selection when video is recorded or selected)

ü  Writing or integrating native plugins can be difficult for pure web-developers as it
handles with native code per platform (Objective-C, Java, C#)
ü  Project Upgrades to newer PhoneGap version can be time consuming
PROBLEMS THAT WILL COME UP, I PROMISE!!!
Both iOS & Android use Webkit and theoretically Sencha Touch should run equally, right?
NO! Implementations of Webkit vary greatly not only by platform but by OS subversions and even between the default Mobile Browser
& the supplied native WebView.
Native app and Webapp should run at the same speed, right?
NO! See above (different WebKit versions!) and on iOS the WebView does not support (yet) JIT compilation… or also known as Nitro™.
This means that the WebApp will always run significantly faster in Mobile Safari compared to the compiled Phonegap/Cordova
app.
Should I update to the newer versions?
YES/NO! This depends on your use case. Many times Sencha Touch updates are more akin to beta versions or introduce code
breaking changes (the same goes for PhoneGap as well). Updates can become time consuming and often don’t bring any
benefits or sometimes even degrade performance.
Everything is standardized, right?
NO! HTML5 is still in its infancy and Frameworks (incl. Sencha Touch) are cutting edge. There will be inconsistencies of
implementations (PhoneGap Media handlers, Upload functionality) and quick deprecation that can test your patience.
Native Plugins (iOS & Android)

JS Libraries

OUR IMPLEMENTATION

Web

Native

(mobile & desktop)

(iOS & Android)
DEVELOPMENT PROCESS

Dev. & Testing in browser
via local Webserver
(vhosts) for mobile
debugging

Testing on actual devices
via PhoneGap (for proper
hardware access)!
Follow Up testing/live testing with Ripple
(mobile simulator – Chrome Extension)
TEST, TEST, TEST!!!!

(YOUR FUTURE VACATION GEAR)
<!-- Talk to Xenophy to get a deal on a training session! -->

! 

Limit shadows, gradients and CSS3 effects
(especially in lists and on Android!)

! 

Try not to use width/height in percentage
(computational very expensive)

! 

Destroy objects that are not used (free up
DOM/memory)

! 

Compress pictures (iOS web view has a
limited amount of memory for pictures in
web view.. If you exceed this amount
UIWebView/Safari will crash)

! 

Avoid network access – use local caching
whenever possible (LocalStorage,
Database, File)

! 

Limit items in stores – avoid memory bloat
<!-- Talk to Xenophy to get a deal on a training session! -->

! 

Buttons improve touch interaction sensitivity

JS: eventPublishers: {
touchGesture: {
// incr. responsivness of buttons
moveThrottle: 5,
}
},
launch: function() {...

! 

Use hardware accelerated transitions where
possible (but don’t overdo it!!!)

CSS: transform: translate3D(100%, 0, 0);
NATIVE COMPONENTS
and problems we faced during the development & integration process
How to communicate with Sencha Touch in UIWebView (native packaged app):
1.  PhoneGap Plugin
Standardized for all Platforms (http://docs.phonegap.com)
2.  Intercept UIWebview request via custom URL scheme hook
Needs adaption from platform to platform e.g. iOS, Android, Windows Phone
e.g. result://views:get@success:0/2M

3.  Integration of custom share view controller for Facebook
Necessary to share under app name ‘Videogram’ and not ‘iOS’
WHY USE DIFFERENT APPROACHES
PhoneGap Plugin is the proper way to integrate native functionality but it is more time
consuming
ü  Plugins allow easy sharing of code base with other projects/developers
ü  Are easier Integrate able and upgrade able down the road
Hooks directly into UIWebView
ü  allow for quick prototyping and iteration
ü  Necessity of functions to be in the public namespace in JS
e.g. obj.getComments = function() …
TIME TO RELEASE

IT HELPS WAITING FOR APPROVAL J
OH, AND BY THE WAY…

!!! WE ARE HIRING !!!
(don’t be shy, we only bite a little)
Videogram - Building a product with Sencha Touch

Contenu connexe

Tendances

Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App Development
Chris Morrell
 
Fixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World RomaniaFixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World Romania
Christian Heilmann
 
Innovation vs. Impatience - keynote at JSOpenDay London 2015
Innovation vs. Impatience - keynote at JSOpenDay London 2015Innovation vs. Impatience - keynote at JSOpenDay London 2015
Innovation vs. Impatience - keynote at JSOpenDay London 2015
Christian Heilmann
 

Tendances (20)

Phone gap
Phone gapPhone gap
Phone gap
 
Nonintrusive semantic html5
Nonintrusive semantic html5Nonintrusive semantic html5
Nonintrusive semantic html5
 
Introduction of Mobile applications
Introduction of Mobile applicationsIntroduction of Mobile applications
Introduction of Mobile applications
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App Development
 
All About Phonegap
All About Phonegap All About Phonegap
All About Phonegap
 
Introduction to Cordova
Introduction to CordovaIntroduction to Cordova
Introduction to Cordova
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
 
Creating mLearning With Your Existing Toolkit
Creating mLearning With Your Existing ToolkitCreating mLearning With Your Existing Toolkit
Creating mLearning With Your Existing Toolkit
 
Mobile applications chapter 5
Mobile applications chapter 5Mobile applications chapter 5
Mobile applications chapter 5
 
Flash Builder and Flex Future - Multiscreen Development
Flash Builder and Flex Future - Multiscreen DevelopmentFlash Builder and Flex Future - Multiscreen Development
Flash Builder and Flex Future - Multiscreen Development
 
Mobile applications chapter 2
Mobile applications chapter 2Mobile applications chapter 2
Mobile applications chapter 2
 
Platform vs. Native vs. HTML5: Which mobile development makes sense for your ...
Platform vs. Native vs. HTML5: Which mobile development makes sense for your ...Platform vs. Native vs. HTML5: Which mobile development makes sense for your ...
Platform vs. Native vs. HTML5: Which mobile development makes sense for your ...
 
Jalimo Slides Linuxtag2008
Jalimo Slides Linuxtag2008Jalimo Slides Linuxtag2008
Jalimo Slides Linuxtag2008
 
8 steps to a long term mobile strategy
8 steps to a long term mobile strategy 8 steps to a long term mobile strategy
8 steps to a long term mobile strategy
 
Fixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World RomaniaFixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World Romania
 
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic FrameworkHybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
 
Native Device vs. Mobile Web Applications
Native Device vs. Mobile Web ApplicationsNative Device vs. Mobile Web Applications
Native Device vs. Mobile Web Applications
 
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
 
Innovation vs. Impatience - keynote at JSOpenDay London 2015
Innovation vs. Impatience - keynote at JSOpenDay London 2015Innovation vs. Impatience - keynote at JSOpenDay London 2015
Innovation vs. Impatience - keynote at JSOpenDay London 2015
 

Similaire à Videogram - Building a product with Sencha Touch

HTML5: The Apps, the Frameworks, the Controversy
HTML5: The Apps, the Frameworks, the Controversy HTML5: The Apps, the Frameworks, the Controversy
HTML5: The Apps, the Frameworks, the Controversy
Apigee | Google Cloud
 
Titanium Meetup Deck
Titanium Meetup DeckTitanium Meetup Deck
Titanium Meetup Deck
sschwarzhoff
 
Trip advsiorhybridpresentation
Trip advsiorhybridpresentationTrip advsiorhybridpresentation
Trip advsiorhybridpresentation
ElanaBoehm
 
openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010
Patrick Lauke
 

Similaire à Videogram - Building a product with Sencha Touch (20)

JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchJQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
 
Html5 investigation
Html5 investigationHtml5 investigation
Html5 investigation
 
Flutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textFlutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - text
 
HTML5: The Apps, the Frameworks, the Controversy
HTML5: The Apps, the Frameworks, the Controversy HTML5: The Apps, the Frameworks, the Controversy
HTML5: The Apps, the Frameworks, the Controversy
 
Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application development
 
Cordova and PhoneGap Insights
Cordova and PhoneGap InsightsCordova and PhoneGap Insights
Cordova and PhoneGap Insights
 
Titanium Meetup Deck
Titanium Meetup DeckTitanium Meetup Deck
Titanium Meetup Deck
 
Cross Platform Mobile Technologies
Cross Platform Mobile TechnologiesCross Platform Mobile Technologies
Cross Platform Mobile Technologies
 
Introduction to jQueryMobile
Introduction to jQueryMobileIntroduction to jQueryMobile
Introduction to jQueryMobile
 
AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond
AD503: XPages Mobile Development in IBM Domino 9.0.1 and BeyondAD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond
AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond
 
Html5 workshop part 1
Html5 workshop part 1Html5 workshop part 1
Html5 workshop part 1
 
The Twelve Factor Apps
The Twelve Factor AppsThe Twelve Factor Apps
The Twelve Factor Apps
 
DevChatt 2011 - PhoneGap: For Fun and Science
DevChatt 2011 - PhoneGap: For Fun and ScienceDevChatt 2011 - PhoneGap: For Fun and Science
DevChatt 2011 - PhoneGap: For Fun and Science
 
Hybrid mobile apps
Hybrid mobile appsHybrid mobile apps
Hybrid mobile apps
 
Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app
 
Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGap
 
Trip advsiorhybridpresentation
Trip advsiorhybridpresentationTrip advsiorhybridpresentation
Trip advsiorhybridpresentation
 
openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010
 
Ionic App Platform Overview
Ionic App Platform Overview Ionic App Platform Overview
Ionic App Platform Overview
 
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 

Videogram - Building a product with Sencha Touch

  • 1.
  • 2. WHO WE ARE Alexander Wilhelm – ‘Alex’ alex@cinemacraft.tv Manager Client Engineering | UI/UX Designer Using Sencha since 2008 (ExtJS 2.x+) and developed apps as consultant from late 2010 mainly with Sencha Touch (0.8b+) Hiroyuki Fukuhara – ‘Hiro’ hiro@cinemacraft.tv Video Engineering (Founding Team) Veteran in the video industry and works on the native iOS components (Player, Capture, Plugins etc.) of Videogram, Mediaglyphics and everything else that’s needed.
  • 3. CINEMACRAFT (THAT’S WHERE WE WORK) OVERVIEW PRODUCTS ü  Established 2010 1.  Videogram (Flagship) www.videogram.com ü  Offices in Tokyo & LA ü  Currently 8 employees 2.  Qixshr www.qixshr.com Don’t be afraid, visit us: www.cinemacraft.tv investors
  • 4. TOPICS FOR YOU TODAY ü  Videogram Product Overview ü  Pros & Cons of why we chose ‘Sencha Touch’ ü  Our integration (Web and Mobile Apps) ü  Our Development Process ü  Performance Tips, Pitfalls etc. ü  Q&A
  • 5. WHAT IS VIDEOGRAM? “Videogram converts video into an interactive pictorial summary giving a user multiple entry points and allowing video to be browsed and discovered with the same simplicity as photos. It uses a proprietary algorithm that takes into account variables including motion, light, color, and clip duration. Our service enables users to share clips and comment on video at the frame level, providing for much more context and in turn higher engagement.” - Marketing Pitch BUT WHAT DOES THAT MEAN?
  • 6. ONLINE VIDEO IS BROKEN AND HERE IS WHY… ü  Only one thumbnail… is the video relevant to me? ü  Videos are very time intensive to consume or check ü  Commenting on videos out of context to the video – difficult to interact
  • 7. THE SALVATION! ü  Browse through videos as quickly as photos ü  scales according to screen size (completely responsive – Phone, Tablet, Mobile Web, Desktop Web) ü  Every aspect of the video is visible, shareable and inter actable ü  Can utilize new user navigation paradigms (e.g. Leap Motion, Kinect etc.) ü  We offer libraries for white-labeling solutions (use Videogram in your apps!)
  • 8.
  • 9. VIDEOGRAM EMBEDS ARE LEAP ENABLED Any Publisher Using videogram embeds will automatically allow consumers with Leap technology to benefit – visit www.videogram.com to try it out! https://www.leapmotion.com/
  • 10.
  • 11. ü  Videogram core library was already built on web technologies (JS & HTML5) ü  Cross platform support out of the box ü  Native mobile look & feel and hardware access possible via Adobe PhoneGap (Cordova) + extensive theming possibilities ü  Flexibility for quicker iterations across platforms ü  Resource constraints… two developers can build for 4 different platforms at the same time
  • 12. ü  AR, Games in general (2D/3D) ü  Very high performance, low latency apps (finance, equalizers etc.) ü  Already a mature and proven formula in place ü  Mobile Web or cross-platform strategy not a focus ü  If you have to support Android < 4.0 (incl. 3.0 which is not supported)
  • 13.
  • 14. WHY ADOBE PHONEGAP? ü  PhoneGap offers standardized cross-platform for direct-access to hardware components (e.g. camera, upload, Facebook SDK etc.) ü  Great Community with lots of native plugins incl. social sharing, push notifications, SMS/ web components etc. ü  JavaScript code can be standardized to call web components and native counterparts alike (e.g. Facebook integration – web & native components) ü  Most ‘alternatives’ are built on top of PhoneGap (Steroids.JS, Iceanium, etc.) ü  Completely open source (Apache Cordova project) ü  NEW! Sencha Touch features PhoneGap integration via SenchaCMD Overall the best solution to natively package HTML5 apps as hybrid-solutions
  • 15. PHONEGAP – WHAT TO LOOK OUT FOR THOUGH ü  UIWebViews often behave differently than mobile browser counterparts ü  Major version releases tend to break Plugins/Plugin Architecture – which can be time consuming on project updates (e.g. having Facebook, Twitter, Push Notifications plugins as a central part of the app) ü  Sometimes default shipped components are a bit unevenly implemented. (e.g. camera returns more/different values than camera roll selection when video is recorded or selected) ü  Writing or integrating native plugins can be difficult for pure web-developers as it handles with native code per platform (Objective-C, Java, C#) ü  Project Upgrades to newer PhoneGap version can be time consuming
  • 16. PROBLEMS THAT WILL COME UP, I PROMISE!!! Both iOS & Android use Webkit and theoretically Sencha Touch should run equally, right? NO! Implementations of Webkit vary greatly not only by platform but by OS subversions and even between the default Mobile Browser & the supplied native WebView. Native app and Webapp should run at the same speed, right? NO! See above (different WebKit versions!) and on iOS the WebView does not support (yet) JIT compilation… or also known as Nitro™. This means that the WebApp will always run significantly faster in Mobile Safari compared to the compiled Phonegap/Cordova app. Should I update to the newer versions? YES/NO! This depends on your use case. Many times Sencha Touch updates are more akin to beta versions or introduce code breaking changes (the same goes for PhoneGap as well). Updates can become time consuming and often don’t bring any benefits or sometimes even degrade performance. Everything is standardized, right? NO! HTML5 is still in its infancy and Frameworks (incl. Sencha Touch) are cutting edge. There will be inconsistencies of implementations (PhoneGap Media handlers, Upload functionality) and quick deprecation that can test your patience.
  • 17. Native Plugins (iOS & Android) JS Libraries OUR IMPLEMENTATION Web Native (mobile & desktop) (iOS & Android)
  • 18. DEVELOPMENT PROCESS Dev. & Testing in browser via local Webserver (vhosts) for mobile debugging Testing on actual devices via PhoneGap (for proper hardware access)! Follow Up testing/live testing with Ripple (mobile simulator – Chrome Extension)
  • 19. TEST, TEST, TEST!!!! (YOUR FUTURE VACATION GEAR)
  • 20. <!-- Talk to Xenophy to get a deal on a training session! --> !  Limit shadows, gradients and CSS3 effects (especially in lists and on Android!) !  Try not to use width/height in percentage (computational very expensive) !  Destroy objects that are not used (free up DOM/memory) !  Compress pictures (iOS web view has a limited amount of memory for pictures in web view.. If you exceed this amount UIWebView/Safari will crash) !  Avoid network access – use local caching whenever possible (LocalStorage, Database, File) !  Limit items in stores – avoid memory bloat
  • 21. <!-- Talk to Xenophy to get a deal on a training session! --> !  Buttons improve touch interaction sensitivity JS: eventPublishers: { touchGesture: { // incr. responsivness of buttons moveThrottle: 5, } }, launch: function() {... !  Use hardware accelerated transitions where possible (but don’t overdo it!!!) CSS: transform: translate3D(100%, 0, 0);
  • 22.
  • 23. NATIVE COMPONENTS and problems we faced during the development & integration process How to communicate with Sencha Touch in UIWebView (native packaged app): 1.  PhoneGap Plugin Standardized for all Platforms (http://docs.phonegap.com) 2.  Intercept UIWebview request via custom URL scheme hook Needs adaption from platform to platform e.g. iOS, Android, Windows Phone e.g. result://views:get@success:0/2M 3.  Integration of custom share view controller for Facebook Necessary to share under app name ‘Videogram’ and not ‘iOS’
  • 24. WHY USE DIFFERENT APPROACHES PhoneGap Plugin is the proper way to integrate native functionality but it is more time consuming ü  Plugins allow easy sharing of code base with other projects/developers ü  Are easier Integrate able and upgrade able down the road Hooks directly into UIWebView ü  allow for quick prototyping and iteration ü  Necessity of functions to be in the public namespace in JS e.g. obj.getComments = function() …
  • 25.
  • 26. TIME TO RELEASE IT HELPS WAITING FOR APPROVAL J
  • 27. OH, AND BY THE WAY… !!! WE ARE HIRING !!! (don’t be shy, we only bite a little)