Canonical Voices

Posts tagged with 'loco'

Daniel Holbach

I Am Who I Am Because Of Who We All Are

I read the “We Are Not Loco” post  a few days ago. I could understand that Randall wanted to further liberate his team in terms of creativity and everything else, but to me it looks feels the wrong approach.

The post makes a simple promise: do away with bureaucracy, rename the team to use a less ambiguous name, JFDI! and things are going to be a lot better. This sounds compelling. We all like simplicity; in a faster and more complicated world we all would like things to be simpler again.

What I can also agree with is the general sense of empowerment. If you’re member of a team somewhere or want to become part of one: go ahead and do awesome things – your team will appreciate your hard work and your ideas.

So what was it in the post that made me sad? It took me a while to find out what specifically it was. The feeling set in when I realised somebody turned their back on a world-wide community and said “all right, we’re doing our own thing – what we used to do together to us is just old baggage”.

Sure, it’s always easier not having to discuss things in a big team. Especially if you want to agree on something like a name or any other small detail this might take ages. On the other hand: the world-wide LoCo community has achieved a lot of fantastic things together: there are lots of coordinated events around the world, there’s the LoCo team portal, and most importantly, there’s a common understanding of what teams can do and we all draw inspiration from each other’s teams. By making this a global initiative we created numerous avenues where new contributors find like-minded individuals (who all live in different places on the globe, but share the same love for Ubuntu and organising local events and activities). Here we can learn from each other, experiment and find out together what the best practices for local community awesomeness are.

Going away and equating the global LoCo community with bureaucracy to me is desolidarisation – it’s quite the opposite of “I Am Who I Am Because Of Who We All Are”.

Personally I would have preferred a set of targeted discussions which try to fix processes, improve communication channels and inspire a new round leaders of Ubuntu LoCo teams. Not everything you do in a LoCo team has to be approved by the entire set of other teams, actual reality in the LoCo world is quite different from that.

If you have ideas to discuss or suggestions, feel free to join our loco-contacts mailing list and bring it up there! It’s your chance to hang out with a lot of fun people from around the globe. :-)

Read more
Daniel Holbach

The idea

At the last Ubuntu Online Summit, we had a session in which we discussed (among other things) the idea to make it easier for LoCo teams to share news, stories, pictures, events and everything else. A lot of great work is happening around the world already, but a lot of us don’t get to hear about it.

I took an action item to schedule a meeting to discuss the idea some more. The rough plan being that we add functionality to the LoCo Team Portal which allows teams to share their stories, which then end up on Planet Ubuntu.

We held the meeting last week, find the IRC logs here.

The mini-spec

Find the spec here and please either comments on the loco-contacts mailing list or below in the comments. If you are a designer, a web developer, know Django or just generally want to get involved, please let us know! :)

We will discuss the spec some more, turn it into bug reports and schedule a series of hack days to work on this together.

Read more
Daniel Holbach

Got any plans for the weekend?

maps

This weekend (4-6 April) the Ubuntu community is celebrating another Ubuntu Global Jam! The goal, as always, is to get together as a team and make Ubuntu better, get people involved and have fun. In the past we all focused on packaging, fixing bugs, translations, documentation and testing. The most recent addition to the mix are App Dev School events.

The goal of App Dev Schools is to have a look at developing apps for Ubuntu together. We made this a lot easier by providing presentation material and virtualbox images and instructions for how to run an event. If you have a bit of programming experience, it should be easy for you to run the sessions with just a bit of preparation time.

Why is this exciting and probably a good idea to discuss in the team? Simple: it has never been easier to write apps for Ubuntu and publish them. You can choose between Qt/QML apps and HTML5 apps – both are easy to put together and packaging/publishing an app is a matter of a couple of a clicks. Awesome!

Check out the Ubuntu Global Jam page and find out how have your own local event. If it’s just you and a couple of friends meeting up – don’t worry – it’s still a jam!

Have a great weekend everyone!

Read more
Daniel Holbach

Teaching Ubuntu App Development

Tablet and phone, running Ubuntu

At the vUDS in November we talked about having events where local communities could learn more about app development for Ubuntu for the first time. Since then we have come a long way:

  • We have some really nice materials set up.
  • The first events were held in a number of places around the world.
  • We got feedback and improved our docs.
  • Before the Ubuntu Global Jam and the release parties for 14.04 LTS we will have two Q&A sessions where you can ask all organisational and technical questions you might have.

You don’t have to do everything yourself!

