Forward Momentum in the Ubuntu App Developer Platform

Last week I was in Orlando sprinting with my team as well as the platform, SDK, and security teams and some desktop and design folks. As usual after a sprint, I have been slammed catching up with email, but I wanted to provide a summary of some work going that you can expect to see soon in the Ubuntu app developer platform.

HTML5

In the last few months we have been working to refine our HTML5 support in the Ubuntu SDK.

Today we have full HTML5 support in the SDK but we are working to make HTML5 apps more integrated than ever. This work will land in the next week and will include the following improvements:

  • Consolidating everything into a single template and container. This means that when you create a new app in the SDK you have a single template to get started with that runs in a single container.
  • Updating our Cordova support to access all the devices and sensors on the device (e.g. camera, accelerometer).
  • Adding full Ubuntu platform API access via Javascript. With this you will be able to access Online Accounts, the Content Hub, the App Lifecycle support etc and more.
  • Adding a series of refinements to the look and feel of the HTML5 Ubuntu components. Before the components looked a little different to the QML ones and we are closing the loop.
  • Full API documentation for the Cordova and Platform APIs as well as a number of tutorials for getting started with HTML5.
  • On a side note, there has been some tremendous speed improvements in Oxide which will benefit all HTML5 apps. Thanks to Chris Coulson for his efforts here.

With these refinements you will be able use the Ubuntu SDK to create a new HTML5 app from a single template, follow a tutorial to make a truly native look and feel HTML5 app utilizing the Cordova and Platform APIs, then click one button to generate a click package and fill in a simple form and get your app in the store.

I want to offer many thanks to David Barth’s team for being so responsive when I asked them to refine our HTML5 support ready for MWC. They have worked tirelessly, and thanks also to Daniel Holbach for coordinating the many moving pieces here.

SDK

Our SDK is the jewel in the crown of our app development story. Our goal is that the SDK gets you on your Ubuntu app development adventure and provides all the tools you need to be creative and productive.

Fortunately there are a number of improvements coming here too. This includes:

  • We will be including a full emulator. This makes it easy for those of you without a device to test that your app will work well within the context of Ubuntu for smartphones or tablets. This is just a click away in the SDK.
  • We are also making a series of user interface refinements to simplify how the SDK works overall. This will include uncluttering some parts of the UI as well as tidying up some of the Ubuntu-specific pieces.
  • Device support has been enhanced. This makes it easier than ever to run your app on your Ubuntu phone or tablet with just a click.
  • We have looked at some of the common issues people have experienced when publishing their apps to the store and included automatic checks in the SDK to notify the developer before they submit them to the store. This will speed up the submissions process.
  • Support for “fat” packages is being added. This means you can ship cross-compiled pieces with your app (e.g. a C++ plugin).
  • Last but certainly not least, we are going to be adding preliminary support for Go and QML to the Ubuntu SDK in the next month. We want our app developers to be able to harness Go and with the excellent Go/QML work Gustavo has done, we will be landing this soon.

As ever, you can download the latest Ubuntu SDK by following the instructions on developer.ubuntu.com. Thanks to Zoltan and his team for his efforts

developer.ubuntu.com

An awesome SDK and a fantastic platform is only as good as the people who know how to use it. With this in mind we are continuing to expand and improve developer.ubuntu.com to be a world-class developer portal.

With this we have many pieces coming:

  • A refinement of the navigational structure of the site to make it easier to get around for new users.
  • Our refined HTML5 support will also get full Cordova and Platform API documentation on the site. Michael Hall did a tremendous job integrating Ubuntu and upstream API docs in the same site with a single search engine.
  • A library of primers that explain how key parts of our platform work (e.g. Online Accounts, Content Hub, App Lifecycle, App Insulation etc). This will help developers understand how to utilize those parts of the platform.
  • Refining our overview pages to explain how the platform works, what is in the SDK etc.
  • A refreshed set of cookbook questions, all sourced from our standard support resource, Ask Ubuntu.
  • We will also be announcing Ubuntu Pioneers soon. I don’t want to spoil the surprise, so more on this later. :-)

Thanks to David, Michael, and Kyle on my team for all of their wonderful efforts here.

Desktop Integration

In the Ubuntu 14.04 cycle we are also making some enhancements to how Ubuntu SDK apps can run on the desktop.

As many of you will know we are planning on shipping a preview session of Unity8 running on Mir. This means that you can open Unity8 from the normal Ubuntu login screen so you can play with it and test it. This will not look like the desktop; that work is on-going to converge Unity 8 into the desktop form-factor and will come later. It will however provide a base in which developers can try the new codebase and hack on it to converge it to the desktop more quickly. We are refreshing our Unity8 developer docs to make this on-ramp easier.

We are also going to make some changes to make running Ubuntu SDK apps on Unity 7 more comfortable. This will include things such as displaying scrollbars, right-click menus etc. More on this will be confirmed as we get closer to release.

All in all, lots of exciting work going on. We are at the beginning of a new revolution in Ubuntu where beautifully designed, integrated, and powerful apps can drive a new generation of Ubuntu, all build on the principles of Open Source, collaboration, and community.

  • http://www.nhaines.com/ Nathan Haines

    In order to achieve the vision of Ubuntu on all devices, a lot of work is still needed. It’s really exciting to see how much of it is in progress and nearly finished. Thanks so much for the updates, Jono! Ubuntu on my phone looks stunning and brilliant, and as the SDK becomes more powerful it will only become more and more compelling. A real converged future is gleaming and glittering far off on the horizon, and I think Ubuntu 14.10 and Ubuntu 15.04 will leave no room for doubt.

    I hadn’t realized that Ubuntu SDK desktop integration for Unity 7 (scroll bars, context mentions, and hopefully standard menus!) was going to come in Ubuntu 14.04 LTS. This is fantastic news and really makes me interested in moving forward on the killer converged app idea I have.

  • Sid Payton

    When Unity8+Mir will be available in 14.04 I would suggest to adjust the wallpaper to say that this is not the converged desktop Version and that it will look more like Unity7 once it’s finished. I’m affraid that alot of people otherwise will missunderstand this feature as a lot of people did before when it comes to Ubuntu. Most average user read about this (if they do at all read about it) in unwell researched websites or blogs. I still have to convince people that the Edge won’t be made and that it is not the end oft Ubuntu on touch. A lot of people just don’t read thourougly. :(

  • globalworkspacetheory

    Will something like “Unity.units.gu()” (or “window.Unity.units.gu()”) be available for Cordova/JavaScript?

  • Rasmus Eneman

    It would be aswsome for WebApps integration if support were added for Googles Dart language. It’s easier to write big apps in Dart than Javascript as the language it’s designed with that in mind and have classical inhetetence. Also it’s better performant than Javascript.

  • Kyle Nitzsche

    gu units are coming to Ubuntu HTML5 apps soon.

  • Marco

    Are you really making Unity 8 available from the login for every user? Shouldn’t this be enabled over a custom setting or something? I think some (new) users may be irritated by this, won’t they?

  • Anonymous

    It will be a different login profile so there won’t be any confusion.

  • Marco

    o/

  • Mark Curtis

    When Unity 8 gets finalized, (14.10, 15.04, whenever) will that final version be backported to the ‘preview’ in 14.04 so that way people who stick with an LTS won’t have to wait until 16.04 for a convergent desktop?

  • Renat Yakubov

    And what about Ubuntu Touch browser? Now it has something like 350 points at HTML5TEST, lacking crucial functionality. Are there any plans to put it in line with Chrome or Firefox for Android anytime soon? Without it, it would be difficult to create decent webapps.