2015: Java -> Swift; 2018: Swift -> Java
Yes, I’m currently an iOS developer, since 2015 more specifically. Next year, I plan to ditch iOS and return back to the Java backend after a couple years of fearless battles with iOS dev tools, infra and feature development. I can’t wait to YELL already: NO more Swift!
My professional career as an iOS infra developer had been miserable ever since we chose Swift as our primary programming language. The angry bird series **** 🍎 written by my neighbor at work and a couple blogs from my angry colleagues:
- The faster machine you have, the slower your build is: https://www.linkedin.com/pulse/best-hardware-build-swift-what-you-might-think-jacek-suliga/
- Swift screws your app size and build time: https://www.linkedin.com/pulse/swift-compiler-performance-jacek-suliga/
- 🍎 hates Swift as well: https://www.linkedin.com/pulse/why-you-swift-apple-jacek-suliga/
- Make Mac Mini work by guessing: https://engineering.linkedin.com/blog/2015/12/managing-ios-continuous-integration-at-enterprise-scale
- You can’t develop iOS at scale until you hack Apple’s private framework: https://engineering.linkedin.com/blog/2017/01/open-sourcing-bluepill--run-ios-tests-in-multiple-simulators
- 🍎 doesn’t give a shit about making your CI experience delightful: https://engineering.linkedin.com/blog/2016/04/3x3--ios-build-speed-and-stability
Considering public impact, these blogs were written in an “extremely” professional manner.
2012: Android -> iPhone
Since I came to the US, I had been an iPhone user. My last experience with Android was with Galaxy S1 half a decade ago, which was terrible. I thought that was my first Android device and would be the last one. After I switched over to iOS, my mobile experience had been delightful. Comparing with Android, Symbian or any other mobile OS that time, iOS + iPhone excel like a product from the future. It had been a premium experience to use iPhone as my primary device till iOS 11 and iPhone X were out.
2017: iPhone -> Android
I haven’t seen much innovation in iPhone & iOS ever since the legend was gone. I attend WWDC every year since 2015 and none of them were exciting. The latest innovation for iPhone hardware design is its latest version iPhone X with an epic notch:
And of course, for software innovation — Animoji:
When iOS 11 was out, I couldn’t not resist my inner excitement to bump my pathetic iPhone 6s to the latest, fastest and best ever iOS 11.0. Right after the upgrade, everything slowed down and animations became slide shows. It takes 3s to make the text edit popup [select|select all|paste] appear and opening apps sometimes takes forever.
After tweaking my devices for a week, I found killing most spotlight search, Gboard, all background tasks made my iPhone 6s a bit usable.
Apple clearly delivered its message: buy another iPhone or you are ******. So I planned to shop another iPhone, maybe iPhone X? However, I was not able to cross the barrier to appreciate the freaking notch at the top. It is a joke. What about iPhone 8 or iPhone 8s? They look exactly the same as my iPhone 6s, boring!
Why not give Android another shot?
Did some research and checked with a few Android fanboys, they highly recommended Pixel 2 & Huawei Mate 10. Thankfully, I had a chance to play with a Pixel 2 testing device. Pretty solid and smooth. Also, at the moment, there was a deal that if you purchase Pixel 2, you get $100 Google store credit + a free Google home mini! Excellent deal. Huawei hasn’t started selling its phones in the U.S, thus Pixel 2 seems to be the choice for me.
The phone was delivered roughly one week after my order and shockingly, I was able to migrate all my stuff off iPhone to Pixel 2 super smoothly. Almost every single app that I use in iPhone exists in Android as well. User interface wise, there are some differences, but it took me only a couple days to get use to them. Below are some feelings when I transited from iPhone to Pixel 2:
- Unlock your phone with thumb is brilliant
Instead of pressing the home button to unlock with your fingerprint, you unlock your Pixel 2 by naturally touching the sensor at the back of phone with your thumb. Personally speaking, I feel this is easier to use.
- Pixel 2 hardware is solid while its software is buggy
This is a photo taken by my Pixel 2.
One of the selling point of Pixel 2 is its incredibly hardware optimized camera app. Yes, the above is amazing, isn’t it? On the day I received my Pixel 2, the camera crashed roughly 20 times for unknown reasons. Besides that, when I plugged my earphone to the USBC -> AUX cable, there was no audio coming out.
I reached out the customer support before heading out to return the phone and the support specialist helped me fix the problems. The guy told me:
The phone is solid but there are a couple problems with our software.
As a software engineer, I felt a bit embarrassed for my fellow Google friends. After cleaning up cache, reset some configuration, and .. of course reboot my phone, crashes stopped.
- The battery life is good
The battery is solid that it easily survives two days with normal usages.
- Third party apps are not as smooth as the ones on iOS
Maybe I’m still not used to the Android style or material design. Generally speaking, the feelings on third party apps are not really on par with their iOS counterparts.
To sum up my experience with Pixel 2 so far, the first few days were a bit suffering, but I have started loving it!
To be continued