SlideShare a Scribd company logo
1 of 17
Download to read offline
.
YALMS: Yet Another LMS
V
A
S
Step 1: Record
C
Long-Term
StorageLecturer
Files
YALMS
Robot
Viewers
HTML5
Step 2: Annotate
Lecturer
S
YALMS
Robot
01 myself+1 "YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes" IEICE・LOIS研 (2014)
06 myself+0 "Homepage of the YALMS.format Subproject" https://github.com/maratishe/yalms.format (2015)
M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 2/17
...
2/17
.
The MultiFile Player (trivial)
• traditional method
• HTML + MP4 + PNG + ... files
• user needs to download and
unpack (ZIP, RAR, TBZ, ...)
• no way to have a fully
browser-based interface
M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 3/17
...
3/17
.
Dev: Components
M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 4/17
...
4/17
.
HTML5 Features
• native binary: no need to
convert, used to be BSON,
JSON, etc.
• WebSockets: streaming
• Workers: multicore
• FileReader: read access to
local filesystem
• saveAs: trigger file download
(binary OK)
08 "HTML5: W3C Working Draft" http://www.w3.org/TR/html5/ (2015)
09 "File API: W3C Working Draft" www.w3.org/TR/FileAPI (2015)
M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 5/17
...
5/17
.
Binary + saveAs (auto download)
• saveAs() is not part of HTML5 standard! -- but too good to give up
• can use standard INPUT type="file" dialogs to get filepath/name
• the other side of FileReader
M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 6/17
...
6/17
.
VIDEO: Access to Raw Buffer
M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 7/17
...
7/17
.
WebSocket Aggregator
Network
Web Server
Chrome Browser
Control
…….
Buffer
User
WebSocket
WebWorker
WebSocket
WebWorker
WebSocket
Server
WebSocket request
fork()
Handshake
02 myself+0 "A Practical Software Model for Content Aggregation in Browsers...." 2nd COMPSAC/MVDA (2013)
03 myself+0 "Experiments with application throughput in a browser with full HTML5 support" IEICE ComEx (2013)
M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 8/17
...
8/17
.
WebSocket Aggregator in Action
03 myself+0 "Experiments with application throughput in a browser with full HTML5 support" IEICE ComEx (2013)
07 myself+0 "WebSockets, WebWorkers, and Raw Binary in Chrome" https://github.com/maratishe/msaplayer (2015)
M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 9/17
...
9/17
.
The Offline/SingleFile Player
M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 10/17
...
10/17
.
The Offline/SingleFile Objectives
PNG
Replay Screen
VIDEO
S
A V
MISC. C
Browser
Webapp
Internet
Local filesystem
(FileReader )
PNG
VIDEO
Down-
loads
• with/without Internet,
both OK
• when with Internet, can also
use Cloud APIs (Dropbox,
GoogleDrive)
• 3 functions
1. PNG -- screen, slide pages
2. VIDEO -- raw buffer
access
3. Download -- saveAs
04 Z.Pan+5 "Technologies for E-Learning and Digital Entertainment" 1st Edutainment (2006)
05 A.Ram+1 "Video Analysis and Repackaging for Distance Education" Springer (2012)
M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 11/17
...
11/17
.
YALMS: Encoding Design
V
A
S
Step 1: Record
C
Lecturer
YALMS.format
YALMS
Robot
Watch
filesystem
Watch
scene
change
Step 2: Add PDF
Lecturer
S
A
V
SE
CE
PE
Annotation
SEX
• no need to be online, offline/
cloud processing OK
• encoding format --
headers, payload, etc. at 01
• in the end, becomes one file
01 myself+1 "YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes" IEICE・LOIS研 (2014)
M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 12/17
...
12/17
.
Screen Encoding: Effective?
0 10 20 30 40 50 60 70 80 90
Time sequence of pages/frames
0.8
1.6
2.4
3.2
4
4.8
log(binarydiff)
M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 13/17
...
13/17
.
Binary Diffs for Screen Encoding
M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 14/17
...
14/17
.
Binary Diff + Multicore (workers)
M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 15/17
...
15/17
.
Wrapup
• Offline/SingleFile player is already a reality, based on:
1. FileReader 08 and saveAs()
2. access to raw VIDEO buffer 03
3. binary diff and related compression/encoding 01
08 "HTML5: W3C Working Draft" http://www.w3.org/TR/html5/ (2015)
03 myself+0 "Experiments with application throughput in a browser with full HTML5 support" IEICE ComEx (2013)
01 myself+1 "YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes" IEICE・LOIS研 (2014)
M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 16/17
...
16/17
.
That’s all, thank you ...
M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 17/17
...
17/17

