In previous blog posts, I've described the fresh new approach to digital albums that GreatAlbum enables, how to import Google Photos into GreatAlbum , and how the Media Cluster Recognition (MCR) engine can automatically recognize clusters of photos by date/time and organize them into new events. Now, let's bring them all together with a more complete guide on how to use GreatAlbum to organize your Google Photos in GreatAlbum and share them with the greatest of ease. 

1. Import Photos - Three Step Process

First, you have to import your photos into GreatAlbum. Let's assume you're like me, and you have about 20% of your organized in Albums and the rest have no album association.  This presents a challenge, because you want the albums you've curated to be represented as events in GreatAlbum, and then analyze all the other photos and auto-create events based on media clusters. So, right now, until this can become an ongoing process, there's a three-step approach to accomplish this. 

1a. Create a Private Working Album

Since your photos are likely to be shared in a range of different GreatAlbum Albums, and there will be some photos that you don't even want to share (or want to delete completely), I recommend you create a private working album, such as "My Private Album" or in my case "Erik's Private Album." You need to do this only once.

1b. Import Photos by Date Range

Import all your photos into your private album by specifying a date range that includes all your photos (e.g., 1-Jan-1990 to 4-July-2021). This could take a long time, so it will run in the back ground and notify you when it's completed.

1c. Import Photos by Album

Now, import all your Google Photo Albums into your private album. Before you click Import, be sure to select two options:

  1. Create a new event for each Google Album

  2. Mark photos as already analyzed by the media cluster recognition (MCR) engine (more on this later)

2. Organize photos based on Google Photo Albums

While this will import the photos in Google Photos albums twice, the second time the process will know NOT to import them again, but instead to update the existing media items in GreatAlbum (based on Google Media Item ID). When it does, it will associate the photos with newly created events in GreatAlbum, and it will mark the media items as already analyzed by the MCR engine, so that the MCR engine will not create new events for them based on media clusters, which would most likely duplicate the events based on the Google Photos Albums.

3. Organize remaining photos into events based on media clusters

Now in your Private Album, click the link to Create Events Based on Media Clusters. The MCR engine will now analyze all the photos that were not part of any of your Google Photos Albums. Where it finds media clusters, it will create new events and link the media in each cluster to their respective event. In the process, it will mark all the media items as analyzed, so that it doesn't accidentally analyze them again in the future (see how).

4. Review/refine events and related content/media

Now you will have a bunch of events in your private album.  Go through each event and make refinements, such as:

  1. Revise date, title and event type of a wanted event

  2. Merge events, if they actually go together

  3. Delete unwanted events

  4. Add Individuals and Places

  5. Add other media that should be associated with the event

  6. Remove media that isn't part of the event (move to another event, remove and leave in album without an event, or delete media as unwanted)

5. Move events to albums where they belong

Up to this point, all your work as been in a private album, so you didn't have to worry about sharing media or events that you wanted to keep private. Now, it's time to share your curated list of events with the groups of people that care most about them. As an example, let's say that there are five groups of people with whom you want to share the bulk of your events/media:

  1. Your Son's soccer team

  2. Your daughter's soccer team

  3. Families at your kids' school

  4. Your core family

  5. Broadly with all your family and friends

So, you would create or be part of an album for each one of those communities. As you are going through the events you've curated in your private album, you would use the option move each event (and related media, individuals, places) to the appropriate album.

Benefits of this approach

The benefits of this approach are:

  1. The people who get to access/enjoy the media and stories associated with these events has to be defined only once, not each time you want to share another event

  2. Album members get notified every time a new event is shared with them

  3. They also have easy ways to view/filter/search all events if they're looking for specific ones; this is especially useful after building up a collection of events over years

  4. If they, in turn, want to share an event with another circle of people, it's easy to share that event with another album (not move it)


As described in a fresh new approach to digital albums, events tend to serve as the main organizing construct for media, better than boring old albums. It's straight forward for users to create an event in an album and upload or import media to be part of that event. Many users are doing this already during our Private Beta.

Beyond that, GreatAlbum offers a unique and exciting feature, where it can auto-create events based on media that you import from remote sources (like iCloud and Google Photos) or upload directly to GreatAlbum.  Here are the basics of how this works...

  1. User imports media from remote source into an album in GreatAlbum (right now, only Google Photos is available)
  2. User then requests GreatAlbum to auto-create events based on media clusters
  3. GreatAlbum triggers its Media Cluster Recognition (MCR) engine as a background process, so that the User can continue using GreatAlbum while the media recognition process runs in the background
  4. The MCR engine counts the number of media items per date/hour
  5. If more than 5 media items were created in a date/hour period, then the MCR engine creates a new event in the given album and links the media from that hour with the new event (using Drupal Entity API); the engine also updates the media_analyzed flag on the media items, so they are not analyzed again in the future
  6. If there are any more media in the next hour, then those are also linked with the event from the previous hour and the media_analyzed flag is set on them too
  7. If there is an hour break where no media is found, and then more media is found in the next hour, then the MCR engine creates another event and links the media from that hour with the new event
  8. At the completion of each event, with all respective media associated, the MCR engine creates an activity in GreatAlbum, mentioning that X number of media have been associated with that event. The activity is associated with both the event and all the media, so it will show up in their respective activity streams
  9. Once this process is completed for all events, media & activities, the MCR engine sends an email notification to the user informing them that a total of Y media was analyzed and linked to Z new events that were automatically created

Pioneer App LogoIf you look closely at the example in the chart, you'll notice:

  • The first event is identified on 2021-03-27 in hours 01-06
  • Hours 08-09 are ignored, because of the gap in hour 07 and the media count in hours 08-09 is below the 5 threshold
  • The second event is identified on the 27th, from hours 10-12
  • The third event is identified on the 28th, in hours 01-04
  • The fourth event is identified on the 28th, in hours 06-07, because of the gaps in hours 05 and 08
  • And so on for the fifth and sixth events

This is a very basic approach for now. Eventually we want to include geo-tagging (location) as part of the medial cluster recognition, but Google does not allow any third party app to access location information for its photos, so we have to solve that limitation first. 

As we continue with our Private and then Public Betas, we will continue test the thresholds of how many photos in an hour should trigger a new event (cluster length), and how long of an hour gap can exist between photos and still be part of the same event. Right now, we use 0 hours as the gap. If we increase the hour gap to 1, then the media cluster engine would have auto-created only two events in the chart above - one for all media on the 27th and another for all media on the 28th - because the gap between photo groupings on each day was never more than an hour.