Geek Culture
Published in

Geek Culture

WWDC21 — Minority Report

This week in Apple WWDC21, Xcode Cloud is one more thing bigger than what you think. Allow me to imagine what it can be in the long run, and why I bother a small experimental course: Android System Development (ASD) on the Cloud.

Apple WWDC21 — Introducing Xcode Cloud

Twilight of the Gods

The rising of aircraft carriers is a tale of disruptive innovation. In the 1942 Battle of Midway, the Twilight of the Gods had long begun. In this tale, super battleships were the old doomed gods. For example, the Japanese battleship Yamato is the largest battleship ever built. Such an iconic ship carried many big ambitions but inevitably sailed into the battle of doomed gods. In 1945, Yamato took on a suicide mission, Operation Ten-Go. Yamato was sunk by aircraft within 2 hours from the first attack to the explosion, signaling the tragic end of the age of battleship. It’s not because Yamato is not the best of its class. Rather, the new game aircraft carriers playing is out of battleship’s league. Of cause, I’m not ruling out one day the Battleship may be our last hope in frighting with the alien 😉.

Yorktown and Saratoga Night Attack on Yamato

Xcode Cloud

tl;dr Xcode Cloud enables app developers to build, test & distribute on the cloud through Xcode. Even the local IDE still needs it, it’ll still significantly reduce the overhead of the current development workflow. More important, its network effect will push the team collective productivity to a new level. This could be a new beginning of the app developer’s journey on the cloud to scale better & work from anywhere.

As usual, Apple is not the 1st. For example, Arm’s mbed Compiler, an online IDE enables developers to build for IoT, etc. devices via a browser for years. Nevertheless, Apple is very good at “timing” as usual. Even Xcode Cloud is an early beta & it may not be a good enough alternative for established teams. But, I bet it’s the beginning of transformation on the way developers work together better. Sure, it’s more for new developers, innovators & even early adopters, for now.

So what, GitHub has also been providing GitHub Action for continuous integration (CI) and continuous deployment (CD) workflows for a while. tl;dr one-stop-shop. Xcode Cloud is optimized for Apple developers as a Software-as-a-Service (SaaS) model. Basically, a new & better version of “Microsoft Developer Network (MSDN)subscriptions”. Which will not only help to sustain its app ecosystem & add a bit of service revenue. But more importantly, it solidifies its device-user-developer virtuous cycle & the moat for the app store.

Oh, this service revenue should not even be a direct measure of its success. Instead, Apple likely cares more about how it becomes Apple’s “Prime” for other consumptions, e.g. iCloud, etc. In a niche sense, it’s a “cloud business”.

https://developer.apple.com/xcode-cloud/

Why Android System Development on the Cloud

Thanks to Code Next, we had a fun time with high schoolers on doing Python on Raspberry Pi last year. It reinforces my belief of the CS talent is made rather than born. Since we keep asking ourselves why not Android. We learned the entry barriers are high. For example, even setting up the Android app development environment does not only take too much effort but also requires a more powerful computer. However, many Code Next target students only have access to Chromebooks. So the question is how might we level the playing field to make the opportunity viable to more high schoolers.

Even I’m a lousy developer, I’ve seen how people do Android device development from SoC vendors to device makers for mobiles, watches, VR headsets & smarter cars 10+ years. Therefore, I’ve been thinking about uplevel the challenge: how a high schooler can learn & even do consumer computing device development only via a browser. So, maybe more may find something interesting in the field. Furthermore, more to explore better ways to work from anywhere for a more flexible working style. Which is at least one small thing we can try while surviving COVID 19.

Beginning of a new start

Currently, ASD-codelabs are very primitive with 4 code labs. But it should give students a taste of what the work looks like & a bit of hands-on satisfaction. I suggest starting such a course or workshop with a high-level CS 101 theory introduction. I like to use some good illustrations from the book, Virtual Machines: Versatile Platforms for Systems and Processes. Which does not only provide a holistic view of what under the hook in general, but also very relevant in the context of a new age of software-defined.

  1. Set Up A System Development Environment on The Cloud.
  2. Build An Android Virtual Device On The Cloud.
  3. Create Your Own AVD On The Cloud.
  4. Customize your own development environment, building a custom image to scale.

We will continue to explore, build & improve this. So why not creating a new start for more students in the communities you care 🦾. Any pull request is welcome 🙏.

github.com/samlin001/asd-codelabs

Full Disclosure

The opinions stated here are my own, not those of my company. They are mostly extrapolations from public information. I don’t have insider knowledge of those companies, nor a whatever expert.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store