So I was recently asked why I prefer to use free and open source software over more conventional and popular proprietary software and services.
A few years ago I was an avid Google user. I was deeply embedded in the Google ecosystem and used their products everywhere. I used Gmail for email, Google Calendar and Contacts for PIM, YouTube for entertainment, Google Newsstand for news, Android for mobile, and Chrome as my web browser.
I would upload all of my family photos to Google Photos and all of my personal documents to Google Drive (which were all in Google Docs format). I used Google Domains to register my domain names for websites where I would keep track of my users using Google Analytics and monetize them using Google AdSense.
I used Google Hangouts (one of Google’s previous messaging plays) to communicate with friends and family and Google Wallet (with debit card) to buy things online and in-store.
My home is covered with Google Homes (1 in my office, 1 in my bedroom, 1 in the main living area) which I would use to play music on my Google Play Music subscription and podcasts from Google Podcasts.
I have easily invested thousands of dollars into my Google account to buy movies, TV shows, apps, and Google hardware devices. This was truly the Google life.
Then one day, I received an email from Google that changed everything.“Your account has been suspended”
I nearly had a heart attack, until I saw that the Google account that had been suspended was in fact not my main personal Google account, but a throwaway Gmail account that I created years prior for a project. I hadn’t touched the other account since creation and forgot it existed. Apparently my personal Gmail was listed as the recovery address for the throwaway account and that’s why I received the termination email.
Although I was able to breathe a sigh of relief this time, the email was wake up call. I was forced to critically reevaluate my dependence on a single company for all the tech products and services in my life.
I found myself to be a frog in a heating pot of water and I made the decision that I was going to jump out.Leaving Google
The first Google service I decided to drop was Gmail, the heart of my online identity. I migrated to Fastmail with my own domain in case I needed to move again (hint: glad I did, now I self host my email). Fastmail also provided calendar and contacts solutions so that took care of leaving Google Calendar and Contacts.
Here are some other alternatives that I moved to:
Gmail → Fastmail → Self-hosted (via Cloudron)
Google Contacts → Fastmail → Nextcloud Contacts
Google Calendar → Fastmail → Nextcloud Calendar
Google Search → Bing → DuckDuckGo
Google Maps → Bing Maps → OpenStreetMaps and OsmAnd
Google Analytics → Matomo Analytics
Google Drive → Nextcloud Files
Google Photos → Nextcloud Files/Gallery
Google Docs → Collabora Office (Nextcloud integration) and LibreOffice
Google Play Music → Spotify / Plex → Spotify / Jellyfin
Google Play Movies/TV → Plex → Jellyfin
Google Play Audiobooks/Books → Audible/Kindle
Google Play Store (apps) → F-Droid / Aurora Store
Google Android → Lineage OS → Ubuntu Touch on PinePhone (coming soon?)
Google’s Android Apps → Simple Mobile Tools
Google Chrome → Mozilla Firefox
Google Domains → Hover
Google Hangouts → Matrix and Nextcloud Talk
Google Allo → Signal
Google Podcasts → PocketCasts → AntennaPod
Google Newsstand → RSS
Google Wallet → PayPal and Cash App
Migrating away from Google was not a fast or easy process. It took years to get where I am now and there are still several Google services that I depend on: YouTube and Google Home.
Eventually, my Google Home’s will grow old and become unsupported at which point hopefully the Mycroft devices have matured and become available for purchase. YouTube may never be replaced (although I do hope for projects like PeerTube to succeed) but I find the compromise of using only one or two Google services to be acceptable.
At this point losing my Google account due to a mistake in their machine learning would largely be inconsequential and my focus has shifted to leaving Amazon which I use for most of my shopping and cloud services.
The reason that I moved to mostly FOSS applications is that it seems to be the only software ecosystem where everything works seamlessly together and I don’t have to cede control to any single company. Alternatively I could have simply split my service usage up evenly across Google, Microsoft, Amazon, and Apple but I don’t feel that they would have worked as nicely together.
Overall I’m very happy with the open source ecosystem. I use Ubuntu with KDE on all of my computers and Android (no GApps) on my mobile phone. I’ve ordered the PinePhone “Brave Heart” and hope to one day be able to use it or one of its successors as a daily driver with Ubuntu Touch or Plasma Mobile.
As someone who creates ActivityPub services, it's often a puzzle to figure out exactly how someone else's service federates. Like, what does service X do when I send it a Delete/Note activity?
In an attempt to be a good citizen, I've drafted up a FEDERATION.md file for my fediverse event organizing service I'm working on. Here it is:
I've also started a meta-discussion about how we might start documenting this stuff generally:
Things I wanna see in 2020: More than 5K servers, more than 5M users, more than 1M monthly active users, more artists and musicians, more journalists, and for more people to use the goddamn #caturday hashtag when posting cats on a saturday
The Mastodon Twitter account is really unprofessional, and seems like a major reason as to why most of the users there aren't taking this platform seriously.
I'd also argue that another big reason I've seen users hesitant to transfer over or even try this out is due to the overwhelming whimsy scattered through everywhere. We really don't need to reinforce the word 'toot' everywhere.
Also, the decentralised benefits keep being talked about but no normal user really cares about that. Mention editing posts!
I've just released a simple #ActivityPub debugging tool. It's hosted on Glitch so you don't have to worry about spinning up servers or SSL certs etc. You clone your own copy of the project, set it up, and you can create ActivityPub accounts that can send any raw JSON payload you specify to its followers. I use it for testing new and novel ActivityPub objects, and to test compatibility with messages sent from remote servers without needing to create an account on them.
We are testing one of the most requested features, Instagram Import.
With recent developments, we feel confident that we can ship this feature without overloading instance resources!
@firstname.lastname@example.org I am not sure it will go this far.
I think it will be possible for IndieWeb reader to subscribe to a microblog.pub instance via WebSub (and get reactions via inbound Webmention). Outbound Webmentions support is already there.
But exporting the AP feed as if it's a WebSub feed seems way more complicated (impossible?). I don't think I will every try to go this way.
For mobile clients, I still have hope that some apps will the support the AP C2S API. (and in the meantime, I am okay with using the web UI on mobile)
Swift devs listen up! I’m excited to announce http://Swiftly.dev, a one-stop Swift reference site for busy coders! It has:
✅ Variables, closures, & types
✅ Operators (+, -, *, /, %, ==, >, ??, !, &&, !!)
✅ Structs & classes
✅ Functional methods
✅ & more
NYC folks: if you'd like a free ticket to my day long workshop this Friday about, essentially, how to run a great Mastodon instance for your community, I have discount codes!
It's based on my https://runyourown.social guide but it uses the guide as a jumping off point and I get into some of the nitty gritty, including things like "how to stay on top of Mastodon releases and keep your community informed of new features if you don't know anything about programming"