Today I reached another milestone in my open source journey: I got my first package uploaded into Debian’s archives. I’ve managed to get packages uploaded into Ubuntu before, and I’ve attempted to get one into Debian, but this is the first time I’ve actually gotten a contribution in that would benefit Debian users.
I couldn’t have done with without the the help and mentorship of Paul Tagliamonte, but I was also helped by a number of others in the Debian community, so a big thank you to everybody who answered my questions and walked me through getting setup with things like Alioth and re-learning how to use SVN.
With UDS just around the corner (11-13 March 2014, 2pm-8pm UTC) we wanted to give you a quick update where things stand in the 14.04 cycle. The teams have been busy working towards the goals for the 14.04 cycle, with a focus on the Ubuntu 14.04 LTS release, the App Developer Program and of course Ubuntu for Phones. […]
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.
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 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.
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
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.
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.
Today was a distracting day for me. My homeowner’s insurance is requiring that I get my house re-roofed, so I’ve had contractors coming and going all day to give me estimates. Beyond just the cost, we’ve been checking on state licensing, insurance, etc. I’ve been most shocked at the differences in the level of professionalism from them, you can really tell the ones for whom it is a business, and not just a job.
But I still managed to get some work done today. After a call with Francis Ginther about the API website importers, we should soon be getting regular updates to the current API docs as soon as their source branch is updated. I will of course make a big announcement when that happens
I didn’t have much time to work on my Debian contributions today, though I did join the DPMT (Debian Python Modules Team) so that I could upload my new python-model-mommy package with the DPMT as the Maintainer, rather than trying to maintain this package on my own. Big thanks to Paul Tagliamonte for walking me through all of these steps while I learn.
I’m now into my second week of UbBloPoMo posts, with 8 posts so far. This is the point where the obligation of posting every day starts to overtake the excitement of it, but I’m going to persevere and try to make it to the end of the month. I would love to hear what you readers, especially those coming from Planet Ubuntu, think of this effort.
 Re-roofing, for those who don’t know, involves removing and replacing the shingles and water-proofing paper, but leaving the plywood itself. In my case, they’re also going to have to re-nail all of the plywood to the rafters and some other things to bring it up to date with new building codes. Can’t be too safe in hurricane-prone Florida.
