Git Product home page Git Product logo

interactive-story-builder's Introduction

JumpStart Georgia's StoryBuilder

Summary

StoryBuilder is a web application that allows users to build mixed-media stories that can then be shared with the world. You can try StoryBuilder out for yourself here.

The idea for this application came after viewing mixed-media stories like this New York Times story. We wanted to be able to create stories like this without having to start from scratch for every story. We wanted to be able to quickly put interactive, mixed-media stories together without having to require a lot of designer or developer time. That is the goal of this application.

How It Works

StoryBuilder is similar to a blog editor like wordpress or tumblr, but at this point is still a little rustic. In essence, StoryBuilder allows you to add content, images, and/or videos into sections in a story that can be ordered however you want.

Right now there are four types of sections that can be created:

  • Text: Simple text with a rich-text editor like Word or Google Docs.
  • Embed Online Media: Add online video and audio from sites like youtube, vimeo and soundcloud.
  • Full-Screen Media: This can be a combination of images and/or videos that will appear on the screen in a vertical slider format, one after the other. The media is stretched to fill the users entire window and a small caption text can appear ontop of the media.
  • Image Slideshow: Images in a simple horizontal slideshow.

Aside from building the story, you also have the ability to:

  • clone a story as the beginning of a new story
  • download a story so you can host it on any website
  • embed a pretty link to the story
  • embed the full story
  • invite others to help collaborate on the story
  • share a private URL to allow others to review your story before it is published

Dependencies

You will need to install the following programs:

  • imagemagick - to process the uploaded images and create all of the different sizes required
  • ffmpeg - to process video into a format suitable for use in an HTML5 video tag (install instructions here)
  • exiftool - to check if video has audio (install with: sudo apt-get install libimage-exiftool-perl)
  • cron jobs - to send notifications and to process videos

You will need the following Environment Variables set:

  • STORY_BUILDER_FROM_EMAIL - email address to send all emails from
  • STORY_BUILDER_FROM_PWD - password of above email address
  • STORY_BUILDER_TO_EMAIL - email address to send feedback form messages to
  • STORY_BUILDER_ERROR_TO_EMAIL - email address to send application errors to
  • STORY_BUILDER_FACEBOOK_APP_ID - Facebook is one of the options for logging in to the system and you must have an app account created under facebook developers. This key stores the application id.
  • STORY_BUILDER_FACEBOOK_APP_SECRET - This key stores the facebook application secret.
  • STORY_BUILDER_DISQUS - Disqus is used for the commenting system and your unique website key is stored here
  • STORY_BUILDER_BITLY_TOKEN - bit.ly generic access token (get from here) used to shorten URLs to published stories
  • STORY_BUILDER_BITLY_TOKEN_DEV - same as above, but for use in testing environments
  • STORY_BUILDER_ADDTHIS_PROFILEID - addthis.com profile ID (get from here) to use the addthis share tools
  • STORY_BUILDER_ADDTHIS_PROFILEID_DEV - same as above, but for use in testing environments
  • DETECT_LANGUAGE_API_KEY - Language Detection API key for determining the language a story is written in

To Do List

Short Term Tasks

  • create a more wizard like process for building the story
  • add ability to drag and drop section for re-arranging
  • users can create groups and have their own page to show their published works
  • add ability to create one story in multiple languages
  • ability to log in with something other than facebook

Long Term Tasks

  • add ability to include interactive maps
  • add ability to include charts
  • add ability to include data tables
  • store the media on Amazon S3 cloud or something similar
  • have multiple themes to select from
  • be able to edit colors, fonts, etc
  • select from different transitions between sections

Version History

1.0

We did so much work on this release that bumping the version to 1.0 felt appropriate. Most of the focus was spent on the experience of finding and reading stories. Some time was spent on the form for building the stories, but a complete overhaul of the story building system is needed and will be the focus of our next major release.

Here is a list of the new features.

General Features:

  • applied much nicer theme to the site
  • added notification system to alert you when new stories are published, your story is selected as a staff pick, comments are made, etc
  • allow users to follow other users and receive notifications when new stories are published
  • added RSS feed of all published stories

Story Building Features:

  • can customize url to story
  • can write summary of story (this is used on home page and when sharing in facebook)
  • added ability to indicate what language your story is in (allows users to filter on home page)
  • added categories to stories
  • added tags to stories
  • added ability to include online media (embed youtube, vimeo, soundcloud, etc)
  • can invite other users to be a collaborator on your story

Story Features:

  • can search, filter and sort published stories on home page
  • added story read counter
  • added share links
  • added comments
  • added like button
  • can embed stories in two formats: a pretty link or the full story
  • using bit.ly to create short URLs to published stories

User Settings Features:

  • can load an avatar for yourself
  • can customize url to user page
  • can write summary about self and this appears on your user page
  • can indicate the default language for your stories
  • can indicate which notifications you wish to receive
  • each user has their own page to show their published works

0.4

  • added horizontal image gallery section
  • added help text to forms
  • translated site completely into Georgian
  • moved all media files (images, videos, audio) into one table
  • started process for having multiple templates - right now only one template exists

0.3

  • create a more appealing landing page
  • applied user authorization
  • ability to clone a story so it can be used as the start of a new story
  • ability to export a story so it can be hosted on any website
  • can assign users to edit your story

License

You read the license here.

interactive-story-builder's People

Contributors

antarya avatar jasonaddie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

interactive-story-builder's Issues

Autostart

At the moment, video (and presumably audio) clips start to play as the full screen asset comes in to view. If you are scrolling up and down a story, eg maybe to re-read part of it, or to come back to it to finish reading a story you have already started, the video assets always autostart.

I wonder if it would be useful to have a setting whereby the autorun is enabled for the first sighting, but then to play it again requires a click? That way, the videos etc would autoplay as I read through a story the first time, but if I scroll back up through the story they don't keep restarting?

If the play-state is saved via a cookie, then if I start a story, read through part of it, close the window, then go back to the story at a later date to finish reading it, any videos I have already seen would not autoplay, but ones I haven't would?

Lost full screen facility

Hi - not sure where you accept bug reports for http://storybuilder.jumpstart.ge ?

I was working on a story that included several full screen media views but they suddenly all stopped appearing (no full screen images; no full screen autostart video).

The assets are still in the story list, but they don't get rendered. If I add new items to the story list, they do.

Just before the assets all stopped rendering, I both downloaded the project and cloned it. These operations don't have side effects do they...?

Mis-spelling

Remember is spelled incorrectly on the login window

How should I add another section (of story)?

When I click "+" nothing happens..
I wasn't able to find how to add new part of story.
_____storybuilder
Also, "განახლება სექცია" should be "სექციის განახლება"

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.