When we started the initiative, we first talked to members of the Ubuntu community who knew a bit of app development already. Many of them liked the idea, but didn’t quite know how to set up an event or how to organise everything. We tried to address this by bringing them in touch with some of the LoCo teams which helped in a bunch of cases where events have already happened or are going to happen quite soon. We want more of this to happen.

It’s only understandable that you can’t do everything yourself, or that one person’s skills lie in a more organisational field and somebody else has some more experience with app development. Bringing the two together, we are going to have more interesting events, more people introduced to writing apps for Ubuntu, which will be great for everyone involved.

Getting started

Sounds good so far? Here’s what you can do to get more folks exposed to how sweet and easy it is to write apps for Ubuntu.

As somebody who can organise events, but might need to find a speaker: Ask in #ubuntu-app-devel on Freenode or on the ubuntu-app-devel@ mailing list, to see if anyone is in your area to give a talk. Ask on your LoCo’s or LUG’s mailing list as well. Even if somebody who’s into programming hasn’t developed using Ubuntu’s SDK yet, they should be able to familiarise themselves with the technologies quite easily.

As somebody who has written code before and didn’t find the Ubuntu app development materials too challenging, but might need to find some help with organising the event: Ask on the loco-contacts@ mailing list. There are LoCos all around the world and most of them will be happy to see somebody give a talk at an event.

Whichever camp you’re in:

Let’s make this happen together. Writing apps for Ubuntu and publishing them has never been easier, and they’ll make Ubuntu on phones/tablets much more interesting, and will run on the desktop as well.

Read more
David Planella

App-Dev-Schools

Following the call for volunteers to organize App Dev Schools across the globe, we’re excited to say that there are already events planned in 3 different countries. Every single App Dev School will help growing our community of app developers and drive adoption of our favourite free OS on all devices, everywhere.

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:

  1. Find a place to run an event and pick a date when to run it.
  2. Find some other folks in your LoCo who would be interested in helping.
  3. To promote it, remember to add it to the LoCo Directory
  4. Get the material and tune it for your event if needed.
  5. Promote the event locally and encourage people to join.
  6. Practice the material a few times before the big day, then show up, run the class and have fun.
  7. 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 david.planella@ubuntu.com

Looking forward to seeing all your App Dev Schools around the world!

The post Announcing the first Ubuntu App Dev Schools appeared first on David Planella.

Read more
David Planella

Ubuntu French LoCo Team

The challenge

With Ubuntu now running across all form factors and devices and entering the mobile space, a new era begins. While our values remain the same, we’ve now faced with a unique opportunity to drive adoption of our favourite Free Software OS to a user base that could potentially be one or two orders of magnitude bigger.

We’ve layed out the foundations of an innovative and scalable platform that provides a stunning experience for regular and power users, and that is a delight for developers to use. Years of experience, user testing and design on the desktop, pioneering work on the cloud and the app development story for the phone are some of the key aspects that have made it possible.

In this new era our community is more important than ever, with LoCo teams and the LoCo Council at the forefront. Ubuntu contributors, enthusiasts, evangelists, advocates… with your events, initiatives across the globe you are all making it happen.

With virtual UDS happening this week, we’d like to kick off a series of discussions to come up with a solid plan on how to re-energize and empower LoCo teams to scale up to these new challenges, and to involve them in the technologies and projects that are driving this new chapter in Ubuntu. The contribution of leaders in our LoCo community and the LoCo Council will be key to our success here.

The sessions

From the 19th to 21th of November, both the Community and the App Development tracks at UDS will be full with LoCo team sessions, and we’d like all advocates and everyone involved in Ubuntu local community teams to participate and contribute to our LoCo plans this cycle. Here are the sessions this week:

LoCo projects

An initiative to work with LoCos to provide projects and outcomes for those teams and individuals looking for ways of contributing to Ubuntu. We’d like to create “LoCo projects”, a pool of projects LoCo teams can participate in as a team.

LoCo Portal promotion

The LoCo Portal is the window to the vibrant activity of our Ubuntu teams, and we want to come up with a plan to promote it and use it to highlight the awesome work that’s going on in the LoCo world.

Join this session >

LoCo Leadership growth

New challenges require leadership, and we’d like to work with the LoCo Council to grow a team of leaders to drive the global LoCo community.

Join this session >

LoCo community involvement in App Development

App development is an exciting new area that is becoming key to the success of Ubuntu among mobile users. We’re at a point where the platform and infrastructure is ripe for LoCo teams to get involved and start spreading the word and running Ubuntu app development events.

Join this session >

Build materials for the App Dev Schools initiative

Growing the number of learning materials to write apps for Ubuntu will be a key focus for next cycle, and it offers a great opportunity to share knowledge and help others getting started creating content for the platform. Join us to discuss the plan to create a set of materials and presentations for the App Dev Schools.