So, somewhere between the LibreOffice 4.2.0 and the 4.1.5 release, bugs.freedesktop.org broke through 25.000 reported bugs. A time to throw the hands up in despair? Not at all, as the following chart shows:
LibreOffice bug states on freedesktop
7% of reports are still unconfirmed or need more information
22% are confirmed and unresolved issues, that are not enhancements requests
6.5% are unresolved enhancement requests.
On the other hand:
33% of all reports have been fixed in some way
and 30% are invalid or duplicates.
Its interesting to see how now a quarter of the confirmed unresolved reports are asking for new features and enhancements. Its gets even more encouraging, if you take into account that the number of bugs reports is at a long term constant 20-25 reports per day, while over 40% of the bugs intentionally or collaterally fixed changed their state in the last 12 month. So we are picking up speed in triaging and fixing bugs, while the influx of new reports stays constant.
If you are interested, please help QA quite a bit in all this by writing good bug reports, identifying duplicates, confirming new reports, bibisecting regressions, run and test daily builds and prereleases or otherwise helping with the QA Easy Hacks!
Quick overview post today, because it’s late and I don’t have anything particular to talk about today.
First of all, the next vUDS was announced today, we’re a bit late in starting it off but we wanted to have another one early enough to still be useful to the Trusty release cycle. Read the linked mailinglist post for details about where to find the schedule and how to propose sessions.
I pushed another update to the API website today that does a better job balancing the 2-column view of namespaces and fixes the sub-nav text to match the WordPress side of things. This was the first deployment in a while to go off without a problem, thanks to having a new staging environment created last time. I’m hoping my deployment problems on this are now far behind me.
I took a task during my weekly Core Apps update call to look more into the Terminal app’s problem with enter and backspace keys, so I may be pinging some of you in the coming week about it to get some help. You have been warned.
Finally, I decided a few weeks ago to spread out my after-hours community a activity beyond Ubuntu, and I’ve settled on the Debian new maintainers Django website as somewhere I can easily start. I’ve got a git repo where I’m starting writing the first unit tests for that website, and as part of that I’m also working on Debian packaging for the Python model-mommy library which we use extensively in Ubuntu’s Django website. I’m having to learn (or learn more) Debian packaging, Git workflows and Debian’s processes and community, all of which are going to be good for me, and I’m looking forward to the challenge.
The Ubuntu Developer Summit is the primary place where we discuss, debate, and plan the future of Ubuntu. The entire event takes place online, is open and accessible to all, and every session is recorded so everyone can see how decisions are made. It is a useful, fun, and rewarding event to join.
My apologies for the delay in announcing the next event. The last few months have been somewhat hectic and we wanted to wait for some confirmed conference/sprint dates across Ubuntu Engineering and cross-check those with our release schedule before committing to final dates so we can ensure as many people are there as possible.
I can now confirm that our next Ubuntu Developer Summit will take place from Tues 11th March 2014 – Thurs 13th March 2014. I wanted to let you all know ASAP so you can get it in your calendars. summit.ubuntu.com is updated and ready to start having sessions added or proposed.
This next UDS will look and feel much like the last one; the same tracks and format. The feedback we have received from the last UDS suggests that the changes we made were well received. As ever, your feedback is always welcome.
If you want to have a session at UDS, please see this guide for how to propose it. As usual, feel free to ask for help from myself or Michael Hall, David Planella, or Daniel Holbach,
We wrapped up the last day of our sprint with a new team photo. I can honestly say I couldn’t think of a better group of people to be working with. Even the funny looking guy in the middle.
I mentioned that earlier in the week we decided on naming SDK releases after distro releases, and with that information in hand I spent my last day getting the latest API docs uploaded, so if you’re writing apps for the latest device images, you’ll want to use these: http://developer.ubuntu.com/api/qml/sdk-14.04/
In the coming week I’ll be working to get the documentation publishing scripts added to the automated build and testing process, so those docs will be continuously updated until the release of Ubuntu 14.04, at which point we’ll freeze those doc pages and start publishing daily updates for 14.10. Being able to publish all of those docs in a matter of minutes was a particularly thrill for me, after working for so long to get that feature into production. It certainly proves that it was the right approach.
and some errata for it: On slide 13 it says “the same file is also hardlinked from workdir/” — thats not true for quite a while already. LibreOffice keeps around exactly one copy of a library, unlike the confusing three copies that we had in LibreOffice 3.3. This should be a lot less confusing to the curious first time contributor.
If there is just one number to take away from all these slides, its that a noop rebuild for LibreOffice on a three year old developer notebook with the distro provided GNU make 3.81 takes just 17 seconds(*). And slide 7 shows still some possibilities to still speed things up beyond that — and while at current speeds it might not be worth it on Linux, it might be worthwhile for e.g. Windows, which is traditionally rather slow when it comes to file I/O.
On a related note, over time we improved the way new contributors can submit their changes on our instance of gerrit in many ways. Thanks a lot to David, Norbert and Robert for the work on this. One only has to look at one of daily digests generated from activity on gerrit and imagine we would still get one mail for each change, update and merge to the mailing list for manual patch tracking as we did in the early days. Thanks a lot also to Mathias Michel for his work on the script!
So if you haven’t done that yet, consider graping an EasyHack and get started!
Second to last day of the sprint, and we’ve been shifting gears from presenting ideas and brainstorming to making solid plans and bringing all the disparate pieces together. The result is looking very, very promising.
I started out this morning by updating my Nexus 4 to build 166, which brings some improvements to the Unity 8 and system apps. I’m still poking around to discover what’s new.
I had a handful of great conversations with the Jamie (security) and Ken (content-hub) about how to deliver creative content via click packages in the new store. It looks like wallpapers will be relatively easy to support, and Ken and I (mostly Ken) will be working on adding that to the Click installer and System Settings. Theme support is unfortunately going to be more difficult, since our QML themes are full QML themselves, and can run their own code, which makes them a security concern. We’re going to try and support a safe subset of styling to be delivered via Click packages, but that’s not likely to happen this cycle.
After lunch we had another set of presentations, this time from Florian Boucault on the SDK team about app performance. After briefly covering performance goals we need to meet to make our UI as smooth and responsive an iOS, he stunned us all by showing off live performance graphs overlaid on top of one of the Core Apps (sadly I didn’t get a picture of that) so you can see the CPU and GPU usages while interacting with the app. This wonderful little piece of magic should be landing in device images in the next couple of weeks, and I for one can not wait to try it out. In the mean time, he was nice enough to sit down with me and walk me through using QtCreator’s Analyse tab to see what parts of my own app might be using more resources than then should.
Among the sessions I wasn’t able to attend today: More HTML5 device APIs are coming online, contacts syncing via the Online Accounts provider for Google got it’s first cut, the SDK’s StateSaver component got some finishing work done, and AppArmor optimizations that will speed up boot times.
Today we had a lot of good discussions around app development, starting off with an update on the state of GoLang support and what was needed to get the Go/QML bridge packaged and available for people to start using.
From there we moved on to the future of Content Hub, which is really set to reach it’s full potential now and we will hopefully see a wide range of system, core and 3rd party apps providing it with content.
After lunch Nick gave us all a quick lesson in how to properly use Autopilot, something I think we’re all going to become more familiar with in the coming months. The key takeaway: Don’t Sleep.
Then we discussed QtCreator itself, and our various plugins for it. We identified some easy fixes, and did a lot of brainstorming on how to attack the harder ones. We saw the new packaging and cross-compilation support that’s being added to it now. Zoltan topped it all off by giving us a very short demonstration, going from the creation of a new project all the way, through creating a package, running package verification tests on it, copying it onto a phone and installing it, all in about 30 seconds!
We also discovered that the current SDK packages in the PPA were broken for Saucy and older releases (Trust was okay). Daniel, Zoltan and David Barth spent much of the day intensely debugging the problem, providing a fix, shepherding those fixes though Launchpad and into the PPAs so that we could get it all working by the end of the day. We then set aside time for a new session where we discussed what happened and what we can do to prevent it from happening again. I’m pleased to say that some of those steps have already been implemented, and the rest will soon follow.
Finally we wrapped up the evening with chicken wings and beer, plus another fantastically entertaining card game courtesy of Alan Pope’s deranged humor.
Ubuntu, el sistema operatiu lliure més popular i innovador en núvols computacionals, en servidors i en milions d’ordinadors personals, entra al món dels dispositius mòbils. Després d’anunciar la versió per a mòbils i tauletes en l’anterior edició, l’Ubuntu, patrocinat per l’empresa Canonical, torna al Mobile World Congress a Barcelona. Aquest cop amb més força, més novetats i a punt de presentar la que en serà la versió nova: 14.04 LTS.
Ubuntu és molt més que una plataforma: és un projecte obert que disposa d’una extensa comunitat d’usuaris, desenvolupadors i voluntaris que s’agrupen en equips locals arreu del món per col·laborar-hi i promocionar-lo.
Aprofitant la celebració del Mobile World Congress, el dissabte 1 de març l’equip català de l’Ubuntu organitza la primera Escola d’aplicacions Ubuntu a Barcelona, un esdeveniment gratuït on es presentaran amb detall els conceptes de disseny i d’arquitectura de l’Ubuntu en mòbils i tauletes. Per completar la jornada, els participants aprendran a crear diferents tipus d’aplicacions per a l’Ubuntu en el taller de desenvolupament d’aplicacions natives i web.
Contingut de la jornada
Fonaments de la plataforma Ubuntu
11:00 – 11:55 Fonaments: la plataforma Ubuntu
12:05 – 13:00 Fonaments: l’Ubuntu SDK com a entorn de desenvolupament
Taller de creació d’aplicacions
15:00 – 15:55 Aplicacions: el model d’aplicació i aplicacions natives
16:05 – 17:00 Aplicacions: aplicacions web i publicació d’aplicacions
L’Escola d’aplicacions Ubuntu està dirigida a desenvolupadors i usuaris amb perfil tècnic, per la qual cosa s’assumeixen uns coneixements mínims de programació.
Es recomana dur un portàtil amb Ubuntu 12.04 o superior, tot i que és possible participar amb altres sistemes a través d’una imatge virtual que es proporcionarà en el taller. Aquells participants que duguin un dispositiu Nexus 4, Nexus 7 (razor) o Nexus 10 tindran l’opció d’instal·lar l’Ubuntu com a sistema únic o bé com a arrencada dual.
Quan i on
Escola d’aplicacions Ubuntu Ponent: David Planella (Canonical) Data: dissabte 1 de març de 2014 Lloc: MOB (Makers Of Barcelona)
C/ Bailén 11, baixos
Another day packed with meetings and discussions today. Here’s some of the highlights:
We decided that SDK version numbering should mirror distro numbering, so instead of Ubuntu SDK 2.0 we will have Ubuntu SDK 14.04.
We worked out more details on the next App Developer Showdown, including what additions and changes to the SDK and store will be ready for the contest, and what prizes we will try to get for it.
After reviewing the current documentation on developer.ubuntu.com, we identified some areas where we need to improve it before the App Showdown.
Alan Pope and I guest starred in Jono’s weekly Q&A session, from the hotel bar, which was loads of fun. Watch the full video to hear more about what we’ve been discussing here and maybe find answers to some of your own questions.
As I mentioned in my last post, I’m with the rest of my team in Orlando this week for a sprint. We are joined by many other groups from Canonical, and unfortunately we didn’t have enough meeting rooms for all of the breakout session, so the Community team was forced (forced I tell you) to meet on the patio by the pool.
We have had a lot of good discussions already, and we have four days left. You’ll start to seem some of the new ideas and changes going into effect next week. Until then, stay tuned.
Last week I posted on G+ about the a couple of new sets of QML API docs that were published. Well that was only a part of the actual story of what’s been going on with the Ubuntu API website lately.
Over the last month I’ve been working on implementing and deploying a RESTful JSON service on top of the Ubuntu API website, and last week is when all of that work finally found it’s way into production. That means we now have a public, open API for accessing all of the information available on the API website itself! This opens up many interesting opportunities for integration and mashups, from integration with QtCreator in the Ubuntu SDK, to mobile reference apps to run on the Ubuntu phone, or anything else your imagination can come up with.
But what does this have to do with the new published docs? Well the RESTful service also gives us the ability to push documentation up to the production server, which is how those docs got there. I’ve been converting the old Django manage.py scripts that would import docs directly into the database, to instead push them to the website via the new service, and the QtMultimedia and QtFeedback API docs were the first ones to use it.
Best of all, the scripts are all automated, which means we can start integrating them with the continuous integration infrastructure that the rest of Ubuntu Engineering has been building around our projects. So in the near future, whenever there is a new daily build of the Ubuntu SDK, it will also push the new documentation up, so we will have both the stable release documentation as well as the daily development release documentation available online.
That’s it for today, the first day of my UbBloPoMo posts. The rest of this week I will be driving to and fro for a work sprint with the rest of my team, the Ubuntu SDK team, and many others involved in building the phone and app developer pieces for Ubuntu. So the rest of this week’s post may be much shorter. We’ll see.
So it’s not February first yet, but what the heck I’ll go ahead and get started early. I tried to do the whole NaBloPoMo thing a year or so ago, but didn’t make it more than a week. I hope to do better this time, and with that in mind I’ve decided to put together some kind of a plan.
First things first, I’m going to cheat and only plan on having a post published ever week day of the month, since it seems that’s when most people are reading my blog (and/or Planet Ubuntu) anyway, and it means I don’t have to worry about it over the weekends. If you really, really want to read a new post from me on Saturday……you should get a hobby. Then blog about it, on Planet Ubuntu.
To try and keep me from forgetting to blog during the days I am committing to, I’ve scheduled a recurring 30 minute slot on my calendar. UbBloPoMo posts should be something you can write up in 30 minutes or less, I think, so that should suffice. I’ve also scheduled it for the end of my work day, so I can talk about things that are still fresh in my mind, to make it even easier.
Finally, because Europe is off work by the end of my day, I’m going to schedule all of my posts to publish the following morning at 9am UTC (posts written Friday will publish on Monday morning). I’ve been doing this for a while with my previous posts, and it seems to get more views when I do. For example, this post was written yesterday, but posted while I was still sound asleep this morning. The internet is a magical place.
So, today being Friday, I will be writing my first actual UbBloPoMo entry this evening, and it will post on Monday February 3rd. What will it be about I wonder? The suspense is killing me.
I think the gist of Randall’s view is that he would like to encourage more fun, interesting, and diverse Ubuntu-related content. I think Randall wants to see fun stories of LoCo events, interesting Ubuntu work going on, cool Ubuntu apps, details of new features, and more. I agree with Randall here, and would love to see the same.
I think the gist of Stuart’s view is that the personal stories on Planet Ubuntu is a wonderful part of being in a community. Ubuntu is not just about Ubuntu, it is about the stories and the lives of the people who contribute to our community. I agree with Stuart here too.
I think we need a mix. Ideally we want to see interesting posts about people’s contributions to Ubuntu, but also about their non-Ubuntu lives too.
I would like to see Planet Ubuntu stick to its core goal: to be a place where you can look into the lives of Ubuntu members and explore their Ubuntu work as well as their non-Ubuntu thoughts and views.
The problem here is really with Ubuntu membership. Some people are still Ubuntu members who haven’t contributed to Ubuntu for a long time and thus we see lots of non-Ubuntu content, but rarely hear about their contributions. I would recommend we deactivate membership for those who are not actively contributing (active being significant and sustained contributions, as per our charter); this will then tighten up which feeds appear on planet and we will get a nice mix of both Ubuntu and person content.
Following a recent announcement, the Ubuntu emulator is going to become a primary Engineering platform for development. Quoting Alexander Sack, when ready, the goal is to
[...] start using the emulator for everything you usually would do on the phone. We really want to make the emulator a class A engineering platform for everyone
While the final emulator is still work in progress, this month we are also going to see a big push in finishing all the pieces to make it a first-class citizen for development, both for the platform itself and for app developers. However, as it stands today, the emulator is already functional, so I’ve decided to prepare a quickstart guide to highlight the great work the Foundations and Phonedations teams (along with many other contributors) are producing to make it possible.
While you should consider this as guide as a preview, you can already use it to start getting familiar with the emulator for testing, platform development and writing apps.
To install and run the Ubuntu emulator, you will need:
Scroll down to Trusty Tahr and click on the arrow to the left to expand it
Scroll further to the bottom of the page and click on the ubuntu-emulator_runtime_* package corresponding to download it at the same ~/emulator folder
Open a terminal with Ctrl+Alt+T
Change the directory to the location where you downloaded the package writing the following command in the terminal: cd emulator
Then run this command to install the packages: sudo dpkg -i *.deb
Once the installation is successful you can close the terminal and remove the ~/emulator folder and its contents
Downloaded images are cached at ~/.cache/ubuntuimage –using the standard XDG_CACHE_DIR location.
Instances are stored at ~/.local/share/ubuntu-emulator –using the standard XDG_DATA_DIR location.
While an image upgrade feature is in the works, for now you can simply create an instance of a newer image over the previous one.
Running the emulator
The ubuntu-emulator tool makes it again really easy to manage instances and run the emulator. Typically, you’ll be opening a terminal and running these commands the first time you create an instance (where myinstance is the name you’ve chsen for it):
sudo ubuntu-emulator create myinstance
ubuntu-emulator run myinstance
You can create any instances you need for different purposes. And once the instance has been created, you’ll be generally using the ubuntu-emulator run myinstance command to start an emulator session based on that instance.
There are 3 main elements you’ll be interacting with when running the emulator:
The phone UI – this is the visual part of the emulator, where you can interact with the UI in the same way you’d do it with a phone. You can use your mouse to simulate taps and slides. Bonus points if you can recognize the phone model where the UI is in ;)
The remote session on the terminal – upon starting the emulator, a terminal will also be launched alongside. Use the phablet username and the same password to log in to an interactive ADB session on the emulator. You can also launch other terminal sessions using other communication protocols –see the link at the end of this guide for more details.
The ubuntu-emulator tool – with this CLI tool, you can manage the lifetime and runtime of Ubuntu images. Common subcommands of ubuntu-emulator include create (to create new instances), destroy (to destroy existing instances), run (as we’ve already seen, to run instances), snapshot (to create and restore snapshots of a given point in time) and more. Use ubuntu-emulator --help to learn about these commands and ubuntu-emulator command --help to learn more about a particular command and its options.
At this time, the emulator takes a while to load. During that time, you’ll see a black screen inside the phone skin. Just wait a bit until it’s finished loading and the welcome screen appears.
By default the latest built image from the devel-proposed channel is used. This can be changed during creation with the --channel and --revision options.
If your host has a network connection, the emulator will use that transparently, even thought the network indicator might show otherwise.
To talk to the emulator, you can use standard adb. The emulator should appear under the list of the adb devices command. Due to a known bug, you’ll need to run adb kill-server; adb start-server on the host before you can see the emulator listed as a device.
Learn more and contribute
I hope this guide has whetted your appetite to start testing the emulator! You can also contribute making the emulator a first-class target for Ubuntu development. The easiest way is to install it and give it ago. If something is not working you can then file a bug.
Our LoCo community has got an incredible track record for organizing release parties, Ubuntu Hours, Global Jams, and all sorts of meet-ups for Ubuntu enthusiasts and folks who are new to Ubuntu. Ubuntu App Developer Schools are very new, but in the same way LoCos are, they’re going to become crucial in the new era of mobile devices and convergence. So we would like to see more of them and we need your help!
You can run an App Dev School too
If you’ve already organized an event, you already know the drill, but if it’s your first one, here are some guidelines on how you can put one together:
Find a place to run an event and pick a date when to run it.
Find some other folks in your LoCo who would be interested in helping.
Promote the event locally and encourage people to join.
Practice the material a few times before the big day, then show up, run the class and have fun.
Take lots of pictures!
The ever awesome José Antonio Rey has made it even easier for Spanish-speaking LoCos to run events by having translated the materials into Spanish, so do get in touch with him if you’d like to use them.
And finally, for those of you who don’t have mobile devices to show Ubuntu on, the emulator is a nice alternative to use for app development and presentations. To help you get started, I’ve put together a quickstart guide to the Ubuntu emulator.
If you’re thinking about organizing one and you’ve got questions or need help, get in touch with me at email@example.com
Looking forward to seeing all your App Dev Schools around the world!
Core Apps Hack days are an easy way for app developers to get started contributing to one of the most important and visible parts of Ubuntu, and learn and share knowledge with an exciting community of some of the best Open Source developers around. As core app developer Riccardo Padovani, puts it:
I started to contribute to Ubuntu Touch with a Core App Hack Day in July and I still have not stopped!
Driven by the success of previous editions, we’re thrilled to announce another week of Ubuntu Core Apps Hack Days starting tomorrow, Friday the 24th of January
In one month’s time, the Mobile World Congress will bring a unique opportunity to present the Ubuntu phone and tablet to some of the most influential names in the mobile industry. It is also an opportunity to showcase a truly free OS and the stunning work our community of core app developers (and many others!) have already achieved.
Thus we’d like to set the theme for these Hack Days to Sprinting to MWC, and use them to focus on convergence and finishing off the set of features agreed upon at the last Ubuntu Developer Summit (UDS).
We’ll be running a week’s worth of Hack Days, online at the #ubuntu-app-devel IRC channel, from 9:00UTC to 21:00UTC, focusing on two apps a day:
There are many ways to making core apps even more awesome! If you want to contribute, choose the one that best matches your interests or skills. The first thing I’d recommend would be to run the apps on a device to get a feel for how they work. If you don’t have a real device to test, a good alternative is to use the Ubuntu emulator.
Once you’re familiar with them, here’s how you can start your journey to becoming a core apps contributor: