Monday, January 23, 2017

I Happily Moved Away From the Apple Ecosystem, and I'm Happy to Be (Mostly) Back

Quick bio - I've been programming since I was 9. Started my own software company at 16. Degree in Computer Science from U of Washington. Been a professional developer for 21 years (turning 42 in Feb). I’m comfortable working in C#, Java, Ruby, Python, Node.js, JavaScript, Go, and Swift. History in or studied C, C++, Scala, Erlang, Rust, Elixir, CoffeeScript, TypeScript.

TL;DR - I committed and moved away from the Apple ecosystem and was happy to do so. I'm back after only a couple of months.  Here's my (abbreviated) story.


I was working in mobile web development when the original iPhone came out and developed a Staff Pick web app for it the day after it came out.

That experience changed my computing life. I had been a Microsoft platform user and developer from ABASIC on DOS through VB6 and then through C#/.NET from the beginning. The original iPhone convinced me to convert to a Mac user and I have been since then. Even converted my whole family. I have owned every iPhone from the iPhone through iPhone 6 Plus (yes, I’m that guy who likes the Plus). I have an Apple Watch (original) and an older Apple TV.

As a Development Manager/Director, much of my time has been managing mobile development teams and I had to focus on Android at times, so I’ve been back and forth between Android since it first came out and iOS. Last year, I cofounded a startup and developed an iOS app full time using Swift 2.x and 3.x.

While I had managed teams that had been building both Android and iOS apps, I had never built an iOS app myself, so I was excited to get my first iOS app into the AppStore!

Trying to Drive Me Away?

I’ll be writing another post shortly to share more details about this, but let’s just say that the experience of developing an app for iOS made me start questioning Apple's ability to keep things together long-term.  Add to that the lack of updates for Macs (which I NEED to do my job), the removal of the headphone jack (I use bluetooth a lot, but also have noise cancelling Bose headphones), and now the TouchBar along with continued slimming of devices when all I want is full-day use of my laptop without charging, I have spent the last 6 months considering a switch away from the Apple ecosystem.

Quick note:
I love the Surface Pro, Surface Book and Surface Studio ideas. And while I don’t hate Windows, it just makes more sense to use an OS that can support ALL the development I do—Linux and iOS. As a generic platform, Windows makes sense and I think they are in the best spot to pull together all the best from Apple (devices, OS) and Google (services) into one platform. But I also see them doubling down on Enterprise with their Azure/Microsoft Cloud strategy, so oh well.

Back to mobile.

Making a Smooth Transition

I staged my migration. My music has been iTunes Match mostly but also the Apple Music Family Plan. So, to move things to a more platform-agnostic area, I paid for YouTube Red which also got me a Google Play Music subscription and allowed me to upload my FULL music library as well as stream songs I don’t own myself, just like Spotify/Amazon/Apple Music. I also have it all uploaded to Amazon Music as well.  Here's the full rundown:

  • I already had been telling my iPhone to use my contacts from Google, not from iCloud.
  • I started using Google Play Music on my iPhone and my Mac (web).
  • I also have Amazon Music as a backup (but the track-to-album-art logic is badly broken, and has been for years).
  • We mostly use the Kindle apps for books, but I also put any eBooks I've purchased into iBooks and Google Play Books because those apps do a better job of rendering the content--especially development books and code snippets.  Google Play Books and Kindle are available on all platforms.
  • I stopped using Overcast and went back to Pocket Casts since it’s available on Android (sorry Marco--but read on).
  • I use Instapaper, so that is also on Android.
  • I switched to Google Keep from Apple’s Notes app. (NOTE: I also migrated some of my Evernote content to Google Keep and Google Docs since Evernote now has a device-count limit).
  • I had already been backing up my photos from my iPhone to Google Photos, so I just installed the Google Photos Backup app on my Mac to pick up the rest from my iCloud Photo Library.
  • We mostly use Netflix and Amazon Prime Video and an Amazon Fire TV at home (even though we have an Apple TV, but the Apple TV doesn’t stream well and is very buggy), so we were already set for video.
  • We never trusted iCloud after it lost some docs.  Been a Google Drive/Docs user since day one.  Nothing to do there.

So, we were ready. My wife and I bought Samsung Galaxy S7 Edge phones and got with them a Samsung Gear S2 watch and a Samsung Tab E tablet.

Put Our Money Where My Fear Was

We were so happy. The screens on the phones were amazing, they integrated so well with our Google accounts, and our watches had their own phone numbers, but you could use AT&T NumberSync to have them send/receive messages and phone calls — without your phone present!!! So EXCITED! I also switched to the Google Now Launcher (Launchers are the term for what Springboard is in iOS), so I had my trusty, native Android experience (no stupid Samsung TouchWiz). Additionally, the staging of our apps and data into multi-platform-accessible services paid off. Didn’t miss a beat and we were free of the "limiting decisions and investments" Apple has made about their devices and platforms.