More Related Content

Similar to Clientside/Offline (onefile) Lecture Player in a Web Browser

HTML5 and the Open Web Platform
HTML5 and the Open Web PlatformHTML5 and the Open Web Platform
HTML5 and the Open Web PlatformBeat Signer
 
Keypoints html5
Keypoints html5Keypoints html5
Keypoints html5dynamis
 
HTML5 and web platform
HTML5 and web platformHTML5 and web platform
HTML5 and web platformdynamis
 
(In)Security Implication in the JS Universe
(In)Security Implication in the JS Universe(In)Security Implication in the JS Universe
(In)Security Implication in the JS UniverseStefano Di Paola
 
Krug Fat Client
Krug Fat ClientKrug Fat Client
Krug Fat ClientPaul Klipp
 
HAXTheWeb @ Apereo 19
HAXTheWeb @ Apereo 19HAXTheWeb @ Apereo 19
HAXTheWeb @ Apereo 19btopro
 
3-Way Scripts as a Base Unit for Flexible Scale-Out Code
3-Way Scripts as a Base Unit for Flexible Scale-Out Code3-Way Scripts as a Base Unit for Flexible Scale-Out Code
3-Way Scripts as a Base Unit for Flexible Scale-Out CodeTokyo University of Science
 
Html5 Application Security
Html5 Application SecurityHtml5 Application Security
Html5 Application Securitychuckbt
 
Os Henrikson
Os HenriksonOs Henrikson
Os Henriksonoscon2007
 
Technology And Life
Technology And LifeTechnology And Life
Technology And LifeSunil Swain
 
Technology And Life
Technology And LifeTechnology And Life
Technology And LifeSunil Swain
 
Java EE 7 - Embracing the Cloud and HTML 5
Java EE 7 - Embracing the Cloud and HTML 5Java EE 7 - Embracing the Cloud and HTML 5
Java EE 7 - Embracing the Cloud and HTML 5Amit Naik
 
The Web, After HTML5
The Web, After HTML5The Web, After HTML5
The Web, After HTML5Jonathan Jeon
 
[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTCGiacomo Vacca
 
WordCamp Thessaloniki2011 The NextWeb
WordCamp Thessaloniki2011 The NextWebWordCamp Thessaloniki2011 The NextWeb
WordCamp Thessaloniki2011 The NextWebGeorge Kanellopoulos
 
LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :) LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :) Sascha Sambale
 
Web and browser evolution
Web and browser evolutionWeb and browser evolution
Web and browser evolutiondynamis
 
S1lverl1ght 25.11.10 final
S1lverl1ght 25.11.10 finalS1lverl1ght 25.11.10 final
S1lverl1ght 25.11.10 finalgasbillet
 

Similar to Clientside/Offline (onefile) Lecture Player in a Web Browser (20)

HTML5 and the Open Web Platform
HTML5 and the Open Web PlatformHTML5 and the Open Web Platform
HTML5 and the Open Web Platform
 
Keypoints html5
Keypoints html5Keypoints html5
Keypoints html5
 
HTML5 and web platform
HTML5 and web platformHTML5 and web platform
HTML5 and web platform
 
(In)Security Implication in the JS Universe
(In)Security Implication in the JS Universe(In)Security Implication in the JS Universe
(In)Security Implication in the JS Universe
 
Krug Fat Client
Krug Fat ClientKrug Fat Client
Krug Fat Client
 
