Sunday, May 30, 2021

Scrapbook Platform – A Personal Information System – Ten User Scenarios

Scrapbook platform - example screen Scrapbook platform - example screen
Examples of using the Scrapbook platform.

Scrapbook overview 

What is Scrapbook? 

Scrapbook is a software platform for managing personal information. Information is anything that's important to you. For us that includes books read, dinners with friends, correspondence, travel summaries, people, and music to name just a few categories. The goal of the Scrapbook platform is to capture, store, and easily recall this information securely, whenever, and wherever.

Why are we writing about Scrapbook (again)?

Scrapbook is a research project. We write to report how we are doing to those of you who might be interested or are pursuing something similar. Above all, we write – even if in the smallest way – to inspire people to take control of their personal information and make it work for them. Scrapbook is about sovereignty over your data. Scrapbook for us is about managing our personal information and making it useful to us, not ceding it to any platform that locks it up to monetize it.

Other posts about Scrapbook:
So a "software platform for managing information" doesn't mean that much to me, can you explain it in another way?

In some ways Scrapbook is analogous to a physical filing system. In a filing system, you can think of one cabinet as a collection. One drawer in a cabinet is a category. A file folder in a drawer is an item in a category. A file folder may have photos, documents, and other items in it that explain the item.

In the digital world, Scrapbook is structured hierarchically like this:
  • The Scrapbook platform contains collections
    • Collections are isolated from one another.
    • Users may have access to one or more collections.
  • Collections contains categories
    • Common examples: books, people, recipes, events, etc.
    • Categories can be anything you like.
  • Categories contain items, and each item is described by fields of information.
    • A field is one of the following
      • A default field that applies to all categories. For example, "date", "id", "description", or "title".
      • A custom field that applies to specific categories. For example, the book category has a "publisher" field.
    • Optional types can be used which act like subcategory or synonym of the category.
  • Items belong to a category in a collection.
    • After an item is created, it can be edited, deleted, moved, or cloned (even between collections a user has access to).
In this post, we explore scenarios illustrated in two of our collections: "MyJournal" and "Lostvibe".  MyJournal is our primary collection containing information relevant to our everyday lives. We write to and query MyJournal every day. Lostvibe is music-themed collection focused organized by cover art, among other typical attributes like recording artist and date. 

So, you created a digital file system. Anything else special about it?

Five reasons why the Scrapbook platform is unique.
  1. Accessible anywhere. The collections in Scrapbook are accessible on any device that you can browse on, and on multiple channels (Teams, Skype, Slack) via a chatbot interface as well as Alexa. A physical file cabinet or even a file system is not accessible in this way.

  2. Searchable. Ever wonder the last time you had dinner with a friend? Need to look up your thoughts on a book you've read five years ago? Or what was the name of the restaurant you ate at during a recent trip? The Scrapbook platform makes these questions easy to answer. It was designed from the start with searchability in mind. Sometimes, a simple text search suffices. Other times, a search might be scoped to a category, over a period of time or place.

  3. Natural language query. Natural language means asking something of a system in plain English. Once Scrapbook acquired this functionality, it's become our default way of searching. Natural language queries can be written or spoken. Here are some examples: "Show me my last trip in England", "What about in Greece?", or "What about in 2018?". Scrapbook maintains context between natural language queries.

  4. Create narratives. An alpha-user of Scrapbook said that Scrapbook wove a "red thread" through the entries she'd made about her grandfather connecting them in a way that told a story. We like that idea.
    • Items have written descriptions that are authored in markdown and rendered to HTML. But there's more. The Scrapbook platform has "edges" or relationships between items – the red threads.
    • Edges have a type and direction. Types are customizable. We use types like "is about", "is related to", "is from", "created by", and "experienced by". The direction of an edge can be from item A to item B, vice versa, or bidirectional.

      To illustrate, a trip can be related to the hotel where you stayed, the restaurant where you had lunch, a song you liked, the friends you traveled with, and the party two years before when you met.
    • In addition, we support hashtags as another level of connecting items.

  5. Privacy first. We initially built Scrapbook as a closed (non-public) platform initially. We have since added a few basic sharing options, but the thrust of Scrapbook is as your personalized collection – not a social media feed.

How big is it?

We try to live paperless, keeping only essential documents, our passports for example. Any piece of information which can be printed or viewed on demand we digitize. And not only paper, this applies to many kinds of objects – think trophy, perhaps a souvenir, objects which may have been special at one time, but later become a burden to keep around. We scan or take photos and enter the item into Scrapbook. The original object may be given away or recycled and we don't feel too bad about it at all. 