Join this session >

Campaign to grow the number of tutorials videos

As an extension to the App Dev Schools initiative, we’d like to come up with a plan to publish a series of short, topic-based app development tutorial videos.

Join this session >

Looking forward to seeing you all at UDS this week!

Image ‘Photo de grouple’ by rocknpol under CC BY-NC-SA 2.0

The post Empowering LoCo teams at UDS appeared first on David Planella.

Read more
Michael Hall

A funny thing happened on the way to the forums, I was elected to serve on the Ubuntu Community Council. First of all I would like to thank those who voted for me, your support is a tremendous morale booster, and I look forward to representing your interests in the council.  I’d also like to congratulate the other council members on their election or re-election, I can’t imagine a better group of people to be working with.

That’s it, short and sweet.  Thanks again and let’s all get back to building awesome things!

Read more
David Planella

I’m thrilled to announce the availability of the Ubuntu 12.04 Online Tour for local community teams to localize and use on their websites. The tour has been the result of the stunning work done by Ant Dillon from the Canonical Web Design Team and should provide a web-based first impression of Ubuntu to new users, now in their language.

It’s a great opportunity to showcase Ubuntu to your local community to celebrate release day tomorrow.

Where is it?

How can I use it for my LoCo website?

First of all, you’ll need to get set up with the right tools before you start.

Getting set up:

  • Bazaar revision control system Install bzr
  • Polib library Install polib
  • Terminal. You’ll need to run the commands below on a terminal. Simply press Ctrl+Alt+T to fire up a new terminal console.

If you’ve already translated the tour in Launchpad, you can build a localized version in 3 easy steps:

1. Get the code:

bzr branch lp:ubuntu-online-tour/12.04

2. Build the localized tour:

cd 12.04
cd translate-html/bin
./translate-html -t

3. Deploy the tour:

  • This will vary depending on your setup, so simply make sure you copy the chromeless, css, img, js, pie and videos folders along with the videoplayer.swf file to your site. In addition, you will need the en folder and the folder for your language created in the previous step.

If you haven’t finished the translation for your language in Launchpad, you will need to complete the corresponding PO file before you run step 2. Just ask on the Ubuntu translators mailing list or on Launchpad in case you need help or are not familiar with PO files.

For any issues, suggestions or enhancement, use the Online Tour’s Launchpad project to report bugs or submit improvements.

Enjoy!

The post Get the Ubuntu Online Tour on your LoCo site appeared first on David Planella.

Read more
David Planella


If you follow the Ubuntu channels, and unless you’ve been living under a rock, you’ll have noticed that this coming weekend we’re organizing the Ubuntu Global Jam, a worldwide event where Ubuntu local community teams (LoCos) join in a get-together fest to have some fun while improving Ubuntu.

As we’re ramping up to a Long Term Support release, this is a particularly important UGJ and we need all hands on deck to ensure that it does not only meet, but exceeds the high quality standard of previous Ubuntu LTS releases. This is another article in the series of blog posts showcasing the events our community is organizing, brought to you by Rafael Carreras, from the Ubuntu Catalan LoCo team.

Tell us a bit about your LoCo team

Our LoCo is language-oriented, and by language I mean Catalan (a Romanic one), not Perl or Python. In fact, the Catalan LoCo Team was the first language-oriented LoCo to be approved back in 2007. We manage our day-to-day in three mailing lists: technical doubts, team work and translations and do IRC meetings twice a month. We organise Ubuntu Global Jam events every 6 months (with some minor absences) and of course great release parties every 6 months along with some other little ones in between.

What kind of event are you organizing for this Ubuntu Global Jam?

As always, we will translate some new packages, discuss translation items, a bug triage session, some install release work and even evangelization to some passing people, as we organise UGJ this time in a civic centre.

Is this the first UGJ event you’re organizing?

No, it’s not, we are running UGJs since the first one and I think we only missed last one.

How do you think UGJ events help the Ubuntu community and Ubuntu?

It’s a great opportunity for meeting people you only know by email or chat. Also, as we sit down together, there is little room for procrastination. Well, more or less, anyway.

Why do you think Jono Bacon always features pictures of the Catalan team when announcing the UGJ? Are we the most good-looking LoCo?

Yeah, definitely. It must be that.

Join the party by registering your event at the Ubuntu LoCo Portal!

p1010458 by Alex Muntada

The post Ubuntu Global Jam events: jamming Catalan style appeared first on David Planella.

Read more
Daniel Holbach

Parabéns e muito obrigado!

