Chang KennethUsing Protobuf to Improve Compression EfficiencyRecently, I am facing a serious issues, with the original demand and data size, our server can handle 10 data points per second, and we…Aug 27, 2023Aug 27, 2023
Chang KennethPWA offline support record, in Android and iOS — 2023/07/25TL;DRJul 25, 2023Jul 25, 2023
Chang KennethDebugging Android, how to connect to local serverTL;DR port is same as server defined, the key is change to ip addressFeb 13, 2023Feb 13, 2023
Chang KennethStream media — MP4, MPEGTS, HLS and DASHTL;DR — If we play video on the client side, and access files on the server side, all of those could be considered as stream video. But…Feb 13, 2023Feb 13, 2023
Chang KennethReview after reading <Effective Kotlin> — part 1 Good CodeExcellent, a great book discussing the right way to program in Kotlin.Aug 7, 2022Aug 7, 2022
Chang KennethCollect multiple flow in viewModel and handle view eventAs we all know, in every app, waiting for io data is inevitable, things we can do is provide a better user experience with ui/ux.May 10, 2022May 10, 2022
Chang KennethRetryWithTimes — A helper function build with coroutineThis article was inspired by Roman Elizarov’s speech, in one of his video he share piece of his code as followApr 29, 2022Apr 29, 2022
Chang KennethCoroutine - async concurrency in certain orderUPDATE : this should do the same workApr 28, 2022Apr 28, 2022
Chang KennethSingleActivity 中文For English user, please check this video, this article basic just translate it to Chinese for Chinese and Mandarin user.Aug 25, 2021Aug 25, 2021
Chang KennethBuilder pattern with kobuilder pattern is common is software design, however its advantage is not obvious in kotlin, since kotlin can set constructor with…Aug 16, 2021Aug 16, 2021