Where we’re going with “Cloud”
I want to start this post by apologizing to the community for being relatively quiet on our Ionic Cloud product. We should have communicated more clearly our intentions and work in the background and give you all a sense of direction on the product. This post is my attempt to do that.
We started the Ionic Cloud product over two years ago, driven by the vision that we’d have this huge community of mobile developers that would be using Ionic’s front-end tools and technology, but would need and want a lot of help picking and using mobile-ready backend services. This product would be best friends with Ionic Framework, and create an amazing full-stack developer experience. It took us a while to get to the first version of the Ionic Cloud product, and we rolled out a v1 with Push notifications, User auth, binary packaging, and more.
Over the last two years, we’ve spent a lot of time soul searching and trying to understand where Ionic can add the most value in a way that provides something uniquely missing in the market. The reality of cloud products today is that many big companies are picking mature, enterprise-ready services like AWS or Azure, and competing with that felt both unnecessary and uninspiring, and would still leave a huge void in the part of the stack Ionic has been able to help the most.
We knew we needed to do something uniquely Ionic that would enable us to focus on what we do best and continue to grow Ionic into a strong and healthy business, all while helping our users work with the 3rd party vendors of their choice.
Learning to Learn
One of the biggest realizations we made about our Cloud product is that it had been built in a vacuum without nearly enough customer feedback and interaction. So, the team formerly known as the “cloud” team spent the first quarter of this year talking to over 80 Ionic customers on the phone (yes, we all had to learn how to use a phone again). Initially, we just wanted to hear about their experiences using Ionic, but after a while a number of trends emerged that had major product implications for Cloud.
The first was that Ionic View was intensely loved but also crying out for feature and product upgrades. Clearly, there was a strong business opportunity helping developers share and test apps that was orders of magnitude faster and easier to use than similar tools like TestFlight. There seemed to be a strong opportunity taking this to the next level and focusing on that use case.
The next was that teams really wanted to take bigger advantage of Ionic’s live update features. Ionic’s live updating (the “Deploy” service) was something we’ve pushed in a lukewarm fashion in the past, but started to see a larger role for not just in native environments but in progressive web and desktop contexts as well. We never made live updating a core part of the Ionic development experience when it was clearly one of its major strengths.
Finally, there were a few key services that made sense for Ionic to provide that weren’t just “me too” copies of existing services. Some examples of these services include error reporting, PWA hosting, and native build features, among other things.
We decided that we needed to rally around these strengths and build something unique that would turn Ionic not just into a strong open source framework, but a wonderful and complete app developer experience.
After talking to all of these highly active Ionic teams and hundreds of individual developers, we now have a clearer plan for where to take the “Cloud” product.
First, we will be dropping the “Cloud” name. In order for this product to both be successful, and make it valuable to as many Ionic developers as possible, it has to be close to the core Ionic experience; “Cloud” cannot be a separate company or a separate brand.
Second, we’re going to continue running a number of our “Cloud” services today, but they will evolve. As you know we shut down Ionic Analytics and Ionic DB, two businesses we didn’t feel like we could compete or build a big business on for a variety of reasons. Push continues to be the most popular service of the suite, and we’re excited about taking that further and supporting web push and deeper integration into ionic. Auth will most likely be changing into a user profile meta data system for Push, and we’re planning on removing the actual user authentication features. Package is going to play a major role in the new direction for “Cloud.” Regardless, we will work on a migration path to help those using any one of our production services and will have more information available to users of these services soon.
Finally, we are still incredibly passionate about helping Ionic developers get into a backend stack that works for them. We will continue to work with leading cloud vendors like Amazon Web Services (see our latest post on Ionic + AWS), and are hoping to have even tighter integration with a number of vendors in the future.
git push ionic master
We’ve always believed that Ionic can help developers not only build UI more quickly and easily, but use the awesome power of the web to develop, test, and deploy apps faster than ever before. We’re going to go all-in on building the developer experience we’ve wanted to see on mobile, and we can’t wait to share it with you.
First, we’re taking the
ionic upload concept and changing it to a git-based development experience. Instead, you simply
git push ionic master and your code is pushed to your Ionic account. Once there, it can be deployed and shared on Ionic View for fast testing, pushed into production as a new Deploy, or built as a new binary with Package. Also, Teams can invite and share outside tester accounts more easily instead of requiring Ionic developer accounts. If it helps, think of it as “Heroku for Mobile.”
Along with easier deployment, we will be adding an error and exception tracking service to make it easy to pinpoint runtime errors and crashes in your app. During our conversations with users, this was one of the top requests, and there are a number of important reasons why the existing services in the market aren’t working well for Ionic developers.
We will continue to invest in our Ionic Creator product, which is generating nice revenue and popular with Enterprise users in particular, and work to make Creator work perfectly with this new platform (and much better support for future versions of Ionic).
One big change is that we are going to be dividing Ionic View into two apps, and adding premium team-focused features to one. The first app will be the new Ionic View, focused on beta and client testing for teams. As part of this, Ionic View will be upgraded with a number of key features like test groups and deeplinking, making it much more powerful than before. Ionic View will support public app sharing for free (which is sort of how it works today), with team features requiring a paid account.
The second app will be totally free and focused on dramatically improving the test-on-device experience of the old View app. We’re calling this the “Ionic Developer App,” and it will come with some awesome features, like automatic connection with ionic serve for immediate device testing (with support for plugins!).
Finally, we are working on ways to facilitate easy CI and automated testing, but that is a bit longer term of an effort.
Where we go from here
We see our future in the development, testing, and deployment part of the app development lifecycle, and we’re excited about focusing on this part of the stack. We believe that Ionic will be able to build a uniquely valuable offering that makes mobile development 100x faster and easier, and also helps us build Ionic into a very strong business.
We’re a month or two out from taking the public wraps off of this improved Ionic experience, and we will have more info once we’re closer to launch.
I want to thank all of the Ionic developers that have tried our service or helped give feedback during one of our customer interviews. Your help has been invaluable as we’ve tried to figure out where to focus. I’m confident you’ll love where we’re going and that it will make you much more productive as a mobile developer.
I also want to thank all of the Cloud users and customers for your patience as we’ve been trying to figure all of this out. Trust us, we don’t like the uncertainty either. We are confident this new direction is going to be a win for Ionic, and we are excited about throwing a lot of energy and resources behind building it out. As for existing Cloud customers, we will grandfather and migrate existing plans over when the time is right.
We will be release more info in the coming weeks and months, stay tuned!