Vacation As a Product Manager

Recently, I went on a 5-day vacation. It was terrific, but not because we did once-in-a-lifetime experiences. It was terrific specifically because we did “regular” vacation things.

I planned this vacation as I do most planning as a Product Manager – I started with the requirements.

Requirements

I started with coarse basics – what’s the goal of the vacation? To get away with my kids and have fun together. So I came up with a list of requirements, product management style – that is, no solutions:

  1. No flights. That’s a COVID risk I’m not willing to take yet, for a vacation. When I planned this trip a few months ago, we did not know when vaccines would be ready; as it is, by the time the vacation began, my 3-year-old had gotten one shot but was not fully vaccinated yet. Buses and trains are OK, as is driving, but nothing more than six hours or so of travel.
  2. Get away. Not a “staycation.” If we saw local sights, we should at least be in a hotel so I could be present with my kids and not worry about doing house chores.
  3. Accommodate my 3-year-old napping in the afternoons (approx 1-3 pm) and general flexibility. My 6-year-old has anxiety, and sometimes we simply have to leave. A timed experience with no re-entry means I have to be willing to go and lose the entry fee if the situation calls for it.
  4. Something engaging for my kids that they will love. They’re 6 and 3 years old, and I don’t want to spend the whole vacation trying to convince them to do something fun or listen to them complain.
  5. Focus on being active, preferably outdoors. Since it’s summer where we live, that wasn’t too difficult.
  6. Accommodations: Hotel or rental house, strong preference for a pool in the hotel, at least one bedroom that’s separated by a door so the kids can go to sleep and I can stay up without bothering them.

High-Level Solution

Once I had the requirements, I could engineer possible solutions. Requirement #1 helped narrow down what we could do. Living in Boston, we could go to the Berkshires (mountain range three hours away), New York City (four hours away), the beach, arbitrary city (Lowell MA, Mystic CT, Hartford CT, etc.), Mount Washington, amusement parks (Six Flags and Story Land)…there’s a lot of options.

However, since it is all within driving distance due to requirement #1, it was by nature something repeatable. It wasn’t a trip to Paris where I would regret not seeing the Eiffel Tower. If we didn’t see something, we could go back some other time.

I wanted to focus on an activity that was best or only possible in summer, which ruled out a lot – for example, New York City has tons to do, but summer’s heat makes everything, well, stinkier.

Accommodations were a big part of the decision – I ruled out tent camping, it’s a lot of work, and I wanted to have a vacation too. I settled on Cape Cod, basically the beach, with the second choice of Story Land because in a few years, my kids will be too old for it.

I looked for hotels or rental properties on Cape Cod, within walking distance of a beach, for the easy back-and-forth. And something that had a pool – my kids LOVE swimming and jumping into a pool. If I couldn’t find something that met our accommodation requirements on Cape Cod, we could try Story Land. I was lucky and found a beach place and booked it.

A hotel pool with blue shimmering water, and a rope with oval plastic buoys separating the deep end from the shallow end. The shallow end is in the foreground, marked as 3 FT. A three-year-old in a yellow and blue life jacket, and purple long sleeve bathing suit, is in the pool and holding on to a handrail by the pool stairs. A 6-year-old is across the pool horizontally, still in the shallow end, slipping headfirst from an inner tube decorated like a watermelon. The 6-year-old is wearing red and blue swim trunks and goggles.
Having fun in the hotel pool

My partner isn’t an outdoorsy guy, so I told him he didn’t have to come, and called my sister and invited her to go with us. This way, I’d have help wrangling the kids so I could relax on vacation too.

Things began to get complicated – my sister decided to sell her house and move while the market was hot, as her youngest is going off to college this fall. The move was nine days before the vacation, so we kept the vacation planning to a minimum until after she moved.

Tools of the Trade

Usually, we use Google Sheets to plan vacations – one sheet for ideas, one sheet with a column for each day once we figure out activities, and one sheet for figuring out who paid for what and making it fair at the end. Google Sheets isn’t lightweight on mobile devices, so I asked around and decided on a Trello board.

