Normal view

There are new articles available, click to refresh the page.
Before yesterdayEnte

5 years of Ente

1 February 2025 at 07:00

February 1st 2020 was when I wrote the first line of code that grew into Ente.

The day before was my last day at Google and in Switzerland. I was in such a rush that we shipped our belongings, badged out of office, and flew out the very same day.

The months I spent at Google suffocated me to the point where all I wanted to do was escape their opulence. I remember how I could breathe better when I checked in at the airport.

Shanthy (my partner), on the other hand, was not as relieved. She had grown really fond of the place and the people. I was fond of these bits as well, but unlike her, I also had to deal with the golden handcuffs Google was choking me with.

Escaping and building something for myself was a selfish move to ensure sanity. This was a project I had been wanting to build for a few months – one Google's lawyers pointed out was in direct competition. The trouble was, there's no game under the sun that Google is not playing, so it is difficult to write code in your spare time that does not compete.

Anyway, I felt free that night, giddy with joy. Endless opportunities lay before me, and I had no restraints. Or clear plans, for that matter.

All I knew was, I wanted to store my photos with some privacy, and that I had to build something from ground up to make it happen.

I had seen more folks on the internet suffering from the same problem. I thought that whatever I built for myself could be offered to them as well, and that I could make a living out of it.

A few weeks later, I landed at my home in Kerala. Much to the disappointment of my parents, whose quintessential middle-class dreams I had broken. "Our son is jobless, up all night fiddling on things we don't understand" was a significant downgrade to "he is in Switzerland, working for Google".

5 years later, I don't think they feel much better. But they seem to have started appreciating my commitment to what they believe is madness.

The nice thing about the world is, with time, you are surrounded by more who share your delusions. I must admit that it has taken a lot more time than I had anticipated to find a tribe, but patience and persistence are virtues.

I had consumed an unhealthy amount of content about those who ventured with capital to conjure unicorns. I was told there were frameworks, following which would guarantee similar outcomes.

The difference was there was no one venturing with capital into the vision that I had. The vision of building a company that would protect our memories for multiple life times. Typical fund cycles are far shorter than a single life time. Capital is impatient.

Undeterred, I continued. For I had started on this journey to solve my problems, not to raise capital.

Not virtue signalling here. My inability to craft a narrative that would bait investors did cause pain. Primarily to Neeraj - whose brilliance Ente runs on. He had joined the cause assuming that given my delusion I'd solve for capital along the way, but instead, we had to cut down on lifestyles Big Tech had gotten our families used to.

Ente is now growing to a point where sacrifices are starting to pay off, but we'll for the rest of our lives be indebted to his family for their trust and his persistence.

Persistence is everything.

It is funny how similar building a company is to raising a kid. The joys, the pangs, the level of patience and the unconditional love it needs. Had I not become a dad during this journey, I might not have seen things in the same light. The end result is not as cute, but it is alive and formidable in its own way.

My daughter turned 3 yesterday, and Ente 5 today. Celebrating their birthdays next to each other every year helps put timelines into perspective. It's interesting to see how they've grown and have begun to thrive on their own.

There are now 12 of us working on Ente full time. Many more contribute with their kindness in their spare time. I'm baffled by the quality of minds I'm blessed to share head space with.

Ducky plushie – Varkala, India
Ducky plushie we just won at a fair!

I've been on vacation this week - my first break since 2020 - in which I've disconnected from work for multiple days at a stretch. It's comforting to know how well the show can go on without me. My role has evolved over the years - it is now to support rather than direct. With every year that passes, I become more redundant.

This break has also helped me understand that I want to get back to work not because I have to, but because I want to.

Ente is very exciting.

In terms of technology, we are on the frontier, playing with large scale systems, cryptography, machine learning and more. In terms of product, we are playing with pixels to spark joy. In terms of company, we're playing to beat conventions – building accessible consumer FOSS outside of the tech bubble.

Ente is a unicorn – in the original spirit of the word, and I'm grateful to have a front-row seat to watch it soar.

Here's to everyone on the inside and outside that makes Ente, Ente.

Happy birthday!

Exporting Google Photos with Takeout

9 November 2024 at 07:00

Google Photos is an incredibly successful product with over 100M+ paying customers storing a lifetime of memories. However, there are many possible circumstances in which you want to takeout your memories from Google Photos. Unfortunately, the tool that Google offers to do this is not the best and most reliable (we ranted about this some time back), as one can see from all the Reddit posts complaining about Google Takeout

Users complaining about
Google Takeout on the official Google Photos Subreddit

