How Dorico came to the iPad: the behind the scenes story

With today's release of Dorico for iPad, the Dorico team has realised an ambition that has its roots in our very first days working for Steinberg in late 2012 and early 2013. If you're interested to find out more about how Dorico for iPad went from proof of concept to shipping app in only seven months, read on. If, on the other hand, you just want to install Dorico for iPad, you can download it free from the App Store right now.

The dream

The story of how Dorico came to iPad begins right at the beginning of the story of the application itself. Even back at the start of 2013 when we started building the foundational technologies that would form the basis of Dorico, when the iPad was itself only two or three years old, we talked about how we could design the application in such a way that we could bring it to iPad when the opportunity presented itself. For a good period of time during the early development of the application, we periodically built our growing core libraries for iOS, though we never had a running application that a user could interact with.

We also kept the iPad's affordances in mind as we started to develop the interface of the application, and the use of large, touch-friendly controls for important elements such as the mode buttons on the toolbar and the toolbox buttons on the left and right sides of Write mode was done with half an eye on a future iPad version. Of course, once we actually started working on the iPad version seriously in 2020, we quickly saw how naive this initial work was – but it did mean that the bones of the user experience were at least decent.

As the mountain of work to develop Dorico 1.0 grew and grew, we had to put our ambitions of bringing Dorico to iPad on the back burner, and for several years, aside from one or two of the developers occasionally ensuring that our core libraries could still be built for iOS, we were completely focused on building and maturing the desktop application.

The chance

In the summer of 2020, as the team set about addressing some technical debt and working on some longer-term projects after releasing Dorico 3.5.10, we decided that Graham, one of our most senior developers, should spend some time trying out a new approach at my suggestion: rather than building up from the core libraries and then considering how to build an iOS application around those libraries (as we had effectively done with Dorico itself), what if we instead simply tried to compile the whole Dorico application for iPad?

The power of iPad hardware and the richness of the software experience on the platform had moved on enormously since 2013, and with the whispers in the air that Apple would soon be building Macs with iPad processors inside them, it seemed like the device itself was certainly now powerful enough to cope with the full Dorico experience. And because Dorico is built upon the cross-platform Qt application framework, which had decent if quirky iOS support, maybe it would now be feasible to ask the question, "What do we have to remove?" rather than "What do we need to rebuild?"

After just a week or so, Graham was able to get Dorico up and running on the iPad. Quite a few things did have to be removed to get to that point – not least the Cubase audio engine that Dorico relies upon for VST instrument, MIDI and audio support – and the application was something of an ugly duckling, with a completely incongruous menu bar at the top of the iPad's display. But this was all the same incredibly tantalising: it was clearly possible to run Dorico on the iPad. So what next?

The exploration

One of the first things we had to determine was how we would address the lack of the Cubase audio engine on iOS: fortunately, Steinberg already has an expert team of iOS developers under its roof, working on the award-winning Cubasis digital audio workstation, which is available for both iOS and more recently for Android. We got in touch with our colleagues and asked whether the Cubasis audio engine might be suitable for use by Dorico on iPad. Alex and his colleagues in Vienna were happy to help, and by the end of the summer had provided us with an initial build of the audio engine for us to try out. Time and again through this project we have been incredibly fortunate to be able to draw upon the expertise and work of Alex, Artur and Jan, and it's safe to say that without their invaluable contributions you would not be reading this story now.

We now had a proof of concept for the Dorico app itself, and a viable audio engine that would fulfill much the same role on iOS as the Cubase audio engine fulfills on macOS and Windows. But was the time right to actually start working on an iPad version for real? We didn't know what hurdles would really stand in our way, or how much work it would really take to progress from a proof of concept to an app that offers a good user experience.

Some time before, some of our colleagues had commissioned a report from a consultancy with a particular focus on music apps, looking to identify good opportunities in the app marketplaces that Steinberg could address, either with its existing technologies or in closely related areas. This report identified that although there were already a healthy number of apps focused on performing from digital music, and a number of apps focused on creating sheet music, there was nevertheless a good opportunity for Steinberg to introduce an app in either or both of these areas.

Several of us in the team use apps like forScore and Newzik in our musical life, so we already knew that these apps are very fully-featured and meet the needs of performing musicians very well. Although Dorico has a technologically superior engine for displaying sheet music, we had none of the other ingredients that would be needed to make a successful app focused on the performing musician. So we turned our attention to the apps focused on creating music notation.

The opportunity

There are already at least three great options for music notation software on iPad: StaffPad, Notion, and Symphony Pro. StaffPad is beautifully designed, with a workflow built entirely around handwriting input, and a great playback engine, ideal for realising compositional ideas and then sharing them in real time with other musicians using the companion StaffPad Reader app. It's tremendously polished, but not everybody is able to use its Apple Pencil-based input method successfully. Notion is a mature app that has been on the App Store for a decade, is fully featured, and is compatible with Notion on macOS and Windows. Symphony Pro is perhaps the closest to a traditional desktop music notation application, and it too has been available since 2011 and has matured nicely in that time. And there are several other less well-known – and in a couple of cases not particularly reputable – apps in the App Store.

We had some big questions to answer: what could a Dorico app bring to the App Store that these existing solutions don't provide? Would we be able to bring enough unique value to iPad-using musicians to make it likely that they might download and use Dorico?

After a period of reflection, we decided that there was plenty of value that we could offer: Dorico has a uniquely powerful engine for handling music notation in a semantic way; it has the most beautiful automatic engraving and highest graphical quality of any music notation software; it includes sophisticated sequencer-style MIDI editing tools; and it could provide a useful new way for musicians to create and share music in the wider ecosystem, not only with users of Dorico on macOS and Windows, but with users of other apps on both desktop and mobile platforms.