Let's talk first about our MyJournal collection, which is our main collection. The 10,000 items in MyJournal is small and large at the same time. It's small in terms of collections we are all familiar with such as Wikipedia or many popular music and film databases. On the other hand, a collection of 10,000 items is large on a personal level, being equivalent to 27 years of diary entries. The collection includes 90 GB of backing data: 44,000 documents, photos, audio, and video assets. Each asset is associated to a MyJournal item. Each of the 10,000 MyJournal items has text that describes it. To be precise, the text – contextual tags, fields, markdown, and relationships – ranges from a couple of hundred bytes to megabytes. 

Note:  If you were to consider MyJournal as a diary or perhaps a personal encyclopedia, the narrative word count alone stands at over 100,000 words. For comparison, Mark Twain's "The Adventures of Tom Sawyer" is about 71,000 words. So, "The Adventures of Scrapbook" is well on its way.

This collection of assets is large in the context of what a single person can reasonably manage and curate. Management/curation of assets encompasses integration with OneDrive and support for virtual assets, but there is a lot more to do.

Our music-themed collection "Lostvibe" contains about 9,000 items. It has about 125,000 backing assets (imagery) totaling 28 GB. The Lostvibe collection has categories including "album", "artist", and "playlist", which link to Spotify.

The graph below shows the growth of items in the two collections.

Graph of number of items managed in two Scrapbook collections.
Graph of number of items managed in two Scrapbook collections.

What's new?

Since our 2017 post and 2019 post, the following are new capabilities of the Scrapbook platform:

  • Moved to version 5 of the Scrapbook platform.
    • Scrapbook supports multiple collections. For example, we move between multiple collections during our normal workflow, two of which are the MyJournal and the Lostvibe collection discussed in this post.
    • Users can be authorized for one or more collections.
  • Reworked web experience so transition between desktop and mobile is more seamless.
    • Using the same presentation code for both has been challenging and at times, not optimal. We rely on Bootstrap to help us.
  • Experimented with more channels for consuming Scrapbook data, including Alexa, Teams, Skype and others.
  • Made relationships between items first-class objects.
    • An item is represented by an Azure Cosmos DB JSON record. Think of it as a structured blob of text with a unique ID. Relationships between items are similarly represented.
    • With edges now defined as records, our queries became easier as we can follow the "graph" between items. We can edit relationships without editing items. And, it positions us in the future to incorporate additional graph database capabilities.
  • Natural language query.
    • Natural language query means asking a question in plain words as you would another person.
    • The natural language query capability was forged in our work to implement a Scrapbook 'Skill' service to provide access to the platform through popular voice and messaging channels. The natural language query generation functionality was abstracted out and made into a web service, which we now use in the core Scrapbook web UX as well.
  • Geo location and mapping become first class presentation options.
    • Each Scrapbook item has a friendly location field and a geo-location field.
    • As with the natural language functionality, our initial steps toward location-based queries and mapping capabilities started in our work developing the Scrapbook skill bot channels. That code was then generalized into a web service, consumable from the Scrapbook web UX or bot channels.
    • When querying Scrapbook, we have the option of displaying results in "card", "image", "list", and now "map" views. 

Ten scenarios

In each of the following ten user scenarios, we'll be using natural language (NL) queries because that's what we use most of the time. However, there are still dropdown controls for customizing search parameters and filters if needed.

Scenario: music lover

You want to explore your music collection by artist origin (country), genre, album cover description, date, and performer. 

Example NL queries: 
  • Show artists from United Kingdom
  • Show items with Cocteau Twins
  • Show artists from America between 1960 and 1980
  • Show album covers with keyword baby
  • Show albums in genre chamber pop
  • Show albums by Jah Wobble
  • Show albums release in 2008
  • Show albums in the 1980s
  • Show albums in the 1980s with genre new wave
  • Show albums with track titled hallelujah

Music scenario: shows the result of starting with the query "Show map of artists".
Music scenario: shows the result of starting with the query "Show me a map of artists".

Music scenario: shows the result of starting with the query "Show albums with keyword hands".
Music scenario: shows the result of starting with the query "Show me albums with keyword hands".

Many of our music, especially visual, themed posts in this blog, are generate by search our Lostvibe music collection to help us organize content to create the post contents.

Scenario: fitness tracking

