Canonical Voices

Posts tagged with 'article'

Rupinder Mann

Ubuntu is entering the mobile industry with smartphones coming to market in 2014. The Ubuntu app ecosystem is growing consistently, as is app development across multiple platforms, and we want to hear your views on what factors contribute to your choice of developing on Ubuntu.

Our friends at Vision Mobile have launched their 7th Developer Economics survey, providing mobile developers with the opportunity to be heard on the top app developer issues, and how Ubuntu continuously strives to make development as efficient as possible – contribute to the research and find out how your opinion stack against other developers.

Participants who complete the short survey have the chance to win some fantastic prizes, including an iPhone 5s, a Galaxy S5, a Sphero, a Lego Mindstorm robot, a Raspberry Pi Ultimate Starter Ki, a Das Keyboard – and more!

The survey results will be available for free download on July 2014.  Don’t miss out, complete the 10-minute survey now click here

Read more
James Westby

We’ve recently rolled out some changes to the submission process for Click Applications that should make it easier for you to submit new applications, and allow them to be approved more quickly.

Previously when submitting an application you would have to enter all the information about that application on the website, even when some of that information was already included in the package itself. This was firstly an irritation, but sometimes developers would make a mistake when re-entering this information, meaning that the app was rejected from review and they would have to go back and correct the mistake.

With the new changes, when you submit an application you will wait a few seconds while the package is examined by the system, and you will then be redirected to the same process as before. However this time some of the fields will be pre-filled with information from the package. You won’t have to type in the application name, as it will already be there. This will speed up the process, and should reduce the number of mistakes that happen at that stage.

We’ve also been working on a command-line interface for submitting applications. It’s not polished yet, but if you are intrepid you can try out click-toolbelt.

Read more
Jono Bacon

So, we have announced the Ubuntu App Showdown where you can build some awesome Ubuntu apps and win prizes such as the Nexus 7 (2013) tablet and the Meizu MX3, we have provided an update on lots of great updates going on such as refined HTML5 support and a raft of developer.ubuntu.com updates, we have revised and improved how the dash and scopes work (more developer docs on this coming soon!), we have simplified how apps are uploaded to the store, and of course, Ubuntu handsets are hitting the market later this year so our app devs will have plenty of new users to consume their apps. But, why stop there?

We are not here to build a good app developer community, we are here to build the most empowering, rewarding, and fun app developer community there is, all powered by openness and collaboration.

As such, I am delighted to announce that next week Ubuntu App Developer Week beginning on Monday 3rd March at 2pm UTC and running all week

This is a week with a range of tutorial sessions for how to build apps for Ubuntu across QML, HTML5 and more. All of these sessions take place online in a series of Google Hangouts, complete with embedded chat channels where you can interact with the speaker and ask questions.

This includes sessions such as the following for QML apps:

  • Game Development with QML and Box2D
  • Internationalize your apps
  • Extending QML with a C++ Plugin
  • Ubuntu UI Toolkit tips and tricks for beginners
  • Responsive Layouts
  • Testing with qmltestrunner
  • Making the perfect user acceptance test
  • Integrating U1DB in your app
  • Content Exchange in a confined world
  • Add download capabilities to your apps

and the following for HTML5 apps:

  • Building HTML5 apps with Ubuntu
  • Cordova in HTML5 Apps
  • Platform APIs for HTML5 Apps
  • HTML5 UbuntuUI Components
  • Debugging HTML5 apps

We also have a few other sessions such as a feedback session on the software store and how to get compiled code into click packages.

How Do I Join?

Ubuntu App Developer Week is available freely to anyone who chooses to join. You don’t have to be an expert, and you don’t have to know how to write apps with the Ubuntu SDK yet. Beginners are very welcome!

All of the sessions, their times, and how to join them are available on the Ubuntu App Developer Week schedule. Just show up at the right time, click a session, and you are ready to go!

We still have some slots free if you want to volunteer to run a session. If you would like to, please email Michael Hall.

The fun starts next week on Monday 3rd March at 2pm UTC and runs all week. We hope to see you there!

Read more
Daniel Holbach

???Ubuntu App??????

??? Ubuntu App ?????????????????????????? Ubuntu SDK ? Ubuntu ???????????????? Apps??? QML ? HTML5 Apps ??????

Read this article in English.

image-app-showdown

 

?????????

????????????????????????????????

  1. QML???? QML ?? QML+JavaScript/C++????? App?
  2. HTML5???????????? App?????? HTML(?CSS/JavaScript)?????? Apache Cordova ???????
  3. ????????????????????????????
  4. ???????????????????????????????????????????????

?????QML?HTML???????????Nexus 7?2013????
Nexus7-2013

????????????????????
Meizu-MX3

????

App?????????????????

????????? Canonical????????????????????????

  1. Jono Bacon?Ubuntu?????
  2. Adnane Belmadiaf?Ubuntu HTML5 ??
  3. Lucas Romero di Benedetto?Ubuntu Community Design Team
  4. Nekhelesh Ramananthan?Ubuntu Core App Developer
  5. Joey-Elijah Sneddon?OMG!Ubuntu editor

The judges for the Chinese apps are:

  1. Shuduo Sang?Software Engineer in Canonical PES
  2. Joey Chan?Ubuntu???????
  3. ???Ubuntu Kylin?????/Ubuntu??

