I recently finished Burn Book by Kara Swisher - which is basically a recap of her time covering tech…and given that we’re roughly the same age, her recap matches up with my career pretty well. She worked with Walt Mossberg - who was a household name on the Windows 9x team and I’d often hear execs in my hallway talking to him. Mary Jo Foley was another person I remember writing a lot about Microsoft in those days, and another prominent tech writer from that era.
And then I was talking with a colleague this week, and somehow rambled into part of a story about a time long ago, and thought I’d share it here.
The Best Five Years
I often joke that the two years I spent in the guts of Xbox One were the best five years of my career. It was fun, but stupid at times, but I was fried, so after it shipped in November of 2013, my family and I spent a month in Australia, but then I had to go back to work.
While we were working on Xbox, there was a small team working on a project called Rio. Probably worth highlighting is that at the time, every Microsoft project had a code name. Windows 95 was Chicago, Windows 98 was Memphis, etc. It was a way of trying to block leaks, but also gave a nice placeholder that could be easily replaced once marketing chose an ‘official’ name.
Rio was a streaming platform. The idea was to stream games from a server to an Xbox (something that works wonderfully using a slightly different architecture today). For reasons I forget, something changed, and Rio changed their code name to Seven. When I came back from Australia, my manager and I joined this team - along with a cast of others, and the project was renamed ‘Arcadia’.
Dumb Science Projects
The goal of Arcadia was simple. Figure out how to make Android apps run on Windows Phone. For those who missed it, Microsoft made a Windows Phone for a few years. The phone itself was, in my opinion, really good. I thought the tiled UI was pretty damn usable and cool looking. I, of course, didn’t use a Windows Phone, because there were only a tiny number of apps available for it. This, I discovered (and not to my surprise) was a common complaint. People would buy Windows Phones, then take them home…where they would soon discover that almost none of the apps they wanted to use were available on the platform.
Or maybe, I said to nobody who would listen. Maybe we should just put the Windows Phone UI on an Android Phone. I think Nokia actually tried this, and articles like this were common, but that went nowhere.
It was a dumb science project, but I was tired and thought it would be fun.
Swing and a Miss
Plan A was pretty straightforward. Stream Android apps running on a server to a Windows Phone. The Rio/Seven team had already figured most of this out - we did a bit of graphic optimization, jiggled a few wires, and it worked perfectly.
Well - kind of. The app worked, but this was in a time when almost every phone plan had a data limit, and even with way-too-much compression, we burned through the average users data cap in less than an hour. We jiggled some more wires and buttons, but this plan was dead in the water.
A Worthwhile Tangent
Probably worth noting some cultural and organizational changes that were happening at Microsoft at the time. On Xbox One, when I wasn’t debugging crashed machines, I wrote build tools, test tools, and diagnostic tools all day. Then, sometime shortly after that, Microsoft let a whole bunch of SDETs go, and the rest were moved into roles where whey would focus on “Fundamentals” (performance, reliability, etc.), and analytics / data science. It’s probably a whole other post to explain that fiasco, but I did briefly run one of Microsoft’s first Data Science teams (before frantically hiring someone into that role to take over).
I spent a lot of time over the next few months on code reviews. We didn’t have a dedicated test team, but the Devs were open to testing (you know - since it’s their job). I’ve since learned more efficient ways of coaching developers, but what I did mostly was ask questions. At first, the questions were around testability - for example, passive aggressively asking, “how are you going to test this?” so they would think about it, and then (usually) write tests. Other times, I would just say, “this needs tests”. Eventually, other developers would ask these questions for me, so I’d offer feedback on the tests (“It’s a better idea to have each test test just one thing”, or “when this test fails, how will you know what went wrong”). Developers learned from this, and eventually picked up on my questions and improved their testing. I’d like to say it was harder than this, but it was pretty straight forward and effective.
Plan B
Plan B was very good. Plan B was also never, ever going to ship, but despite me stating this to many people, nobody cared. Plan B gave me a lot of cool new things to learn, so I went along for the ride.
The vision for Arcadia remained the same. Get Android apps to run on Windows Phone. The solution was simple and effective. First, implement Linux as a driver, then run a Dalvik VM on top of that, and run Android APKs in that VM.
It worked really well. Sideload an APK, and the app just ran on Windows Phone 98% of the time. For more shenanigans, since an APK is just a zip file that can be cracked open, we could do thing, ahem…, like crack the AirBnB APK, and replace the google maps calls with Bing Maps calls. Pretty excellent magic.
Again - it was a stupid science project. Side loading APKs for Windows Phone customers was a no go for many reasons (most of them legal). The solution from our marketing department was to ask Android app developers to submit their APKs to the Windows App store. They, as I predicted, refused. Either they already had a Windows Phone app, did not want a Windows Phone app, or didn’t want to release an untested app on Windows Phone. Or - for the long tail of Android apps, the developer just wasn’t discoverable anymore. It was never going to work.
Stupid science project.
Tangent Number Two
But all wasn’t lost. Arcadia was part of the Windows org, but we played by our own rules. We were one of the first teams at Microsoft (and definitely the first Windows org) to use Git. I spent a lot of time supporting our developers learning nifty git commands and helping to migrate them away from our ancient forked version of Perforce. It was also my first experience using Linux as a daily driver, which was a lot of fun. On top of that, I got to brush up on Java, so I really appreciated the opportunities to learn while playing the game.
One quick story worth mentioning is that a lot of our development organization came from Windows Phone. Most were good folks making good decisions. There was one development manager (fortunately, I’ve forgotten their name) who would preface almost every suggestion or comment he had with, “Well, on the Windows Phone team…” - which drove me crazy. I had learned not to be an asshole by this time in my career, but every time I heard him say this, I wanted to say, “Whatever you did on Windows Phone - we should probably do the opposite!”.
Aftermath
Eventually I ran out of things to learn, got bored, and left that team. My manager knew it was inevitable, and wished me well as I went from being bored to joining a toxic team, but you could say I learned from that experience as well. Sometime shortly after that, Arcadia was retired and the team was absorbed into other parts of Windows.
The driver thingy that ran Linux eventually became the Linux thingy on Windows that lets you run full blown Ubuntu in a shell, so that’s cool.
Sometime in the middle of the project Mary Jo Foley wrote an article about Arcadia at the time - Microsoft's 'Arcadia' team is building a streaming app and game service. My favorite part of the article is this quote about the mysterious name.
As to the significance (if any) of the codename, Arcadia does have -- like a number of recent Microsoft Operating Systems Group codenames -- a Halo tie-in. (Arcadia is a United Earth Government Colony in Halo, according to the Halo Nation Wikia.) Or it may refer to the Arcadia region in Greece, in keeping with Microsoft's use of geographic places for codenames.
To this day, I love the creativity, but none of it is correct. Rio, Seven (aka Seven and the Ragged Tiger), and Arcadia are all names of Duran Duran albums (with the latter being the name of a spin-off group from three members of the band).
Now you know.
-A 1:7