This document, therefore, is intended to be a guidebook to help you export your memories from Google Photos for different use cases like

  • Migrating your memories to Apple iCloud
  • Keeping a backup copy of your memories
  • Exporting all your memories to a different service

Lets get started

What is Google Takeout?

Google Takeout is Google’s data portability project which allows users of most of their services (including Google Photos, Chrome, Maps, Drive, etc.) to export their data. We had written about their history here in case you are interested. There are two ways that Google Takeout works

  • Download the data in multiple zips of max 50GB and then use it how you want
  • Transfer directly to a selected set of services - Apple iCloud, Flickr, SmugMug, and OneDrive

For most of the use cases, we will have to go through the zip route.

Migrating from Google Photos to Apple iCloud

This is a fairly easy and straight forward process where you don’t have to do a lot except set it up, and wait for your photos to be transferred to the Apple ecosystem. Lets go through the exact steps

First step
of transferring from Google Photos to Apple Photos
  • Next, make sure you’re signed into the right Google account that you’re using for Google Photos. You can verify and switch account, if needed by clicking on the top right most icon in the above screen
  • Before clicking on Continue, also verify the albums you want to move to Apple iCloud. By default “All photo albums included” is selected. You can click on that and select particular albums as well. Photos that are not in any album on Google Photos are usually albumised by year, like “Photos from 2023”, etc.
  • Click on Continue. Before you go on to select which service to transfer your memories to, Google will ask you to verify your account.
Second step
of transferring from Google Photos to Apple Photos
  • This step is about setting up the service you want to transfer your memories to. The options available are iCloud Photos, Flickr, OneDrive and SmugMug. The exact same steps should work for all the service, but for this article, we will restrict ourselves to Apple iCloud
  • Select Apple iCloud in the “Move to:” dropdown. And then click on Continue
  • This will trigger a sign in flow for Apple iCloud. Please complete the same, after which you will come back to the Google Takeout page.
Third step
of transferring from Google Photos to Apple Photos
  • Before moving forwards, do make sure you have enough storage capacity on your iCloud account, so that you don’t run into any issues while transferring
  • You can now click on “Agree and continue”. This will start the export process, and you will receive e-mails from both Google and Apple notifying you of this transfer
Fourth step
of transferring from Google Photos to Apple Photos
  • The export process can take a few hours or even more than a day, depending on the size of your collection. However, you dont have to do anything else. Both Google and Apple with e-mail you once the process is completed. After which you can see the photos in your Apple iCloud
  • Note that your memories will continue to exist on Google Photos, and new photos taken from your devices will continue to be uploaded to Google Photos. You will have to actively delete your data and/or stop upload to Google Photos to solve this.
  • Some issues we found while doing this on our personal accounts
    • For Live Photos, Google just transfers the image file to Apple, and not the video file, making Apple treat it like a regular photo instead of a Live photo
    • If you have some photos that are both in your Apple Photos and Google Photos account, it would lead to deduplication. You can use “Duplicates” in the Utilities section of the iOS app, to detect and merge them. However, it does a less than perfect job, so a lot of duplicates would have to be manually deleted.
    • A bunch of files which were not supported by iCloud Photos (few raw images, AVI, MPEG2 videos, etc.) were moved to iCloud Drive. So your data isnt lost, but some part of the Google Photos library wouldn’t be available on iCloud photos

Keeping a backup copy of your memories from Google Photos

There are many ways to do this. The path we are focussing on here is for those who use Google Photos as their primary cloud storage, and want to keep a copy of all their photos somewhere else like a hard disk or another cloud storage.

First step of
exporting Zips from Google Photos via Takeout
  • By default, a large number of services are selected for export. Click on “Deselect all”, and then scroll down to Google Photos, and click on the selection box next to Google Photos. On the top right it should show 1 of xx selected.
Second step of
exporting Zips from Google Photos via Takeout
  • Review which of your memories are selected for export. For backups, you would want to select all the memories on Google Photos. Click on “Multiple formats” to make sure all formats are selected. Similarly make sure that “All photo albums included”. You can also choose which specific formats or albums to export in case you want that
  • Now you can scroll to the bottom of the page, and click on “Next step”. This next step is about various options for your export
