ADVERTISEMENT

Searching for Google Photos alternatives

Published May 10, 2021 08:35 am

June 1, 2021 is fast approaching. If you have not heard the news that Google Photos ends its free unlimited storage at the end of the month, then you have a little more than two (2) weeks to figure out what to do. Google will provide you with 15GB of cloud storage, shared with Google documents, photos and videos. AFAIK, photos/videos and documents uploaded this May 2021 will not count towards the 15GB cap, unless your photos are “original quality”, if so, then it eats up that 15GB cap. So starting June 2021, you need to be mindful of how you use that 15GB storage, unless you are willing to pay for additional storage.

Whilst 15GB of documents is plenty, and if I may say, more than enough for most, it is simply not enough for photos and videos, specially “original quality” photos. So I would say that you either pony up some cash and buy more storage, or simply look for alternatives.

Personally, I’d rather look for alternative solutions — something that I am sure will not be used to train some machine learning algorithm for object identification, including faces, among other things. First, consider whether you want to a similar cloud-based solution, or are you ok with having it stored locally?

Privacy-wise, storing your documents locally is the best way to preserve your privacy. A 2TB portable storage will set you back less than $100. Grab your favorite photo organizing software and that is basically all you need. I remember using ACDSee and Irfanview on Windows thirty-five years ago, but now I use the stock Photos app on the Mac. There is also DigiKam, which is open source software. There are network-based storage solutions from the likes of Seagate and Western Digital, that sometimes come with free or freemium software.

In addition to the Photos app that I use on the Mac, I use ResilioSync to automatically backup my photos from my iPhone to several different storage solutions, local and on the cloud. This way, I have multiple back-ups.

Speaking of the cloud, my preferred cloud-based photo storage alternative to Google Photos is Flickr.com. The US$60/year pro-subscription provides with you unlimited storage. Compare this with 200GB at US$2.99/mo or 2TB at US$9.99/mo on Google, and determine if Flickr.com is worth your US$60/year. Since I have deGoogled, Flickr is my choice.

There is, of course, Apple’s iCloud, which is similar to Google’s, minus the surveillance. Or you can choose one of the PixelFed.org hosts, or better yet, spin up your own server and deploy pixelfed, it is, after all, free and open source.

The TL;DR is — the era of free and unlimited is closing, and it is time for you to start paying. So what are you going to do? As they say, choose your poison. Good luck!

ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.