GithubHelp home page GithubHelp logo

jferreira / ld-v1_lovese-drilling_interactive-website Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 1.29 GB

Lovese Drilling - Across the world, local communities are fighting to stop new coal, oil and gas projects. Our common future is being decided on these carbon battlegrounds. This is the story about one of those battlegrounds. Told in 8 parts, this interactive documentary explores how one of the most vulnerable and productive ecosystems in the world could be handed over to the oil- and gas industry.

Home Page: http://www.lovese.org

CSS 19.35% JavaScript 34.07% HTML 44.85% PHP 1.74%
documentry enviromental interactive video-player

ld-v1_lovese-drilling_interactive-website's Introduction

ld-v1_lovese-drilling_interactive-website's People

Contributors

havardl avatar jferreira avatar robinvdm avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

ld-v1_lovese-drilling_interactive-website's Issues

Add Screen - Splash screen

Should have a static screen before any interactive of the site to explain what they are coming into i.e
screen shot 2017-01-31 at 22 32 45

Re-structure how interactive episodes updates the time bar/scrubber

The current framework works well for video, but the interactive parts which are becoming more important, is currently not implemented in a way which makes for smooth transitions after a video and into a interactive section.

The overall aim is to be able to:

  • When a video ends playing, transition into the next interactive part of the episode
  • The navigation elements (back/forth) above the menu should include the interactive elements. Right now they jump back/forth between videos only.
  • When the interactive part loads, there should be an internal timer for the interactive section which loops through a list of
    items from the loaded interactive HTML
  • When a user clicks on the map, or the pause icon (not currently present - only for videos) the timer should pause, as well as the looping of section items.
  • The user can then either explore for themselves (using the map filter list) or continue the "tour" by pressing the play button

Needs:

  • Be able to define the length of each interactive section in mm:ss, how many sections and for how long each section should be viewed before moving on to the next.
  • Be able to end the timer of an interactive element, if the user clicks away from the interactive episode

DESIGN: "Create icons"

From Håvard:

Here's a list of icons that I could really need. At last is a nice to have list, but not important. Let me know if you think you can do it :)

  • Oil Wellbore
  • Increase in greenhouse gases
  • Export of oil/gas
  • Oil spill
  • Fishing boat
  • Fishing tools (eg: nets)

Nice to have:
Fish species: 

  • Cod
  • Haddock
  • Hallibut
  • Saith
  • Herring
    Whales:
  • Orca
  • Sperm whale

Ooh, an also on for Election. Like a

  • voting slip
    , or something. 

Carbon Battlegrounds map

  • Ajax load call (feedback that the map is loading)
  • JSON with all the battlegrounds
  • Scroll function working with flyto
  • Fix bootstrap issue with the nav bar

Later:

Episodes navigation: add keyboard shortcuts

Add keyboard shortcuts for the episode navigation.

  • Left: Previous episode/interactive content
  • Right: Next episode/interactive content
  • Down: Slide navigation down
  • Up: Slide navigation up
  • Space: Pause/Play content/interactive elements

Connected with #30

Functionality - Loading screen

We need two loading screens:

  1. When entering the main site
  2. A loading function we can use for all of the mapbox interactive maps.

Intro loading screen
This loading screen should be overlaid the current content and give a-sync feedback to the user about what is loading, but also a short introduction to the coming interactive experience. What to preload: all images, javascripts and other dependencies.

  • Maybe add the first video (episode 1) to the video src for preload?

Interactive loading screen
A modular function which we can use to overlay a loading interface every time the user loads the interactive section. Mapbox tiles will often load slowly, so a overlay is needed to make the user experience less choppy.

Re-structure the the interactive section code

Currently, each interactive episode has it's own JS which is included as a file when the interactive part is clicked. But each interactive part should be a part of the overall JS framework of episodes and the "progress" of the overall experience.

TODO:

  • Move the current "timer" code for the 2. interactive episode into the overall JS navigation framework, so that it can work for each interactive part
  • Add support for configuring each interactive episode in terms of when an event should happen on the timer for the interactive part.

Nice to have:

  • When clicking the scrubber within the interactive part, jump to the specific event/section of that interactive part
  • Add ticks to the interactive scrubber where an event within the interactive part happens.

Implement two scrubbers

One overall scrubber for the whole experience (20 minutes in total, divided by 10 episodes and their individual length and the interactive part length) and a episode + interactive part scrubber.

See https://marvelapp.com/12cjh2a/screen/25297346 for an example of the scrubber on the top and the bottom of the navigation menu.

Functionality - Event handling for video playback and episode selection

Description: The video element is currently being controlled with a lot of various code, the play/pause the video through various user interactions. Overall, the video can be played/paused through the following interactions:

  1. Play icon on the title screen for each episode (overlay over each episode video): plays the video
  2. Pressing anywhere on video while playing: pause video
  3. Press a specific episode on the navigation bar: stop current video playing, replace with new video and show play icon on title screen (1)

These needs to be structured into a better event function, to make sure we have full control of the events. @RobinvdM: have a look at the code (app.framework6.js) related to the video.

Based on this new function/code restructure, add an event listener which slides the navigation bar up/down with a 5 seconds delay on video play/pause. (basic toggling)

Episodes not yet released

  • Have a clear CSS-style for episodes not yet published
  • Add: "Coming 7th of February" on episode 2 title slide (.png): @jferreira
  • Add: "Coming soon" on rest of the title slides (.png): @jferreira

Also, remove the episode names in the navigation bar when on a smaller screen resolution.

Functionality - Bootstrap - Mobile responsive solution

Port the current HTML, CSS code structure to be responsive. Use Bootstrap as base?

Currently, the site does not scale well with lower screen resolutions.

  • Need to have a different menu setup for lower screen resolutions
  • The loading screen blocks a mobile user from opening the site

Call to action after Episode 1 finishes

Implement call to action for the user after 1 episode finishes:

  • Newsletter sign up (stay updated)
  • Share this on FB
  • Share this on Twitter (generic message)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.