tino-junge / cinema-app Goto Github PK
View Code? Open in Web Editor NEWActive Cinema Voting App
License: MIT License
Active Cinema Voting App
License: MIT License
identifiy clients by some means (MAC, IP, UserAgent,... ?) in order to prevent multiple votes per device. Especially important in conjunction with reopening sockets
depends on #6
Check if device is a smartphone and hide launch movie button
optional : redirect to /app
Currently we do not check if votes max key would exceed video.sequels index >> IndexOutOfBounce when still some votes left (someone voted too late f.e) but current video sequels count is lower than the highest voted decision
REPRODUCE
DEFECTS
NOTICE
SOLUTION?
11.12.16
a) Got 2 Testers who only got Safari on there smartphone. Safari doesn't works with getting connected to the app by ...ip:3000/voting
b) chrome on smartphones (tested 4 Device) doesn't had have any problems by get connected to the app over... ip:3000/voting
Current config.yml.sample has no sequels here:
v2: &v2_config
file: 'iamerror_02.mp4'
question: 'What should Hanna do?'
answers:
a: 'Stand up'
b: 'Give up'
It would be nice if the question is also shown in the decision results
IS
Elias: 21
Sebastian: 27
SHOULD BE
Who is the most horny guy in the whole universe?
Elias: 21
Sebastian: 27
If video has just 20 seconds left, display timer symbol in right bottom corner of the movie and show the 2 decisions on the /app screen
CSS webkit animation doesn't work here. Only in Chrome and Safari
If there is a decision, the app should play a sound, which signals the audience that they can decide.
Issue: Server and App playing the sound. So you can hear it just over the PA of the cinema and the the Smartphones of the Audience
Goal: Sound is only played by the app (hearable on the smartphone)
Currently: If someone joins later, it resets the global video to the initial one
Check if loading of next video file could be done faster, e.g. preloaded or appended on current video stream
Add functionality to activate/deactivate controls. Should be by default hidden which makes scene switch smoother.
My config.yml looks like this:
remote_url: [...]
video:
v1:
file: 'iamerror_01.mp4'
At the end of the clip the decision timer fades in. Even if we are at the end of the whole movie and there is nothing to decide.
Show Paul in the code where he can adjust the timer in seconds.
Question
Green marked lines in the code have to been changed to set the timer in seconds?
Situation: the audience "plays" the movie two times. The first flow path is already writen by Tino in a config.yml.
The second flow path:
starts with new Moviefiles and decisions (2_imerror-data.mp4)
there is a new decision after the "movie-endings" of the first path, which ask's: play again? there is only one decision: "yes".
Paul wrote the second flow path in a config.yml.
Issue: it doesn't work :(
Goal: that it works. You can find Paul's config.yml in the appendix.
Right now it just works locally for the first scene.
Video File fetching (e.g. if decision A, then play scene A) should also work for owncloud files. Maybe use URL parameters and the config variables.
Buttons should have a mobile click animation (e.g. on button release)
Find a suitable animation for the timer during decision phase
right now we just take the first option A, but random would make it more interesting ;)
We need to store questions and answers for decisions.
Option 1: Store them in the video class
Option 2: Store them in own class
Decision texts can be stored in config file
Wichtiges To Do:
texts should appear in the following order:
A summary of the decision votes is interesting but not for everyone. So in order to not disturb movie watching we will move it to the smartphone voting app view
REPRODUCE
detect if device is smartphone and redirect to voting path
...ich habe heute das System und die config.yml getestet. Das schönen es läuft soweit. Das schlechte, er kann die neuen Filmformate nicht lesen.
...für die erste Entwicklungsarbeit wurde das Format .mp4 verwendet (niedrig aufgelöst, nicht das Endformat für's Kino)
...es wurden nun 2 neue Formate getestet: MXF /MOV
...bei Beiden folgt der Fehler (siehe Screenshot)
...der Fehler konnte auch nicht durch die Installation eines entsprechnende mxf./mov.codecs für Firefox behoben werden
...Tino hat innnerhalb der "Java!?" Programmierung "mp4" vorgegeben!? Einfach löschen?
...der Server muss nicht die Daten auf die richtige Format Endung testen
while a decision is active
Is this defect connected to the new timer set from 15 to 8 seconds?
REPRODUCE
Possible solution:
save time of last sync and reset every secod
=> if browser was frozen for longer time, the timespan grows
=> check if connection closed => reopen
With the latest changes of the timer from 15 to 8 seconds there are problems after decision.
Audience chooses. Timer counts down. New Clip starts.
New clip shows up with a black screen. Black Screen doesn't disappear.
2a) by do nothing screen doens't diappears
2b) when the screen is black, there can not be heard any sound
by moving the mouse video ist visible again
defect comes up after every decision
check some possible solutions on that, maybe add some slogans/how-to descriptions
Since there are easy and difficult decisions every video should have an attribute to define the decision time. Maybe still use default decision time in case its not set ?
Count votes of A and B decisions and play video with most votes
TIMER
while there is a decision, on the app and on the movie screen (server) is a timer shown
paul needs the timer for the integration in the moviefiles
DECISION CONCLUSION
after the decisions by the audience a decision conclusion is shown in the choosen path
decision path (moviepart) ...decision ...choosen path (conclusion at the beginning)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.