???????????????Apps

  • ????? – ?????????????????????????????????????????????????????????????
  • ??? – ?????????????????????????????????????
  • ?? – ??????????
  • ?? – ?????????????????
  • ?? – ?????????? Ubuntu ????????????????????????Ubuntu?????
  • ???? – ?????????twitter?facebook?Google+?reddit????????????????????
  • ???? – ?“?????”?????? App ?????????????????????????????????????????????????????

???? Ubuntu ??

????????? Ubuntu ??? Ubuntu ????????????????????????? Ubuntu ????????????????Ubuntu??????.

??Ubuntu App???? >

?????????????????????

????

??????????????apps????????????reddit ?????????????????

????????????????

?????2014?2?26? ?2014?4?9???????????

??Ubuuntu App ?? > >

Read more
Daniel Holbach

Announcing the latest Ubuntu App Showdown contest!

image-app-showdown

????????

Today we are announcing our third Ubuntu App Showdown! Contestants will have six weeks to build and publish their apps using the new Ubuntu SDK and Ubuntu platform. Both original apps and ported apps, QML and HTML 5, will qualify for this competition.

Categories and prizes

This App Showdown is going to be very special, because we will have four dedicated categories in which you can participate and win a prize.

  1. QML: original apps written in QML or with a combination of QML and JavaScript/C++
  2. HTML5: original apps written using web technologies, be it pure HTML (and CSS/JavaScript) or with platform access using Apache Cordova
  3. Ported: apps ported from another platform, regardless of the technology used
  4. Chinese apps: apps in this category will have to be original and specific to China and the Chinese culture. They will be judged by two native experts in our jury.

The set of prizes will consist of a Nexus 7 (2013) per category for QML, HTML5 and ported apps.
Nexus7-2013


The top two Chinese apps will receive a Meizu device each.
Meizu-MX3

Review criteria

Apps in the HTML5/QML/Ported categories will be reviewed by a jury composed by an international team of five judges:

  • Jono Bacon, Ubuntu Community Manager
  • Adnane Belmadiaf, Ubuntu HTML5 expert
  • Lucas Romero di Benedetto, Ubuntu Community Design Team
  • Nekhelesh Ramananthan, Ubuntu Core App Developer
  • Joey-Elijah Sneddon, OMG!Ubuntu editor

The judges for the Chinese apps are:

  1. Shuduo Sang?Software Engineer in Canonical PES
  2. Joey Chan, Ubuntu Core App Developer
  3. Jack Yu, Ubuntu Kylin Lead/Ubuntu Member

The jury will judge applications according to the following criteria:

  • General Interest – apps that are of more interest to general phone users will be scored higher. We recommend identifying what most phone users want to see, and identifying gaps that your app could fill.
  • Convergence – apps that have a convergent layout that expands to dedicated tablet mode or optionally run well on the desktop will also be scored higher.
  • Features – a wide range of useful and interesting features.
  • Quality – a high quality, stable, and bug-free application experience.
  • Design – your app should harness the Ubuntu Design Guidelines so it looks, feels, and operates like an Ubuntu app.
  • Awareness / Promotion – we will award extra points to those of you who blog, tweet, facebook, Google+, reddit, and otherwise share updates and information about your app as it progresses.
  • Chinese culture – apps optionally submitted in the China category will be reviewed with the same criteria above, plus their relevance to Chinese users of the app. This can be by providing access to Chinese services, being related to Chinese culture or being generally useful to somebody in the People’s Republic of China.

Learn how to write Ubuntu apps

To make it easier for you to get started with writing apps for Ubuntu on the phone and tablets, we’ve set up a week packed with video streaming tutorials where experts from the Ubuntu community will teach you how to use Ubuntu platform technologies to write apps.

Join the Ubuntu App Developer Week! >

If you cannot join, review our app developer documentation.

How to participate

If you are not a programmer and want to share some ideas for cool apps, be sure to add and vote apps on our reddit page.

The contest is free to enter and open to everyone.

The six week period starts on the Wed 26th February and runs until Wed 9th April 2014!

Enter the Ubuntu App Showdown >

Read more
Jono Bacon

This last weekend Jono Bacon, the Ubuntu Community Manager, was in LA at SCALE12x and gave a presentation providing a detailed update of much of the work going on as we build a convergent Ubuntu.

