Lessons Learned Losing Weight
Later this year Erica and I are having our five year anniversary. I can’t quite believe that five years have passed since we said *I do*, and we couldn’t be happier. Consequently, we are going to renew our vows and have a bit of a gathering.
The gathering is in late September and as such I want to ensure that Erica is renewing her vows with the same approximately-shaped guy. As such, I have spent the last three weeks or so focusing on losing some pounds. Now, I don’t really consider myself particularly overweight, but I have definitely put on some pounds since we got married, and my goal is to lose the 15lb or so.
Interestingly, we have discussed weight and health at a few previous Ubuntu Developer Summits, and I know that unfortunately a lot of folks in our community suffer from weight issues and challenges, so I thought it might be useful to share some tips I have learned about getting fitter. This might provide some food for thought for getting in shape too.
Now, to be clear, I *hate* exercise. I don’t like working out, I can’t stand gyms, and I also don’t want to live a monastic life in which I don’t get to enjoy my hobbies of smoking large chunks of meat for hours on end and having a few drinks with friends at the weekend. So, I wanted to put a plan in place to lose the weight while also maintaining a sense of normality with these aspects of my life.
I keep things pretty simple. I work out for 45 minutes a day on an elliptical trainer at home and I watch my calories during the week. I try to make sure I am eating at least 500 fewer calories than I need to maintain my current weight – this gets me onto a 1lb/week drop. At weekends I don’t go crazy, but I eat and drink pretty much what I want, and exercise at least once at the weekend.
To track this I have found the [Fitbit One](https://www.fitbit.com/one) fitness tracker invaluable for showing how many steps I have travelled each day, how many calories I have burned, and helping to keep on track with my goals (at least 40mins of active exercise a day). I also use the [Fitbit Area](https://www.fitbit.com/aria) scale that automatically sends my weight to the Fitbit website, so I can see any progress that I am making. Unfortunately there is no Ubuntu or other Linux client for the Fitbit products, so I need to use the iPad to sync the data (some Android devices are supported too, but very few).
So here are some tips I have learned:
* Pick a good time to work out. I used to do this in the evenings, but by the time I finish work at 7pm, get Jack to bed, eat dinner, and finish digesting dinner, it was often too late. I switched this to 4pm and I have been able to maintain my daily exercise routine without running out of time.
* Find a calorie calculator (such as [this](https://www.calculator.net/calorie-calculator.html)) and figure out how many calories you need to eat to lose the pounds. As an example, I need 3000 cals to maintain current weight, so I shoot for 2500 a day to lose weight. Count up your food and try to keep it under your target. Some people track their food in Fitbit, but I can’t be bothered with that, so I just count it in my head.
* Exercise is not about the time you spend doing it, but (a) making sure you sweat, and (b) making sure you get breathless at different times in your workout. I like variable resistant workouts such as on the elliptical where it simulates running up and down hills. It feel like I get much more out of my 45mins. Do whatever exercise you want, but I do the elliptical as it is (a) conveniently located in my house, (b) doesn’t involve going out and getting cancelled by weather, (c) lets me watch TV, and (d) doesn’t involve too much pressure on my ankles, like running does.
* As I say, I *hate* exercise, so I watch Netflix and Amazon Prime on my tablet. I find this *essential*; anything to take my mind of working out and staring at the clock helps. This keeps me entertained, gives me a chance to watch the movies and shows I enjoy, and makes the time pass.
* Learn to mentally set goals when working out. As an example, the other day I was tired after 20mins into my work out. I then mentally pushed myself to 30mins without stopping. I made it. Then I mentally pushed myself to 40mins. This is not only something you feel proud of in that workout session, but it gives you a renewed sense of determination.
* Bear in mind that when you weight yourself your weight fluctuates, so don’t get disheartened. Always weigh yourself in the morning and then compare weights every Sunday. You should start seeing it drop off.
I hope this helps, and I am happy to answer any questions in the comments. π
Mir in Ubuntu 13.10, Benchmarking, and More
Many of you will have seen the recent news about [Mir](https://wiki.ubuntu.com/Mir) coming to Ubuntu 13.10 in October 2013. For those of you who are unaware of Mir, it is an Open Source display server we are building that we will use across desktops, phones, tablets, and TV. It currently works with Open Source drivers and we are currently in discussions with the major GPU manufacturers to discuss Mir support in their proprietary drivers.
From the [announcement yesterday](https://fridge.ubuntu.com/2013/06/27/mir-plans-in-13-10/):
> For 13.10 we plan on delivering Mir by default in Ubuntu Desktop with XMir (an implementation of X running on Mir) and our current Unity 7 codebase (the same Unity codebase that is currently in the Saucy development release).
> This will be enabled for graphics hardware with Open Source drivers supported by Mir (primarily intel, nouveau and radeon). For binary graphics drivers (e.g. many NVidia and ATI cards) that donβt support Mir yet, we will fallback to the normal X server that we usually ship. This will mean that all users are well served in Ubuntu 13.10 and everyone will get the standard Unity 7 experience with feature parity with X (e.g. multi-monitor support). This fallback will be removed for Ubuntu 14.04. We are working with GPU vendors and partners to provide the required driver support and are confident to have this in place for 14.04.
We discussed this before the announcement with the Ubuntu [Community Council](https://community.ubuntu.com/community-structure/) and all councils and flavor leaders from each of our official flavors this week. Many thanks to those folks for the feedback they provided.
For those concerned about flavors being able to ship their desktops in Ubuntu 13.10, each of the desktops showcased in our flavors (GNOME 3, KDE, XFCE, LXDE) work with XMir running on Mir (see the (https://www.youtube.com/watch?v=8h0m-ZjPxe8)). Please note, this is running on XMir, not Mir directly. Now, whether the flavors choose to use XMir on Mir or ship X directly is of course up them. Fortunately, they have a few options at their disposal for 13.10.
## Testing, Reporting Bugs, and Benchmarks
If you would like to try Mir, *Oliver Ries*, *Director of Display Server and Unity* at Canonical, posted [instructions for how to get started](https://www.olli-ries.com/running-mir/). Likewise, *Nicholas Skaggs* on my team has announced that [Mir is part of our regular cadence testing](https://www.theorangenotebook.com/2013/06/mir-joins-cadence-testing.html), so we encourage you to test Mir, report your results, and feel free to discuss Mir on the [mir-devel mailing list](https://lists.ubuntu.com/mailman/listinfo/Mir-devel).
Most recently, we reached out to [Phoronix](https://www.phoronix.com/scan.php?page=home) to ask if Michael could perform some benchmarking tests on Mir to see where things stand today with applications running on XMir on Mir. Now, bear in mind that Mir has not yet been through a round of performance optimizations (this will happen a little later in the cycle), and the results naturally have a performance impact because of this, but the impact was not too great. These performance regressions should be largely resolved before Ubuntu 13.10. Oliver Ries [blogged reviewing the results and discussed plans to resolve these issues](https://www.olli-ries.com/first-mir-benchmarks/).
## Staying Up To Date
Next week we will provide two opportunities to ensure you have as much information about Mir as possible. On **Tues 2nd July** at **5pm UTC** we will be doing our normal *Ubuntu Weekly Update* with updates from a range of teams of progress over the last week (see the last one [here](https://www.youtube.com/watch?v=tiACHBktsA0)).
Immediately after that session at **6pm UTC** I will then be doing a a full interview with a number of members of the core Mir team and inviting your questions too.
Watch both sessions on [Ubuntu On Air](ubuntuonair.com).
First Ubuntu Weekly Update Video
Today we had our first *Ubuntu Weekly Update* with summaries from engineering managers and leads for Mir, Unity, Juju (Core and Ecosystem), Click, Smart Scopes, Ubuntu Touch, Community, and other areas. After the summaries we opened up the session to questions from viewers.
This weekly videocast will provide a regular in-depth, open, and transparent update of week-to-week engineering and community work going on.
See it below:
*Can’t see the video? See it [here](https://www.youtube.com/watch?v=tiACHBktsA0)!*
Remember, you can always catch my regular weekly Q&A where you can bring *any of your questions*. Watch it live at [Ubuntu On Air](https://ubuntuonair.com/) **every Wednesday at 6pm UTC**.
Ubuntu Weekly Update Videocast, Mir Interview, and More Interviews
We have been working hard to ensure that the various engineering teams working on different parts of Ubuntu are being as open and transparent as possible. This has included many of these teams (e.g. Unity, Mir, App Development etc) sending regular weekly updates of progress being made. Well, we want to amp that up to the next level, so I am proud to announce the *Ubuntu Weekly Update Videocast*!
The idea is simple: we are pulling together a number of engineering managers from a range of different teams and they will provide a weekly summary of what their team has been working on, and their plans for the coming week. These summaries will form the beginning of the videocast and then we will open up for questions throughout the rest of the hour. This will provide a recorded summary of progress that our community, members of the press, and others can use to keep up to date, and a regular opportunity to ask questions to the team.
Our first *Ubuntu Weekly Update Videocast* is happening tomorrow, **Tuesday 24th June 2013** at **5pm UTC** live on [Ubuntu On Air](https://ubuntuonair.com/). Be sure to join us there!
## Interviews
As many of you will know, every week I do a regular Q&A videocast where I invite the community and anyone else to come and *ask me anything*. This show happens **every Wednesday at 6pm UTC** live on [Ubuntu On Air](https://ubuntuonair.com/) and has been well received by the community to ask anything on their minds about our goals, strategy, and areas of focus.
For some time now I have been wanting to conduct a series of interviews with various Ubuntu teams and communities about their work, and I did my first one last week with Jamie Strandboge and Martin Albisetti who are working on the future app upload process designed for app developers who want to deliver their apps on the Ubuntu convergent platform. See the interview [here](https://www.youtube.com/watch?v=vz4wbE7NUms), which includes a lot of questions asked from viewers too.
I will be conducting more and more of these interviews, so let me know what topics and teams you want to see in the comments.
## Mir Interview
The next interview I am doing is with the [Mir](https://wiki.ubuntu.com/Mir) team and this will take place on **Tuesday 2nd July 2013** at **6pm UTC** live on [Ubuntu On Air](https://ubuntuonair.com/). Be sure to join and bring your questions too!
Two Q&A Sessions This Week
This week I am pleased to announce two Q&A sessions to get all your juicy Ubuntu-related questions answered:
* **Wed 19th June** – taking place an hour earlier this week at **6pm UTC** will be my usual weekly Q&A session where you are welcome to bring any and all questions! Be sure to join me, it is always a lot of fun. π
* **Thu 20th June** – taking place at **7pm UTC** and kicking off the first in a series of 1-on-1 interviews that I am going to do, I will be interviewing *Martin Albisetti* who is a member of the team making application submissions for Ubuntu on desktops, phones, tablets, and TVs easier than ever. Martin’s team is building the server that will recieve submissions as click packages and review them before they go out to users. Martin is also an active member of the community and a member of the Community Council. I will be asking Martin some questions about his work and then we will open it up for you folks to ask questions too.
You can access both of these sessions on [Ubuntu On Air](https://ubuntuonair.com/).
Ubuntu Carrier Advisory Group Announced
We are working on a powerful vision with Ubuntu; to build a convergent Operating System that runs on [phones](https://www.ubuntu.com/phone), [tablets](https://www.ubuntu.com/tablet), [desktops](https://www.ubuntu.com/desktop), and [TVs](https://www.ubuntu.com/tv). A core part of this vision is that this is a platform and ecosystem that you can influence, improve, and be a part of, significantly more-so than our competitors.
One consistent piece of feedback we have seen from carriers and handset manufacturers is a a greater desire for platform competition and participation on helping to shape and define the ecosystem. A key goal for Ubuntu is to satisfy these needs.
Today we launched the the [Ubuntu Carrier Advisory Group](https://www.ubuntu.com/phone/carrier-advisory-group) (CAG) which includes **Deutsche Telekom, Everything Everywhere, Telecom Italia, Korea Telecom, LG UPlus, Portugal Telecom**, and **SK Telecom** as founding members. Wide industry participation in the group will help us to prioritize the delivery of new Ubuntu features, and grow an ecosystem of software, services and devices that meets that need.
The CAG provides regular meetings that take place regularly and typically include a briefing by Canonical or a partner company, followed by feedback from carriers. Members can bring domain specialists to calls for each relevant topic covered. Topics planned for discussion in the CAG forum include:
* Differentiation for OEMs and operators.
* Developer ecosystems and application portability.
* HTML5 standards, performance and compatibility.
* Marketplaces for apps, content and services.
* Revenue share models for publishers, operators, and OEMs.
* Payment mechanisms and standards.
* Platform fragmentation.
* Consumer and enterprise market segments and positioning.
CAG members can also launch Ubuntu devices before non-members in local markets. The first two launch partners will be selected from within the group, with the next wave following six months later; non-members will face a substantial wait to gain access to the platform. Members will have early knowledge of silicon, as well as OEM and ODM partners involved in the Ubuntu mobile initiative.
The Carrier Advisory Group is chaired independently of Canonical by *David Wood*, who has 25 years’ experience in the mobile industry, including leadership roles at *Psion, Symbian* and *Accenture*. He has wide experience with collaborative advisory groups, and twice served on the board of directors of the *Open Mobile Alliance* (OMA).
David has this to say about the CAG:
> “The mobile industry still needs an independent platform that enables innovation and differentiation. That platform is Ubuntu. The Carrier Advisory Group will have the opportunity to influence the Ubuntu roadmap, and take full advantage of the potential this emerging platform.”
**If you are a carrier interested in helping shape Ubuntu’s mobile strategy and being part of the CAG, [click here](https://pages.canonical.com/carrier-advisory-group-contact-us.html)**.
Simplifying App Websites With Juju
Last week I had a neat idea. Well, at least *I* think it is a neat idea. Let me share it with you folks to get your take.
We have been spending a lot of time refining every aspect of the application development process for writing Ubuntu phone/tablet/desktop applications. This has included:
* Building a simple, and powerful [Ubuntu SDK](https://developer.ubuntu.com/get-started/).
* Building a comprehensive [knowledge base](https://developer.ubuntu.com/resources/) on [developer.ubuntu.com](https://developer.ubuntu.com/) for getting started writing your first app, and performing common programming tasks.
* Integrating source control, bug tracking, and more from [Launchpad](https://launchpad.net/) into the SDK.
* Providing a safe and secure, sand-boxed environment to run apps in, and an automated process for reviewing how these apps come into Ubuntu and are exposed to Ubuntu users.
This is all part of an end-to-end process to make writing apps for Ubuntu fun, simple, and intuitive from the minute you load the SDK to the minute your app appears on a users phone, tablet, or desktop.
## Project Websites
One piece we haven’t looked into is how app developers can set up a website for their app.
App websites vary tremendously in size and complexity. Some people just want a single static web page with details of the app and how to get it. Some want a more complex site with integrated forums, bug tracking, and more.
As part of what we can offer with Ubuntu, we should be able to bundle all aspects of your infrastructure too. Need a website? Check. Need a forum? Check. Need a bug tracker? Check.
Fortunately we have a powerful cloud orchestration tool in [Juju](https://juju.ubuntu.com/) that can not only simplify the deployment, management, and scaling of the service, but could potentially take virtually all of the pain out of getting the site set up in the first place, and then scale up where needed.
## The Idea
Let’s assume I have just published my first version of my app in Ubuntu. I now need a simple website to get my app on the web and known to users. While I want to start simple, there is a possibility though that my project may become hugely popular making me a king among men and require a larger, more expansive web presence.
Let’s start simple though. Ideally, I want to be able to specify some configuration detail like this in a file:
app:
app-name: Read All About It
download-archive-name: readallaboutit
launchpad-project: readallaboutit
website:
website-strapline: All the headlines in your hand.
screenshots: [‘https://www.myscreenshotonline.com/screen1.jpg’,
‘https://www.myscreenshotonline.com/screen1.jpg’]
page-about: True
page-developers: True
page-screenshots: True
page-contact: False
…and then do this:
juju deploy –config myconfig.yaml ubuntu-app-website
The charm would read in the configuration file and generate a set of static web pages based on that configuration.
As an example, it would pre-populate chunks of the page, and generate developer information on the *Developer* page with details of the main branch, bug tracking, a form to submit a bug, and more (we can pull this from the Launchpad project).
It could look simple like this:
This would mean an app developer could spin-up a super light-weight app website with just a configuration file and Juju on whichever cloud service they prefer. This would be light-weight both in terms of getting up and running and resource usage; you could set this up on a tiny cloud instance. As ever, if my project was to get slashdotted I could scale up the service, as with any other Juju charm.
Now let’s assume I want to add more functionality to my website. This is where the real power of Juju could come in. Let’s assume I want a forum. I should be able to run:
juju deploy ubuntu-app-website-forum
juju relate ubuntu-app-website ubuntu-app-website-forum
This would then spin up a forum (or Discourse site) but the charm would integrate it into the existing website with a navigation link and shared theming. It could then look like this:
We could then conceivably have any number of supported additions (e.g. mailing lists, video streams, event organization, tutorial content, API docs etc) for the website that app maintainers can use to easily expand their service as they see fit.
## Next Steps
I shared this idea with Jorge who thought it was a neat idea. He then talked with Marco who has been putting together a first cut that we can experiment with. If anyone is interested in helping to build this, please let me know in the comments.
Ubuntu and XDA: An Awesome Relationship
Ever since we first announced Ubuntu for phones on January 2nd this year, a fantastic relationship with our friends in the [XDA community](https://www.xda-developers.com/) has formed. For quite some time now we have been releasing [daily images of Ubuntu for phones/tablets](https://wiki.ubuntu.com/Touch/Install) and our friends in the XDA community have been working to enable these images for a [wide range of devices](https://wiki.ubuntu.com/Touch/Devices).
Much of this work has been happening on the [Ubuntu Touch XDA forums](https://forum.xda-developers.com/forumdisplay.php?f=2068) which have seen **4600+** posts from this enthusiastic community.
I wanted to follow up on a few different XDA-related things that are going on.
## Participating in and Sponsoring xda:devcon
From 8-11 August in Miami, Florida will be [xda:devcon](https://xda-devcon.com/), the very first XDA developer conference. We are sponsoring the event and will be exhibiting there. We are delighted to be supporting such an awesome event. π
I will also be speaking at the event and delivering a new presentation called [Building a Convergent Future With Ubuntu](https://xda-devcon.com/presentation/ubuntu-touch/) that will cover the vision and goals of Ubuntu on devices, how our community is right at the core of what we are doing (and accessible to everyone), and how far along we are in this vision.
[Michael Hall](https://mhall119.com/) will be running an app development workshop and showing attendees how to build an application from scratch that runs across Ubuntu phones, tablets, and desktops. More details on Michael’s workshop will be announced soon. Given that we are releasing the beta of our [Ubuntu SDK](https://developer.ubuntu.com/get-started/) in July, this workshop will be a great opportunity to come and learn how to get started!
We will also be joining the main conference and happy to answer questions, demo Ubuntu on these different devices, and anything else. If you want to set up a meeting, please drop me an email.
## Weekly XDA Q&A
We want to ensure our friends in the XDA community have as much information at their fingertips about Ubuntu Touch. As such, [Daniel Holbach](https://daniel.holba.ch/blog/) is collating questions from the community (you can [ask your question here](https://docs.google.com/forms/d/1B2GzH5Zh8EVEXboe_5E2HuJgSmDpBqPXH59LM50376c/viewform)) and then posting a weekly summary of questions on [this XDA forum thread](https://forum.xda-developers.com/showthread.php?t=2239338).
As ever, if anyone has any other questions, be sure to join my weekly live Ubuntu Q&A videocast. This week it will be happening at **6pm UTC** on **Wednesday 19th June** on [Ubuntu On Air](https://ubuntuonair.com/). Be sure to join me then!
## Making Porting Easier
One of the reasons I am so delighted to see the close relationship between Ubuntu and XDA continuing to form is that I feel making Ubuntu available on a range of different devices is a key part of what will help us to be successful.
Although we at Canonical a are currently targetting a very specific set of handsets for our first release of Ubuntu Touch (Galaxy Nexus and Nexus 4), the wider XDA community has been working to enable the image on other devices that Canonical is not directly focused on. This is an awesome contribution.
One of the technical challenges here is how we handle firmware and binary blobs to make various hardware components work. Unfortunately, some of this firmware cannot be legally re-distributed by us (although the user can typically download it directly).
I have asked Daniel Holbach to work with the phonedations team to ease this process as much as possible and some work is going into `phablet-flash` to make it easier to handle these firmware pieces. We should have more on this in the coming weeks.
## Onwards and Upwards!
There is lots of fantastic work going on and I am looking forward to continuing to work with the always excellent and approachable XDA community. We look forward to seeing you in Miami in August!
Printed Certificates for Ubuntu Members
The Ubuntu community is a core part of what makes us what we are, and right at the center of that are our Ubuntu Members. Ubuntu Members provide *significant and sustained* contributions over a wide range of areas such as packaging, documentation, programming, translations, advocacy, support, and more. We always want to do our best to recognize and appreciate our many members in the Ubuntu family, across these many different teams and our flavors.
We are pleased to announce a new benefit for new Ubuntu Members. When you become approved as an official Ubuntu Member, you will be mailed a printed certificate signed by Mark Shuttleworth, founder of the Ubuntu project to recognize your membership. We hope you put it up on your wall where you contribute to Ubuntu and bring freedom and openness to technology.
To find out more, and find out how to get yoru certificate, see [this post on the fridge](https://fridge.ubuntu.com/2013/06/14/certificates-for-ubuntu-members/).
The Ubuntu App Developer Cookbook Announced
In recent months we have been seeing *tremendous* growth and interest in the [Ubuntu SDK](https://developer.ubuntu.com/get-started/) that is at the heart of building applications for Ubuntu for phones, tablets, desktops, and TVs. The SDK provides the ability to build rich native applications in QML/Qt that hook right into the system, platform services, messaging, social media and more. We will also be providing support for HTML5 apps soon (with deep platform integration), and for OpenGL apps too.
Today you can [download the SDK](https://developer.ubuntu.com/get-started/) and follow a [getting started tutorial](https://developer.ubuntu.com/resources/cookbook/mobile/currency-converter-phone-app/) to write your app. If you have Ubuntu running on a phone/tablet (find out how to install the daily images [here](https://wiki.ubuntu.com/Touch/Install)), you can test and run the application the device with just a click. The entire experience is all encased within our SDK IDE. We are still refining and improving many aspects of the SDK, and our Beta release will be in July.
When most developers are learning a new platform or technology, you have lots of questions. How do I do X? How do I do Y? While we can get our new developers up and running quickly with the SDK and tutorial, we also want to help provide as many answers to these common questions too. This is where the new cookbook comes in.
## The App Developer Cookbook
Today we are introducing the [Ubuntu App Developers Cookbook on developer.ubuntu.com](https://developer.ubuntu.com/cookbook/). The cookbook provides a number of different pages (e.g Device Sensors, Files and Storage, Games, General App Development, Multimedia, Networking etc) with a list of common questions and their associated answers.
Instead of building an entirely new piece of infrastructure, we wanted to work with the place where our developers naturally ask their questions; [AskUbuntu](https://askubuntu.com/), the Ubuntu themed StackExchange site we use for all our Q+A needs across the Ubuntu community.
Here’s how it works: when you have a question, simply [browse the cookbook](https://developer.ubuntu.com/cookbook/) to find an answer for your query. If you don’t, simply [ask that question on AskUbuntu](https://www.askubuntu.com/questions/ask?tags=application-development), and when a question has received two up-votes and an accepted answer, it will be added to the cookbook. This will ensure the very best content appears on the cookbook for current and new Ubuntu developers to enjoy.
What you see today is a first iteration of the cookbook. In the next few weeks we will be making some additional improvements:
* Refining the questions listed in the cookbook.
* Enhancing the navigation of the cookbook pages.
* Adding sub-sections to make content easier to navigate.
* Having a different cookbooks for Native (QML/Qt apps), HTML5, OpenGL, and Scopes.
If you have any questions or queries about the cookbook, feel free to share in the comments!
## How To Help
One of the core foundational strengths of Ubuntu is our community, and we are looking for help in ensuring our cookbook is as capable and comprehensive as possible. As such, we would like to encourage our community to do the following:
* Be sure to [ask questions on AskUbuntu](https://www.askubuntu.com/questions/ask?tags=application-development) for topics not covered by the cookbook.
* When you ask a question, be sure to accept the answer when it answers the question otherwise it won’t be accepted into the cookbook.
* Be sure to upvote questions that you find useful.
Thanks for continuing to help make the Ubuntu App Dev community a fun, dynamic, and innovative place to be!