Third step of
exporting Zips from Google Photos via Takeout
  • There are 3 sections here you have to choose the options that works for you
    • Destination - Where your exported files are going to go
      • If your backup location is one of OneDrive, Dropbox or Box chose that. Make sure you have enough storage space on these services
      • If you want to backup on a hard disk, or other cloud storage provider you can choose either Google Drive or download link via email. If you’re choosing Google Drive make sure you have enough storage space on Drive
    • Frequency
      • Given its a backup copy while you want to continue using Google Photos, you should choose “Export every 2 months for 1 year”. Two important things to note here
        • Google Takeout doesnt support incremental backups. So the export after 2 months is going to be for your entire library. So to save storage space, you will have to delete the old backup where ever you’re storing this, once the new exports are available
        • The export period is only 1 year, so you will have to do this again every year to ensure your backup copy has all the latest memories stored in Google Photos
      • If you have other usecase - like moving into a different service or ecosystem and stop using Google Photos, you can do a “Export once” backup.
    • File type and size
      • Google gives two options for file types - .zip and .tgz. I personally prefer .zip as decompression is supported on most devices. However, .tgz is also fine as long as you know how to decompress them
      • For size, Google gives options ranging from 2GB to 50GB. Note that if your library size is large, you will get multiple zip files to cover your entire library. For large libraries, we would recommend keeping the size to 50GB. However, if you have a bad network connection, downloading these 50GB files might take multiple attempts.
  • Once you have made the selection, you can click on “Create export”. The page will now show a “Export progress” section
Fourth step of
exporting Zips from Google Photos via Takeout
  • Google Takeout will send you an email once the export is completed. You can download the zips from the link provided in the email (if you had selected “Download link via email” as destination) or go to the selected destination (Google Drive, OneDrive, etc.) to download the zip files. Note that you only need to download the zips if you want to have the backup in a different location than what you chose as destination
  • Before downloading this, make sure your device has enough free storage. These zip files contain your entire photo and video library and therefore might require a large amount of device storage
  • Once you have downloaded the zips, you can move/upload the zips wherever you want to act as a backup for Google Photos. This could be a hard disk or another cloud provider
  • If you had selected “Export every 2 months for 1 year” as frequency, you will get an email from Google Takeout every 2 months. And you will have to repeat the download and upload process everytime. Note that you can delete old zips once latest backups are available as every 2 months you will get a full backup and not an incremental backup. Otherwise you will consume a lot more storage space than required.
  • Please note that the above process keeps the zip files as backup. If you want to unzip the files so that the actual photos are available, see the next section

Moving all your memories to another service

The last section mostly covered keeping an extra backup while you’re still using Google Photos. That’s why we kept the zip files as backup, as you don’t need to unzip and keep the uncompressed folders for backup purposes.

However, there are definitely usecases where you would want to uncompress the zips. For e.g., if you want to move your entire library to your hard disk, or another cloud, you would want to make uncompress the zips, ensure your metadata is intact and then upload it.

So how do we do this?

  • Make sure you have enough storage space (atleast 2 times your Google Photos storage) on your device
  • Follow the steps of the previous section to download the zip files from Google Takeout
  • Uncompress the zip files one by one
  • When you open the uncompressed folders you will notice the following
    • The base folder name is “Takeout”, and within that there would be another folder called “Google Photos”
    • Inside “Google Photos”, you would have folders corresponding to albums on Google Photos. Photos which are not part of any albums on Google Photos are automatically added to year wise albums like “Photos from 2022”, etc.
    • Inside each album, you will see the files associated with your photos and videos
      • Your photo or video media files. These would be jpeg, heic, mov, or mp4, etc.
      • A JSON file with the same name as your photo/video containing all the metadata of your memories like location, camera info, tags, etc.
First step of exporting from Google Photos to another service
  • There are a few issues, however, with the export files though
    • If your library is distributed across multiple zips, the albums can reside across multiple zips (and uncompressed folders) which needs to be combined together
    • The media file and the corresponding metadata JSON file can also be in different zips
  • Because of this, when you import these uncompressed folders to another service directly one by one, it might lead to loss of metadata associated with your photos. It might also create incorrect folder/album structure
  • Thankfully, there are ways to fix these issues
    • Metadatafixer
      • All you need to do is add all your zip files to this tool, and it will do its work - combine all the photos/videos and their corresponding metadata together so its readable by any other serice
      • Unfortunately, this is a paid tool that costs $24
    • GooglePhotosTakeoutHelper
      • If you have some tech know how or dont want to pay the $24 above, then this is a library that will come to your rescue
      • It works pretty much the same way as Metadatafixer, except you need to uncompress the zips, and move them to a single folder. You can find all the instructions here
  • Once these fixes are done, you can import the output to any other service or your local storage without the loss of any metadata. This will also work if you want to move your photos from one Google account to another

Moving your memories from Google Photos to Ente

