Skip to main content

Text Messaging

Many people asked me to use OTT solutions like WhatsApp, Viber, LINE but I quickly uninstall those apps after a while because of two reasons.

Firstly, there is no one-thing-fits-all solutions which means you will need to install a bunch of similar apps because different group of people use different service. God, that's tiresome and kills battery. There are decentralized protocols to fix this very issue but they are too good to be true I guess, even Google backed out from supporting XMPP by dropping their Google Talk service. I believe there are companies working on this front right now (or maybe I should?). They should make a solid server implementation AND clients using established standards, big plus if they stick some open source license in their code and publish them all. Provide good user experiences while allow user to control their data and federate between different system as needed.

The second reason is backup. No services that I know of provide a way to conveniently backup data except Google Hangouts. Don't have to worry about device lost. Being able to search for old messages without using third party solutions (I'm looking at you, Yahoo! Messenger). Google really does well with their Data Liberation Front initiative. For Skype, it is extremely frustrating if you need some piece of information from last month. People don't ever reread their messages?! I need to do a survey targeting young lover to unveil this.

On a similar note, I refuse to use anything but Android because it allows me to backup calls and messages painlessly. Not out of box but at least doable, thanks to its open (and insecure?) nature. Imagine doing backup an iPhone into some unreadable format, ew!

So, if you need to contact me, please do call or send a text message. You may want to try Hangouts or Skype too. For non-urgent matters, email should be the way to go.

Comments

Popular posts from this blog

Flutter: Fixing Firebase header not found with Notification Service Extension

If you follow the FCM tutorial Send an image in the notification payload and encountered this error message: 'FirebaseMessaging/FirebaseMessaging.h' file not found You are on the right place, I'm going to show you how to fix it. My app was working fine but one day it stopped compiling. Apparently Flutter 1.20 changed the way it uses CocoaPod so the service extension no longer has the proper library configured. After some tinkering, I came up with this pod config, it has to be added to ios/Podfile below the main Runner target. target 'FcmImage' do use_frameworks! use_modular_headers! require File.expand_path('../.symlinks/plugins/firebase_core/ios/firebase_sdk_version.rb', __FILE__) firebase_sdk_version = firebase_sdk_version! pod 'Firebase/Messaging', "~> #{firebase_sdk_version}" end FcmImage is my extension name, replace it with yours We can use a hardcoded version for Firebase/Messaging pod but doing so m...

OAuth with Google, Twitter and... Facebook!

This is sick! Just a few days ago, I ran into OAuth as I want to get my GMail feed based on Google Data API . I succeeded. With a little help of an OAuth open source ( here , available in several programming languages). Then I remember that I once heard that Twitter also uses OAuth as an authentication option so I turned into Twitter and had a good read. Finally, I found out that they are basically the same (hehe, it's obvious since OAuth 1.0 is a worldwide standard). I had an idea of writing a universal class which can handle both Google and Twitter OAuth functionalities. It's not too hard. I took most of the idea from the PHP example ( here , PHP only). I also made a small script which accepts URI to send and intercept response from Google & Twitter servers. At that moment, I was so excited with all the ideas but actually it has no real world benefit so I just left it there... Until today, in the F8 (says "fate") conference of Facebook, I was stunned fin...

Replacing GCP with Railway for faster cold start

TL;DR I switched a Dart API from Cloud Run to Railway for a 300% faster cold start, simplified DevOps, and a straightforward fee structure. Problem I'm working on this project github.com/daohoangson/flutter_widget_from_html . It is a pub.dev package that's super handy for Flutter developers who want to seamlessly render HTML in their apps. Now, when it comes to HTML, it can get pretty dynamic, right? That's why having a playground to showcase features, troubleshoot issues, and tackle bugs is crucial. The Google team has this fantastic tool called dartpad.dev , which is just perfect for this kind of thing. However, there's a little catch - third-party packages like mine usually can't be used there (unless you have thousands of likes, as explained on  Medium ). So I decided to take matters into my own hands, forked it, then deployed try.fwfh.dev with additional package support. Initial idea since 2019 First deployment  in 2021 Cl...