paint-brush
Why I Decided to Create a Photo Organizer and What I Learned as a Resultby@dimanikulin
164 reads

Why I Decided to Create a Photo Organizer and What I Learned as a Result

by Dmytro NikulinMay 1st, 2023
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

The author describes their journey of creating a product line, which began with the idea of developing a single product, the FVA Tool Set, and ended with the creation of a set of high-level product documentation, a detailed understanding of the product from the user's perspective, and product requirements. The author mentions that they started with coding but later realized that it would have been better to start with Design Thinking, a process that consists of seven stages for creating a product. The author also established a set of documentation artifacts to maintain high-level product knowledge, such as Value Propositions, Business Model Canvas, Product Vision Board, and Competitive Analysis Matrix. Additionally, the author focused on the product from the user's perspective and created a Persona, a User Journey, and User Scenarios to demonstrate the product's value. Finally, the author identified stakeholders, created a table with their roles, concerns, and views, and designed a questionnaire to clarify user needs.
featured image - Why I Decided to Create a Photo Organizer and What I Learned as a Result
Dmytro Nikulin HackerNoon profile picture

As a child, I used to flip through a family photo album to see my relatives whom I had not seen in real life.


At that time we had film cameras only, so the number of photos was not so large.

Time has passed and currently, let's say, almost everyone owns a camera or a smartphone with a camera, or even both.


Given that, the size of my photo album increased significantly. However, I think it's not just for me.

An average family photo album

Once my friend and I decided to recall an event we both attended. We took my photo album and tried to search there.


At that time my album kept more than 30 thousand items inside. That search process looked like this

A search in photo album with 30 thousand photos


Of course, we didn't find anything. Therefore, I started looking for a solution to be able to search in Multimedia Data automatically. The solution I found was Multimedia IR systems.


I decided to use digiKam as Offline Multimedia IR systems and Synology Moments as Online Multimedia IR Systems.


Please note, that they were selected solely based on the author's criteria, and there is no aim to advertise to anyone.


Then I started using it...


What I discovered in a flash is that current Multimedia IR systems do not provide a flexible and automated functionality to import Multimedia Data into Multimedia IR systems.


But that wasn't the only problem.


I realized that I need __Multimedia Organizer__as well.

Unfortunately, I didn't find a Multimedia Organizer that could fully satisfy my needs (fixing problem metadata, working with digiKam and Synologyetc.)

That's why I started creating my product to cover my needs.


Honestly, I didn't expect that it would be so hard and in the meantime so interesting.

Design Thinking

The first product I was thinking about was "FVA Tool Set". Subsequently, another product came to my mind. As a result, a Product Line came about.


  • "Hold on, you started from thinking of products, right?", - you will ask me.
  • "Nope, I started from... It was ages ago and a whole history is quite big. Being a developer, I started from coding".
  • "Was it a good idea to start from coding?", - you will ask me.
  • "Again no. I would have started from Design Thinking if I was familiar with it."


Design Thinking is a process of preparation, which consists of seven stages of creating a product:

  • Empathize-who, goal, do Here you need to create an artifact called "Empathy Map" with a formula - who, goal, do;
  • Empathize-see, say, do, hear Here you need to create an artifact called "Empathy Map" with a formula - see, say, do, hear;
  • Empathize-think and feel Here you need to create an artifact called "Empathy Map" with a formula - think and feel;
  • Define: Problem Statement Here you need to describe a problem based on the "Empathy Map";
  • Ideate Here you need to have a list of raw ideas to explore. There are also other stages not mentioned here.

High-level product documentation

Once I came up with product ideas to implement, I realized that a set of documentation artifacts to keep high-level product knowledge had to be established.

Value Propositions

The first artifact to consider was Value Proposition. which has the following components:

  • Mapper for Products and Services to Customer Jobs;
  • Mapper for Gain creators to Gains;
  • Mapper for Pain relievers to Pains;
  • One Pager with Value Proposition.

One Pager

Business Model Canvas