HAXTheWeb @ Apereo 19
HAXTheWeb @ Apereo 19HAXTheWeb @ Apereo 19
HAXTheWeb @ Apereo 19
 
3-Way Scripts as a Base Unit for Flexible Scale-Out Code
3-Way Scripts as a Base Unit for Flexible Scale-Out Code3-Way Scripts as a Base Unit for Flexible Scale-Out Code
3-Way Scripts as a Base Unit for Flexible Scale-Out Code
 
Html5 Application Security
Html5 Application SecurityHtml5 Application Security
Html5 Application Security
 
Os Henrikson
Os HenriksonOs Henrikson
Os Henrikson
 
Technology And Life
Technology And LifeTechnology And Life
Technology And Life
 
Technology And Life
Technology And LifeTechnology And Life
Technology And Life
 
Java EE 7 - Embracing the Cloud and HTML 5
Java EE 7 - Embracing the Cloud and HTML 5Java EE 7 - Embracing the Cloud and HTML 5
Java EE 7 - Embracing the Cloud and HTML 5
 
How to Build a Generic Fog Cloud Box
How to Build a Generic Fog Cloud BoxHow to Build a Generic Fog Cloud Box
How to Build a Generic Fog Cloud Box
 
Echo HTML5
Echo HTML5Echo HTML5
Echo HTML5
 
The Web, After HTML5
The Web, After HTML5The Web, After HTML5
The Web, After HTML5
 
[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC
 
WordCamp Thessaloniki2011 The NextWeb
WordCamp Thessaloniki2011 The NextWebWordCamp Thessaloniki2011 The NextWeb
WordCamp Thessaloniki2011 The NextWeb
 
LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :) LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :)
 
Web and browser evolution
Web and browser evolutionWeb and browser evolution
Web and browser evolution
 
S1lverl1ght 25.11.10 final
S1lverl1ght 25.11.10 finalS1lverl1ght 25.11.10 final
S1lverl1ght 25.11.10 final
 

More from Tokyo University of Science

A Method for Cloud-Assisted Secure Wireless Grouping of Client Devices at Net...
A Method for Cloud-Assisted Secure Wireless Grouping of Client Devices at Net...A Method for Cloud-Assisted Secure Wireless Grouping of Client Devices at Net...
A Method for Cloud-Assisted Secure Wireless Grouping of Client Devices at Net...Tokyo University of Science
 
Ultrasound Relative Positioning for IoT Devices in Dense Wireless Spaces
Ultrasound Relative Positioning for IoT Devices in Dense Wireless SpacesUltrasound Relative Positioning for IoT Devices in Dense Wireless Spaces
Ultrasound Relative Positioning for IoT Devices in Dense Wireless SpacesTokyo University of Science
 
Towards a Packet Traffic Genome Project as a Method for Realtime Sub-Flow Tra...
Towards a Packet Traffic Genome Project as a Method for Realtime Sub-Flow Tra...Towards a Packet Traffic Genome Project as a Method for Realtime Sub-Flow Tra...
Towards a Packet Traffic Genome Project as a Method for Realtime Sub-Flow Tra...Tokyo University of Science
 
What if We Atomize Student Data and Apps and Put Them on Docker Containers?
What if We Atomize Student Data and Apps and Put Them on Docker Containers?What if We Atomize Student Data and Apps and Put Them on Docker Containers?
What if We Atomize Student Data and Apps and Put Them on Docker Containers?Tokyo University of Science
 
Large-Scale Crowdsourcing by Vehicular Data Packets in a Sparse Roadside Infr...
Large-Scale Crowdsourcing by Vehicular Data Packets in a Sparse Roadside Infr...Large-Scale Crowdsourcing by Vehicular Data Packets in a Sparse Roadside Infr...
Large-Scale Crowdsourcing by Vehicular Data Packets in a Sparse Roadside Infr...Tokyo University of Science
 
On Performance Under Hotspots in Hadoop versus Bigdata Replay Platforms
On Performance Under Hotspots in Hadoop versus Bigdata Replay PlatformsOn Performance Under Hotspots in Hadoop versus Bigdata Replay Platforms
On Performance Under Hotspots in Hadoop versus Bigdata Replay PlatformsTokyo University of Science
 