As we have mentioned before, there is lots of other foundational pieces being built as part of this work (app insulation, SDK, click packages, [developer.ubuntu.com](http://developer.ubuntu.com), platform services etc), and this presentation covered where we stand today in this work.

Obviously a lot more of you couldn’t be at SCALE than couldn’t, so Jono has recorded his presentation to share online. You can see it below:

Read more
Jono Bacon

The focus on content is a core principle that drives how we build Ubuntu. This not only includes getting the clutter out of the way and maximizing your view on your content (such as integrated window borders and overlay scroll-bars), but it also includes searching for, browsing, and consuming content as easily as possible.

At the core of this latter approach to content is the Ubuntu dash and the scopes that power it. For those unfamiliar with this technology, when you tap or click the Ubuntu button on your Ubuntu computer, smart-phone, or tablet you currently see a number of different views such as Home, Apps, Music, and Videos.

Within these views we have a series of “scopes” that deliver both online and offline content. As an example, in our music scope we show music on your computer/device as well as music available to download or purchase online too.

All of this integrates search right into the heart of Ubuntu; no longer do you need to open up a software store, music app, or video app to access content you either own or would like to aquire…it is all integrated into the core of Ubuntu.

Ever since we released this technology we have been evaluating the feedback from our users, through formalized user testing, as well as input from content providers who are keen to deliver content via these services. We have reviewed all of this feedback and made a set of changes that improve and refine how the dash and scopes work, and we want to share some of those updates here.

This post does not summarize all improvements we are making; we have other refinements in store, and we will provide those updates closer to the time.

All screenshots in this post are of working code on the phone and tablet, much of which you can see at MWC this week. This technology will also be coming to the desktop at a later date.

The Core of the Dash

One of the constraining aspects about our previous dash was some of the limitations in terms of how scope results are presented to the user. Ubuntu users will be very familiar with a search resulting in the same visual structure of how results appear, which you can then click a result to see a preview view with more details.

We have refined and improved this by building a “dash toolkit” that can be used to customize how results are displayed now.

As an example, here are some screenshots of the dash displaying different types of results:

The Scopes Store

In our previous dash the notion of scopes were something that the Ubuntu development team were primarily involved in – we would ship a number of scopes switched on by default and the user could enable/disable those scopes where appropriate.

In our new dash we are treating scopes almost like in-dash apps; that is, a scope is something a provider can ship to users and the user can enable or disable the scopes that are of most interest to them. This makes the dash infinitely pluggable, more tuned to the user’s needs, and combined with the customization of how results are displayed, it makes the dash far more compelling for both users and content providers.

This range of scopes is delivered by the Scopes store which provides a range of categories and available scopes.

As an example, if you are a Grooveshark fan you can head into the Scopes store and add the Grooveshark scope and now your search will return Grooveshark content.
In action

Let’s take this new technology for a spin to demonstrate how it works.

In the screenshot below we can see the familiar apps scope. Here we can see apps that are installed, apps available to download, and we can search for apps too:

Let’s now see a more customized scope in the form of a guide to Barcelona:

Here you can see a combination of recommended places to visit, transport information, weather and more:

This scope is pulling together a variety of online components in a customized view and can be shipped as a scope that you can install on your computer or device.

Let’s look at another example. Here we have a scope for World Cup information:

Finally, let’s take a look at how we browse and install scopes. This is the scopes store:

Here we can select a scope easily and install it by tapping it.

When will I get this?

This technology is going to be arriving for Ubuntu for smart-phones and tablets in the next few weeks. Those of you using Ubuntu for devices can expect to find it as part of a norma system update.

For the desktop this technology will arrive at a later date when converge our Unity 8 platform on the desktop. We expect this to be around the time of Ubuntu 14.10 – Ubuntu 15.04.

The Developer Story

This new technology opens up a wealth of opportunities for developers. Over the coming weeks we will be providing a full tutorial, API documentation, quick-start guides, and more on developer.ubuntu.com to help you get stared building and deliver scopes to users.

We will announce when this content has been released on this blog.

FAQ

Why did you change the dash and scopes?

Based on feedback from our users, through formalized user testing, and input from content providers, we wanted to make a series of improvements to refine how the dash and scopes work.

When can we expect this technology to arrive?

We expect these improvements to be landing in the Ubuntu for phones and tablets images in the next few weeks.

How can I enable/disable scopes?

You determine which scopes are searched by adding them to (or removing them from) your favourites list. Even if a scope is not in your favourites list, you can explicitly navigate to that scope and start a search, without adding that scope to your favourites list. So, you are in complete control at all times of which scopes are searched.

What security/privacy measures are you putting in place with this technology?

While we will ship with a set of default scopes, the user can switch of any scopes if they choose to do so.

Each scope runs as a separate process in its own sandbox, secure via AppArmor. The sandbox is enforced at the kernel level, so it is impossible for a scope implementation to break out of the sandbox (for example, by making system calls directly).

Scopes that are installed in the device have exactly one of two possible AppArmor profiles: network access or file system access. If a scope can access the network (for example, to retrieve email headers from a remote imap account), that scope cannot access the file system. Conversely, if a scope can access the file system (for example, to search for locally-installed media files), it cannot access the network. This prevents a scope from retrieving sensitive information from the file system and then shipping it out via the network to some remote server.

Scopes are also prevented from accessing each others’ network endpoints. This means that a scope installed on the device cannot send queries to other scopes on the device in an attempt to collect private information.

What languages can I write these scopes in?

C++, Javascript, and Go.

Read more
Daniel Holbach

We are starting a blog series where we interview our Ubuntu App Heroes. We want to learn more about how developers found the experience writing apps for Ubuntu, what their plans are, what they do and who they are.

Kicking off the series, we had a quick chat with the two guys working on the beautiful Weather app, Martin Borho and Raúl Yeguas.

Martin Borho Raúl Yeguas

Can you introduce yourselves?

Raúl: My name is Raúl Yeguas, I’m a frontend developer and I live in Seville in Spain. I studied IT at the University of Jaén where I organised some free software events. I’m a great Qt fan and a proud KDE user.

Martin: My name is Martin Borho, I’m 37 years old and I live in Hamburg, Germany. I work as a freelance programmer, mainly coding Python.

When and how did you get involved in the Ubuntu Core Apps project?

Martin: As Ubuntu Touch was announced, there was a little form at the webpage, asking for interested persons willing to contribute. As I was searching for a project I could join at that time, I filled it out….

Rául: I noticed Canonical’s call for developers on QtPlanet. When I subscribed to Canonical’s first announce I thought that it was for helping developers to write their own apps for their platform; but when I received the emails from them asking me what core app I wanted to work on I was so surprised and excited. I’m part of the Core Apps Developers from the beginning.

Have you developed apps before?

Martin: Yes, I’ve started doing a mobile app, named “Ask Ziggy”, on my Nokia N900 in 2010. In 2011 I’ve built an app for Google News called “NewsG” for WebOS. Which I later ported to Qt/QML, to get it on my Nokia N9/N950.

Raúl: Yes, mainly C++/Qt apps and HTML/JS webapps.

What was your experience learning everything involved to work on the Weather app?

Martin: Hmm, initially I had no idea what to expect. After all I have learned quite a few things (and still do). Contributing to a large scale project with people from all over the world is one, how various parts have to fit together is another one. It is fascinating to see how Ubuntu Touch has evolved over the last months.

Raúl: I have to say that this team is awesome. I learned too much from them, mainly about working in team with distant people and about designing new ways to interact with an app.

Weather App Designs

Weather App Designs

Is there anything you are proud of or feel is solved very well in the Weather app?

Raúl: Yes, the gestures to change between daily forecast and hourly forecast. I think is too easy to use and intuitive.

Martin: Hard to say, perhaps: It’s quite easy to add more weather data providers to the app, without having to deal much with the UI part. And having a distinction between fast and slow scrolling, to flip between days, respective hours, is quite nice.

What can new app developers learn from your app?

Martin: Can’t say… as I’m doing Qt/QML only in my spare time I don’t think it’s very sophisticated in that regard.

Raúl: I think that our app has well organised and differentiated graphics components so I think that it could be a good example for learning how to create complex QML components by creating simple parts. It also has a very good API to call weather info providers.

What can users of the app expect in the coming months?

Martin: The integration of Weather Channel as a second weather data provider is nearly finished and will be ready to get merged into trunk very soon. Apart from that, Raúl is currently working on new animated icons, which will be very nice when ready.

Raúl: Yes, expect some new animations for eye-candy and a new weather information provider.

Do you have any other hobbies apart from working on Ubuntu?

Martin: I like biking. And as the stadium of my favourite club is only a 5 minute walk away, I like watching football too … ;-)

Raúl: Yes, like non-IT people have. ;) I like watching movies, playing videogames and traveling. When I have enough time I produce electronic music. But I have to confess that sometimes I contribute on other open source projects \o/

Read more
Michael Hall

udbflash_osx_smallUbuntu has long provided tools that made it easy to install the new Ubuntu phone images to your device, taking care of finding the right images and latest versions for you.  While this worked great, it was only available to current users of the Ubuntu desktop.  But now Ubuntu engineer Alex Chiang has provided a set of instructions for getting the same easy installation options on Mac OSX.

Though similar to the process that Ubuntu desktop users have access to, the setup does require some additional tools be installed by the user.  In the end, though, it will provide the same ease of installation and updating that is offered on Ubuntu desktops.

These instructions feature a new flashing tool called udbflash, a future replacement to the existing phablet-flash tool, which is written in Go and designed to be more easily ported to other operating systems and environments (as showcased here on OSX).

Wikihttps://wiki.ubuntu.com/Touch/Install/OSX

Read more
David Planella

Christmas has come early in Ubuntu this time around, with a finely wrapped present: dual-booting with Android.

We are thrilled to announce a preview of a new feature for developers: Ubuntu on mobile devices can now run alongside Android on a single handset.

For developers only

Dual boot is not a feature suitable for regular users. It is recommended to be installed only by developers who are comfortable with flashing devices and with their partition layout. Dual boot rewrites the Android recovery partition and those installing it should be intimately familiar with re-flashing it in case something goes wrong.

Multiple Android flavours are supported (AOSP or stock, CyanogenMod) and installation of Ubuntu can be done for all versions available in the phablet-flash channels.

Easy OS switch via apps

With dual boot, switching between OSs had never been easier. No more key combinations or command line interfaces to jump into the next OS: on each side, an app with a simple user interface will enable you to boot back and forth at the tap of a button.

Ubuntu dual boot on Android

The Android app manages the initial installation of Ubuntu, upgrades and rebooting into Ubuntu.

Ubuntu dual boot

On Ubuntu, the dual boot app provides an easy way to reboot into Android.

Installing dual boot

Installing and running dual boot can be done in a few easy steps. In a nutshell, it requires performing a one-off installation of the dual boot app in Android, which will enable you to both install the version of Ubuntu of your choice, and to reboot into Ubuntu.

Install dual boot on your device

Read more
Jono Bacon

From 20-25th January 2014 we will be running our next Ubuntu App Developer Week. This is a week chock-full of tutorial sessions showing you how to use different aspects of the Ubuntu SDK across QML, HTML5, Scopes and other projects for building powerful, elegant, converged apps and content that runs across phone, tablet, and desktop. But we need your help!

The entire week will be streamed live using Google+ Hangouts in which session leaders will provide their tutorials using a combination of video and screen-sharing with embedded discussion so viewers can share tips and tricks and help each other out. This will provide a rich menu of deeply interactive content that will be archived and available for future generations of developers to benefit from. We will integrate much of this content into developer.ubuntu.com as part of our documentation and services to help our growing developer community.

As such, today we are opening a call for papers for those of you who can volunteer to run one or more sessions at Ubuntu App Developer week. Simply pick a topic that may be of interest to developers (e.g. ‘Playing audio and video in QML’ or ‘Managing settings in HTML5′) and register a session in our system.

To pick a session, please follow these steps:

  1. Pick if your session will cover QML, HTML5, or Scopes. Please pick one per session.
  2. Think of a topic that developers will be interested in.
  3. Write a short description of what your topic can cover in an hour. Try not to do too much so everything can be contained in the same session.
  4. Put together an example project you will run through to demonstrate how to use that feature in the SDK.
  5. Now submit your session!

Please make sure that if you volunteer a session that you are willing to show up and deliver it. Also, please ensure you have the equipment and net connection suitable to deliver a video hangout (e.g. a computer with a webcam, a microphone with good volume level, a Google+ account with the hangouts plugin, and a good enough net connection).

If you need help getting your computer ready to host a Google+ Hangout, or want to test your webcam and microphone, please contact Michael Hall (mhall119 on Freenode IRC). You are of course welcome to provide more than one session!

So, how do you submit each session?

Simple! Just follow these steps:

  1. Go to summit.ubuntu.com, log in, and register that you are attending.
  2. Now go to this page an fill in the session details.

Please get all submissions in by 31st December as we will be reviewing and scheduling as soon as we get back to work in January.

Thanks in advance for helping to grow our awesome Ubuntu app developer community and building a world-class developer platform that brings technological freedom and openness to people.

Thanks!

Read more
Michael Hall

Convergent File ManagerConvergence is going to be a major theme for Ubuntu 14.04, not just at the OS and Unity 8 levels, but also for the apps that run on it. The Core Apps, those apps that were developed by the community and included by default in the last release, are no exception to this. We want to make sure they all converge neatly and usefully on both a tablet and on the desktop. So once again we are asking for community design input, this time to take the existing application interfaces and extend them to new form factors.

How to submit your designs

We have detailed the kind of features we want to see for each of the Core Apps on a Convergence wiki page. If you have a convergence design idea you would like to submit, send it as a file attachment or link to it online in an email to design@canonical.com along with any additional notes, descriptions, or user stories.  The design team will be reviewing the submitted designs live on their bi-weekly Design Clinics (Dec 4th and Dec 18th) at 1400 UTC.  But before you submit your ideas, keep reading to see what they should include.

Extend what’s there

We don’t want to add too many features this cycle, there’s going to be enough work to do just building the convergence into the app.  Use the existing features and designs as your starting point, and re-imagine those same features and designs on a tablet or desktop.  Design new features or modify existing ones when it makes the experience better on a different form factor, but remember that we want the user to experience it as the same application across the board, so try and keep the differences to a minimum.

Form follows function

There’s more to a good design than just a good looking UI, especially when designing convergence.  Make sure that you take the user’s activity into account, plan out how they will access the different features of the app, make sure it’s both intuitive and simple.  The more detail you put into this the more likely you are to discover possible problems with your designs, or come up with better solutions that you had originally intended.

Think outside the screen

There is more to convergence that just a different screen size, and your designs should take that into consideration.  While it’s important to make good use of the added space in the UI, think about how the user is going to interact with it.  You hold a tablet differently than you do a phone, so make sure your designs work well there.

On the desktop you have even more to think about, when the user has a keyboard and mouse, but likely not a touch screen, you want to make sure the interface isn’t cumbersome.  Think about how scrolling will be different too, while it’s easy to swipe both vertically and horizontally on a phone or tablet, you usually only have a vertical scroll wheel on a desktop mouse.  But, you also have more precise control over a mouse pointer than you do with a finger-tip, so your interface should take advantage of that too.

Resources available to you

Now that you know what’s needed, here are some resources to help you.  Once again we have our community Balsamiq account available to anybody who wants to use it to create mockups (email me if you need an account).  I have created a new project for Core Apps Convergence that you can use to add your designs.  You can then submit links to your designs to the Design Team’s email above.  The Design Team has also provided a detailed Design Guide for Ubuntu SDK apps, including a section on Responsive Layouts that give some suggested patterns for different form factors.  You can also choose to use any tools you are comfortable with, as long as they Design Team and community developers can view it.

Read more
Michael Hall

At the same time that Ubuntu 13.10 was released, we also went live with a new API documentation website here on the Ubuntu Developer Portal. This website will slowly replace our previous static docs, which came in a variety of formats, with a single structured place for all of our developer APIs. This new site, backed by Python and Django, will let us make our API documentation more easily discoverable, more comprehensive, and more interactive over time.

Screenshot from 2013-10-17 09:54:41

We launched the site with only the documentation for the Ubuntu UI Toolkit, as well as upstream QtQuick components. But in the past week we’ve added on to that API documentation for the new Content Hub, which allows confined apps to request access to files (pictures, music, etc) stored outside of their sandbox, as well as a full new section of HTML5 API docs covering the visual components developed to match the look and feel of their Qt/QML counterparts.

Read more
Rupinder Mann

Ubuntu App development is growing and we are working with Vision Mobile to gain insights into the global ecosystem together, and we want to hear from you.

To do this Vision Mobile launched their latest Developer Economics survey, take this opportunity to have your say about how you build your apps with Ubuntu. Prizes are up for grabs, including an iPhone, Galaxy S4, Nokia Lumia 920 handsets and many more cool gadgets!

Participants who complete the survey and opt-in to Vision Mobile’s panel can access the Developer Benchmarks, a visualised scorecard of how they compare to other developers in their country or region, across platforms used, revenue models, app categories and more.

The survey results will be available for free download on January 2014.

Get involved and don’t miss the opportunity to have your say, to complete the 10-minute survey click here now!

Read more
David Planella

Today a major milestone in the history of Ubuntu and the mobile industry has been reached: we’re extremely proud to celebrate the release of Ubuntu 13.10, the free, open source operating system for smartphones, desktop and server.

