Skip to content

Document Design Considerations

As this doc is being created as part of the coda Doctorate (3Q22 Cohort), there were many question to be acted and answered about the reasons why (the famous Eigenquestion), as well as consideration about how to implement. Some of the answers are recorded here, others can be found in the discussions supporting the , the , as well as in the [[not yet properly documented]] implementation detail of both the and .
And yes! These notes were written before implementation began. Any revisions or additions are clearly marked as P.S..

Purpose and Premise

What problem would you like to solve?

Support for the development, discussion and extension of a Business Model Canvas.

For whom?

Those involved in the Business Model Canvas development and discussion process, either as contributors or as moderators. Those interested in improved workshop quality and deliverables.

What are the top features of the doc?

Cheat Sheet content - high quality content to drive the discussion, to set the appropriate flight level and to establish quality standards
Display Workspace - a space to facilitate discussion of the Cheat Sheet content or other versions of the Business Model Canvas
Creative Workspace - a space to dissect, discuss, extend and enhance the content detail during the development process
Moderator Tools - supporting the workshop process, participants and individual discussions with their deliverables

Where will people use this doc?

This document will be used primarily in an office environment, working individually or as part of a group. The user device is most likely to be a desktop or a laptop PC, although a mobile device may be used occasionally to view content, review progress etc. ​P.S.: the nature of the content and the way it is/ needs to be presented means that this doc works better on a reasonably sized monitor than on a mobile device.

When will people use this doc?

Within a workshop context, working individually or in a group, located on-site or remotely. Most importantly, support should be provided for people working asynchronously - contributing to the process at the time that suits them best.

Who will use this doc?

This doc will have two main user types
Workshop Moderators - who are considered to be / become experienced users of coda and the doc itself
Workshop Participants - who are assumed to be not proficient coda users, who may need more guidance and background in the purpose, structure and usage of both the doc and the subject matter content
Further, the document addresses the coda community
, who might be interested in the design considerations, how things are done and other niceties that aren’t of general interest.

Which packs might you use?

Potential candidates and use cases:
gMail - invite participants, forward documentation and workshop deliverables
Cross-doc Plus - sync master copy of Cheat Sheet data to workshop doc; update master data from workshop additions; examine paid access to Cheat Sheet Content (using “*” for sample content and customer specific secrets for paid content) ​P.S.: this requirement didn’t actually arise in the current implementation, but mainly because the notion of Content Cheat Sheets wasn’t fully developed

Which templates/ patterns might you use?

Potential candidates and use cases:
To-Do List - making this doc; moderator workshop checklist; participant checklists; tracking participant interactions ​P.S.: Used only to manage implementation of the doc and as an
Bulk Add - adding moderator tasks on a per-participant basis ​P.S.: This is a key element in the implementation of Task Assignment
Office Hours Questions - tracking participants questions ​P.S.: Used in a manner in the Contributions & Conversations functionality, but not in as structured a way as the original
P.S.: Text Placeholders - developed further to many workshop-specific contexts
P.S.: A pattern we’d call a 1:N Table Structure - despite our best efforts, we couldn’t get to give us a usable presentation of the Item table data. Different views and layouts just weren’t working. Instead we created a new Table with Building Blocks (the 1:) as the display column and multi-select lookups (the :N) of the Items table creating the accumulation we needed.
P.S.: We also used a simple ThisRow() , without any .Item lookup on the Items table, as a sort of Recursive Lookup to create a nice-looking
chip
representation of the Item itself (a text column) for use in the Workspace canvasses

What infrastructure challenges might be involved?

Audit Trail, Versioning - the doc application would benefit greatly from an ability to rollback (to reset spurious changes) and/or to re-set content to the original Cheat Sheet version. Currently coda does not seem to provide much useful support in this area, although there have been hints that this will change in an upcoming version ​P.S.: This turned out to be unnecessary. Hat tip to
@Hannah Rochau
for providing a simple approach, which would have done the trick. However, the workshop-centric nature of the data meant that complicated time-based data cleansing wasn’t really necessary

Document Design

Sketch out your doc’s basic design.

Version 1 (2nd August 2022) looked like this and shows interface layouts, buttons, displays and data structures all mixed up. However, it serves well as a starting point for a database design discussion. ​P.S.: And it didn’t change much at all during implementation 🤩 ​
msg-1036764929-3254.jpg

What are are the basic blocks?

The core functionality facilitates participation in an interactive or asynchronous workshop session and consists of a Display Workspace and a Creative Workspace, supported by straightforward data structures. These issues were already addressed in the .
The moderator functionality (working title: Moderator Dashboard) supports the setup, running and documentation of workshop sessions. It will comprise Checklists, Participant Management, and Data Housekeeping functionality.