If you want to move away from Google Photos to another service, Ente Photos is the way to go. It offers the same set of features as Google Photos in a privacy friendly product which makes it impossible for anyone to see or access your photos. Migration to Ente is quite easy as well.

  • Download the zip files from Google Takeout as explained above. Uncompress all the zip files into a single folder
  • Create an account at web.ente.io, and download the desktop app from https://ente.io/download
  • Open the desktop, and click on Upload on the top right
  • Click on “Google Takeout”, then “Select Folder”, and then select the folder you have just created in the earlier step
First step of
exporting from Google Photos to Ente Second step of
exporting from Google Photos to Ente
  • Wait for the Ente to upload all the files
  • That’s it

Bonus: Permanently delete memories in Google Photos after exporting

If you’re exporting Google Photos for a backup, and you intend to continue using Google Photos, then you don’t need to delete your memories.

However, there are many use cases for which you should delete your memories from Google Photos after exporting so you dont get charged for it.

  • Moving to a different service like Apple Photos or Ente
  • Using your hard disk for storing memories
  • Partially clearing Google Photos so you can continue using Gmail
  • Deleting a few unimportant memories so you can reduce your cloud costs

Deletion should be fairly straightforward

  • Open the Google Photos app or open the web app at photos.google.com
  • Select all the photos and albums (which includes all the photos inside) you want to delete
Delete photos from Google
Photos after exporting
  • Click on the Delete icon at the bottom
  • This will move your photos to “Bin”, where it will held for 60 days before its permanently deleted
  • If you want to permanently delete these memories right away, go to “Collections” tab from the bottom bar
  • You will see “Bin” on the top right. Click on that. Review the memories there and ensure that you want to delete them permanently.
  • Clicking on the ellipsis on the top right would show an option to “Empty Bin”. Clicking on this would delete all your memories from the bin.
  • Please ensure you have checked everything before tapping on “Empty Bin” as this is a permanent operation without any recovery methods.

You can refer this detailed guide for deletion as well

Auth v4

12 October 2024 at 07:00

It's been a few months since our last major update for Auth, and we're very happy about all the love that it has received so far.

From LinusTechTips picking Auth as the best 2FA app to CERN's recommendation, we're grateful to be at the receiving end of praise.

We are now here to showcase v4.0, that comes with some major improvements.

Changelog

Here are the highlights of what has been added since v3.0.

Sharing

Screenshot of Auth's share feature

You can now easily share specific codes with your team, with temporary links that are end-to-end encrypted.

These links will be valid only for the duration that you've chosen. Ente will pre-compute the codes for this duration, and share those within the link, end-to-end encrypted.

Your 2FA secret / seed phrase is not shared, and remains secure on your device.

Notes

Illustration of the Notes feature within Auth

Auth now supports notes within codes.

You can attach any text (upto a maximum of 500 characters), to provide more information about your accounts.

Like with everything else, your notes are preserved end-to-end encrypted.

Trash and recover

Illustration of Auth's Trash and Recover features

You can now trash codes that you don't need.

These items will be moved to a separate section within the app, under the "Trash" header.

You can recover codes from here, in case of accidental deletions, or delete them permanently.

App lock

Illustration of Auth's lockscreen

You can now further protect your codes with a custom lock screen that supports PINs and passwords. So you can protect your co with either of these, instead of your device lock screen.

CLI

Starting this release, Ente's CLI will support accessing your data on Auth.

This means you can go ahead and script a workflow that works for you. You can find more information on using our CLI to export your data from auth here.

Flatpak

Last but not the least, Auth is now officially available on Flathub!


If you like what we're doing, please support us on ProductHunt.

Mozilla grants Ente $100k

23 September 2024 at 07:00

Ente has been accepted into the Mozilla Builders accelerator program!

We're excited for this opportunity to work with some of the best minds that have shaped our internet.

As a part of this program, Ente will receive $100,000 in non-dilutive funding.

Mozilla Builders

Earlier this month, Mozilla invited us to an event in New York, where we had the chance to meet the Builders team. Everyone was smart, kind, and incredibly supportive.

The Builders accelerator was launched by Mozilla to promote independent AI and machine learning. The theme for 2024 is Local AI - AI that runs locally on your devices.

Ente

At Ente, we use Local AI to deliver features like face recognition and magic search, while respecting the privacy of your photos.

We'll now join a cohort of builders pushing technology forward for an AI that is light, private and accessible.

Together

Ente's lil ducky with a fox

Over the next few months, we'll work closely with the Builders team to accelerate Ente's growth and development.

We believe this is an important milestone in Ente's journey. There is much we can learn from Mozilla about building an open source, consumer tech company with positive impact.

We'd like to thank Monica, Liv, John, Stephen, and the rest of the Mozilla team for this opportunity. We look forward to building together.

❌
❌