An imperative approach to video user experiences using LUNA

Similar documents
20480C: Programming in HTML5 with JavaScript and CSS3. Course Code: 20480C; Duration: 5 days; Instructor-led. JavaScript code.

Qt + Maemo development

Build high performance video apps for mobile, game consoles, streaming pucks, set top boxes, and smart TVs from a single codebase

PROCE55 Mobile: Web API App. Web API.

P a g e 1. Danish Technological Institute. Scripting and Web Languages Online Course k Scripting and Web Languages

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

Shifting value with Operators Profile

Widget Toolkits CS MVC

In the Driver s Seat

Next Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Copyright Khronos Group Page 1

Android. Lesson 1. Introduction. Android Developer Fundamentals. Android Developer Fundamentals. to Android 1

Etanova Enterprise Solutions

WebGL Meetup GDC Copyright Khronos Group, Page 1

Android Online Training

20480B - Version: 1. Programming in HTML5 with JavaScript and CSS3

Modern and Responsive Mobile-enabled Web Applications

Oracle Mobile Application Framework

Qt for Device Creation

Mobile Applications 2013/2014

Course 20480: Programming in HTML5 with JavaScript and CSS3

COURSE 20480B: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

Porting mobile web application engine to the Android platform

COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

Programming in HTML5 with JavaScript and CSS3

Khronos and the Mobile Ecosystem

Creating outstanding digital cockpits with Qt Automotive Suite

Android Programming in Bluetooth Cochlea Group

HTML5 Mobile App Development

ios vs Android By: Group 2

ArcGIS Runtime: Building Cross-Platform Apps. Rex Hansen Mark Baird Michael Tims Morten Nielsen

Oracle Fusion Middleware 11g: Build Applications with ADF I

Index LICENSED PRODUCT NOT FOR RESALE

Advance Mobile& Web Application development using Angular and Native Script

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Getting started with Tabris.js Tutorial Ebook

Kick Start your Embedded Development with Qt

Developing ASP.NET MVC Web Applications (486)

Copyright Khronos Group, Page 1. Khronos Overview. Taiwan, February 2012

Visual HTML5. Human Information Interaction for Knowledge Extraction, Interaction, Utilization, Decision making HI-I-KEIUD

Connecting with Tizen : An Overview & Roadmap. Mohan Rao

Microsoft Programming in HTML5 with JavaScript and CSS3

MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M

User Interface. Technology Domain Roadmap & Strategy. 22 February 2010 Scott Weiss, UI Technology Manager

AR Standards Update Austin, March 2012

Next Generation HMI/SCADA High Performance HMI

Pay TV solution from ADB

Next Generation HMI/SCADA High Performance HMI

Web Development 20480: Programming in HTML5 with JavaScript and CSS3. Upcoming Dates. Course Description. Course Outline

Etanova Enterprise Solutions

SIGGRAPH Briefing August 2014

web engineering introduction

ArcGIS for Developers: An Introduction. Moey Min Ken

GeneXus for Smart Devices course - Architecture of Smart Device Applications

FIREFLY ARCHITECTURE: CO-BROWSING AT SCALE FOR THE ENTERPRISE

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

User Interfaces for Web Sites and Mobile Devices. System and Networks

JavaFX. JavaFX Overview Release E

Introduction to Genero Enterprise

WHAT IS WEBKIT? COPYRIGHTED MATERIAL SMASHING WEBKIT CHAPTER 1

Oracle Fusion Middleware 11g: Build Applications with ADF I

Android App Development. Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore

LIGHTWEIGHT REAL-TIME DISPLAY TOOL - USING OPEN SOURCE SOFTWARE

20480B: Programming in HTML5 with JavaScript and CSS3

The C-Suite Guide to Mobile Technologies for mhealth Development. Medical Web ExpertsTM

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

THE HMI SOLUTION by 1

Game Programming with. presented by Nathan Baur

Programming in HTML5 with JavaScript and CSS3

Programming in HTML5 with JavaScript and CSS3

The Economist Apps. Advertising Specs

Developing Cross-Platform Native Apps with AppStudio for ArcGIS. Jo Fraley Erwin Soekianto

Firefox for Android. Reviewer s Guide. Contact us:

IBM Forms V8.0 Custom Themes IBM Corporation

UMMS introduction A Unified Multi Media Service for MeeGoTV and other Linux

Oracle APEX 18.1 New Features

2/27

Review. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015

Why attend a Lianja training course? Course overview. Course Details

Quick Multitouch Apps using kivy and Python

Pick A Winner! In What Tool Should I Develop My Next App?

Ten interesting features of Google s Angular Project

Introduction Haim Michael. All Rights Reserved.

Adding Advanced Shader Features and Handling Fragmentation

ArcGIS Runtime: Building Cross-Platform Apps. Mike Branscomb Michael Tims Tyler Schiewe

Efficiency of Java Code for Mobile Application Development

Lesson 5 Nimbits. Chapter-6 L05: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education

Develop Mobile Front Ends Using Mobile Application Framework A - 2

Niagara 3.7 New Feature Review

Content Visualization Issues

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Rich Web UI made simple Building Data Dashboards without Code

Android Essentials with Java

Embedded Linux UI Comparison. Tim Bird Senior Staff Software Engineer Sony Electronics

An Oracle White Paper April Oracle Application Express 5.0 Overview

HOMELESS INDIVIDUALS AND FAMILIES INFORMATION SYSTEM HIFIS 4.0 TECHNICAL ARCHITECTURE AND DEPLOYMENT REFERENCE

Oracle Developer Day

Adventures with BaseX and web applications. Andy Feb 2013

Introduction to Xamarin Cross Platform Mobile App Development

QT QUICK UI Exam Curriculum

Neil Trevett Vice President Mobile Ecosystem, NVIDIA President, Khronos Group. Copyright Khronos Group Page 1

Transcription:

An imperative approach to video user experiences using LUNA William Cooper informitv 2

3

Introduction LUNA engine enables high-performance graphics for video user interfaces. Alternative to browser-based applications, designed for screen experiences. Single Application Programming Interface supported across diverse devices and displays. 4

Applications 5

Programme guide 6

Concept 7

Concept 8

Concept Alex Family Kids Charlie 9

10

Implementation LUNA JavaScript+JSON+Images+Video Deployed to Android box as APK app 2 weeks 11

Comparison HTML5 Generic Universal Browser HTML+CSS+JavaScript Document based Declarative LUNA Designed for screen interfaces Optimised for performance Runtime JavaScript Programmatic Imperative 12

Architecture JavaScript Application LUNA Widgets Node.js JavaScript Engine HTTP REST / D-Bus Graphics API Rendering Pipeline OpenGL ES2 Middleware / Operating System Embedded Hardware 13

Node.js Designed to run scalable network applications with an event-driven, non-blocking I/O model. Perfect for modern RESTful application development. Direct access to file system, web sockets, low-level networking, encryption and compression. Huge open-source community, with the largest package ecosystem in the world. 14

Graphics engine Easy-to-use Application Programming Interface based on high-level drawing primitives, designed specifically for video user interface development. Fine control of fonts and typography High-quality graphics and smooth animation 3D objects in 2D scenes, 2D scenes on 3D objects Real-time rendering effects Integral video support 15

Graphics performance LUNA is designed to run consistently at 50/60 frames per second, even on low-end devices. Lightning fast, asynchronous, minimal changes rendering model. Significantly outperforms HTML5 applications. 16

Application support Widgets encapsulate common user interface features to facilitate rapid development. Behaviours automatically support default interface logic for different modes of interaction. Themes allow rapid changes to visual appearance such as fonts and colours. 17

Flexible and extensible Ideal for developing television and video user interfaces, including EPG, VOD, or PVR applications. Not limited to a fixed framework, format or methodology. Developers can create their own object-oriented modules depending on requirements. 18

Layered approach Combines declarative and programmatic approaches. Flexible layered model allows any conceivable user interface to be implemented. Where a feature is not available in one layer it can be implemented at a lower level. 19

Software layers Layout rules Declarative (JSON, JavaScript Object) Theme files Presentation logic Routing Programmatic (JavaScript) Widgets Navigation Data binding Text Shapes LUNA API Images Video 20

HbbTV integration LUNA Application LUNA runtime HTML5 Application Browser HbbTV Environment Middleware / Operating System Embedded Hardware 21

Layout rules Responsive layout according to screen resolution, aspect ratio and orientation. The relative hierarchical position of elements can be absolute or based on rules that automatically adjust to screen sizes and changes in screen orientation. 22

Theme files Themes can be used to specify the visual presentation, including fonts and colours, allowing the look and feel to be changed easily without affecting the underlying layout or behaviour. 23

Widgets Library of user interface widgets written in TypeScript, a superset of JavaScript supporting modern software features. Designed to provide rapid and robust implementation of most essential user interface features for presentation and navigation. Full source code and examples available. 24

Flexible input Works with both DPAD cursor button remote control and multi-touch screen interfaces. Heuristics provide natural default navigation using Up/Down/Left/Right/Select buttons for any interface. Tap and swipe gesture navigation is intrinsically supported for touch screen devices. 25

Data binding The widgets promote separation of the user interface from the data model using data binding to collections based on JavaScript arrays. Designed to be used with RESTful backend systems, widgets can be populated by associating them with responses to web requests. 26

Widget library Containers that can be used to create layouts: Canvas Flex List Deck Text Image Video 27

Behaviors Behaviors can be associated with widgets: DPADNavigation Multitouch Collection ScrollBar AutoScroll 28

Versatile The set of widgets and behaviours can be combined to create an almost unlimited range of layouts that address the essential requirements of video user interfaces. 29

Extensible Many more widgets are in development to address most frequently requested requirements. Developers can create their own libraries of widgets to enable re-use of components. 30

Development Simulator available for Windows, Mac and Linux. Debugger / profiler / development tools available from Google and open-source community. 31

Integration POSIX, OpenGL ES2 and video player. Middleware agnostic. Integration via REST or DBUS C/C++ or Java API bindings to JavaScript 32

Integration Usually ported to a new architecture in a day. Already runs on: Windows/Mac/Linux Android/Android TV Apple ios Cisco Fusion WyPlay Frog Humax Octo Raspberry Pi 33

Summary LUNA provides a powerful cross-platform JavaScript API to high performance graphics rendering in OpenGL. LUNA can complement HbbTV, providing a highly optimized user experience engine. Ideal for applications where performance is paramount, such as guides and navigational interfaces. 34

LUNA enables fast, fluid and flexible visual experiences on any screen 35

Søren Mou Jakobsen smj@craftwork.dk 36