What are the basic flows?

Workshop Participants - a relatively simple flow that should work similarly for on-site or remote, asynchronous sessions:
Welcome
Background to the Business Model Canvas and it’s use
Background to the Display Workspace and the Creative Workspace
Optional: Help/FAQs and Office Hours Questions
Display Workspace
Iterative loops through Creative Workspace, Display Workspace, Creative Workspace
Voting, content promotion
Conclusion
Workshop Moderators - a more complex flow, involving setup and house-keeping tasks:
Note: this is a preliminary list - needs adjustment/ correction when the doc is completed
Setup workshop doc - copy doc [Alternative: reset doc contents]
Work through Setup Checklist
Add workshop details - date, time, [submission dates,] [office hour dates,] [other scheduling information,] venue, participants, other stakeholders
Bulk Add Data - add[, schedule] tasks per participant
Share workshop doc - make doc available to participants and other relevant parties
Work through Moderation Checklist
Walk-though the workshop, supporting, explaining and moderating the process outlined for the participants
Conduct voting sessions
Promote content, as appropriate
Moderate final discussion, summary and close
Distribute documentation and other deliverables
Work through Tidy-Up Checklist
Determine if workshop results - particularly content additions - need to be incorporated into Master doc and modify as appropriate
[Reset doc contents - depending on “rules of play”]
P.S.: These flows were (more or less) implemented as described. “More or less” because the moderator can define both tasks and task sequence on a per-role basis, giving much more flexibility

Are any special controls needed?

It is envisaged that a set of Controls and Automations will link the two functional blocks.
Buttons within the Moderation Checklist could restrict access/ display/ functionality of the Workspaces in line with workshop progress ​P.S.: This idea wasn’t further developed or implemented
Specifically, the voting and content promotion functionality should be under the moderator’s control ​P.S.: Done
Moderator controls should manage data additions and cleansing, including the (re-)population of the (mirrored) Canvas data on the user side [subject to the rules of play] ​P.S.: Done - very successfully
P.S.: In addition, quite complex control synchronisation was implemented to allow the moderator to control the data seen by all participants - and then to allow the participants to override the moderator’s choice with individual selections

Open Design Questions

Determine Rules of Play
Multiple copies - Master and copies, one per workshop
Consolidation of results is an issue
Content promotion from multiple workshops is an issue
Single Copy without versioning
Requires clean up after use - all/ some data maintained/ cleansed
Source information for added content is lost [Option: simple Created() and CreatedBy() stamping]
P.S. Chosen Approach: Single Copy with Workshop versions - multiple workshop sessions, within one document
Supports iterative development over several workshops
Supports content consolidation
Allows adding of content to Master Cheat Sheet data set
Supports basis Audit Trail

Database Design

What is your dataset? Or datasets?

P.S.: Please refer directly to the and to the documentation
Business Model Canvas Items
By Source and Status
Cheat Sheet content
User generated suggestions
Accepted additional content
Rejected Cheat Sheet content
By Perspective
Internal View
Customer View
Customer’s Customer View
Admin Datasets
User Roles (Moderator, Participant, Reviewer, Viewer)
Workshop Sessions (Date, Time, Location)
Workshop Steps (driving display, functionality etc)
etc

How do they connect?

Item Attributes by Lookups
Source
Perspective
etc
Admin Items drive Presentation, Display and Functionality

Which database structures will you use?

Star-based Schema
Main Table (Items)
Lookup Tables
Admin Stuff
possibly a single table ​P.S.: This developed during implementation to a series of topic-related Star data base schemas

Sketch out your doc’s database design.

The data structures as implemented look like this:
Workshop Cheats Data Model - Frame 1.jpg

Challenge Assumptions

Once you have finished your brainstorm of the Database Design, reflect on the following questions:

Is there a simpler way?

Possibly, but not obviously.

Is your data focused on relationship rather than location?

Most definitely.

Are you delivering on your promise?

No reason to believe that this is not the case.

Have you added any extra steps?

Admin Functionality needs monitoring to avoid bloat and over-complexity. ​P.S.: The functionality for the user type Moderator was extended during implementation, but this is seen as a value add rather than bloat or scope creep. Admin functionality was streamlined during implementation

User Types

Which user types will you have in your doc?

From , above
This doc will have two main user types
Workshop Moderators - who are considered to be / become experienced user of coda and/ teh doc itself
Workshop Participants - who are assumed to be not proficient coda users, who may need more guidance and background in the purpose, structure and usage of both the doc and the subject matter content
Further, the document addresses the coda community
, who might be interested in the design considerations, how things are done and other niceties that aren’t of general interest.