Quickly recall the details of past walks, hikes and other fitness events and get useful stats. Search by title, date, or location. Example NL queries:
  • Show me the last hike we did in 2020
  • Show me hikes we did in Italy in 2018
  • Show all hikes in 2007
  • Show me hikes within 50 km of Bergamo
  • Show me yoga last month 
  • Show runs with marathon

Fitness scenario: shows the results starting with the query "Show me hikes in south tyrol in 2020"
Fitness scenario: shows the results starting with the query "Show me hikes in south tyrol in 2020"

Scenario: correspondence cache

Digitize, save, and recall correspondence when you want, including physical letters, articles, clippings, and postcards, as well as already-digital versions of these. Correspondence and other easily digitized material is a great fit for Scrapbook. A category like "correspondence" can have types that can be customized for searching. For examples, correspondence of type "article", "invitation", or "postcard". 

Example NL queries:
  • Show me articles
  • Show me Christmas cards
  • Show me invitations
  • Show me correspondence from 2015

Correspondence scenario: shows results starting with the query "Show me postcards".
Correspondence scenario: shows results starting with the query "Show me postcards".

Scenario: get help

Shows the built-in NL help system.
Shows the built-in NL help system.

Scenario: food lover 

This scenario shows how we use a category "food" (with synonyms mapping to food) to track recipes and meals we want to remember. This serves as a recipe tracker and inspiration for future meals. 

Example NL queries:
  • Show me desserts
  • Show me food with pasta
  • Show me pasta with colatura
  • Show me waffles

Recipe - food scenario: shows result starting with query "Show me risotto with porcini".
Recipe - food scenario: shows result starting with query "Show me risotto with porcini".

See Orecchiette Pasta Dishes and Recipes for our Favorites: Radish Pesto and Tomato-Broccoli for another example of this scenario.

Scenario: book lover

The scenario is a virtual bookshelf, where you can easily find a book and its details. Books that mean something to you, read or not read. In MyJournal we have a category called "book" with their custom properties for author, publish date, genre, and other customizable fields like status (read, not read). 

Example NL queries:
  • Show me books read in 2015
  • Show me books about science 
  • Show me books by Dawkins

Book scenario: shows results starting with the query "Show me books by Barry"
Book scenario: shows results starting with the query "Show me books by Barry"

Book scenario: shows results starting with the query "Show me books read in 2012"
Book scenario: shows results starting with the query "Show me books read in 2012"

Scenario: contact organizer
This contact / people organizer is meant to link to relevant events and other people tracked in Scrapbook. Who was at an event? Tracking people this way, you get a sense of who really is important in your life. Who you spend time with. Scrapbook has support for standard uses of @ to refer to people. 

Example NL queries:
  • @NAME
  • Show me dinners with NAME
  • Show me travel with NAME
  • Show me relations to NAME
  • Show me people in 2017
  • Show me people in Milan
  • Show me the last lunch with NAME
  • Show me the earliest lunch with NAME
Contact - people scenario: shows results starting with the query "Show me people".
Contact - people scenario: shows results starting with the query "Show me people".

Scenario: wine enthusiast

In our collection MyJournal, we define a category "Drink" and have subcategories for wine, beer, etc. The category could just as easily be "Wine" or if the whole collection is about wine, maybe "White Wine". It's completely customizable. Tracking wines is not just for wine aficionados (oenophiles). There are stories behind each wine: where the wine came from, what the traditions are behind the wine, the type of grape used, and perhaps more importantly, who you enjoyed the wine with. 

Example NL queries:
  • Show me wines from Piemonte. Where were they?
  • Show me wines from South Tyrol.
  • Show me wines we had with @Roberto
  • Show me wines with Valdobbiadene

Wine scenario: show results starting with the query "Show wines from Piemonte".
Wine scenario: show results starting with the query "Show wines from Piemonte".

Scenario: travel