Taking the Step from Software to Product Development \\ when teaching PBL at ...
Taking the Step from Software to Product Development \\ when teaching PBL at ...Taking the Step from Software to Product Development \\ when teaching PBL at ...
Taking the Step from Software to Product Development \\ when teaching PBL at ...Tokyo University of Science
 
Design and Implementation of a 3-Party Cloud-Backed Handshake for Secure Grou...
Design and Implementation of a 3-Party Cloud-Backed Handshake for Secure Grou...Design and Implementation of a 3-Party Cloud-Backed Handshake for Secure Grou...
Design and Implementation of a 3-Party Cloud-Backed Handshake for Secure Grou...Tokyo University of Science
 
The Switchboard Optimization Problem and Heuristics for Cut-Through Networking
The Switchboard Optimization Problem and Heuristics for Cut-Through NetworkingThe Switchboard Optimization Problem and Heuristics for Cut-Through Networking
The Switchboard Optimization Problem and Heuristics for Cut-Through NetworkingTokyo University of Science
 
The Switchboard Traffic Engineering Problem for Mixed Contention/Cut-Through ...
The Switchboard Traffic Engineering Problem for Mixed Contention/Cut-Through ...The Switchboard Traffic Engineering Problem for Mixed Contention/Cut-Through ...
The Switchboard Traffic Engineering Problem for Mixed Contention/Cut-Through ...Tokyo University of Science
 
Bulk-n-Pick Method for One-to-Many Data Transfer in Dense Wireless Spaces
Bulk-n-Pick Method for One-to-Many Data Transfer in Dense Wireless SpacesBulk-n-Pick Method for One-to-Many Data Transfer in Dense Wireless Spaces
Bulk-n-Pick Method for One-to-Many Data Transfer in Dense Wireless SpacesTokyo University of Science
 
Fog Cloud Caching at Network Edge via Local Hardware Awareness Spaces
Fog Cloud Caching at Network Edge via Local Hardware Awareness SpacesFog Cloud Caching at Network Edge via Local Hardware Awareness Spaces
Fog Cloud Caching at Network Edge via Local Hardware Awareness SpacesTokyo University of Science
 
On a Hybrid Packets-and-Circuits Switching Logic
On a Hybrid Packets-and-Circuits Switching LogicOn a Hybrid Packets-and-Circuits Switching Logic
On a Hybrid Packets-and-Circuits Switching LogicTokyo University of Science
 
Image-Related Uses for Roadside Infrastructure \\ based on Wireless Beacons
Image-Related Uses for Roadside Infrastructure \\ based on Wireless BeaconsImage-Related Uses for Roadside Infrastructure \\ based on Wireless Beacons
Image-Related Uses for Roadside Infrastructure \\ based on Wireless BeaconsTokyo University of Science
 
Complexity Resolution Control for Context Based on Metromaps
Complexity Resolution Control for Context Based on MetromapsComplexity Resolution Control for Context Based on Metromaps
Complexity Resolution Control for Context Based on MetromapsTokyo University of Science
 
The Declarative-Coordinated Model for Self-Optimization of Service Networks
The Declarative-Coordinated Model for Self-Optimization of Service NetworksThe Declarative-Coordinated Model for Self-Optimization of Service Networks
The Declarative-Coordinated Model for Self-Optimization of Service NetworksTokyo University of Science
 
3-Way Scripts as a Practical Platform for Secure Distributed Code in Clouds
3-Way Scripts as a Practical Platform for Secure Distributed Code in Clouds3-Way Scripts as a Practical Platform for Secure Distributed Code in Clouds
3-Way Scripts as a Practical Platform for Secure Distributed Code in CloudsTokyo University of Science
 
Towards Social Robotics on Smartphones with Simple XYZV Sensor Feedback
Towards Social Robotics on Smartphones with Simple XYZV Sensor FeedbackTowards Social Robotics on Smartphones with Simple XYZV Sensor Feedback
Towards Social Robotics on Smartphones with Simple XYZV Sensor FeedbackTokyo University of Science
 