A release for mobile developers

phone-apps-grid-extended-cut

As of today, Ubuntu is available on the desktop, on servers and on smartphones. Ubuntu’s first ever mobile edition provides an operating system with all applications phone users need for their day-to-day, in addition to a thriving app ecosystem and a platform application authors can target.

This is the first leap on the road to convergence and having an OS to rule all devices and form factors.

Native or web: your choice

The Ubuntu SDK enables developers to easily create applications that make use of the full capabilities of the platform and integrate naturally with the OS. It contains Qt Creator, a full-fledged IDE with code-editing, debugging and device deployment features; the UI toolkit, with a set of widgets and components to be used as building blocks for Ubuntu apps; and detailed developer documentation, including API docs and tutorials.

As part of the app developer story both native and web are first-class citizens. For the native approach, QML combined with JavaScript is the easiest way to write Ubuntu apps, while C++ is also fully supported. The SDK is powered by the widely used Qt framework.

For those writing or porting HTML5 applications, the SDK features various levels of support to cover all web developer needs:

  • HTML5 apps – use web technologies to write apps
  • HTML5 Cordova apps – use web technologies to access native device functions such as camera and sensors
  • Webapps – integrate a website with Ubuntu and launch it as an app

The SDK also uses the full capabilities of OpenGL ES graphics acceleration, providing high-quality 3D rendering for the most demanding games.

Start writing an Ubuntu app ›

From concept to millions of users

With the Ubuntu Software Store Beta, the final big piece of infrastructure that completes the development workflow is now in place. Ubuntu now assists developers throughout the whole app lifecycle: from idea to implementation to publishing and to updates.

Publish your app in Ubuntu ›

Community-driven core apps

app_shocase-700px

As a testament to the stunning result that can be achieved combining a vibrant community of developers, a team of designers and the Ubuntu SDK, we’re also thrilled to announce the availability of the 12 core apps for the phone. Core applications have been designed from the ground up to provide the basic functionality a user needs for their every day, and more. They include:

  • Daily apps: Music, Clock, Weather, Calendar, RSS reader, Calculator
  • Games: Sudoku, Dropping Letters
  • Developer tools: Terminal, File Manager

These apps complement the offer of pre-installed software on the phone, including Dialer, Messaging, Browser, Camera, Gallery, Notes, Contacts and a set of webapps such as Twitter and Facebook.

Core apps have been entirely created by teams of community contributors and Canonical designers. Volunteer contributions have ranged from development, design, QA to bug reporting and support.

We’d like to thank all developers and any contributors who have in any way made the core apps happen. The work you’ve done in the last few months and the commitment you’ve shown to the project is just unbelievable, you rock!

Learn more about Ubuntu core apps ›

Industry-ready: differentiation without fragmentation

phone-naturally-neat-cut

Ubuntu is built for the phone industry. Equally suited for entry-level or high-end smartphones, it provides a powerful, yet lightweight platform with a clear and consistent user experience that can be easily customized for different operators.

At the core of Ubuntu’s design vision, scopes provide dedicated views to find, organize and show a variety of content types. Be it your contacts, your messages, pictures or online videos, dedicated scopes work for you transparently to bring you the best results when you do a search on your device.

Operators can customize the default experience by:

  • Prioritising which results are displayed first
  • Using the Apps scope to return results from multiple stores
  • Customising the home screen for their service, including integrated online payment support
  • Highlighting their own content on the default scopes

Info for operators and OEMs ›
Learn more about scopes ›

Developer.ubuntu.com 2.0

Developer-2-0

Coinciding with the release of the OS, a fully redesigned developer site has been unveiled. The Ubuntu developer site now provides a hub to all resources and information needed to develop and publish different types content for the Ubuntu platform, including:

  • Apps – how to create applications for Ubuntu
  • Scopes – how to create scopes to customize the content shown to users
  • Cloud – how to create charms for Juju cloud deployments
  • Web – how to create webapps to integrate websites into Ubuntu

Each development area has been expanded to add technology overviews, tutorials, development recipes and extensive API documentation to make the development experience easier – and fun!

Go to the Ubuntu developer site ›

Today it’s time to celebrate our first mobile release, enjoy the amazing work that has been done in the past six months and start looking at the next steps to bring Ubuntu to the masses. And while talking about celebration, which better way than actually creating an app for Ubuntu?

Install Ubuntu on your phone

Read more
Jono Bacon

Today I took a short screencast of the winner of the Ubuntu App Showdown, a neat reddit client called Karma Machine.

In the video you can see the app first at the size of a phone as I demonstrate it’s features, and then I re-size it to the size of a desktop app. Karma Machine effortlessly re-sizes and adjusts to make the best use of the space available while exposing the same core functionality…all from the same code-base.

The app was written using the Ubuntu SDK, available from this very developer portal, which makes writing apps for phones, tablets, and desktops simple, and also demonstrates use of the Ubuntu App Design Guidelines to make the app look and feel very Ubuntu.

Please note: the desktop convergence is not finished yet – we will optimize apps running on desktops soon (e.g. toolbars, scrollbars etc), but this video shows already how usable apps are.

See the video below (or here if you can’t see it below):


We recommend you watch the video full screen

Karma Machine is available now from the Applications scope on the Ubuntu phones images.

Read more
Michael Hall

App Showdown Winners

The judging is finished and the scores are in, we now have the winners of this year’s Ubuntu App Showdown!  Over the course of six weeks, and using a beta release of the new Ubuntu SDK, our community of app developers were able to put together a number of stunningly beautiful, useful, and often highly entertaining apps.