Although we were already stretched very thin, with different members of the team working on a number of different projects – some working on features for the next major version of Dorico, some doing foundational work on future interoperability features to bring Dorico and Cubase closer together, and some contributing directly to the development of Steinberg's new license management system – we felt that this was nevertheless a good time to start working on this project. In November 2020, we took our proposal to Steinberg's senior management team and asked for their approval to start work on Dorico for iPad. We were given the green light: we were going to build Dorico for iPad.

The hard work

Although every member of the Dorico team has contributed to the development of Dorico for iPad, we established a core group who would do take the lead on the technical work to be done. On the development side, Andrew, András and Graham would lead the charge; Anthony would handle user interface and user experience; and yours truly would lead the product management effort (and tinker with some of the required UI/UX changes).

Andrew's main area of responsibility has been the integration of the Cubasis audio engine, implementation of Core MIDI support, building the new Mixer and effect UIs, and handling support for displaying and interacting with Audio Unit plug-ins. Working together with Paul, Andrew worked on making it possible for projects edited in Dorico for iPad to preserve the playback template data separately on mobile and desktop platforms, so that when the next major version of Dorico is released, it will be possible to take a project from the iPad to your desktop machine and vice versa, preserving the playback settings for each platform. (For the time being, if you open a project created on the other platform, Dorico will overwrite the saved playback template with one for the current platform.) Among many other things, Andrew also worked on building in-app purchase support and integrating the ability to sign in to Dorico with your Steinberg ID, which increases the player limit for projects created in the app without an active subscription from two to four.

Graham has taken the lead on building the redesigned Hub that appears when you start the app, allowing you to open existing projects, visit the YouTube channel and access learning resources, and to create new projects, with new options to configure the new project before you create it. He has also implemented the new lower zone in the main project window, and built the new Keyboard, Drum Pad and Fretboard panels that are the main methods of note input and editing in Dorico for iPad. He has also implemented support for printing, and in countless other ways has contributed to the adaptations that make Dorico for iPad feel at home on this new platform.

András has taken a strong technical lead on introducing the high-performance Qt Quick UI framework to Dorico, and has demonstrated his mastery of this powerful technology by rebuilding the MIDI editors for Dorico for iPad from the ground up using Qt Quick. He implemented a complete set of UI controls that match almost to the pixel the look and feel of the controls used in Dorico's existing windows and dialogs, and built infrastructure to allow us to mix Qt Quick components with existing Qt Widgets-based UI relatively seamlessly, with the end result that we hope you will never be aware of which parts of the application are implemented in one framework and which in the other. As the beautiful and powerful new Key Editor in Dorico for iPad demonstrates, Qt Quick will provide us with the means to build higher-performance, smoother and more polished user interfaces, and over time we will migrate more and more of the application to this framework, with the promise of even greater performance gains in the future.

Anthony has worked tirelessly not only on the visual design of Dorico for iPad, but also in close collaboration with me on the new interactions needed to adapt Dorico's existing workflows for the new platform. He has established a refined new take on Dorico's established visual style, stripping it back further, and has made a complete revision of the icons that appear throughout Dorico's user interface, designed for greater internal consistency and for superior appearance on high pixel-density displays across platforms. As always, he has sweated over every detail of the application, so that it both looks and feels just as you would expect: both familiar and instantly recognisable as Dorico, but with a new level of refinement.

And this core group has been ably assisted by the rest of the Dorico team, with everybody playing a role in bringing this app to life. With work really only beginning in earnest at the start of 2021, Dorico for iPad has gone from vision to the App Store in just seven months, thanks to the tireless efforts of the team, and because we have been able to leverage the years of work that has already gone into building Dorico for macOS and Windows.

It hasn't been easy: all of us have been working fully remotely throughout the project, and there have been many times over the past six months that it appeared a major roadblock might become an insurmountable obstacle. But we are proud of what we have achieved and are excited to see how musicians will receive the new product.

The future

We have taken the decision to release Dorico for iPad as a free app with a similar level of functionality to Dorico SE for macOS and Windows. This means it's easy for anybody to download and try out. Like the low-end versions of Dorico on the desktop, Dorico for iPad allows you to open Dorico projects of any size, and they open read-only so that you can view them and play them back.

Because of the nature of the tools that Apple provides to independent developers to do business on their App Store, and specifically because there is no support for paid software updates, in order to support the future development of the app and to provide the best value to our users, we have adopted a subscription model for Dorico for iPad. The subscription is optional, and the app will always be fully functional indefinitely for projects of up to two players (four, if you sign in for free with your Steinberg ID). If you choose to sign up for the subscription you will gain access not only to a much higher player limit (12, like Dorico Elements), but also access to graphical editing and system/frame formatting in Engrave mode, the Notation Options dialog, and the ability to use third-party Audio Unit plug-ins in Play mode.

In future, we would love to add a higher subscription tier that unlocks even more of Dorico Pro's functionality. There is plenty of room for us to expand Engrave mode, in particular, if there is sufficient support for the current subscription from our users.

We now consider the iPad our third platform for Dorico, alongside macOS and Windows, and we plan to update the iPad version in step with the desktop version, at least broadly speaking. Due to the small size of our core team and the vagaries of App Store approval, we expect that there will be some disparity between the release date of a new desktop version and the corresponding iPad update. Because Dorico for iPad is free, all users will benefit from these updates, with some new features being reserved for those users who have purchased the optional in-app subscription.

We're excited to be at the start of this new chapter of Dorico's story. With the release of Dorico for iPad we are realising a dream we have harboured since we joined Steinberg nearly a decade ago. We have made Dorico for iPad with love, from our homes in England, Germany and Austria, and we hope you will welcome it not only into your own home, but wherever you may take your iPad.