Improving Cross-App Sync between Google Photos & Android Gallery
As an avid Google fan, I let Google's products play an important part of my daily workflow. I own a Samsung mobile phone that runs on an Android operating system, designed by Google. I use Google Photos as a backup service for my photos that I shoot with my phone. I use Google Drive and Google's browser - Chrome.
This time, I would like to focus on the synch availability and function between Google Photos and Android’s Gallery app.
Android's Gallery App
Google Photos is a photo sharing and storage service developed by Google. It is used by many users, including myself, as a cloud service for photos shot through the camera of a mobile phone.
Android is a mobile operating system developed by Google and used on Samsung phones. By default, Android comes with a preinstalled, OEM app for viewing photos and videos called Gallery.
Since Google is such a mega-enterprise level company, I find it very important that its products integrate well with one another in a seamless and natural way.
Freedom to customize
I expect Google to provide users maximum freedom to customize the apps/APIs in order to create best fit experiences.
It is likely that users often use the same apps, however, it is more likely that they use the same apps in different ways.
Easy to use
From a complete beginner to an advanced developer, Google's products should be welcoming and easy to use by all users and from all APIs, no matter how well-versed they are with computers.
Google's current settings do not provide the freedom to choose what photos should be uploaded and synchronized with Google Photos. This problem manifest itself both in Google Photos as well as in the Android Gallery app.
Google Photos generates an automated backup of all the photos in Android Gallery app.
All the photos in Android's Gallery consist of mobile camera shots, mobile screenshots, downloaded images, photos received through social media such as Facebook, What's App, and such.
Here is a specific example that illustrates the problem:
A friend of mine is a true foodie that runs a kitchen of a famous restaurant. She enjoy sharing photos of many dishes with me throughout the day via What's App. While I enjoy the delicious looking shots as well as her enthusiasm, I wouldn't want these photos to end up in my Google Photos cloud service.
As a result, I often spend precious time going over my messy Google Photos cloud service in order to manually delete the unwanted files that have been automatically synchronized with my account.
In fact, there's no other way of saying this:
Because Google doesn’t let me customize my Gallery app, Google wastes my time, and if Google wastes my time, therefore, Google wastes my money.
I found that adding filtering options enables users to customize which apps to allow syncing with Google Photos. Also, in order to give users the most freedom so they can use their favorite APIs, I decided to add the solution on both ends so users can customize what apps should be synchronized by either Google Photos preferences or by Samsung Gallery preferences.
I analyzed both Google Photos and Android's settings then broke it down to steps the user would take in order to customize each API, keeping in mind that the addition to the settings need to feel natural, seamless to the user, and give the user the freedom to customize it as much as possible.
As a designer, I must keep in mind that Google has a very specific design language, Google Material Design, therefore, I must follow the same rules and restrictions when extending an existing service.
Guideline for the prototypes - You want Google Photos to avoid synchronizing photos coming from all the apps in your gallery. You wish only the camera shots and the screenshots to be synched with your Google Photos.
Users have the freedom to choose what content to synch
Keeps photos organized for the long run
Saves space in Google Photos
Familiarizes users with Google Photos as a paid service
Perform user testing with each one of the stated solutions
Understand users pain-points
Iterate if needed