For the travel-inclined, a travel category in Scrapbook let's you explore where you have been - geographical areas, countries, regions, cities. It's also useful for travel planning, all the work that goes into planning a trip that you may or may not take. (There could be a separate category called "Travel Planning".)  Trips (entries under "Travel") can be connected (i.e., have edges) to cities, people, and events. This is one area where we share items for consumption outside of Scrapbook, especially trip planning when friends ask. Often, we give a trip a hashtag (e.g., #England2016Trip) so we can search by hashtag to group all items together.

Example NL queries:
  • Show me Milan in 2019
  • Show me Seattle in July 2009
  • Show me travel in England
  • Show me lodging in London
  • Show me restaurants in Bergamo
  • #England2016Trip

Travel scenario: show results starting with query "Show me stuff in Milan".
Travel scenario: show results starting with query "Show me stuff in Milan".

Scenario: museums and exhibitions

We are museum junkies. It bothers us to go to a exhibition or museum and walk out without remembering anything. Blank slate!  Scrapbook was developed around the concept of recording something learned from events experienced like going to a museum. After a couple dozen entries, this category starts to become interesting because while in a museum viewing a work of art, we'll ask ourselves if we've seen it before and we can ask Scrapbook. In this case, Scrapbook helps us appreciate what we are seeing.

For museums and exhibits, we include any rich data, brochures, and documents. You would be surprised how unreliable (after say a few years), museums are for tracking past exhibitions. 

Example NL queries:
  • Show me museums in Bergamo
  • Show me exhibitions in Vienna
  • Show me museums in Hartford Connecticut

Museum - exhibition scenario: show results starting with the query "Show me exhibitions".
Museum - exhibition scenario: show results starting with the query "Show me exhibits".

Saturday, May 29, 2021

The Beatles 'With the Beatles' - Album Cover Parodies

Sixteen parodies of the Beatles album cover  'With the Beatles''With the Beatles' - album cover.
Left: 16 parodies of "With/Meet the Beatles" album cover. Right: The original album cover.

In terms of album cover parodies, the Beatles are some of the most parodied. In this post we show 16 parodies of the Beatles' Meet the Beatles! (US) or With the Beatles (UK) release. The album spoofs include muppets, zombies, bluegrass pickers, and dogs barking the album's songs. This post if full of holiday gift ideas for the music lover that has it all!

Most of the album covers shown here pay tribute, parody, or otherwise contains covers of the compositions by the Beatles. Of particular mention of these album parodies is The Zombeatles' release whose album cover reads "The First Album by the Phenomenal Undead Pop Combo". How could you not laugh at "I Wanna Eat Your Hand", a cover of "I Want to Hold Your Hand", or "Dead Prudence" instead of "Dear Prudence"?

We sampled almost all of these parody albums. Some are pretty awful, and shall remain nameless. A few were pretty good. Besides the Zombeatles, we also liked Young Black Teenagers and Stone City Band.

Meet the Beatles! was the second studio album by the Beatles, released in the United States in January 1964. It was released previously in the UK in November 1963 as With the Beatles, with the same iconic photo of the quartet but colored differently.

First row:
Second row:

Third row:

Fourth row:

Clickable grid of parodies:

Thursday, May 20, 2021

Bergamo Wall Plant - Sedum palmeri

The flowers of Sedum palmeri with 5 petals and 5 sepals.Sedum palmeri in a windowsill flower box in Bergamo, Italy.
Left: The flowers of Sedum palmeri with 5 petals and 5 sepals.
Right: Sedum palmeri in a windowsill flower box in Bergamo, Italy.

Sedum palmeri is a plant adorning many windows around Bergamo and other Italian cities. While sometimes found growing on walls around Bergamo, S. palermi is not as common as its cousins Sedum album and Sedum dasyphyllum on walls, instead S. palermi is mostly seen gracing windowsills and planters suggesting intentional planting.

S. palmeri is in the family Crassulaceae native to mountains of Mexico. It forms rounded cushions about 30 cm high and 40 cm wide. Leaves are arranged in rosettes located at the tips of stems. The golden yellow flowers bloom in spring and are abundant and long lasting. In fact, walking around a city like Bergamo, you are likely to notice the bunches of yellow S. palmeri flowers dangling over your head.

This sedum is relatively easy to grow, which leads to its ubiquitous nature. S. palmeri leaves are light green. In winter, the leaves can be tinged with red depending on their exposure to cold. In fact, S. palmeri can support suprisingly low temperatures. According to WorldOfSucculents, it can withstand temperatures as low as 0 °F or -17.4 °C, with a lower hardiness zone of 7a. In short, there is little wonder why this tough plant is such a popular ornamental succulent. From Mexico to Bergamo flower boxes: Sedum palmeri has come a long way baby.

In Italian, it's called Borracina di Palmer, where borraccina is the general name for a related and similar looking (flower-wise) stonecrop (sedum), Sedum acre.

All photos of Sedum palmeri in this post were taken in our palazzo. Our sedum plant (shown in flower close ups) was started from plant bits found on the ground after a storm.

Sedum palmeri was first described by the American botanist Sereno Watson (1826 - 1892). The specific epithet "palmeri" honors the self-taught British botanist and an early American archaeologist Edward Palmer (1829 - 1911). Palmer collected specimens in the southwestern United States, Florida, Mexico (including Baja California), and South America. About 200 species and two genera (Palmerella and Malperia) of plants are named in his honor. The standard author abbreviation Palmer is applied to botanical taxa he described.

A list of our wall plants of Bergamo thus far:

  • [Crassulaceae] Sedum album and Sedum dasyphyllum (post) - White Stonecrop and Corsican Stonecrop
  • [Papavero] Fumaria officinalis (post) – Earth Smoke
  • [Brassicaceae] Aubrieta deltoidea - Purple Rock Cress and Iberis sempervirens - Evergreen Candytuft (post)
  • [Geraniaceae] Geranium robertianum (post) - Stinking Bob
  • [Asteraceae] Erigeron karvinskianus (post) - Mexican Fleabane
  • [Aspleniaceae] Asplenium ceterach (post) - Rustyback Fern
  • [Aspleniaceae] Asplenium ruta-muraria (post) - Wall Rue
  • [Aspleniaceae] Asplenium trichomanes (post) - Maidenhair spleenwort
  • [Urticaceae] Parietaria diffusa (post) – Pellitory
  • [Plantaginaceae] Cymbalaria muralis (post) - Pennywort

A typical planter of Sedum palmeri.Our Sedum palmeri plant, which usually sits outside this window.Sedum palmeri flower.
Left: A typical planter of Sedum palmeri.
Center: Our Sedum palmeri plant, which usually sits outside this window.
Right: Sedum palmeri flower.

Saturday, May 15, 2021

40 Doors of Bergamo - The Wonder and The Passage


40 Doors of Bergamo - Composite Image - Wonder and Passage

What is the 40 Doors Project of Bergamo?

This project showcases interesting doors of Bergamo, Italy. In a series of posts, we'll show 40 different doors per post. And, each post has a theme that connects to doors. This post is the fourth in the series and its themes are sabbatical and wonder. 

The Wonder and The Passage

Many of the doors we show in the 40 Doors series are called portone in Italian, an augmentative of porta, or "door". The word portone refers to a door that is usually of an impressive size and serves as the principal entrance into a building. Sometimes, a portone is the honorary entrance to a building, used by dignitaries. The diminuitive of portone is portoncino, a normal-sized front door, literally a "little big door" with the use of the diminutive ino.

We started visiting Italy in the late 1990s. We remember the feeling of awe during our first experiences in Italian cities, especially looking at the architecture in the historic borghi. We wondered what it would be like to live on a narrow cobblestone street, in a masonry and stone house with a portone. Our point of reference for comparison was the typical US suburban street, with a typical wooden house with a typical front door, a door that might be called understated and almost flimsy. Little did we know that decades later we would live on one such historic Italian street, in one such building, and with one such big door. (Our portone is featured somewhere in the series. It's number 5 and green.)

The arc of our lives from the US to Italy – taking our first sabbatical, getting Italian citizenship, taking our second sabbatical, and finally living in Italy – seems like, on one hand, no big deal. Yet, on the other hand we are amazed that we are here. Moving from the US to Italy has been a passage through a figurative and literal door. We wondered what was on the other side of the door and we went through. Growing up, the idea of living outside our country of birth was never a thought. As adults, we broached the subject slowly over the years, conversations that started with "I wonder if…". Like good engineers, we moved slowly, testing the water. In fact, we tested the idea of living in Italy with two sabbaticals. At some point it became clear that an Italian life was possible. The door opened, and we could see through it.

So maybe we pushed a little on the door to make it open all the way. That's needed sometimes.

Yet as we moved through the door from a life in the US to a life in Italy, we don't feel the door we passed through to be closed or in any sense a one-way passage. Many people ask us: "Where do you feel more at home?" We answer both countries. We haven't passed through the door never to return. Our concept of home is big enough to stretch across the two countries.

In our journey from the US to Italy, we've come to appreciate that need for wonder in our lives. When we are without wonder, we become small, mean, and diminished. As we get older, one of the jobs we take very seriously, besides staying healthy, is to keep our wonder alive. Wonder at the big and small things in life. To never stop asking the question: "I wonder what's behind that door?"