Back to Rings but not Tokens: Physical and Logical Designs for Distributed Fi...
Back to Rings but not Tokens: Physical and Logical Designs for Distributed Fi...Back to Rings but not Tokens: Physical and Logical Designs for Distributed Fi...
Back to Rings but not Tokens: Physical and Logical Designs for Distributed Fi...Tokyo University of Science
 
Browser Visualization using PNGs Generated by HTML5 Workers on Multicore
Browser Visualization using PNGs Generated by HTML5 Workers on MulticoreBrowser Visualization using PNGs Generated by HTML5 Workers on Multicore
Browser Visualization using PNGs Generated by HTML5 Workers on MulticoreTokyo University of Science
 

More from Tokyo University of Science (20)

A Method for Cloud-Assisted Secure Wireless Grouping of Client Devices at Net...
A Method for Cloud-Assisted Secure Wireless Grouping of Client Devices at Net...A Method for Cloud-Assisted Secure Wireless Grouping of Client Devices at Net...
A Method for Cloud-Assisted Secure Wireless Grouping of Client Devices at Net...
 
Ultrasound Relative Positioning for IoT Devices in Dense Wireless Spaces
Ultrasound Relative Positioning for IoT Devices in Dense Wireless SpacesUltrasound Relative Positioning for IoT Devices in Dense Wireless Spaces
Ultrasound Relative Positioning for IoT Devices in Dense Wireless Spaces
 
Towards a Packet Traffic Genome Project as a Method for Realtime Sub-Flow Tra...
Towards a Packet Traffic Genome Project as a Method for Realtime Sub-Flow Tra...Towards a Packet Traffic Genome Project as a Method for Realtime Sub-Flow Tra...
Towards a Packet Traffic Genome Project as a Method for Realtime Sub-Flow Tra...
 
What if We Atomize Student Data and Apps and Put Them on Docker Containers?
What if We Atomize Student Data and Apps and Put Them on Docker Containers?What if We Atomize Student Data and Apps and Put Them on Docker Containers?
What if We Atomize Student Data and Apps and Put Them on Docker Containers?
 
Large-Scale Crowdsourcing by Vehicular Data Packets in a Sparse Roadside Infr...
Large-Scale Crowdsourcing by Vehicular Data Packets in a Sparse Roadside Infr...Large-Scale Crowdsourcing by Vehicular Data Packets in a Sparse Roadside Infr...
Large-Scale Crowdsourcing by Vehicular Data Packets in a Sparse Roadside Infr...
 
On Performance Under Hotspots in Hadoop versus Bigdata Replay Platforms
On Performance Under Hotspots in Hadoop versus Bigdata Replay PlatformsOn Performance Under Hotspots in Hadoop versus Bigdata Replay Platforms
On Performance Under Hotspots in Hadoop versus Bigdata Replay Platforms
 
Taking the Step from Software to Product Development \\ when teaching PBL at ...
Taking the Step from Software to Product Development \\ when teaching PBL at ...Taking the Step from Software to Product Development \\ when teaching PBL at ...
Taking the Step from Software to Product Development \\ when teaching PBL at ...
 
Design and Implementation of a 3-Party Cloud-Backed Handshake for Secure Grou...
Design and Implementation of a 3-Party Cloud-Backed Handshake for Secure Grou...Design and Implementation of a 3-Party Cloud-Backed Handshake for Secure Grou...
Design and Implementation of a 3-Party Cloud-Backed Handshake for Secure Grou...
 
The Switchboard Optimization Problem and Heuristics for Cut-Through Networking
The Switchboard Optimization Problem and Heuristics for Cut-Through NetworkingThe Switchboard Optimization Problem and Heuristics for Cut-Through Networking
The Switchboard Optimization Problem and Heuristics for Cut-Through Networking
 
