Skip to content

Instantly share code, notes, and snippets.

@MonkeyDo
Last active March 28, 2022 09:15
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MonkeyDo/0a3eac656e558f8f0c9fe16d8b9cc6e8 to your computer and use it in GitHub Desktop.
Save MonkeyDo/0a3eac656e558f8f0c9fe16d8b9cc6e8 to your computer and use it in GitHub Desktop.
Unified form review

Review of the Unified creation form mockups [GSoC project by Shubh]

https://www.figma.com/file/iDju7gP663mwVYyuyKIa6A/Unified-form-v2?node-id=0%3A1

First of all, I want to say two main things: a) I really appreciate the clean mockups you are putting out. It’s very useful for us to visualize and discuss the details (and later on to implement the components), but also it’s very nice and clean too look at which I appreciate. b) There’s inevitably going to a lot of back and forth in preparation for this project, but I like what you’ve been making so far and I’m confident you can crack that tough problem !

Without further ado, some high-level feedback

How do we slice the cake?

The main complexity and aim of the project is to make the website easier to use. One of the main issues in this regard is the way the website uses nomenclature and structures derived from the database schema. Generally, I think the tabs are not used for the right purpose and fit too closely to the existing structures of our forms. As a beginner user without prior knowledge of BB or MB (I’ll refer to them as ‘Anon‘ from here onwards), “identifiers” “relationships” and “annotation” don’t mean anything, and “basic” doesn’t give any info either.

Instead, we need to shift our perspective and try to slice the cake across another dimension. The tabs should be used to map our complicated database-based mental representation to Anon’s limited perspective of “I have this book in my hand and no knowledge of BB”. So for an example of sections/tabs that would make more sense I think(without the need for prior knowledge of BB):

  • Who wrote the book? select or create an Author + associated details This will create Author Credits for the Edition (this isn’t currently used but the DB tables are there; it’s how you can attribute an Edition to an Author [notice there is no Author wrote Edition relationship])
  • What are the contents of the book? list of works (select existing or create new easy shortcut for Author-Work relationships for created works (not automatically I guess, as you can have multiple works by different authors in a book, but for example a checkbox “work was written by $authorName” that they just created/selected ) maybe?? a way to add some other content-based relationships like illustrators, photographs, etc.
  • What is my physical Edition of this book? physical attributes ISBN Publisher select or create EG details (I guess only EG type?)

What do we show, when and where?

We don’t necessarily need to have a huge inlined form/modal for each new entity we create in this form. We need to strike the right balance of easy to use and thoroughness. Considering this form is aimed at beginner users first and foremost, when in doubt we should keep it simple.

For example, if Anon creates a new Author in this book creation form, we don’t necessarily need a way to add other relationships for the Author: name(s), dates and birth place could be sufficient. Same thing with the Publisher: name, dates, type, and maybe that’s all? The Works might not even need a form; we only need to select the type and that’s all, which could even be done in a table format ( we could select the language for all new Works like you did in the “basic” tab, or at the top of the “contents” tab and use it for all new Works)

Adding other relationships and identifiers can either be done by Anon in separate revision later on, especially if that’s what we need to do to keep the form easy to use and digestible. Maybe we can tuck away rels & ids in the inline forms and show them in a modal/accordion after clicking a button (kind of like what we currently do on the creation form), but only if it does not make the form harder to use/understand or too “impressive” (looking at you, MusicBrainz…)

Both the “Created entities” block you have on your mockup and your idea of showing a graph of created entities would make for a great last “recap” tab/section along with the annotation (i.e anything else that doesn’t fit in previous tabs)

@tr1ten
Copy link

tr1ten commented Mar 23, 2022

Hey, Thanks for taking out the time and writing a detailed review!, very appreciated.
I would like to share my thought process.

Who will be using the Unified Form?

User Type Assumption Use Case
Experience Have idea about what different entities represent in BB Will be able to create multiple entities and link them in same workflow
Anon* New to BB/MB, simply want to add a book Simplified workflow for book creation

For first case we can use the workflow as describe in mockups, since that can help them to efficiently add more data.
For second case, we can have wrapper around edition entity with useful defaults called "Book", abstracting away BB specific details and only presenting necessary options to user.

Book Creation

What are the main details a user can accumulate from a physical/digital book?

  • Book name, Language, Author (name(s)), Publisher (name)
  • Work (types like Introduction, Foreword)
  • ISBN, Pages, User's description of book

Workflow - Tabs

Tab Fields Comment
Basic
  • Name
  • Language
  • Author's Name Search/Create
  • Publisher's Name Search/Create
Language & Relationships would be prefilled on create
Contents
  • Author Search (default to author credits)
  • Work Type
  • Add More Button
Work's name & language would be same as book
Details
  • ISBN
  • Pages
  • Accordion to add more identifiers/attributes
  • User Description
User description would act as annotation's content

Note: User can only add book(edition) relationships in later revisions

All create action would generate new entity in "Created entities" from where user can make changes to them easily, also i will discuss more about implementation details in my proposal.

I would love to hear your thoughts on this, also let me know if you want to see some mock-ups on book creation!.

Update: Mockups for book creation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment