Skip to content

Spatial Narration and Story Composer

Jonathan Marino edited this page Jun 14, 2018 · 8 revisions

Rewrite existing Composer in StoryTools w/ new UI

To enable scaling and long-term sustainability, the existing composer needs to be re-written in StoryTools instead of existing MapLoom. The composer re-write should support all the workflows in the current composer unless changes have been decided upon by Product Owners, development leads and designers during the user testing, design and development phase.

  • For a summary-view of requirements for the existing composer, review the "Beta Baseline" list here.
  • For a detailed list of user requirements for the existing composer, review the User Survey on Story Composition in the Beta Tester Guide here.
  • For design mockups driving the composer rewrite, reach out to @darinacosta for access to Invision

New Composer

Composer UX enhancements separate from the Templates

These UX enhancements to composer respond to user pain points with the existing composer:

  • Let me see a full preview of my MapStory before I publish
  • Let me more easily see all the elements I’ve added to my mapstory in composer (i.e. Table of Contents)
  • Improve the StoryPin time picker, and make sure StoryPins can extend to the full time range that StoryLayers can (geologic time)
  • Allow me to search/find features from a layer while in a story composer session from map or table view
  • Let me copy StoryLayers to different chapters, if I want to use the same StoryLayer twice, rather than having to go back to the search modal again
  • Allow me to select styles created by other storytellers and apply them to the same StoryLayer in their story
  • Allow me to select StoryPins created by other storytellers and apply them to my MapStory
  • Provide advice to users on styles that work well with particular types of layers edit story in CSS which is directly editable, for users that are comfortable with CSS

Current Story Data Model Components

The MapStory model should include the following base components

  • Layers (StoryLayers)
  • Basemaps
  • Timeslider
  • Timeline
  • Legend
  • Chapters
  • StoryPins
  • StoryFrames
  • Versioning and Update
  • Playback Options

Enable download of entire story as a geopackage

Style Editor

As a user, I expect to be able to create custom styles with the StoryLayers I use in my story.

  • Implement styling framework called for by Rey's mockup with consideration for Glynnis' existing mockups
  • Editor must support .SLD and MapboxGL as appropriate.
  • Have styling "templates" that can be reused with other layers and attribute variables
  • Custom icons in Scalable Vector Graphics, animated GIFs, and other formats should be supported for point data from the IconsCommons module.
  • Detached resuable shareable styles that show upin StoryLayer Detail Page as associated styles.

StoryFrame, StoryPin, Timeline, Legend and Chapter

StoryFrame Enhancements

StoryFrames allow the narrator to focus on or highlight a time and place within a story. StoryFrames should have their own settings for zoom, playback speed, duration, etc.

  • Enable StoryFrame (time and bounding box) to be derived from a StoryPin location.
  • Enable storyteller to "Freeze Frame" a layer used in a chapter. this means that on story playback, the layer will show the features from a specified moment in time for the duration of a chapter or StoryFrame.

StoryPin Enhancements (previously Annotations or StoryNotes)

StoryPins add additional information that links to the content within a story by showing attribute data, highlighting an event, or linking to external content that is relevant to the story that is not within the layer data. A way to focus attention and provide more context.

  • Allow for StoryPin content to exist "off-the-map" in a sidebar
  • Let me customize ("mask") the feature-info pop-up that appears for my features. I want to be able to choose which attribute fields show up in that pop-up and mask the attribute headings.

Timeline

Allow storyteller to customize placement of timeline. Currently the timeline has one fixed location and behavior.

Legend

Allow users to further customize legend. Right now the legend is purely derived from the layer data, which may not make sense in all story cases.

Storytelling Templates

Storytelling templates will make it easier for a storyteller to compose and publish a mapstory that communicates what the storyteller intends to communicate.

Template User Story Statements