I’m particularly happy to announce that the Brazilian team managed to get their translation of the Ubuntu Packaging Guide up to more than 70% of completion, which is the magic threshold to get it accepted and posted on developer.ubuntu.com. This means that our current list of available languages is:

  • English
  • Spanish (99%)
  • Russian (85%)
  • Brazilian Portuguese (74%)

You can view the individual forms of the Packaging Guide in Brazilian Portuguese here:

Right at the start I said that I was “particularly happy” about this translation. That’s because I recently picked up a little bit of Portuguese. Mostly useful sentences like “Meu irmão gosta de cerveja” or “O leão escreve cartas”. Thanks Duolingo!

A big big big “obrigado” to the tireless Brazilian Portuguese translators. You all are heroes! This is great news for everyone who wants to get involved in Ubuntu development, as it smoothes the first steps considerably.

You can help out with translations. Just head to the Packaging Guide’s translation page in Launchpad, pick your language and get started. Current runners-up to the translations mentioned earlier are:

  • German (32%)
  • Japanese (15%)
  • French (7%)
  • Indonesian (5%)
  • Dutch (4%)

The available translations are not entirely complete yet either, so please do get involved.

Read more
Daniel Holbach

It takes two

At the last UDS we talked quite a bit about LoCo teams in during the Leadership Mini Summit. One interesting point was that many seemed to have the impression that events have to be big, everything has to follow an established protocol or a rigid process. That’s not the case.

I’m sure my friend Jorge Castro would agree with me if I told you to JFDI. The result of not doing things is that things will not get done. Setting up an event is sometimes just a matter of sending a mail to the team and asking everyone to come to a certain place at a certain date and time. Another point discussed was the number of people. Seriously, if it’s just two of you who hang out and make Ubuntu better or just have a good time together, that’s so much better than not meeting at all. :)

The reason I write all of this is that we’re getting closer to Ubuntu Global Jam again and some of you might be considering setting up an event and adding it to the LoCo Team Portal and you might still be a bit unsure. There’s really no need to.

It’s very very likely you don’t need a huge venue with lots of bells and whistles, maybe just meeting in a coffee shop will be good enough? A room in your local university? Or invite people to your place? Just somewhere with internet might be good enough. You might get to know some new local team members and it’s all about having a good time.

We have instructions up how to set up a jam, a video, and you can always ask for advice. Join the Ubuntu Global Jam today!

Read more
Daniel Holbach

We have achieved a huge milestone in the development community. For years we wanted translatable packaging and development documentation. It’s there. If you head to http://developer.ubuntu.com/packaging/ you can see the following:


The Ubuntu Packaging Guide (Spanish) – would you like to learn how to package or become an Ubuntu Developer? Here’s a comprehensive, topic-base guide that explores and describes the main concepts of packaging. It is available as


This is absolutely awesome. From now on we will be able to add languages and have up-to-date Packaging and Development docs available whenever they are complete enough.

This work was brought to you by many people who worked very hard to get all the bits right, both on the packaging, integration, beautification and translations sides. You all know who you are. Be proud of your work. This will ease the steps of many people into helping out with Ubuntu!

As always this is ongoing work and the great thing is, you can help out:

This makes me a very happy man and it’s great we finally got there. Now let’s get all the other translations up to scratch! :-D

Read more
David Planella

Unless you’ve been living under a rock, you’ll have noticed that this coming weekend we’re organizing the Ubuntu Global Jam, a worldwide event where Ubuntu local community teams (LoCos) join in a get-together fest to have some fun while improving Ubuntu. As we’re ramping up to a Long Term Support release, this is a particularly important UGJ and we need every hand on deck to ensure it not only meets but exceeds the standard of previous Ubuntu LTS releases. This is another article in the series of blog posts showcasing the events our community is organizing, brought to you by Andrej Znidarsic, from the Ubuntu Slovenian LoCo team.

Tell us a bit about your LoCo team

The Slovenian Ubuntu LoCo team was founded in 2005 and we try to spread Ubuntu mainly by translation work and help and support to Slovenian Ubuntu users who don’t have the means (either language or technical knowledger barrier) to solve problems themselves. Slovenian has been among the top translated languages for a while, which is quite impressive considering there are only 2 million native speakers and we don’t have a big pool to get translators from. We operate an IRC channel, website, forum, Facebook, Twitter and Google+ page. Offline we meet at monthly Ubuntu hours and we do Global Jams :)

What kind of event are you organizing for the upcoming Ubuntu Global Jam (UGJ)?

We are mostly going to focus on translations. This has traditionally been our strong point, as we exceeded 90% translation of Ubuntu about 2 years ago. Now we are focusing on translation quality and consistency. This time we want to put extra polish into translation for the LTS. In addition to that, a couple of people will focus on creating videos explaining how to perform basic tasks in Ubuntu (installing Ubuntu, Installing/removing software, Unity “tricks”…) and how to contribute to Ubuntu (how to start translating in Launchpad, how to report a bug, common translation mistakes in Slovenian). We will also be testdriving Ubuntu 12.04 LTS and report bugs we find on the way. More info can be found in our Ubuntu Global Jam announcement (in Slovenian only).

Is this the first UGJ event you’re organizing?

Nope. We have already organized 3 Ubuntu Global Jams. The first one was online only and the last two have been organized offline. We are quite lucky to have Kiberpipa, which has kindly been providing us a great venue with a lot of space and internet access. So we mostly need to do marketing of the event, coordinate transport and grab some pizzas :).

How do you think UGJ events help the Ubuntu community and Ubuntu?

The results of previous UGJs have typically meant about 4000-5000 translated messages for us which is amazing for one day. Good translation coverage helps to grow Ubuntu usage in Slovenia. We have also managed to report a couple of bugs which improved overall quality. More importantly, in average about 15 people attend our global jam, so we meet and hang out with people we usually only see online. This vastly improves team cohesiveness. In addition there are always some newcomers, which is fantastic for community growth. Also, it’s fun :).

The post Upcoming Ubuntu Global Jam events: here’s how the Slovenian team rolls appeared first on David Planella.

Read more
Michael Hall

Well, we did it.  The six members of the Canonical Community Team stayed awake and (mostly) online for 24 straight hours, all for your entertainment and generous donations.  A lot of people gave a lot over the last week, both in terms of money and time, and every one of you deserves a big round of applause.

Team Insanity

First off, I wanted to thank (blame) our fearless leader, Jono Bacon, for bringing up this crazy idea in the first place.  He is the one who thought we should do something to give back to other organizations, outside of our FLOSS eco-system.  It’s good to remind us all that, as important as our work is, there are still things so much more important.  So thanks, Jono, for giving us a chance to focus some of our energy on the things that really matter.

I also need to thank the rest of my team, David Planella, Jorge Castro, Nick Skaggs and Daniel Holbach, for keeping me entertained and awake during that long, long 24 hours.  There aren’t many people I could put up with for that long, I’m glad I work in a team full of people like you.  And most importantly, thanks to all of our families for putting up with this stunt without killing us on-air.

Upstream Awesomeness

Before we started this 24-hour marathon, I sent a challenge to the Debian community.  I said that if I got 5 donations from their community, I would wear my Debian t-shirt during the entire broadcast.  Well, I should have asked for more, because it didn’t take long before I had more than that, so I was happily sporting the Debian logo for 24 hours (that poor shirt won’t ever be the same).

I wasn’t the only one who put a challenge to the Debian community.  Nick made a similar offer, in exchange for donations he would write missing man pages, and Daniel did the same by sending patches upstream.  As a result, the Debian community made an awesome showing in support of our charities.

All of our donors

The biggest thanks, of course, go out to all of those who donated to our charities.  Because of your generosity we raised well over £5000, with the contributions continuing to come in even after we had all finally gone to bed.  As of right now, our total stands at £ 5295.70 ($8486).  In particular, I would like to thank those who helped me raise £739.13 ($1184) for the Autism Research Trust:

And a very big thank you to my brother, Brian Hall, who’s donation put us over £5000 when we only had about an hour left in the marathon.  And, in a particularly touching gesture of brotherly-love, his donation came with this personal challenge to me:

So here it is.  The things I do for charity.

Read more
Michael Hall

My big focus during the week of UDS will be on improving our Application Developer story, tools and services.  Ubuntu 12.04 is already an excellent platform for app developers, now we need to work on spreading awareness of what we offer and polishing any rough edges we find.  Below are the list of sessions I’ll be leading or participating in that focus on these tasks.

And if you’re curious about what else I’ll be up to, my full schedule for the week can be found here: http://summit.ubuntu.com/uds-q/participant/mhall119/

Read more
Michael Hall

As part of an ongoing series of blogs about LoCo Team Jams, I spoke with Benjamin Kerensa (bkerensa), the team contact for Ubuntu Oregon about their Global Jam activities.

 

Tell me about yourself and how you are involved in Ubuntu

My name is Benjamin Kerensa and I’m Team Lead for Ubuntu Oregon and also actively contribute to  the Ubuntu Weekly News, Ubuntu Developer News, Ubuntu Documentation, Ubuntu BugSquad and I write for OMG! Ubuntu!. I have been involved mostly behind the scenes for a number of years providing community support.

 