Fast-forward 2 months. I’m having issues...

  1. The phone constantly thinks that when I'm picking up the phone it is me pushing the “buttons" on the outside of the screen to bring up “split screen” mode or the back button. Many times during that motion, my palm on the screen is mistaken for dozens of touches and I end up deep in an app I wasn’t interested in even using or I sent garbage tweets out and didn’t know it. I had forgotten how great the iPhone was at knowing what a true “touch” is.
  2. Even though I can use NumberSync to sync up phone calls, messages, etc., each device is it’s own sender/receiver, so I get the notifications twice — once on phone and once on watch and have to manage them independently.
  3. Related to #2, I had to use the Samsung Messages app in order to have it work with the Phone. It sucks. Also, each “sending app” for messages (SMS, etc.) is independent. Even though they call all read the incoming messages and organize the conversations, the sent messages are stored in each app independently. So I constantly have intermittent missing communications, but I usually don’t notice it, which is bad. I ended up sending the same things multiple times, thinking I had lost the messages before I sent them.
  4. I missed having the Messages app on my laptop.  AT&T has a messaging site where, when you use NumberSync you can send and receive your text messages from the site.  Again, sends from other apps didn't show up even though part of using NumberSync means that AT&T supposedly backs up your conversations and keeps them all in sync.  Did not work as advertised.
  5. Related to 2-4, it’s clear that the way I want to work is for my phone to be the master and for the watch to be constantly in sync. I’d like it to also be it’s own device when the phone is not near, but I would want it all synchronized regardless.  Samsung only achieved the ability to make calls when your phone is nowhere near you.
  6. Even though I’m a developer, and a picky person at that, the “ability” to customize behaviors in Android actually became less of a feature and more of a burden as I tried to make apps flow better (e.g., opening attachments from email that I eventually need to Print). Honestly, I just gave up because it was too much effort and time for something that I had (annoying) workarounds for, but that punched my developer “if you have to repeat it, automate it” values in the gut.
  7. Samsung has wonderful (wired) earbuds and a process where they take you through hearing tests and can customize the levels to better fit your hearing ability. This is amazing and works beautifully. What I didn’t expect? No matter what app I use to play music--Google Play Music, Amazon Music, and even Apple Music—the sound quality and EQ were noticeably worse than any Apple Products. Even my son’s old iPhone 5S sounded better.
  8. Even though I can clearly see Android has made significant improvements in the UI responsiveness over the years, using an Android device is like watching film at 24 fps (frames-per-second), whereas using an iOS device—even the old 5S—is like watching HD Video at 60 fps. The same is true for me for Windows vs. macOS.
  9. The watch band of the Samsung Gear S2 had the same issue ALL watches I’ve worn have, with the exception of the Apple Watch: typing on my MacBook Pro makes the watch band's buckle dig into my wrist all day and hurts and is annoying and makes “clackity” sounds while I type. The Apple Watch is all rubbery and comfortable all day. Plus, I couldn’t unlock my MacBook with my watch automatically like I could with Apple Watch.
  10. Apple Music with iTunes Match does the best job matching ripped/downloaded music to actual music tracks and then replacing them with high quality (AAC) versions.  Google Play Music is really good, though, and does a better job of recommending new things for me to listen to.  But nothing beats the audio quality of the Apple Music app on an Apple device.

My (Current) Conclusion

So, hedging my bets and moving away from Apple products and putting my money where my mouth is, I have come to this conclusion: while I’m VERY, VERY concerned for Apple and it’s impacts on me as a developer and therefore on my family, I simply think Apple has made the best tradeoffs when it comes to these devices I use every day, all day.

Additionally, I restored my iCloud Photo Library before it fully deleted, re-added iTunes Match subscriptions, and added more iCloud space back to my account.  I'm back to using iCloud Library as primary photo backup and Google Photos as secondary -- especially since my wife is still on Samsung and happy with it.  I'm also back to using Apple Music because of the audio quality and seamless integration across devices.  My wife and son also use the Apple Music app on Android, which was great because their playlists and Apple Music-only songs all came along.  And yes, I'm back to using Overcast.

Now, if only Apple would make their cloud and server-side application support capabilities and their first-party apps live up to the quality of the hardware, I’d probably fully convert to Apple. For now, I’m staying in Google for most "services" offerings.  Google has made it clear they are investing in iOS development and trying to offer everything on iOS as well as Android.

Next up: Addressing my frustrations and fears as a developer in the Apple ecosystem for the last year. I will write a separate post for that and update this post when it's ready.


Anonymous said...

Appreciate your ecosystem insight from a developer POV. Curious as to which generation Apple TV you are having issues with...

Unknown said...

