
RoboVM
» see robovm.com as it lived, on the wayback machine
~ the goodbye ~
RoboVM was an ahead-of-time compiler that took ordinary Java bytecode and produced a native binary for the iPhone. Not a wrapper, and not a translation layer you had to apologize for in a code review. You wrote Java, and what came out the other end was an ARM executable that Apple would accept. Niklas Therning and Henric Müller started it in Sweden and the repository went up on 7 January 2013.
Its real constituency was game developers. libGDX, the Java game framework, had an Android story and a desktop story and no iOS story worth the name, and RoboVM became the answer. If you had a libGDX game in 2014 and wanted it on an iPhone, this was the road. The compiler was open source at the start, under the GPL, and the people filing bugs against it were largely the people shipping games on top of it.
Then the ownership changed twice. Xamarin bought RoboVM in October 2015, and Microsoft bought Xamarin in February 2016. On 15 April 2016 Henric Müller posted a note titled "RoboVM Winding Down" with the sentence that ends every story like this one: "After looking at the complete landscape for mobile development with Java, the decision has been made to wind down development of RoboVM." Java on iOS was not a thing Microsoft had bought Xamarin to get.
~ the chronicle ~
| Born | 7 January 2013, when the repository went up |
|---|---|
| Peak | 1,635 stars, and the standard route for libGDX games onto iOS |
| Killed | 30 April 2017, when license activation stopped |
| Lifespan | 4 years, 4 months |
| Made by | Niklas Therning and Henric Müller, then Xamarin, then Microsoft |
| Killed by | Microsoft, four months after it bought Xamarin |
~ two owners in six months ~
The thing worth noticing is how short the window was. Six months and a week separate the Xamarin acquisition from the shutdown notice, and only two months separate the Microsoft purchase from it. The compiler was still shipping releases the month before it was canceled. What happened to it was an inventory review at a company that had acquired the company that acquired it.
The homepage kept the receipt. After April 2016 the body of robovm.com read "RoboVM is winding down" while the title tag in the same document still said "Cross platform mobile app development in Java | Create truly native iOS apps in Java." The pricing page got the WordPress treatment and became /pricing__trashed/, which the Internet Archive caught returning a 404 on 25 April 2016. The apex does not resolve at all now.
~ money back and a consolation prize ~
The wind-down notice was more generous than most. Paid licenses could keep activating until 30 April 2017. That is the last day the product did anything for anybody, so it is the date on this page. Full refunds went to every existing customer as of the day of the announcement. Anyone still subscribed was also offered a choice between six free months of Xamarin Test Cloud and a year of HockeyApp Business S. Two Microsoft products, handed to people whose Java compiler had just been taken away.
~ the five day fork ~
I have never shipped an iOS app, in Java or in anything else, so what I recognize here is not the product. It is the pattern. You pick a toolchain, you build on it, and then whether it still exists in two years turns out to be a question about somebody else's acquisition strategy. RoboVM is a clean specimen because its users answered that question themselves.
The MobiVM repository was created on 20 April 2016, five days after the farewell letter. A handful of libGDX contributors took the last version that had been developed in the open, before the project moved to paid licenses in 2015, and rebuilt from there. Within months they had feature parity, a debugger and Xcode integration. libGDX still compiles to iOS through that fork, and its last push was nine days before this page was written.
The farewell letter is signed by seven first names: Niklas, Henric, Mario, Dominik, Hans, Joseph, Johan. The Mario is Mario Zechner, who wrote libGDX. The framework whose users RoboVM mostly served had its creator on the team, and when the company went down it was that framework's community that kept the compiler alive.
~ leave a rose ~
an anonymous tribute. one rose per visitor per day.
@}-->-- ... roses left here
~ leave a wreath ~
a rose fades by morning. a wreath stays on this grave for good, with your name on it.
from $1, paid once through stripe. it keeps the graveyard running: the hosting and the nightly digging. adopt it and the headstone reads "maintained in memory by" you. the groundskeeper plants new wreaths at the next tending, usually within a day.
» one email a week: new graves and the anniversaries of the dead. subscribe
other software: Google Pinyin, PC Tools, macOS Server, Passport Designs
also died in 2015-2019: Universal Jobmatch, Zeropaid.com, Zuji
~ leave a note ~
visitors before you have left these graveside notes. anonymous welcome.