Have you organized a Global Jam event before, and if so what was your experience? How did you choose a venue and select activities?

I have organized a Global Jam before in fact I organized our event last year and I feel it turned out really nice however I did not fully take into account the amount of time needed to get people contributing at an event so our Jam last year was mostly social in nature but this year we are planning for a whole day from morning till late night. Last year I chose PuppetLabs to be our venue because I knew that the folks there shared a very common love for Free Open Source Software and also had facilities that were very accommodating for a crowd of our size. I selected documentation and bugs last cycle however due to the limited time we really didnt get to work on any tasks but we did however get to do a general overview of how to contribute in those areas.

 

What kinds of activities do you plan of doing as part of your upcoming jam?

This cycle we hope to focus on Bug Triaging and Bitesize Fixes with the help of Ubuntu BugMaster Brian Murray and potentially have a talk on packaging by
Steve Langasek. It is my hope that these focuses will not only benefit the LTS but also gear our community towards accelerated contributions in the area of    development and continue to lay a foundation for future contributors in Oregon to be involved in more technical focused contributions.

Our LoCo is lucky to have the opportunity to work with Western Oregon University this year in a Mentorship Project for their students in which they have chosen to learn how to contribute to Ubuntu as such we anticipate a number of those students to be in attendance.

 

How do you spread the word about your event to get more people to participate?

I announce via our mailing list and the loco directory and then cross post those announcements to other LUG and Tech focused mailing lists in our region and then I use a mix of social media and IRC to encourage our existing Ubuntu LoCo folks and others to come and check out what we have going on.

Thanks Ben and the entire Ubuntu Oregon team!

Read more
Michael Hall

So you want to contribute to Ubuntu’s Unity desktop, but you’re not a software developer?  No problem, there are still plenty of things you can do.  And not just in terms of documentation and translations either, there are ways to contribute directly to the desktop without having to know any programming languages.  One of these is adding Quicklists to application launcher.

Quicklists can be added dynamically from within the program code, but they can also be defined statically outside of it, in a simple text file.  It’s these static Quicklists that anybody can contribute.

For this post, I’m going to walk through the process of adding a Quicklist to Geany, my personal programming editor of choice.  You can add one for your favorite app, of choose from one of the following popular applications that are in need of a Quicklist:

IMPORTANT! Leave a comment before you start on one of these, we has 2 people working on a Brasero Quicklist because of a lack of communication.
If you chose one of these, be sure to update the linked bug report with your work.  If you choose something different, it would be a good idea to file a bug for adding a Quicklist.  Either way, I’d like to know what you’re doing, so please leave a comment on this post.

Step 1: Getting the package code

Everything in Ubuntu exists in bzr, which makes getting the source for the package easy.  just “bzr branch ubuntu:<project>”.  For geany, this is what I ran:

bzr branch ubuntu:geany

 Step 2: Add your Quicklist items

The first think you need to do is locate the .desktop file for your application.  For me, it was located in the root of the branch in a file called “geany.desktop.in”.  If you don’t see it in the root of your project’s branch, try running this command:

find ./ -name "*.desktop*"

This may not look exactly like the file in your /usr/share/applications/, since some processing is done to add translated strings for the application name and comments.  But as long as you are just adding the Quicklist items to the bottom of the file you shouldn’t have to worry about that.

The next step is to add your Quicklist shortcuts following this specification:

mhall@mhall-laptop:~/projects/Ubuntu/unity/quicklists/geany$ bzr diff
=== modified file 'geany.desktop.in'
--- geany.desktop.in 2011-05-28 19:49:19 +0000
+++ geany.desktop.in 2012-02-22 01:18:55 +0000
@@ -10,3 +10,9 @@
Categories=GTK;Development;IDE;
MimeType=text/plain;text/x-chdr;text/x-csrc;text/x-c++hdr;text/x-c++src;text/x-java;text/x-dsrc;text/x-pascal;text/x-perl;text/x-python;application/x-php;application/x-httpd-php3;application/x-httpd-php4;application/x-httpd-php5;application/xml;text/html;text/css;text/x-sql;text/x-diff;
StartupNotify=true
+Actions=New
+
+[Desktop Action New]
+Name=Open a New Instance
+Exec=geany --new-instance
+

(UPDATE 2012-02-28: A new XDG spec has been approved to make Quicklists desktop agnostic.  The Unity documentation has the new examples, and I have update the snippet above to match.)