The Switchboard Traffic Engineering Problem for Mixed Contention/Cut-Through ...
The Switchboard Traffic Engineering Problem for Mixed Contention/Cut-Through ...The Switchboard Traffic Engineering Problem for Mixed Contention/Cut-Through ...
The Switchboard Traffic Engineering Problem for Mixed Contention/Cut-Through ...
 
Bulk-n-Pick Method for One-to-Many Data Transfer in Dense Wireless Spaces
Bulk-n-Pick Method for One-to-Many Data Transfer in Dense Wireless SpacesBulk-n-Pick Method for One-to-Many Data Transfer in Dense Wireless Spaces
Bulk-n-Pick Method for One-to-Many Data Transfer in Dense Wireless Spaces
 
Fog Cloud Caching at Network Edge via Local Hardware Awareness Spaces
Fog Cloud Caching at Network Edge via Local Hardware Awareness SpacesFog Cloud Caching at Network Edge via Local Hardware Awareness Spaces
Fog Cloud Caching at Network Edge via Local Hardware Awareness Spaces
 
On a Hybrid Packets-and-Circuits Switching Logic
On a Hybrid Packets-and-Circuits Switching LogicOn a Hybrid Packets-and-Circuits Switching Logic
On a Hybrid Packets-and-Circuits Switching Logic
 
Image-Related Uses for Roadside Infrastructure \\ based on Wireless Beacons
Image-Related Uses for Roadside Infrastructure \\ based on Wireless BeaconsImage-Related Uses for Roadside Infrastructure \\ based on Wireless Beacons
Image-Related Uses for Roadside Infrastructure \\ based on Wireless Beacons
 
Complexity Resolution Control for Context Based on Metromaps
Complexity Resolution Control for Context Based on MetromapsComplexity Resolution Control for Context Based on Metromaps
Complexity Resolution Control for Context Based on Metromaps
 
The Declarative-Coordinated Model for Self-Optimization of Service Networks
The Declarative-Coordinated Model for Self-Optimization of Service NetworksThe Declarative-Coordinated Model for Self-Optimization of Service Networks
The Declarative-Coordinated Model for Self-Optimization of Service Networks
 
3-Way Scripts as a Practical Platform for Secure Distributed Code in Clouds
3-Way Scripts as a Practical Platform for Secure Distributed Code in Clouds3-Way Scripts as a Practical Platform for Secure Distributed Code in Clouds
3-Way Scripts as a Practical Platform for Secure Distributed Code in Clouds
 
Towards Social Robotics on Smartphones with Simple XYZV Sensor Feedback
Towards Social Robotics on Smartphones with Simple XYZV Sensor FeedbackTowards Social Robotics on Smartphones with Simple XYZV Sensor Feedback
Towards Social Robotics on Smartphones with Simple XYZV Sensor Feedback
 
Back to Rings but not Tokens: Physical and Logical Designs for Distributed Fi...
Back to Rings but not Tokens: Physical and Logical Designs for Distributed Fi...Back to Rings but not Tokens: Physical and Logical Designs for Distributed Fi...
Back to Rings but not Tokens: Physical and Logical Designs for Distributed Fi...
 
Browser Visualization using PNGs Generated by HTML5 Workers on Multicore
Browser Visualization using PNGs Generated by HTML5 Workers on MulticoreBrowser Visualization using PNGs Generated by HTML5 Workers on Multicore
Browser Visualization using PNGs Generated by HTML5 Workers on Multicore
 