Fucoidan được biết đến là một loại thực phẩm chức năng có lợi cho sức khỏe. Tác dụng của thuốc Best Fucoidan Tác dụng của nó không chỉ đem đến những chất bổ dưỡng cho cơ thể, ngăn ngừa một số bênh cảm thông thường mà còn có thể sử dụng trong quá trình điều trị ung thư. Chữa ung thư phổi với thuốc Fucoidan Giá thành của Fucoidan hiện đang bày bán trên thị trường không hề rẻ. Tuy nhiên, có rất nhiều người tin tưởng và lựa chọn sử dụng. Đánh giá thuốc Fucoidan . Một loại thuốc có tác dụng tuyệt vời như vậy hơn nữa lại có số lượng người sử dụng khá nhiều tại sao lại có những thắc mắc về chất lượng của nó. Thuốc chống ung thư fucoidan . Trong bài viết này, chúng tôi tổng hợp một số thông tin về thuốc Fucoidan và đi tìm lý giải vì sao lại có thắc mắc “thuốc Fucoidan có tốt không”.

Shanda Harper said...

Dear Guys,
Have an awesome day. Hope everybody doing great. Music freaks are all the same: they want to hear music, find information about their favorite songs, and sing the songs. Nowadays, they can get their favorite songs much more easily. They don't need to search for their favorite songs at radio stations.
Digital and Physical Distribution. Online and Offline. MP3s and Physical CDs. Once you have finished music you'll need to start selling it. You will want to make it available online at digital download stores like iTunes and made available to record stores around the world. There are several companies that offer online and physical distribution, each with slightly different pricing and services.
Google Music, Apple Music, Transfer your tracks and playlists to Spotify

for ict 99 said...

Hi, Great.. Tutorial is just awesome..It is really helpful for a newbie like me.. I am a regular follower of your blog. Really very informative post you shared here. Kindly keep blogging. If anyone wants to become a Front end developer learn from TypeScript Training in Chennai . or learn thru Javascript Training in Chennai. Nowadays JavaScript has tons of job opportunities on various vertical industry. Javascript Online Training from India

Cindy said...

If, you want to control your iPhone remotely, then you must learn the right way of approving an iPhone from another device, as it will help you peeping into your phone much easily.

Pavel Co Ebele said...

Great Article
IEEE Final Year Projects for CSE
IEEE Project Centers in Chennai

Prakash said...

Wonderful Blog!!! Thanks for sharing this post with us... and it is more helpful for us.
IOS Training in Chennai
iOS Course in Chennai
iOS Training
Best ios Training institutes in Chennai
IOS training in vadapalani
IOS training in porur
Python Training in Chennai
Hadoop Training in Chennai
Big data training in chennai
JAVA Training in Chennai

Adhuntt said...

Excellent blog thanks for sharing Looking for the best creative agency to fuel new brand ideas? Adhuntt Media is not just a digital marketing company in chennai. We specialize in revamping your brand identity to drive in best traffic that converts. Buckle up for a ride that is going to be filled with SEO, Social media marketing, unique Graphic & Logo design and efficient ads strike the perfect chord! Join the Adhuntt Media adventure right at Adhuntt Media.
digital marketing company in chennai

Karuna said...

Nice blog thanks for sharing Join the Karuna Nursery Garden family and be a part of our network of home gardeners. We can help you setup the perfect front yard for your family to relax in. Reach us out to get more information on our terrace garden consultants in Chennai too.
plant nursery in chennai

Pixies said...

Great blog thanks for sharing Pixies Beauty Shop is unlike any of the other cosmetic shops in Chennai. With tons of exclusive imported brands to choose from and the best value, this is the best shopping destination for your personal and salon needs.
beauty Shop in Chennai

cathrine juliet said...

Thanks for your efforts in sharing this information in detail. This was very helpful to me. kindly keep continuing the great work.

Big Data Hadoop Training In Chennai | Big Data Hadoop Training In anna nagar | Big Data Hadoop Training In omr | Big Data Hadoop Training In porur | Big Data Hadoop Training In tambaram | Big Data Hadoop Training In velachery

Vietnam Airline said...

Aivivu chuyên vé máy bay, tham khảo

vé máy bay tết giá rẻ

vé máy bay đi Mỹ bao nhiêu

đường bay từ Việt Nam sang Pháp

vé máy bay đi hàn quốc tháng 5

vé máy bay đi nhật bao nhiêu

giá vé máy bay đi Anh

vé máy bay giá rẻ khứ hồi

ve may bay tet said...

Mua vé giá rẻ tại Aivivu, tham khảo

mua ve may bay di my

vé máy bay từ los angeles về việt nam

giá vé máy bay từ anh về việt nam

chuyến bay từ châu âu về việt nam

ve may bay tet said...

Aivivu chuyên vé máy bay, tham khảo

vé máy bay đi Mỹ giá rẻ

bay từ california về việt nam mất bao lâu

lich bay tu duc ve viet nam

lịch bay hà nội moscow

Arnold DK said...

Thanks for your efforts in sharing this information in detail. This was very helpful to me. kindly keep continuing the great work. Kinemaster Gold