What kind of MapStory do you want to tell?: The following statements describe the most common different types of scenarios we imagine storytellers being in.

  • Base: "As a user I want complete control over my story. Just show me everything of what’s possible!" (Current composer design)
  • StoryPin-Centered: "My story aims to show just a handful of key events. I have media and text for each of these events. Therefore, I need template options that makes it easy to create StoryPins, and let me pick nice base layers(s) as background for the StoryPins displayed" (Rey’s “A” Templates).
  • Feature-centered and static: "My story aims to present lots of features at a single point in time. I get that MapStory is about change-over-time, but really I just need a static map that represents a single point in time." I.E. Freeze Frame (Rey’s “B-1”)
  • Feature-Centered and Dynamic: "My story aims to present layer features as they change over time. All that other stuff - frames, pins - is less important" (Rey’s “B-2”).
  • Feature-Centered and Mixed: "My storm aims to present layer features as they change over time on top of another layer that doesn’t change. For example, I want to show an explorer’s journey animate over a historic print map" (Rey’s “B-3”).
  • Timeline-Centered "My story is really about showing lots of features on a timeline. The map is important too, but I’m more interested in the timeline showing my events" (Rey’s “B-4” templates).
  • Aspirational!: "For my story, I want the features on-the-map to interact with charts or graphs (statistical data) off the map" (Rey's C templates).

Template Concepts that Achieve the User Statements

  • See Rey designs.

New Cross-cutting Engineering Priorities Required by Templates (Draft)

  • Enable StoryFrame specs (time and zoom level) to be derived from a StoryPin location.
  • Allow for StoryPin content to exist off-the-map in a sidebar
  • Enable storyteller to “Freeze Frame” a layer used in a chapter. This means that on story playback, the layer will show the features from a specified moment in time for the duration of a chapter
  • Allow storyteller to customize placement of timeline. Currently the timeline has one fixed location and behavior.
  • Allow users to further customize their legend. Right now the legend is purely derived from the layer data, which may not make sense in all story cases.
  • Let me customize ("mask") the feature-info pop-up that appears for my features. I want to be able to choose which attribute fields show up in that pop-up and mask the attribute headings.
  • Enable automated chapter transitions (related to Museum Mode)

Multiple Authors and Collaborative Composing

Users should be able to work together with other users to make MapStories, and those other users should get credit for their help.

  • Allow the original creator of a MapStory to add additional users as "Story Authors"
  • Any user added as an Author to MapStory has the draft accessible on their profile and can enter into sotry composing to make changes
  • Add a change history log in MapStories to track which Story Author has made which change.
  • A story owner could also opt to get notifications whenever a layer they use in their story is edited/updated
  • A story owner could also select to "automatically update my story when layers I used are updated". The default would be for the story to use the version of the layer as it was when the story was published and only be changed if the storyteller manually decides to update. Updating layer versions could very well disrupt alignment with StoryPins, StoryFrames and other elements of the story that that storyteller will need to be address to make sure their story looks correct.

The saving model for mapstories should include a "draft", "staged changes" and "published" model.

Playback Options (Stories)

As a user, I need to make sure a MapStory can be played all the way through, without the need for user intervention.

Cumulative vs Discrete

StoryLayers will always default to Discrete playback in the Detail Page. The user can change the playback mode.

Allow user to define the default playback options for a MapStory’s StoryLayers, Chapters, StoryFrames, and StoryPins

if each MapStory’s data should be displayed cumulatively or discretely.

Museum Mode (Autonomous Mode)

Enable “loop story” function (aka ‘Museum Mode’) that allows story to play from start to finish with StoryFrames, StoryPins, and chapter transitions occurring without the need for user interaction

The StoryTeller is responsible for making their MapStory "Museum mode compliant" by providing verbose playback options, durations of StoryFrames, StoryPins and Chapter transitions.

Playlists

A playlist is several mapstories strung together. So, in a museum display setting you could have several mapstories be playing on a continuous loop without user interaction.

Add “Playlists” feature to Individual and Organization Profiles. With Playlists, Profile owner can give playlist a name and add stories to the playlist. A Playlist can then play continuously without user intervention, like “loop story” but for multiple stories. Use case is a museum displaying a series of MapStories on a display.

Ideally, a user could “create” a playlist from their Profile or Organization Page. Creating a playlist would involve giving the playlist itself a name, and selecting the mapstories that will be part of the playlist, and saving. The playlist would then appear on the Profile or Organization Page where visitors of the Profile or Organization Page could play it themselves.

<< Previous Section | Road Map Home | Next Section>>

Clone this wiki locally