This article is part of a series of blog posts covering the many different areas of work going on in Ubuntu right now. See the introduction post here that links to all the articles.
In my last article I talked about the new app upload process, but today I am going to talk about how developers write apps in the first place.
For a long time our app developer story in Ubuntu has been quite fragmented. This has been due to a number of reasons:
- We have not had a single consistent platform that we ask developers to write to. We have traditionally supported GTK, Qt, and anything else that lives in the archive. This not only presents a inconsistent developer experience, but also an inconsistent user experience too.
- We lacked app design guidelines around how developers should build apps that look consistent on the platform.
- We didn’t have a single consistent developer portal and support network to provide the support and guidance app developers need to build awesome apps and get them into the platform.
- We also didn’t have a good answer for writing an app that can work across multiple form factors.
- Finally, we didn’t have a single consistent SDK that developers could use to write apps: they had to pick from a plethora of tools, with varying degrees of quality.
We tried to rectify some of these issues by recommending people write apps with Python and GTK, and we wrote a tool called Quickly to optimize this process. Quickly would generate a project and help with tasks such as editing, creating your UI, and generating a package, but quickly was a somewhat primitive and incomplete solution to the problem.
The work on Quickly also showcased some limitations in our tooling. At the time we recommended people write apps using GEdit, Glade, and GTK. Unfortunately, this collection of tools just didn’t compare favorably to the developer experience on Apple and Google’s platforms, despite the best efforts of the respective upstreams. We needed to provide an end-to-end SDK for developers that would take a developer from a new project through to submitting the app into the Ubuntu Software Center.Choosing a Technology
We set out to resolve these issues and build a consistent Ubuntu SDK.
The first decision we made was around which frameworks we wanted to support when developers write their apps. These frameworks needed to be highly efficient and able to converge across multiple devices. We finalized this list as:
- Qt/QML – native applications that can be run on any of the devices and adapt to the screen size.
- HTML5 – web applications that can also adapt to the device with deep integration into the system services (e.g. messaging menu, launcher etc).
- Online Services – integration of web apps into the system services (e.g. messaging menu and unity integration).
- OpenGL – full OpenGL support for games.
Some time ago we decided to focus on Qt as a platform for not only building our SDK but building our convergence story too. Qt has many benefits:
- It provides a fast C++ library and toolkit as well as a neat higher-level declarative technology in the form of QML. This means that we have the power of C++ for system software (e.g. writing Unity) but app devs can write apps using a high-performance higher level technology that is easier to learn and faster to write apps with.
- Qt provides an awesome set of tools – an integrated IDE, debugger, designer and more.
- The Qt Creator IDE is very pluggable which means we could use it for our main IDE and use it for writing apps in HTML5 and OpenGL.
- Qt and QML documentation is fantastic.
- Qt has a strong eco-system surrounding it and lots of companies in that eco-system. This makes contracting out work and hiring much easier.
- Qt is a healthy upstream and very keen to work with those who consume it.
We also started looking into the best way in which we could support HTML5 developers. While the IDE decision had been made (Qt Creator) we also decided to invest in building Apache Cordova support into our SDK to make writing HTML5 as flexible as possible. This way you can either write a stock HTML5 app or use the cordova functionality…all accessible within the same IDE.The Ubuntu SDK
We formed the SDK team and started work. This work was broken into two areas.
Firstly, we started work on the app developer platform. This is largely identifying the needs of app developers for writing apps for Ubuntu devices, and ensuring we have support for those needs (which largely requires integrating that support and creating APIs). This has included:
- Building the Ubuntu Component set – a set of widgets that are usable in QML and HTML5 that developers can use to construct their apps.
- Application lifecycle (suspending apps to preserve battery life).
- Location Services.
- Multimedia and Music.
- Calendar Integration (using Evolution Data Server).
- Sensor services (e.g. accelerometer).
This work is currently on-going and in various stages of completeness, but all of these platform APIs will be ready by the end of August and many apps are already consuming them. Remember, these services will be made available across all form factors.
The second piece was the SDK itself. This is tuning the Qt Creator IDE for our needs and ensuring it can be used to create QML, HTML5, and OpenGL apps. This work has touched on a number of different areas and has resulted in the following features:
- We have project templates for QML, HTML5 (Cordova), HTML5 (Stock), and Scopes – here you can easily generate a project to get started with.
- Source control integration for Bazaar and Git – this makes collaboration around an app easier.
- Device integration – with just a click of a button you can run your app on an Ubuntu device to test that it works correctly.
- Click package generation – generate a click package that you can use to upload to the Ubuntu Software Center.
- Ubuntu Component Showcase – browse all the different Ubuntu components and see the code for how to use them.
- Integrated documentation, IRC, design guidelines, and Ask Ubuntu support.
We rolled all of these features into the first Beta of the SDK which was released about a month ago and you can get started with it on developer.ubuntu.com.developer.ubuntu.com
Speaking of developer.ubuntu.com, we have invested significantly in making the site a central resource for all of your development needs.
Currently the site provides tutorials for building apps, API documentation, and a cookbook that brings together the top rated questions from Ask Ubuntu. The site provides a good spring-board for getting started.
We are however in the process of making a number of improvements to developer.ubuntu.com. This will include:
- Revised site navigation and structure to make it easier to use.
- Better and more clearly integrated API documentation.
- Wider API coverage.
- Cookbooks for all of the different app templates.
- Full integration of Juju Charm documentation and API.
We are expecting to have many of these improvements in place in the coming weeks.Are We There yet?
As we stand today we now have a powerful Ubuntu SDK with support for writing convergent apps in Qt/QML, HTML5, OpenGL, and writing Scopes that fit into the dash. You can go to developer.ubuntu.com to find out more, install the SDK, and fine tutorials for getting started.
We are only just gettin started though. The 1.0 of the SDK will be released in October and expect to find more refinements, better integration, and more features as we understand the needs of our developers better and expand the platform.
We’re back with the twenty-sixth episode of Season Six of the Ubuntu Podcast from the UK LoCo Team! Alan Pope, Mark Johnson, Tony Whitmore, and (sort of) Laura Cowen are back in Studio A with carrot cake, tea, and an interview.Download OGG Download MP3 Play in Popup
You can also watch the video on Youtube!
In this week’s show:-
- We interview Zane Swafford about what happened when he sold an application through the Ubuntu Software Centre.
- We share some Command Line Lurve:
- We chat about trying bitmessage and torchat buying an Arduino starter kit, and climbing a mountain in Malawi for charity (please sponsor!).
- And we go over your marvellous feedback, including finding out about the Julian Day
Please send your comments and suggestions to: firstname.lastname@example.org
Join us on IRC in #ubuntu-uk-podcast on Freenode
Leave a voicemail via phone: +44 (0) 203 298 1600, sip: email@example.com and skype: ubuntuukpodcast
Follow our twitter feed http://twitter.com/uupc
Find our Facebook Fan Page
Follow us on Google Plus
The Xubuntu team has decided today that Xubuntu 13.10 will not have Mir installed by default. The decision was based on the testing and evaluation Xubuntu team did with Mir before.
On behalf of the whole Xubuntu team, I want to thank the Mir developers for being closely in touch with the team as well as helping with any problems we had. I also want to thank everybody who tested Mir with Xubuntu – all feedback was important. Thank you!
The full logs and the minutes for the community meeting along with the decisive votes can be found at the Xubuntu wiki: Xubuntu community meeting, Aug 22.
Mark kicked this Ubuntu Edge campaign off a month ago with an analogy that's near and dear to my heart, as an avid auto race fan. He talked about how the Ubuntu Edge could be a platform like Formula 1 race cars, where device manufacturers experiment, innovate, and push the limits of the technology itself.
Late yesterday, the Ubuntu Edge crowd funding campaign closed its 30-day run, without hitting its $32M goal. That's a bummer, because I still want a PC that fits in my pocket, and happens to make phone calls. There are at least 27,488 of us who pledged our support, and are likely bummed too.
In retrospect, I think there's a better analogy for the Edge, than Formula 1... Time will show that the Edge worked more like a Concept Car.
"A concept vehicle or show vehicle is a car made to showcase new styling and/or new technology. They are often shown at motor shows to gauge customer reaction to new and radical designs which may or may not be mass-produced. General Motors designer Harley Earl is generally credited with inventing the concept car, and did much to popularize it through its traveling Motorama shows of the 1950s.Concept cars never go into production directly. In modern times all would have to undergo many changes before the design is finalized for the sake of practicality, safety, the meeting the burden of regulatory compliance, and cost. A "production-intent" vehicle, as opposed to a concept vehicle, serves this purpose."I love reading about the incredible concept cars unveiled at the Detroit Auto Show every year, particularly as a Corvette and Cadillac enthusiast myself.
I think the Cadillac Cien (2002) is my favorite concept car of all time. It's a beautifully striking vehicle, with edgy design, and crazy stupid power (750hp!).
While never mass produced, the Cien captured the imagination and updated the innovation around the Cadillac brand itself. That concept vehicle, in a few short years, evolved in the production car I drive today, the Cadillac CTS-V -- a very different Cadillac than the land yachts your grandparents might lull around in :-)
This car has invigorated a generation of new Cadillac owners for General Motors, competing with long established players from BMW (M5), Mercedes (E63), and Audi (S6), and recapturing a valuable market of younger drivers who have been buying German performance sedans.
Without a doubt, I'm disappointed that I won't be holding this beautiful piece of hardware, at, all told, a very reasonable price (I pledged for two at the $600 level).
But that's only half of the story. Ubuntu Touch, the software that would have powered the Edge, lives!!!
I'm actually running it right now on an LG E960 Google Nexus 4. The hardware specs are pretty boring, and the device itself is no near as sexy as the Edge, but it's a decent run-of-the-mill, no-frills mobile phone that exists in the market today.
The unlocked, international version showed up on my doorstep in 18 hours and $394 from Amazon. Amazingly, it took me less than 30 minutes to unbox the phone, download and install the phablet-tools on my Ubuntu 13.04 desktop, unlock the device, and flash Ubuntu Touch onto it. There's so much potential here, I'm still really excited about it.
We are told, with confidence, that there will be Ubuntu smartphones in the market next year. It just won't be the Edge. As much as I lust to drive one of these elite Cadillac Cien concept cars, I love what it evolved into, and it's pure joy to absolutely drive the hell out of a CTS-V ;-) And along those lines, this time next year, many of us will have Ubuntu smartphones, but it just won't be the Edge.
Gentlemen, start your engines!
The next Ubuntu Developer Summit is coming up next week (27-29 August 2013) and you can already see a nice set of topics coming together in Launchpad. The schedule will, as always, be available at summit.ubuntu.com.
Jono Bacon and I are going to be track leads for the Community track, so I wanted to send out an invitation to get topics in, especially for bits concerning the Community track. If you are a team lead and had feedback from your team or you want to bring up a discussion topic where you are interested to help out with, check out our docs on how to submit a session for UDS. Please note: this is not a game of “this is what I think somebody should discuss and do for me”, so if you plan to bring up a session topic, be prepared, have a good idea of what might be on the agenda, reach out to people who might be interested in the topic, so you have a good set of participants and contributors to the project available.
If you just want to attend and listen in and contribute to sessions on the schedule, you can just do that as well, check out uds.ubuntu.com which has all the information on how to tune in. Register here. Can’t wait to see you all next week!
As many of you will have seen, unfortunately the Ubuntu Edge campaign did not reach our goal of $32million. The final total reached was $12,812,776. I am hugely proud and thankful to everyone who pledged, supported the campaign, wrote about it, and helped to spread the word.
Some have described us not meeting the goal as a “failure”. I don’t see it that way. Let’s be honest: $32million was always an incredibly ambitious target. We would have liked to have done it for less money, but building a F1 superphone doesn’t come cheap (and remember that the $32million didn’t include any costs for software engineering and project management…Canonical were providing that for free). It was an ambitious target, but disrupting an industry is ambitious in itself, and we gave the crowd-funding campaign our best shot. The story does not end here though.
I am not surprised that we didn’t hit this ambitious $32million target, but I am surprised at what we did achieve. We broke all the crowd-funding records, garnered media attention across CNBC, Engadget, The Independent, TechCrunch, the BBC, T3, Stuff, The Verge, The Guardian, Wired, pandodaily, Fast Company, Forbes, The Telegraph and more. Every single person who put their support into the Ubuntu Edge campaign should be proud of their achievements and we are all thankful for your tremendous and inspiring support.
One thing to be critically clear about is that the Ubuntu convergence story does not end here. We are as voraciously excited and committed to bringing this Free Software convergence story to the world as ever before; our work with OEMs, Carriers, and ISVs continues apace. We have fantastic work going on across all fronts, and we are on track to have a 1.0 release of the Ubuntu Phone platform in October.
What this experience demonstrated to me more than anything was the passion and commitment of the Ubuntu family. We are a global and diverse family all united by a dream of what the future can look like, a future in which powerful, elegant technology is freely available to all, available in the devices people care about and use to learn, create, and live better lives. Our Ubuntu family is what makes us strong, and while we didn’t hit the $32million we saw yet another example of our family coming together as one and the wider industry getting a peek into our world and the technology we have to offer.
Onwards and upwards!
Hi everybody out there!
Today I am excited to announce the first stable release of Melany.
As I told you before, this comes after the theme reviewers accepted it for being uploaded and published on the WordPress Theme Directory, so basically you will be able to install Melany directly from the WordPress built-in theme search feature shortly, without the need to download the zip archive from GitHub.
This is a huge step and I learned a lot of stuffs. But what does that mean from your point of view? You have a new good theme available. The quality is granted by the review, the beauty is subjective, therefore if you like minimalism and simplicity give it a try.
Here is the features available:
- Two-column layout, with a sidebar on the right
- Logo, site name and description at the top of the sidebar on desktop, under the navigation bar on smaller screens
- Navigation menu with two-levels deep dropdown
- Designed with Twitter Bootstrap, giving a pure Bootstrap experience
- Customize logo and favicon in Appearance > Customize
- Customize background color and image in Appearance > Customize (at your own risk!)
- Add custom styles with the built-in editor in Appearance > Editor
- Support to some Jetpack features
- Languages: English
Now I’m working on a new huge release which will bring a revamped design along with a number of useful features, including:
- Revamped design with Twitter Bootstrap 3.0
- Responsive search form in the header
- Author avatar and bio under articles in single post view
- Better translation support (and new languages too)
- Improved 404 page
You can expect it to come in quite a pair of months as there’s a lot to do and that’s just a hobby. Be sure to follow the updates here on my blog and feel free to contribute through the GitHub repo!
I think we must stop confusing Ubuntu the Product and Ubuntu the Project.
Some ex-contributors to Ubuntu cite the alleged “change of direction” of Canonical. With due respect, that is rubbish. If you truly thought Canonical was a charity, sorry, but you’re being kind of a fool. Canonical is a company—and a cool one, I have to say—and as such it seeks profitability. Even Mozilla has that goal, because it’s a company as well. And that’s fine.
It’s perfectly fine to stop contributing to Ubuntu because you’re burned out. That’s okay—that can happen, and life and personal interests change. But it’s a lie that Canonical has changed Ubuntu the Product so that is now more closed and disregards community. It’s simple: if it did, I wouldn’t even be able to post to Planet Ubuntu. Or put it like this, Planet Ubuntu wouldn’t exist at all.
Honestly, I don’t have issues with the way Canonical is managing Ubuntu. Simply because, it has not changed significatively since its inception in 2004. Ubuntu the product has always been a Canonical-backed product, with a community behind*. Canonical spends a lot of money providing community members with many services, and that’s something I truly appreciate**. Besides, I’ve been welcomed here by people I don’t know in real life, for me it’s a great feeling that someone you don’t know has considered you a valuable part of the project.
And you can’t argue that Canonical is doing different than its competitors. For example, I contribute to Fedora as well, which is Red Hat’s “pet”, similar to Ubuntu. And Red Hat also spends money for providing Fedora’s members with services. Both companies are welcoming to people. But if you really fear helping a company build a product as I do, then you should not try to do it because you’ll be disappointed. It’s a matter of whether you clearly know what to expect when joining a certain project. And FWIW I expected way less than what Canonical has given me as a Project member, because I did not join for the certificate, or the mail address, or the web hosting, or the discounts in third-party websites, or [name your favorite membership benefit]… I did join “only” to improve my (second) language and computer skills and have fun, and that’s it. Joining has surpassed my expectatives, and that’s why I’m here.
So I am proudly an Ubuntu Member, and I won’t go just because someone fears Canonical’s going “closed”. Heck, I’m sure they aren’t because they haven’t “fired” me!
* “behind” as in backing it, not conveying that is less important than it. Duh…
** That’s maybe because of my country of origin, which is third-world, full of corruption and filthy politicians; rich in natural resources but people is extremely poor. It affects your perspective: I am not accustomed to companies that give things away like this one.