We liked that URLs were clickable, and things were easy to move around – we brainstormed ideas in one swimlane, then had one swimlane per day and moved around activities as we saw fit.

A trello board with several swimlanes, many activities in the 'Ideas' swimlane that did not get moved to a swimlane for any day
Our Trello Board, click to expand the image

Vacation: The MLP Version

An inflatable park sounded really co0l, but did I want to spend $100 for all of us to go for just a few hours (nap time interrupts things) and risk leaving after only an hour or so if my kids weren’t having a good time?

My 6-year-old LOVES trains, but there’s not much to do ON a train – did I really want to spend $90 for an hour on a train when my kids might get bored in the first 5 minutes?

I spent about 2 hours researching ideas. In the end, we didn’t do most of them, we spent most of our time in the pool, at the beach, and playing games together – my 6-year-old’s current favorite is Mille Bournes.

Playing in the sand at the beach.
We dug a river in the sand at the beach
An adult and child playing a card game on a coffee table in a hotel room. The child is kneeling and looking at a card holder with 6 cards in it. The adult is pointing to cards on the table in front of her, while a 3-year-old sits on her lap. The 3-year-old is holding a pink doll.
Playing Mille Bournes with my sister

Thursday, we arrived too late to see the Japanese paper theater. Sunday, it did not rain, but my 6-year-old developed swimmer’s ear, so my sister took my 3-year-old to the beach near our hotel while I took my 6-year-old to Urgent Care. We then met them at the beach. Unfortunately, we couldn’t go to Gina’s beach, but that also meant less driving around. Monday, we packed and left since checkout was 10 am; we found a local playground and then had lunch. We avoided the pool to avoid more swimmer’s ear.

MLP stands for “Minimum Lovable Product.” In the MLP that was this vacation, M stands for “minimal” – my kids are super happy swimming or playing in the sand, so that’s what we did. For food, we had free breakfast in the hotel, went to a supermarket a few times for lunch supplies and snacks, had dinner al fresco at a restaurant, or got food delivered to our hotel room.

We did make it to story time at the library on Friday morning, and we did one excursion – to the Heritage Museums and Gardens. We found the maze, looked at a Wampanoag wetu, saw art sculptures made from trash, spent time in a lily garden with a waterfall, and played in the Hidden Hollow and Treehouse. We were hot and tired after a few hours so we stopped by the indoor, air-conditioned automobile exhibit on our way back to the car. We left lots unexplored, including the labyrinth and carousel – which we can do next time.

A 6-year-old kid with short brown hair in a salmon-colored tie-die shirt and black shorts operates a water pump. The water coming out of the pump is coming near a small galvanized metal bucket being held by a 3-year-old kid with long curly dark brown hair wearing a purple tie-dyed dress. Both kids are barefoot. They are standing on rocks and slate in a shallow water feature, with rocks and greenery in the background.
Playing in the Hidden Hollow
A 6-year-old with short brown hair in a tie-dye shirt, black shorts with a green stripe, and socks and slip-on shoes points to a 1950's dark blue Ford. A 3-year-old with long black curly hair in a purple tie-die dress with a unicorn on it and tan crocs looks at the 6-year-old.
“Look, Mom, it’s Doc Hudson from Cars!”

Unexpected Extras

As minimal as it was, there were some unexpected extras that happened, mostly good ones:

  1. I thought I booked a 2-room hotel suite. As it turned out, it was a 2-bedroom hotel suite, complete with a separate living room, full kitchen, and full bathroom. I decided to invite my mother along, as she also needed a vacation, and we had the room. She carpooled with my sister and really enjoyed relaxing and doing nothing.
  2. It was handy to have other adults around, so I could take one kid to urgent care when I had to.
    A selfie with a 6-year-old with short brown hair, blue shirt, and red cloth face mask on the left. On the right is the author, a person with brown hair tied back, sunglasses perched atop her head, white N95 mask covering her chin and nose, in a dark blue shirt with a geometric diamond pattern in orange.
  3. My mother and sister took my kids to the beach one morning and let me sleep in. I got an extra TWO hours of sleep!
  4. My mother and sister babysat the kids Saturday evening while I had lunch with a friend who has a family house on the Cape.
  5. My kids wanted to sleep with me, and I learned that my 6-year-old tosses and turns ALL NIGHT. A sleep chart showing 8 hours and 3 minutes of sleep from 11:30 pm Friday to 7:33 am Saturday, with 10 'Awake' periods interrupting sleep every few hours
  6. My partner invited a friend over and had a great weekend without family responsibilities. Win/win!
  7. I brought my computer “just in case.” I did not open it once. I did no work. Some of that was luck, and some of that was my awesome coworkers covering for me.