Recently uploaded

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Recently uploaded (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Clientside/Offline (onefile) Lecture Player in a Web Browser

  • 1.
  • 2. . YALMS: Yet Another LMS V A S Step 1: Record C Long-Term StorageLecturer Files YALMS Robot Viewers HTML5 Step 2: Annotate Lecturer S YALMS Robot 01 myself+1 "YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes" IEICE・LOIS研 (2014) 06 myself+0 "Homepage of the YALMS.format Subproject" https://github.com/maratishe/yalms.format (2015) M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 2/17 ... 2/17
  • 3. . The MultiFile Player (trivial) • traditional method • HTML + MP4 + PNG + ... files • user needs to download and unpack (ZIP, RAR, TBZ, ...) • no way to have a fully browser-based interface M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 3/17 ... 3/17
  • 4. . Dev: Components M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 4/17 ... 4/17
  • 5. . HTML5 Features • native binary: no need to convert, used to be BSON, JSON, etc. • WebSockets: streaming • Workers: multicore • FileReader: read access to local filesystem • saveAs: trigger file download (binary OK) 08 "HTML5: W3C Working Draft" http://www.w3.org/TR/html5/ (2015) 09 "File API: W3C Working Draft" www.w3.org/TR/FileAPI (2015) M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 5/17 ... 5/17
  • 6. . Binary + saveAs (auto download) • saveAs() is not part of HTML5 standard! -- but too good to give up • can use standard INPUT type="file" dialogs to get filepath/name • the other side of FileReader M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 6/17 ... 6/17
  • 7. . VIDEO: Access to Raw Buffer M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 7/17 ... 7/17
  • 8. . WebSocket Aggregator Network Web Server Chrome Browser Control ……. Buffer User WebSocket WebWorker WebSocket WebWorker WebSocket Server WebSocket request fork() Handshake 02 myself+0 "A Practical Software Model for Content Aggregation in Browsers...." 2nd COMPSAC/MVDA (2013) 03 myself+0 "Experiments with application throughput in a browser with full HTML5 support" IEICE ComEx (2013) M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 8/17 ... 8/17
  • 9. . WebSocket Aggregator in Action 03 myself+0 "Experiments with application throughput in a browser with full HTML5 support" IEICE ComEx (2013) 07 myself+0 "WebSockets, WebWorkers, and Raw Binary in Chrome" https://github.com/maratishe/msaplayer (2015) M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 9/17 ... 9/17
  • 10. . The Offline/SingleFile Player M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 10/17 ... 10/17
  • 11. . The Offline/SingleFile Objectives PNG Replay Screen VIDEO S A V MISC. C Browser Webapp Internet Local filesystem (FileReader ) PNG VIDEO Down- loads • with/without Internet, both OK • when with Internet, can also use Cloud APIs (Dropbox, GoogleDrive) • 3 functions 1. PNG -- screen, slide pages 2. VIDEO -- raw buffer access 3. Download -- saveAs 04 Z.Pan+5 "Technologies for E-Learning and Digital Entertainment" 1st Edutainment (2006) 05 A.Ram+1 "Video Analysis and Repackaging for Distance Education" Springer (2012) M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 11/17 ... 11/17
  • 12. . YALMS: Encoding Design V A S Step 1: Record C Lecturer YALMS.format YALMS Robot Watch filesystem Watch scene change Step 2: Add PDF Lecturer S A V SE CE PE Annotation SEX • no need to be online, offline/ cloud processing OK • encoding format -- headers, payload, etc. at 01 • in the end, becomes one file 01 myself+1 "YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes" IEICE・LOIS研 (2014) M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 12/17 ... 12/17
  • 13. . Screen Encoding: Effective? 0 10 20 30 40 50 60 70 80 90 Time sequence of pages/frames 0.8 1.6 2.4 3.2 4 4.8 log(binarydiff) M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 13/17 ... 13/17
  • 14. . Binary Diffs for Screen Encoding M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 14/17 ... 14/17
  • 15. . Binary Diff + Multicore (workers) M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 15/17 ... 15/17
  • 16. . Wrapup • Offline/SingleFile player is already a reality, based on: 1. FileReader 08 and saveAs() 2. access to raw VIDEO buffer 03 3. binary diff and related compression/encoding 01 08 "HTML5: W3C Working Draft" http://www.w3.org/TR/html5/ (2015) 03 myself+0 "Experiments with application throughput in a browser with full HTML5 support" IEICE ComEx (2013) 01 myself+1 "YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes" IEICE・LOIS研 (2014) M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 16/17 ... 16/17
  • 17. . That’s all, thank you ... M.Zhanikeev -- maratishe@gmail.com -- Clientside/Offline (onefile) Lecture Player in a Web Browser -- http://bit.do/marat150523 17/17 ... 17/17