I remember this time last year in December 2019, I spent almost every single bit of my free time on Puma because I want a Swift friendly version of fastlane that suits my need and leverages Swift 5 features.
Here's my review of my work in year 2020.
Blogging
I started blogging on GitHub issue, starting from Issue 1 Hello world, again, now I have over 670 issues, which were generated into blog posts at my website https://onmyway133.com/
🍏 I used to use onmyway133.github.io domain, but then it feels right to have my own domain
🍎 I used to write a lot at Medium https://medium.com/@onmyway133 for many publications and my own Fantageek publication, I have got 2.3k followers with around 60k views per month
🍓 I list my most favorite articles, usually articles that I spent most time polishing here https://onmyway133.com/writing/
One of my very first articles published on Flawless iOS publication was A better way to update UICollectionView data in Swift with diff framework gets the highest traffic ever, and was rated most trending Swift article for 2018.
My one of few articles published in Medium in 2019 was How to make Auto Layout more convenient in iOS got featured in iOS Dev Weekly, and used to promote my library EasyAnchor
My big article this year is How to test push notifications in simulator and production iOS apps, which was also featured on iOS Dev Weekly, used to summary the changes in push notifications from iOS 7 to iOS 14, and to promote my push notification testing tool Push Hero
My blog at https://onmyway133.com/ has around 15k views each month. I can write proper, lengthy articles to get more views but I don't want to. I want to write blog about solutions I have found, so that my future self can benefit from it without searching too much.
Open source
I have done quite a lot of open source, you can view here Open source. These have helped tons of apps, with 45k+ apps touched, and 3.4m+ downloads as stats on CocoaPods
My 4 libraries this year get inspired by SwiftUI and property wrappers
🍌 Spek leverages property wrapper to provide Spec syntax, similar to Quick, but simpler and can generate tests
🍈 Micro imitates SwiftUI State and ForEach syntax but use UICollectionView with diffable datasource, powered by my another library DeepDiff
🍑 EasySwiftUI contains many extensions and useful modifier that I use in my SwiftUI apps
🥝 FontAwesomeSwiftUI I was tired of using bitmap with dark and light variants, and I can't use SFSymbols as I want to support macOS 10.15, so FontAwesome is a perfect choice. I couldn't find library that has support for SwiftUI and easy to use with Swift Package Manager for iOS and macOS, so I made one
Besides, for all my libraries EasyStash, EasyAnchor, EasyTheme, EasyClosure, ... I have now support Swift Package Manager, which is nicer to integrate. Thank you CocoaPods for all these years.
Lately, I open source awesome-swiftui which I curate all SwiftUI resources, articles and libraries that I find useful for my apps
❤️ One day, I got sponsor from my dear friend Chris for my GitHub open source. Chris is my open source idol who ignited my desire for open source. No one loves open source more than Chris
This means the world to me! If everyone was as lucky as me to just get to inspire one person, the world would be an amazing place. Let's make it amazing together! Keep rocking because you are amazing & you can bring out the best in others! ❤️ https://t.co/pJx9obWH7I
— Christoffer Winterkvist (@zenangst) September 25, 2020
Apps
I started making some apps late last year, first I published them on Gumroad, but it didn't feel right, and then I published all my apps on AppStore. I like sandboxed apps from AppStore because they limit what the apps can do.
Apps without Twitter account and landing page seem off, so in May I started revamping my websites, and I wrote my apps page firstly with pure HTML and CSS, then I rewrote in React, because I like React and Javascript.
Notably, early 2020 I made Push Hero, PastePal then I made a complete overhaul lately with more features, thanks to all the feedback. I also took the time to revamp landing pages a lot, you can check landing pages for Push Hero for example because I have a white label solution
Learn how I did white label landing page using React
I have a lot of ideas, but very little time.
Learning
Coding can be done, but design is never finished. When making apps, I feel like I'm not certain at some design decisions and no matter how I landed with some designs, I didn't feel happy. Then I took some design courses and books.
Below is my tweet that I share some design resources that I found useful
Developer with design skill is like tiger with wings. Here are my recommended courses
— Khoa 🔥 (@onmyway133) October 25, 2020
The UI Design Bootcamp by @designcoursecom a massive UI design course teaches you to build beautiful and well-functioning user interfaces using HTML and CSS.https://t.co/vfusXamuhJ
Listening
I used to listen to tech podcasts, then I was bored. Discussions like whether to use MVVM vs MVC, SwiftUI vs Catalyst, Swift vs Objective don't interest me anymore.
If you ask me for choices, my default answer will be NO. Those who are super passionate about their idea will just ignore my advice and do it anyway.
Then I listen to indie and product development podcasts, it was inspiring. Once I got the mindset, they also became boring.
Now I listen to mostly books on Storytel, some books about habit and making time really make my days.
Tweet
I came back to Twitter early this year after quitting it for a while because I got enough of all negative and nonsense political debates. But then I found that I can decide who I can follow and what content I want to view. Then I started organizing List, making my own Chrome extensions to automate things and control what I want to view. I have followed quite many indie developers and great product people, I've learnt a lot. The downside is I'm overwhelmingly inspired, I can't sleep.
I try to tweet more about what I've learned, sharing articles that I have written. For example here I share about how to gain product idea
How to gain product ideas?
— Khoa 🔥 (@onmyway133) November 22, 2020
1) Scratch your own itch. If you don't have any itch to scratch, stop here. This is awkward. Go travelling. Go exploring the world. The world always has problems and needs solution. pic.twitter.com/07gIoJfJet
WWDC Together
Notable this year is the website I make WWDC Together as a place for developers like us to hangout and watch videos together. Each video acts like its own chat room, you can also create private chatroom. My colleagues use this and we watched WWDC together with coke and pizza, it was a lot of fun.
I'm excited to launch @wwdctogether as a free place to watch and hangout during WWDC. We can now view upcoming and previous sessions via modern playback, with a chatroom for each session. Hope this provides a similar WWDC vibe during this hard time ❤️🔥https://t.co/0SgGnUAqst pic.twitter.com/f9H9wDi62P
— Khoa 🔥 (@onmyway133) June 17, 2020
I had the idea like 2 weeks before WWDC, so I had to make it quick. Working with React is fun to me, it is like playing video game.
I was lucky to be asked by John to write a guest post Behind the scenes of WWDC Together with Khoa Pham on his website.
It was also mentioned by Paul in his WWDC wrap up WWDC20: Wrap up and recommended talks
One area that absolutely flourished this year was community organization. Sites like https://wwdcwatch.party and https://wwdctogether.com took a huge amount of work to organize, but meant that people had the chance to have some interaction – had the chance to actually chat about WWDC and share their excitement. I’m really grateful to Michie, Khoa, and other community organizers for making this happen.
I also got to share about in in a well known Norwegian tech website orske WWDC Together lar oss se på Apples konferanse sammen
Speaking
In 2019, I made several meetup talks, and one pre conf talk for Mobile Era conf
An overview of what we as mobile developers have for #MachineLearning in the session by @onmyway133 at @mobileeraconf Community Evening pic.twitter.com/bgcE3huGkI
— Mobile Meetup Oslo (@mobileoslo) November 6, 2019
In 2020, I'm lucky to be invited to talk in some events
🍅 WWDC Watch Party
Thank you @johnestropia @thesunshinejr @onmyway133 for sharing your experience to the community about Open Source Life and thank you for making our dev life better because of your projects! You are all awesome! ❤️#WWDCWatchParty #WWDC20 pic.twitter.com/tfsX7PtKcO
— wwdcwatchparty (@wwdcwatchparty) June 28, 2020
I'm happy to be invited by Michie to talk along side with John and Łukasz, whom I really admire for their awesome open source contribution, to talk about how to start and contribute to open source
🥦 Bitrise webminar
During the 4th installment of our BUG #webinar series, our main focus was #iOSDev and #WWDC20. Let's recap what we discussed with our guests, @StuffMC, @axbotkin, @Moatazeldebsy, and @onmyway133 in our freshest blog post! ✨🔥https://t.co/rrA8cyYXus
— Bitrise (@bitrise) July 15, 2020
I shared my thoughts about my favorites at WWDC and the future ahead
🍇 Contributing.today
During Hacktoberfest 2020, I was contacted by my friend Maxim to share about open source
I had a pleasure to interview #OSS contributors from Norway @DrMowinckels and @onmyway133 for CONTRIBUTING project. October 2nd we kickoff #Hacktoberfest by online meetup about getting started with Open Source at 16:00 CEST. Join our sessions & workshops: https://t.co/hKkMKEOJJe https://t.co/1yr2AhQ4B6
— Maxim Salnikov (@webmaxru) October 1, 2020
Work
I'm happy to continue another awesome year at Shortcut and DNB, where I have awesome and super nice colleagues. I 've made lots of friends who I can talk with, who invited me to play badminton, tennis, football, swimming, hiking. Why didn't we meet earlier?
I was lucky to attend a workshop hosted by John Sundell at work, I learned a lot
Ran my first ever large-scale remote workshop today, with over 25 participants, 10 different ongoing video calls for pair programming, and a ton of live coding 😀 Was so much fun!
— John Sundell (@johnsundell) August 27, 2020
Thanks a lot to the wonderful team at @shortcut_no for inviting me 😊 https://t.co/CE4P8Slo1G
Life
Thanks for a memorable year, despite all the lockdown. And remember, balance work and life. You don't need to be super rich to be happy. Having lots of money in the bank while living alone is not fun at all.
Another year is coming to an end. When looking back, do you miss the time you didn't spend with your friends and family, or do you miss the time you didn't get to do your work?
May your code continue to compile 🙏
Top comments (0)