01 Mar

The Sleeping Dragon Has Awoken, And Is Filled With A Terrible Resolve

RubyMotion has been under my stewardship for almost two years now. When it comes to my personal projects, I am a "move fast and break stuff" kind of person. But with the immense responsibility of RubyMotion and accountability to other developers, I took this time to think very carefully about the future of RubyMotion. It's now finally time to execute on my long term vision.

RubyMotion is now owned by a parent company called DragonRuby LLC. This transfer of owership allowed me to explicitly separate RubyMotion from my own assets (all the mobile applications I've built). More importantly, this separation has allowed me to bring on partners. RubyMotion is now owned by three partners (stewards): Amir Rajan, Aaron Lasseigne, and Ryan Gordon.

RubyMotion's Past

Under my stewardship, twenty updates to RubyMotion have released in the past twenty months. I addressed every person directly, as simply a fellow developer, in the weeds of mobile development, just like every other customer who wanted to build iOS, Android, and Mac apps. Not a single comment on the forum or the Slack channel was left unanswered. I felt that the best thing for RubyMotion at that time was to be present, and show that I really care about every dev that wanted to build something with mobile and Mac (regardless of what technology stack they used). During this time the first ideas of RubyMotion's future began to come into focus.

The technology needed to build cross platform apps is important. But, so is the business of app development. From initial project creation, to incremental deployment, user acquisition, maintenance, and monetization. No one other than RubyMotion is even attempting to address all these challenges. No one other than RubyMotion has owners that eat their own dogfood in the same way as their customers have to. No one's livelihood is so directly related to the success of its customers. This differentiator carries value (in my opinion more value than being backed by a soulless, battleship-grey corporation).

In short, the reason to choose RubyMotion over any other option out there is because you want to make successful cross platform apps.

RubyMotion's Future

The biggest mistake I could have made with RubyMotion would have been to move forward haphazardly without thinking deeply about this value. Another big mistake would have been to bolster the stewardship of RubyMotion with people that didn't compliment my strengths and weaknesses. The time to execute is finally here.

Ruby has changed the way software is built on the server. No one would contest that. So, RubyMotion’s resolve is to help developers build successful applications with "Ruby Everywhere Else (TM)". I've brought on two carefully selected, equal partners to make this a reality. Our roles with regards to this expansion of RubyMotion are as follows:

(Re)Introduction Of Amir Rajan And His Responsibilities

Introduction: Amir Rajan is a jack of all trades kind of developer. He has fifteen years of development experience across many technical stacks (.Net, C#, F#, Objective C, Ruby, JavaScript and C). As a sole proprietor, he has developed five iOS games, one Android game, and one Mac app (currently in beta), all of them with RubyMotion. His applications have amassed three million downloads worldwide, representing the most successful suite of RubyMotion apps out there.

The Business of App Development: Amir Rajan will handle the day today support of all existing customers. He will continue to work hand-in-hand with startups to ensure they have the best chance of success.

RubyMotion Compiler Maintenance: Amir Rajan will be responsible for the regular maintenance of the RubyMotion compiler. He will continue to sustainably open source the internals of RubyMotion and will help OSS developers acquire the competencies needed to maintain an LLVM compiler.

Introduction of Aaron Lasseigne And His Responsibilities

Introduction: Aaron Lasseigne is a veteran Ruby developer with experience running open source projects. He organizes the Dallas Ruby Brigade and wrote an entire book covering strings in Ruby. You can find out more about Aaron on his website.

Open Source: Aaron will be responsible for the health and expansion of RubyMotion's OSS ecosystem. He will support the existing maintainers, and take over maintenance of the existing OSS portions of RubyMotion itself.

The Business of App Development: Aaron will support Amir as needed with the business of app development and ensure that the knowledge of building successful apps is captured within the RubyMotion toolchain (and publicly advertised).

Introduction of Ryan Gordon And His Responsibilities

Introduction: I tried to think of an introduction for Ryan but it's probably easier to just check out his Wikipedia page.

RubyMotion Compiler Expansion: Ryan Gordon will be responsible for expanding RubyMotion past iOS, Android, and Mac. He will support Amir in building successful "Ruby Everywhere Else (TM)".

Open Source: Ryan Gordon will provide input to Aaron and Amir with their respective open source initiatives. Especially with regards to sustainability of products that are not sponsored by (or beholden to) large corporations.

Next Steps

This change to the owners of RubyMotion is barely a few days old. So I have a lot of things to brain dump to Aaron and Ryan. After the knowledge transfer, Aaron will start work on updating all the public facing parts of RubyMotion. I'll be prepping for RubyKaigi, Xcode 10.2 updates, and Android's deprecation of 32 bit devices. Ryan will be working on the next major expansion of the tech stack.

New Logo

RubyMotion history is long. Originally it was only supported on iOS and Mac. Android support was then added. And now, finalization of RubyMotion's next expansion is close to an MVP. Even with all these changes, the RubyMotion logo still presents a rubied laptop, branded with an Apple App Store logo. This is no longer the case. Here is the new logo that better represents a Ruby compiler powered by LLVM:

We Are Present

If you have any questions feel free to jump on the Slack channel and DM me directly, or post to the Community Forum. Expect more entries from Aaron as things start to solidify.