As you can see in the example above, there isn’t much you need to do to add a Quicklist shortcut.  Calling the application’s binary with a different argument (as I did here with –new-instance) is a common and easy shortcut.  You can usually find all the available arguments to your application by calling with with –help.

 Step 3: Submitting your changes

Now that you’ve made your changes, we need to get them back into the main package.  Chances are you don’t have permission to apply them directly (otherwise you wouldn’t need this tutorial), so instead you’re going to put it somewhere else.

bzr commit -m "Add a Unity Quicklist"
bzr push lp:~mhall119/ubuntu/precise/geany/add_quicklist

This will put your changes on Launchpad in a place that the people who actually can apply it to the main packages can see your work.  But just because they can see it doesn’t mean they will see it, at least not without a little prompting from you.

To open the page on Launchpad that you just created (with your bzr push), run the following:

bzr lp-open

On that page you’ll see a link labeled “Propose for merging”, click that and fill out the form on the next page to create your merge proposal.

Step 4: Recompiling your kernel

Just kidding, there is no step 4.  You’re done!  You’ve contributed to making Ubuntu and Unity a better experience for millions of users.  Congratulations, and thank you!

 

Read more
Daniel Holbach

Making Ubuntu better: the Italian team

From 2nd-4th March 2012 we will hold an Ubuntu Global Jam again. This is an event where Ubuntu teams around the world come together, meet locally and together make Ubuntu better. We have a number of events and teams already lined up, among them: the Italian team.

I had a chat with Andrea Grandi and Paolo Sammicheli, here’s how they organised everything.

How did you organise the event?
Paolo Sammicheli: Andrea is the president of the Pistoia LUG. They normally organize events so we’ll be using their big space.
Andrea Grandi: Basically:

  1. Asked in PtLUG mailing list how many people would like to help organizing the event and how many people were interested in.
  2. I contacted the owners of the venue where is our Linux User Group and asked them to reserve it for saturday march 3rd.
  3. I contacted Paolo Sammicheli and the other people of #ubuntu-it-promo to ask them to join us.
  4. I contacted Marco Trevisan to ask him to join us and lead the bug-fixing group during the event.

About the venue: our LUG has a small room with two desks and 4 PC, wifi connection ecc… we normally use it for our meeting. Next to this room there is another one capable of about 100 seats. It’s located inside a big structure few km far from the center of Pistoia.

What’s going to happen in Italy at the UGJ?
Paolo Sammicheli: We’ll start with an introduction about how to start contributing in Ubuntu. Then we’ll split in two team: the beginners team will do testing with me, the experts team will work on unity with Marco.

There will be also a translation session over IRC. So people will jam remotely with us helping translating big tasks (ie: package descriptions)
Andrea Grandi: I confirm this and talking about this to some friends their response was: oh I’ve never used Linux, but I’d like to help testing and translating, it looks funny!

How did you find people who were willing to help with the event?
Paolo Sammicheli: The Pistoia LUG gave all the support.
Andrea Grandi: I asked in our LUG mailing list and in #ubuntu-it-promo IRC channel.

How did you announce the event?
Paolo Sammicheli: We published in the loco directory, we announced in our weekly newsletter and Andrea just blogged about it. Few more blog posts in Italian will follow next week.
Andrea Grandi: using Facebook (inviting all friends), blogging about it and spreading the news on out Twitter and G+ accounts. We also have a local mailing list with about 100 people subscribed.

Did you run UGJ events before?
Paolo Sammicheli: Yes we made few already. Some times we had a peer to peer jam. We met in 3 different cities in small groups (2/3 people) and we worked together through IRC.
Andrea Grandi: personally this is the second UGJ I attend to. Here’s a picture of the last event we had in Pistoia.

Ubuntu Global Jam in Italy

How many people do you feel will attend this time?
Paolo Sammicheli: I don’t know, Andrea?
Andrea Grandi: I think about 12 / 15 people at the moment, but if we can do something more to spread the event we could have more people attending.

Do you have any good tips for anyone planning to organise an event
Paolo Sammicheli: Keep it simple, keep it fun!
Andrea Grandi: Oorganize it in collaboration with other Linux User Groups. Did you know that in Italy there are more than 100 Linux user groups?

 

Thanks a lot guys! Have a great time at Ubuntu Global Jam! :-)

Read more
Michael Hall

We’re coming up on the next Ubuntu Global Jam, the point in every cycle where the community gets together for a weekend of contributing to the next release of Ubuntu.  And this time we’re shaking things up a little bit.

Every cycle we help people organize their jams, and suggest the same generic topics: Bug triaging, packaging, translations, documentation, testing, etc.  This time, in addition to these topics, we will be reaching out to the various teams both in Canonical and the Community, and picking some very specific activities that will directly help them make the Precise Pangolin the best release of Ubuntu ever.