We had everything from games to productivity tools submitted to the competition, written in QML, C++ and HTML5. Some were ports of apps that already existed on other platforms, but the vast majority were original apps created specifically for the Ubuntu platform. Best of all, these apps are all available to download and install from the new Click store on Ubuntu phones and tablets, so if you have a Nexus device or one with a community image of Ubuntu, you can try these and many more for yourself.  Now, on to the winners!

Original Apps #1: Karma Machine

karma_machine_subredditkarma_machine_contentkarma_machine_commentsKarma Machine is wonderful app for browsing Reddit, and what geek wouldn’t want a good Reddit app?  Developed by Brian Robles, Karma Machine has nearly everything you could want in a Reddit app, and takes advantage of touch gestures to make it easy to upvote and downvote both articles and comments.  It even supports user accounts so you can see your favorite subreddits easily.  On top of it’s functionality, Karma Machine is also visually appealing, with a good mix of animations, overlays and overall use of colors and layouts.  It is simply one of the best Reddit clients on any platform (having written my own Reddit client, that’s saying something!), and having it as an original Ubuntu app makes it a valuable addition to our ecosystem.  With all that, it’s little wonder that Karma Machine was tied for the top spot on the judges list!

Original Apps #1: Saucy Bacon

saucy_bacon_searchsaucy_bacon_toolbarsaucy_bacon_editSomething for the foodies among us, Saucy Bacon is a great way to find and manage recipes for your favorite dish. Backed by food2fork.com, this app lets you search for recipes from all over the web.  You can save them for future reference, and mark your favorites for easy access over and over again.  And since any serious cook is going to modify a recipe to their own tastes, Saucy Bacon even lets you edit recipes downloaded from somewhere else.  You can of course add your own unique recipe to the database as well.  It even lets you add photos to the recipe card directly from the camera, showing off some nice integration with the Ubuntu SDK’s sensor APIs and hardware capabilities.  All of this mouth-watering goodness secured developer Giulio Collura’s Saucy Bacon app a tie for the #1 stop for original Ubuntu apps in our contest.

Ported Apps #1: Snake

snake_introsnake_play2snake_play

The game Snake has taken many forms on many platforms throughout the years.  It’s combination of simple rules and every-increasing difficulty has made it a popular way to kill time for decades.  Developer Brad Wells has taken this classic game from Nokia’s discontinued Meego/Harmattan mobile OS, which used a slightly older version of Qt for app development, and updated it to work on Ubuntu using the Ubuntu SDK components.  Meego had a large number of high quality apps written for it back in it’s day, and this game proves that Ubuntu for phones and tablets can give those apps a new lease on life.

Go and get them all!

The 2013 Ubuntu App Showdown was an opportunity for us to put the new Ubuntu SDK beta through some real-world testing, and kick off a new app ecosystem for Ubuntu.  During the course of these six weeks we’ve received great feedback from our developer community, worked out a large number of bugs in the SDK, and added or plan to add many new features to our platform.

In addition to being some of the first users of the Ubuntu SDK, the app developers were also among the first to use the new Click packaging format and tools as well as the new app upload process that we’ve been working on to reduce review times and ease the process of publishing apps.  The fact that all of the submitted apps have already been published in the new app store is a huge testament to the success of that work, and to the engineers involved in designing and delivering it.

Once again congratulations to Brian Robles, Giulio Collura and Brad Wells, and a big thank you to everybody who participated or helped those who participated, and all of the engineers who have worked on building the Ubuntu SDK, Click tools and app store.  And if you have a supported device, you should try out the latest Ubuntu images, and try these and the many other apps already available for it.  And if you’re an app developer, or want to become an app developer, now is your time to get started with the Ubuntu SDK!

Read more
David Planella

Mostly everything is ready for the judges to start reviewing the Ubuntu App Showdown apps next week, exciting times ahead!

roll-dice

As of now, all applications that were submitted for the App Showdown contest have been reviewed and submitted to the Software Store. They can also be installed and run from the Dash on an Ubuntu phone, just two taps away.

We will be doing a final round of testing on Monday to double-check all apps indeed install and run flawlessly. We will then set up the review forms for the judges and also publish the final list of contest apps.

Thanks to everyone who has participated in the contest. Good luck with the judging, you all rock!

?Roll of the dice? by Katie Harbath under a Creative Commons Attribution 2.0.

Read more
Jono Bacon

You’ve been working hard on your app in the last week and now want to get everything ready for submitting it to the software store? It’s all working well in QtCreator, now you just want to get it out there? Fantastic!

1) Preparation

First of all sign up for the Software Store Beta. Just enter your personal details and be sure to pick a unique namespace, such as com.ubuntu.developer.<username> ? this is the only setting which can not be changed later on.

Sign in or register to the Software Store Beta ?

To Ubuntu Touch users, additional apps are shipped as click packages. To generate click packages, the first step is to open your project in the Ubuntu SDK and click on the Packaging tab on the left hand side and fill out the form presented to you.

QtCreator

The Name field should contain the namespace you chose when you signed up on MyApps, then append a dot and the package name you chose for your app. In the example above the namespace of the user would be com.ubuntu.developer.joe-blobbs and the package name of the app would be angry-birds.

Security policy groups

