Giter VIP home page Giter VIP logo

microsoft / timelinestoryteller Goto Github PK

View Code? Open in Web Editor NEW
360.0 32.0 75.0 187.44 MB

An expressive visual storytelling environment for presenting timelines on the web and in Power BI. Developed at Microsoft Research.

Home Page: https://timelinestoryteller.com/

License: Other

JavaScript 94.62% HTML 2.63% CSS 2.75%
visualization timeline timeline-storyteller storytelling timeline-data infovis microsoft research

timelinestoryteller's People

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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

timelinestoryteller's Issues

Progress feedback

Display minimal yet immediate visual feedback during data or story load / transitions / image import (i.e., pinwheel / wait cursor)

Improve image annotation performance/issues

A couple of problems with the current implementation:

  • If you embed an image from a server that has CORS disabled, then it has issues saving the scene thumbnails.
  • If you embed the image using data uris, then a large image can cause the app to become horribly slow.

Undo & Redo

Undo and redo for every interaction / UI state change (currently nonexistent; unrecorded changes to the current state are lost on scene change).

DISTINCTION b/w SCENE-IN-PROGRESS vs. SAVED SCENE: if UNDO / REDO is insufficient, a visual indication of an unsaved in-progress scene vs. previously saved scenes; if editing a previously saved scene, add option to UPDATE or APPEND edits to saved scene; SAVED EDITS TO EXISTING SAVED STORY IN BACKGROUND: verify if this is possible in all browsers

Add (or delete) event(s) manually

Interactively add and/or edit an event via a UI dialog by specifying its start/end dates, category, facet, and content text. Conversely, delete individual events. Re-scale if necessary.

Annotation z-order in saved stories

Within the same timeline scene, annotations (event labels, scene captions, images) may appear in a different z-order from how they were recorded, resulting in undesired occlusion.

Export GIF and/or Video with animated transitions

current GIF export does not include animated transitions; implementing a GIF / video export with the animated transitions will require scene + transition timing controls for each scene and transition to be exposed in UI

Configurable z-order and alpha values for image annotations

Image annotations should have UI controls for z-order and alpha/opacity, such that images can appear behind the timeline(s); the z-order and alpha values of images must be saved in scene metadata

Currently, images can be 'sent to back' by clicking them while holding the SHIFT modifier key; however, this z-order is not preserved when replaying the scene

Edit # of facet columns, segment columns

(Alternative to issue #37)

configure # columns in faceted and segmented radial or spiral timelines (currently automatic, not configurable), which in turn affects the number of rows.

Updating the number of facet columns could update the radius of the facets.

Custom styles

Initially: GLOBAL STYLE CONFIGURATION OPTIONS for annotations, captions, images, axes: font, font color, annotation dropline style / visibility; style options must be saved along with a story.

Eventually: LOCAL STYLE CHANGES to individual annotations, captions, images, axis ticks, axis domains, axis labels

Consistent animation behaviour

Staged animation as it is done currently sometimes results in inconsistent behaviour: events (dis)appearing, scaling, positioning, etc.

Re-order scenes

UI control for re-ordering saved scenes in a story, such as via drag-and-drop within the scene selector.

Timeline orientation / direction configuration

UI controls for configuring timeline orientation.

For linear timelines (currently earlier-to-recent corresponds to left-to-right): top-to-bottom, bottom-to-top, right-to-left (helpful for users whose written language is read right-to-left)

For radial timelines (currently earlier-to-recent proceeds clockwise): counter-clockwise

For spiral timelines (currently earlier-to recent proceeds outwards from center): inwards to center

Shape annotations

Add (and style) arrows, rectangles, ellipses, lines, freeform pen strokes to timeline scenes

"sort facets by" layout option

UI controls for re-ordering the facets (currently facets are ordered alphabetically); this could be done via drag and drop; this ordering would need to be preserved in saved story metadata or in the scene metadata should a story contain more than one facet ordering.

Minimal Playback UI

Hide scene selector by default in playback mode; show scene selector on demand instead; show "scene N of M" label when scene selector is hidden.

Transition quality indications

Provide visual indication of animated transitions between representations, scales, and layouts in the scene selector and indicate whether any particular transition is potentially jarring or ill-advised; recommend insertion of interim scenes with helpful transitions to guide the viewer

Configurable radial representation radius

Add a UI element for configuring the size of the radial representation radius; this affects the number of facet and segment columns; this configuration must be saved along with a scene

Automatically annotating all visible events

Via @sqljason, June 19 2017

There is a use case for automatically annotating all non-filtered events.

This would need to take several parameters into consideration: the canvas dimensions, the current representation (linear vs. radial vs. other), the number of events, and the length of every event annotation.

Given all of this, we would try to optimize the placement of all the annotations to prevent any from overlapping with each other, the events, or the axes.

"segment by" layout option

Segment timeline by different granularities of time (millenia / century / decade / year / month / week / day / hour), within the extent of the dataset, minimum granularity of events, and with some upper bound on the number of segments.

Occasional arc tweening error

image

This seems to occur more often when filtering

Repro:

  • Load AI dataset
  • Change to Radial View
  • Filter to 1600 (Hide mode)

Legend colorpicker broken

Selecting a new color from the legend color swatch no longer updates the color of events of that category.

Change radius of radial timelines

(alternative to issue #36)

The radius is currently adjusted automatically given the window/main_svg dimensions, the number of tracks, (and the number of facet or segment columns in the case of faceted / segmented layouts).

The radius could be manipulated directly by clicking and dragging on a control point at the center of a radial timeline. Changing the radius of a single facet should update all facets in sync. This will in turn affect the number of facet rows and columns.

A global minimum and maximum radius would need to be specified based upon the resolution.

Recommended timeline design space configurations

Given timeline dataset characteristics such as the presence and number of facets, segment granularity, number and distribution of events, number of event categories, recommend combinations of timeline representation, scale, and layout.

Title "scenes"

Title scenes ("slides") could appear between timeline scenes; currently, these are created by filtering out everything and appropriating captions to the empty canvas

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.