After the trip was over, I carved two small stamps to commemorate the occasion. Like the vacation, they were simple, easy, and filled me with happiness:

Two VersaFine Clair inkpads, in pink and purple, dominate the top half of the image. They rest on a small spiral notebook with unruled pages. On the lower half of the notebook page are 2 hand-carved, blue stamps depicting a beach shovel and bucket. In the lower right quadrant of the page the stamps have been impressed on the page, showing a pink shovel laying horizontally just to the left of a purple bucket.
I carved minimal stamps to commemorate my minimal vacation.

Conclusion

So, what’s the tl;dr on how to I had a good vacation? I set core requirements and met them – minimally.

The One Where I Scream Into the Cloud

Did you know DBAs could have personalities?

Which is more exhausting – being oncall, or having a newborn?

What does a Product Manager of Technical Lineage for ETL Tools do?

How many times do I say “right?” in 36 minutes?*

For all this and more, listen to my interview on the latest Screaming in the Cloud podcast, or read the transcript at https://www.lastweekinaws.com/podcast/screaming-in-the-cloud/technical-lineage-and-careers-in-tech-with-sheeri-cabral/ or wherever you get your podcasts.

* the answer is 32

What Does Transparency Mean?

One of the things I love about making art is that it often inspires me to make connections I had not made before. I’m currently working my way through Julie Balzer‘s A Year of Gelatin Printing class, and there’s a month called “Layer Layer Layer” that includes a lesson on transparency.

The first technique was simple, as the outcome was not meant to be the artwork. In order to assess whether or not a particular tube of paint was transparent, the lesson was to grab a book page* and apply paint to it, to see whether or not the paint is opaque, semi-transparent, or transparent.

It is not a particularly challenging lesson, which gave me time to think about when I might want different levels of transparency, what kinds of layering I might do.

a book page. The middle has no paint, the top has a layer of transparent orange, the bottom has a layer of semi-transparent red.
Transparent at the top, semi-transparent at the bottom

Suddenly my brain leapt to a realization – transparency in a business context is often stated as a binary. I’m a huge fan of smashing binaries to get the rich matrix that lies beneath, and this was no different.

Transparency can mean:

  • Decisions, and reasons for making those decisions, are talked about openly.
  • Being open and honest about bad news, a project going off track, or a timeline change, instead of covering these up.
  • Recognizing those who supported your effort, helped with research, or lent their eyes and opinions to make your work better.
  • Sharing your roadmap publicly, and sharing any changes publicly
  • Agreeing with a coworker or customer who has complaints about your product
  • Being forthcoming about product or team limitations

Of course, transparency can be taken too far. There are plenty of reasons for privacy – discussions with HR (including hiring, retention and losing employees), not telling employees about a big change (e.g. merger) until you know it’s going to happen so uncertainly doesn’t spread, and of course personal details such as government ID numbers, bank information for direct deposits, and authentication credentials.

Transparency is not simply a matter of making information available, though. Good transparency is not just a permissive shared folder or wiki; good transparency ensures that people are well-informed.

For example: let’s say the 50-page employee handbook changes. Transparency is on a spectrum, with one end being an oversimplified notification:

Please note, the employee handbook has changed for US employees.

This is the equivalent of making everything public and letting people sort out for themselves not only which information is significant, but what, if any, changes there have been to call awareness to. It’s not particularly useful for transparency – it’s opaque, like the top section of black paint on this book page:

a book page, with an opaque thick black strip at the top, the middle has no paint, and the bottom is semi-transparent through brown paint
Opaque at the top, semi-transparent at the bottom

Semi-transparency, such as the brown paint at the bottom of the page in the image above, might be to explain what has changed:

Please note, the employee handbook for US employees has been changed to reflect the following policy changes:

– “Hairstyle” and “hair texture” are now explicitly named as protected categories under discrimination, harrassment, and equal opportunity employment.

– There is a new section explaining the ban on firearms at the workplace.

Also known as, “Please don’t make me read 50 pages to figure out what changed!”

I pointed out that this might be semi-transparent, as it depends on how it’s done, and if it accurately portrays important changes and downplays unimportant changes. Of course, what is important can be different for different departments, teams and people at an organization, so this can be a bit trickly.

Similarly, full transparency is highlighting what changed – this method calls out exactly what changed, like a version history or file diff. If there are very few changes, this can illuminate what changed better than a description of the changes. However, if there are a lot of changes, a summary might be better.

What would the most useful form of transparency be? Well, it depends on the recipient as well. I would prefer a mixture of the three, if there are a lot of changes; if there are a few significant changes, highlighting would suffice; and if there are many repetitive changes, an announcement is fine – e.g. “all instances of dog have been changed to pet”.

I’m sure we all have stories of how too much transparency caused issues – not being able to find a document or conversation because all docs and conversations are public.

* I have an old copy of Head First HTML 5 Programming I use for painting on book pages

What Does Frictionless Onboarding Look Like?

Earlier this week I had a nearly frictionless onboarding experience, and I want to memorialize it in something easier to find than a tweet. Here’s how my user scenario played out.

I finished writing my presentation and wanted to put it online. Usually I copy it to a folder and link it to the presentations section of my CV and call it a day.

I’ve always wanted to embed slide decks in a post or on a webpage, so that people can see the slides and get what they need. Sometimes that information is the content on the slides, and sometimes that information is “is this the presentation I want to download”? I myself have downloaded a presentation, only to find out that it wasn’t what I expected. When the slides are online, I can skim them to verify if I should download it to go deeper.

So, I decided to see if there was an easy way for me to embed a PDF on a webpage. Here’s what I did:

  1. Do a web search for “embed PDF in website”
  2. Read some articles, learn that Adobe has something called the “PDF Embed API”
  3. Land on https://developer.adobe.com/document-services/apis/pdf-embed/
  4. Noted that it’s free and there’s a demo – click “Try the demo”
  5. Play around with the demo until I see a mode I like
  6. Click “Generate Code” and see fewer than a dozen lines of code, with easy ways to copy the code or get my own credentials.11 lines of HTML/javascript code to embed a PDF in a website
  7. I click “Get Credentials” and login to a new browser tab with my existing Adobe account. If I didn’t have one, I could create a free one right away.
  8. I am presented with a choice of which service to get credentials for – something that has more functionality and costs money, or the simple embedding service that’s free. I click the free one! 2 choices of credentials to get
  9. I only have to enter in 2 pieces of information – the domain name that will call the embedding API using this credential, and a descriptive name that I’ll use in the developer console if I need to distinguish between multiple credentials.A form with 2 fields to fill out, plus a checkbox to agree to the terms of service, and a button to submit the form. Additionally I can go straight to the console to manage existing credentials.
  10. I clicked “Create credentials” and got my credentials!
  11. I went back to the demo page – it was still there because “Get Credentials” opened up in a new browser tab. I clicked “Copy code”.
  12. I created a post in my blogging software and pasted in the example code.
  13. I read the example code to see if I could figure out what to change. I guessed that I had to enter my credentials in <YOUR CLIENT ID>, and change the url and file name of the PDF.
  14. I got extremely excited that it had only been about 10 minutes since I started step 1, and clicked the “preview” button to see if the PDF would render as a nicely embedded document.
  15. I ran into an issue where I own 3 domains – sheeri.com, sheeri.net and sheeri.org, and I used a different domain for the credentials than I’d used for the URL of the PDF. I fixed it, and shortly I had success and saw my slides beautifully embedded:

I personally was up and running in 30 minutes. HOWEVER – most users will not have the issue that I did due to my own non-standard setup, and be up and running in 10 minutes.

Self serve, 10 minutes to be up and running, without reading a single word of documentation. It’s the dream!

On Twitter, Ben asked me:

How does this compare to PDF.js (https://mozilla.github.io/pdf.js/)? Instinctively I’d suggest that replacing a proprietary external dependency with an open-source self-hosted dependency is a win, but I’ve never tried using Adobe’s PDF Embed API.

Ben Howe

I loved this question, especially his explanation of why he’d start with PDF.js. My replies were:

Adobe’s solution is very low code. I pasted a dozen lines of code, changed three parts, and it just works (filename, path, my api key). PDF.js starts by explaining the concept of promises to me….I don’t need a primer on that, I just need to display the thing.

Do you think you could go from finding the web page to having it working in 10 minutes? That’s the big difference I see. As the thread touted, it just worked. I’ve spent more time on this Twitter thread than I did getting it working.

I get that open-source self-hosted is best – but – I don’t want to compile something. PDF is a proprietary format INVENTED by Adobe. I feel Adobe has more resources and incentive to support PDF displaying than Mozilla (smart devs but not a ton of $, I worked there for 5 years).

Sheeri

So there you have it – a beautiful user experience, with the confidence that it will probably work for at least another 20 years given what Adobe has invested in the PDF format.

Artistic Wandering and Product Management

So much of what we hear, see, and make is shaped by always changing, multi-layered sets of ideas and ideals. Art helps me level up so many skills; among them, the ability to follow a wandering path, make connections, and build understanding.

I got back to playing with paints on a gelatin plate and made some art I like. My definition of art is extremely vague: “something created with intention and/or meaning.” Here’s an example:

paper on print rectangle art Abstract

This piece’s intention is technique-based – I was following a lesson to use a paintbrush to paint on the plate, then apply a printing technique.

I painted, then put netting between the paint and the paper.

In this way, I intentionally made a print that was different from painting directly on the paper.

What does this have to do with product management? I find that being creative and letting my mind wander helps me understand my thoughts, opens up my mind, and creates new neural pathways. Increasing my ability to understand thoughts and patterns is directly related to leveling up my Product Management skills.

It also feels good, scientifically.

Another PM superpower is listening. One way to develop listening skills is to listen to myself. What does my own inner monologue reveal about the connections I make? What do I do when something isn’t going as planned? Am I deeply invested in the direction I want the art to go in – why or why not? Am I satisfied if my art turns out different than I intended?

My starting limits were the size of the gelatin plate – 5″x7″ (approx 13 x 18cm) – and the paints I used. I was using a new set of paints that had 6 colors: yellow, red, magenta, blue, green and white. I decided to only use newsprint to print on – I have other materials but it had been months since I painted, so I wanted to keep it simple.

Here’s what I created, and my inner monologue. See how my thoughts translated into the artwork:

blue, red, yellow and green all interplay in this abstract art print

It’s Pride month, I’ll start with bi pride colors, blue on top.

White for the middle of the plate, magenta on the bottom, then I’ll combine them for purple in the middle.

Before I combine, this blue/white/magenta reminds me of the French flag. France . . . cheese! I’ll paint yellow triangles.

I used most of the colors but not green…the moon is made of green cheese…so some circles in green. And swirls.

OK, now do something with it that gives it a reason to be a print. Let’s run this car with textured tires over the plate. And now let’s apply this bubble wrap. OK, now to put the paper on and print it.

My intention – a bi pride flag – completely changed after I painted a little, and my brain made the connection to the French flag. The end result is something I happen to like to look at. Do I look at it and think of a French cheese, like Camembert? No.

This is practice – going through the process of creating one piece of art. It’s practice following the threads to the initial idea, to the final outcome. It builds up discovery skills. It helps see patterns and make connections – helpful when listening to understand customers, stakeholders and employees. It’s also helpful when creating or updating strategies, tactics and other plans.

So much of what we hear, see, and make is shaped by always changing, multi-layered sets of ideas and ideals. Art helps me level up so many skills; among them, the ability to follow a wandering path, make connections, and build understanding.