The next artifact was Business Model Canvas. I downloaded a template here and filled in the following fields:

  • Key Partners to answer the questions: Who are the key partners? Who are the key suppliers?
  • Key Activities to answer the questions: What are the main tasks that the company must do well to deliver its value?
  • Key Resources to answer the questions: What are the most important physical, financial, intellectual or human recourses the company has?
  • Value Propositions to answer the questions: What value do we deliver to the customer? Which customer needs do we want to satisfy?
  • Customer Relationships to answer the questions: What type of relationship does each of the customer segments expect us to establish and maintain with them?
  • Channels to answer the questions: Which channels do our customer segments want to be reached through? How do we reach them now?
  • Customer Segments to answer the questions: Whom are we creating value for? Who are our most important customers?
  • Revenue Streams to answer the questions: What value are our customers willing to pay for? What do they currently pay for? How do they pay? How would they prefer to pay?
  • Cost Structure to answer the questions: Where do the costs come from?

Product Vision Board

The third artifact was Product Vision Board. I downloaded a template here and filled in the following fields:

  • VISION to answer the questions: What is your purpose for creating the product? Which positive change should it bring about?
  • TARGET GROUP to answer the questions: Which market or market segment does the product address? Who are the target customers and users?
  • NEEDS to answer the questions: What problem does the product solve? Which benefit does it provide?
  • PRODUCT to answer the questions: What kind of product is it? What makes it stand out? Is it feasible to develop the product?
  • BUSINESS GOALS to answer the questions: How is the product going to benefit the company? What are business goals?

Competitive Analysis Matrix

The last artifact in High-level product documentation was the Competitive Analysis Matrix I filled in the following rows for several products:

  • Vision with Goal and Target segment;
  • Marketing with Pricing and Unique value proposition;
  • End-user support with Trainings, User guide and Help desk;
  • Features.

Product from a user perspective

As soon as high-level product documentation was ready, I decided to go deeper with more detail from the user's point of view.

Persona

The first artifact I created was Persona I downloaded a template here and filled in the following fields:


  • PICTURE & NAME to answer the questions: What does the persona look like? What is his/her name? I chose a realistic and plausible picture and name.
  • DETAILS to answer the questions: What are the persona’s relevant characteristics and behaviors? I wrote in demographics, such as age, gender, occupation, and income; psychographics, including lifestyle, social class, and personality; and behavioral attributes like usage patterns, attitudes and brand loyalty.
  • GOAL to answer the questions: What problem does the persona want to solve or which benefit does the character seek? Why would a persona want to use or buy the product?

Persona

User Journey and User Scenarios

Then I tried to restore the user's way to achieving the goals. And I came up with User Journey.

To show the value of the product, I created three user scenarios and posted them on YouTube. Please see the reference to watch them.

Stakeholders

Honestly, a bit later I realized that end users are not the only target audience for this product. And next artifact - Stakeholders - came into sight. It looks like a table with the following columns: GroupStakeholder RoleConcerns, and View. Table rows contain as follows: End usersSuppliers and Team members.

Product requirements

Having defined everything from the user's point of view, I started thinking about what exactly the product will implement.

Questionnaire

Having no clue what is important for the user and what is not, I created a questionnaire to clarify user needs. It is a form to gather information on what capabilitiesfunctions and scenarios are important.

Questioner

Capabilities

Having gained an understanding of user needs, I started describing Capabilities. Literally, Capabilities describe key requirements.

Features

Having the capability list defined, I started preparing features. They represent significant, central functionality of the final system. I put them into the table with the following columns: NameClarification, and Business Value. The feature set helped me to create a project plan and a road map.

Functional Requirements

Last but not least step in defining product behavior was a list of Functional Requirements, that define system detail behavior. I settled them into the table with the following columns: NameArchitecture complexityBusiness ValueComponentPhase, and Feature ID.

Product development documents

Product Road Map

I believe Product Road Map is the most important document for a product at the development stage. I downloaded a template here and filled in the following fields and rows:

  • DATE with Release date or timeframe;
  • NAME with the Name of the new release;
  • GOAL with The benefit a product should provide;
  • FEATURES with High-level features necessary to meet the goal;
  • METRICS with Metrics to determine if the goal has been met. Columns there are the product's different versions.


On the top of that, it is quite convenient to keep an online roadmap.