Another change this cycle is a focus on bringing all of the global jam activities together so that we can all see, in real time, the work being done by contributors around the world.  To that end, we’ve added a Global Jam Dashboard to the LoCo Teams Portal, which features an integrated webchat, updating twitter/identi.ca stream, and photo feed.  So while you are jamming locally, be sure to tweet about it using the #ubuntu hashtag, and upload photos to Flickr, Picasa or pix.ie, again using the #ubuntu hashtag.

Read more
Michael Hall

I’ve finally had a little extra time to get back to working on Singlet.  There’s been a lot of progress since the first iteration.  To start with, Singlet had to be upgraded to work with the new Lens API introduced when Unity 5.0 landed in the Precise repos.  Luckily the Singlet API didn’t need to change, so any Singlet lenses written for Oneiric and Unity 4 will only need the latest Singlet to work in Precise[1].

The more exciting development, though, is that Singlet 0.2 introduces an API for Scopes.  This means you can write Lenses that support external scopes from other authors, as well as external Scopes for existing lenses.  They don’t both need to be based on Singlet either, you can write a Singlet scope for the Music Lens if you wanted to, and non-Singlet scopes can be written for your Singlet lens.  They don’t even have to be in Python.

In order to make the Scope API, I chose to convert my previous LoCo Teams Portal lens into a generic Community lens and separate LoCo Teams scope.  The Lens itself ends up being about as simple as can be:

from singlet.lens import Lens, IconViewCategory, ListViewCategory 

class CommunityLens(Lens): 

    class Meta:
        name = 'community'
        description = 'Ubuntu Community Lens'
        search_hint = 'Search the Ubuntu Community'
        icon = 'community.svg'
        category_order = ['teams', 'news', 'events', 'meetings']

    teams = IconViewCategory("Teams", 'ubuntu-logo')

    news = ListViewCategory("News", 'news-feed')

    events = ListViewCategory("Events", 'calendar')

    meetings = ListViewCategory("Meetings", 'applications-chat')


As you can see, it’s really nothing more that some meta-data and the categories.  All the real work happens in the scope:

class LocoTeamsScope(Scope):

    class Meta:
        name = 'locoteams'
        search_hint = 'Search LoCo Teams'
        search_on_blank = True
        lens = 'community'
        categories = ['teams', 'news', 'events', 'meetings']

    def __init__(self, *args, **kargs):
        super(LocoTeamsScope, self).__init__(*args, **kargs)
        self._ltp = locodir.LocoDirectory()
        self.lpusername = None

        if os.path.exists(os.path.expanduser('~/.bazaar/bazaar.conf')):
            try:
                import configparser
            except ImportError:
                import ConfigParser as configparser

            bzrconf = configparser.ConfigParser()
            bzrconf.read(os.path.expanduser('~/.bazaar/bazaar.conf'))

            try:
                self.lpusername = bzrconf.get('DEFAULT', 'launchpad_username')
            except configparser.NoOptionError:
                pass

    def search(self, search, model, cancellable):


I left out the actual search code, because it’s rather long and most of it isn’t important when talking about Singlet itself.  Just like the Lens API, a Singlet Scope uses an inner Meta class for meta-data.  The most important fields here are the ‘lens’ and ‘categories’ variables.  The ‘lens’ tells Singlet the name of the lens your scope is for.  Singlet uses this to build DBus names and paths, and also to know where to install your scope.  The ‘categories’ list will let you define a result item’s category using a descriptive name, rather than an integer.


 model.append('http://loco.ubuntu.com/events/%s/%s/detail/' % (team['lp_name'], tevent['id']), team['mugshot_url'], self.lens.events, "text/html", tevent['name'], '%s\n%s' % (tevent['date_begin'], tevent['description']), '')

It’s important that the order of the categories in the Scope’s Meta matches the order of categories defined in the Lens you are targeting, since in the end it’s still just the position number that’s being passed back to the Dash.

After all this, I still had a little bit of time left in the day.  And what good is supporting external scopes if you only have one anyway?  So I spent 30 minutes creating another scope, one that will read from the Ubuntu Planet news feed:

The next step is to add some proper packaging to get these into the Ubuntu Software Center, but you impatient users can get them either from their respective bzr branches, or try the preliminary packages from the One Hundred Scopes PPA.

[1] Note that while lenses written for Singlet 0.1 will work in Singlet 0.2 on Precise, the reverse is not necessarily true.  Singlet 0.2, as well as lenses and scopes written for it, will not work on Oneiric.

Read more