What is their Know, Feel, Do, WhatDo plan?

Workshop Moderators
Know
Business Model Canvas background and theory
Workshop moderation
Feel
Confident in their skill set and process knowledge
Do
Organise workshops, set up workshop environment, invite participants
Manage participation and workshop flow
Conduct content housekeeping pre- and post-workshop
Document and distribute results and deliverables
WhatDo
May initially need guidance using coda functionality
May need additional background to the Business model Canvas and the modelling process
May need guidance using this doc and/ or specific pieces of functionality
Workshop Participants
Know
The subject matter area - at least to the degree required to participate sensibly
May/ may not be familiar with the Business Model Canvas
May/ may not be familiar with the modelling process
Feel
May feel confident, curious or intimidated by current status of knowledge areas
May feel confident, curious or intimidated by workshop process
May feel confident, curious or intimidated by asynchronous and/ or remote working
May feel confident, curious or intimidated about learning and using a new tool - both coda and this doc
Do
Read and understand the Business Model Canvas background material
Participate in discussions
Contribute ideas and additional content
Participate in voting exercises
Review (and agree) final content
WhatDo
May need on-going guidance using the coda functionality
May need additional background to the Business model Canvas and the modelling process, specifically regarding the appropriate flight level
May need guidance using this doc and/ or specific pieces of functionality
May need guidance regarding the principles and best practices of asynchronous working
coda Community
Know
coda philosophy, principles and use cases
coda features and functionality - albeit to widely varying degrees of detail
Feel
curious, interested in the implementation of this doc
curious, interested about the use cases, i.e. either
the Business Model Canvas process or
remote, asynchronous workshops
Do
play, don’t save
copy this doc
look under the hood
pull stuff apart, figure out how it’s implemented
steal with pride 😄
complete a Peer Review
WhatDo
implement chosen bits of functionality for their own purposes

Look & Feel

Review the design principles, as applied to the doc.
To later finalisation. ​P.S.: Done - and pretty well done, in our opinion

How are you welcoming your users?

Welcome Page with a fast track overview
Menu structure tiered - more visibility on published version
Strong visuals, plenty of empty space, well-chosen icons

What views do you have?

Core functionality implemented as views
Display Workspace
Creative Workspace
Moderator functionality switched off for most users ​P.S.: Not quite properly implemented - various dashboards, but no data driven separation, as originally considered

What is onstage/ backstage?

From a workshop participant’s point of view the visible functionality (onstage) is merely the tip of the iceberg. The Moderator functionality is hidden, as is the underlying data supporting the canvas interface.
For the moderator, much of the underlying magic (backstage) is hidden behind attractive checklists and buttons (onstage). Maintenance of detailed or complicated data should be a seldom exception.

How are you creating a positive first impression?

Light, airy look-and-feel, with strong customers
Quick orientation (Moderator or Participant, a lightweight overview and pointers as to what to do next
Elevator Statement, as confirmation that “I’m in the right place”

How are you using headers or icons?

Header images on every page
Icons on every page title
Icons in moderation on H1 headings

What is your alignment choice?

Default wherever possible, in the hope/ belief that provides the best cross-device results, allowing coda to do it’s standard responsive layout magic.
Judicious use of columns where appropriate

Which fonts will you use?

Standard size
Standard style - disagreeing with the coda suggestions of Standard for tables and Serif for text. Other research shows that serif fonts are harder to read online.

How are you using colour?

Sparingly
Some colour coding of data, where it supports the workspace presentation.

How are you using buttons?

Anywhere the usability might benefit, the default Add Row functionality is replaced by a more appropriately named button
Buttons are used to support workflow steps (”do this, do that”), for instance in the Moderator Checklist
Buttons are used in-table to facilitate quick actions
Buttons are used to drive automations, where appropriate

Is your doc scan-able?

Yes - in the Welcome area
In addition, via the (well-designed) top level menu in the published version
And finally, via the page hierarchy

How are you using column layouts?

P.S.: Use-specific layouts are used wherever it makes sense. The layout is simple and uncluttered

How are you using blank space?

P.S.: As appropriate 🤪

Challenge Assumptions - one last time!

Once you have finished your brainstorm of the Database Design, reflect on the following questions:

Is there a simpler way?

P.S.: We don’t think so

Is your data focused on relationship rather than location?

Most definitely. P.S.: Most definitely

Are you delivering on your promise?

No reason to believe that this is not the case. ​P.S.: We certainly think so - let’s see what the Peer-to-Peer Review says

Have you added any extra steps?

Admin Functionality needs monitoring to avoid bloat and over-complexity. ​P.S.: Done - definitely no unnecessary or difficult-to-use Admin


Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.