We want our apps to be secure. To achieve this, all apps run under confinement. When producing the apps, you get to decide which security privileges your app needs. Privileges you might find useful are:

  • accounts: Can use Online Accounts

  • audio: Can play audio

  • camera: Can access the camera(s)

  • content_exchange: Can request data from other applications

  • location: Can access Location

  • networking: Can access the network

  • sensors: Can access the sensors

  • video: Can play video

Find the full list by running (on a Ubuntu 13.10 system):


for i in `aa-easyprof --list-policy-groups --policy-vendor=ubuntu --policy-version=1.0` ; do \
echo "= $i =" ; \
grep Description /usr/share/apparmor/easyprof/policygroups/ubuntu/1.0/$i ; \
echo "" ; \
done

Please only pick security permissions your app is actually going to use. networking is the only one the Ubuntu SDK suggests by default.

2) Optional: QML Extensions

You can very easily skip this step, if you just use QML and JavaScript or just HTML5. This is just necessary if you used C++ code for your app.

As the app store currently just supports ARM devices, you need to build the C++ code for ARM, for which we cooked a nice and simple script. Please note, that these instructions will soon after the app showdown be replaced by automatic procedures in the Ubuntu SDK, for now though they should get you all the way there:

Get the script to build the extension for ARM and run it

bzr branch lp:~dholbach/+junk/extension-build
cd extension-build
./setup

After this step you might have to restart your session, so log out and log back in again.

Now build your extension

If you’ve already built it at some point, you might have to run make distclean on the extension’s directory. You’ll notice if you have to do this if you get a message along the lines of: “make: nothing to be done for target 'first'“.

In the next step, replace /home/joe/dev with the path where your code lives:

./build-project /home/joe/dev/angry-birds

After the build is successful, you’ll find the libangrybirds.so binary in your local angry-birds directory. Then you can follow these steps (after 2.) to put this binary into a click package created manually.

3) Building the click package

Projects with QML extension

If your code uses C++ and you followed step 2) already, you simply run this command in your source tree (/home/joe/dev/angry-birds in our example):
click build

Projects without QML extension

Click on the “Create package” button in the Packaging section in QtCreator.

4) Optional: Testing the click package

If you own a device that is capable of running Ubuntu Touch, you can try to run your click package on the device. To do this, simply connect your device to your PC and run:

adb push com.ubuntu.developer.joe-blobbs.angry-birds-0.3.click /home/phablet
adb shell
sudo -H -u phablet pkcon install-local /home/phablet/com.ubuntu.developer.joe-blobbs.angry-birds-0.3.click
pkill unity8
su - phablet
cd /opt/click.ubuntu.com/com.ubuntu.developer.joe-blobbs.angry-birds/current

Examine the desktop file for the Exec and prepend an aa-exec-click call to launch the app from the command line. Eg, if the desktop file has:

Exec=qmlscene $@ angry-birds.qml

Now launch the app with:

aa-exec-click -p com.ubuntu.developer.joe-blobbs.angry-birds_angry-birds_0.3 -- qmlscene $@ angry-birds.qml

5) Submit the app in the appstore

If your app is running fine, you are ready to go and can submit it.

Prepare your application icons and screenshots

You only need to upload a 64×64 pixel icon, but your app will be more likely to be seen and downloaded if you pay special attention to this step. Make sure you include a representative screenshot and the full range of icon sizes.

Add your application details

To help people find your app, we?ll ask you to choose a category, include a detailed description and some keywords to aid search. You?ll also need to choose a licence (including open source and proprietary software). It?s also important that you add a URL where users can contact you.

Pay special attention to the name of your package and the version you are using. They should match what you can see in the Advanced tab of the Packaging section in QtCreator.

Sign in or register to the Software Store Beta ?

6) Enter your app in the contest

Don’t forget this part! Once your app has been submitted to the app store (it doesn’t have to be approved or published yet) you still need to enter it into the contest by filling out the form in the link below.

The information collected in the form will tell us which apps in the app store should be part of the contest, in which category (original or ported) they should be judged and, if you’re a winner, where to send your prize.

Enter your app in the contest ?

Read more
David Planella

Get your apps ready for the Showdown!

phone-apps-grid-extended

So the time to get your apps ready for the Ubuntu App Showdown deadline is drawing to a close. It’s been a fun ride and it’s been truly inspiring to see the r/UbuntuAppShowdown reddit and the Ubuntu App Developers G+ page boiling with activity with participants showcasing the progress of their apps and developers helping each other with questions and answers. We are very much excited to see and use the cool applications you’ve all created.

This is a reminder for everyone to start submitting their applications to the Software Store and fill in the participation form. You can already send your apps and upload new updates, but only until Sunday, 15th Sept at 23:59 UTC.

Register your participation

To make sure your application is registered for the contest and judges review it, you’ll need to fill in the participation form. You can start filling it in already and until the submission deadline, it should only take you 2 minutes to complete.

Fill in the Showdown participation form ?

Submit your app

The final and most important step will be to submit your app to the store, so that judges and users can start reviewing them. Essentially, you’ll need to package up your application using the click format with Qt Creator and submit it online
as instructed on the developer site.

Those of you with apps using C++ extensions will need to include the compiled extensions manually into a click package until the infrastructure pieces are in place in the platform.

Submit your app to the Store

Design questions?

For those of you who have design questions for your apps, we’re starting a weekly design clinic where you can talk directly to Ubuntu Touch designers. The first Ubuntu Touch Design Clinic starts today, 11 Sept at 13:00 UTC at Ubuntu on Air.

Looking forward to seeing your apps on the phone and let the Showdown countdown start!

Read more