Canonical Voices

Posts tagged with 'ubuntu'

Robin Winslow

On release day we can get up to 8,000 requests a second to ubuntu.com from people trying to download the new release. In fact, last October (13.10) was the first release day in a long time that the site didn’t crash under the load at some point during the day (huge credit to the infrastructure team).

Ubuntu.com has been running on Drupal, but we’ve been gradually migrating it to a more bespoke Django based system. In March we started work on migrating the download section in time for the release of Trusty Tahr. This was a prime opportunity to look for ways to reduce some of the load on the servers.

Choosing geolocated download mirrors is hard work for an application

When someone downloads Ubuntu from ubuntu.com (on a thank-you page), they are actually sent to one of the 300 or so mirror sites that’s nearby.

To pick a mirror for the user, the application has to:

  1. Decide from the client’s IP address what country they’re in
  2. Get the list of mirrors and find the ones that are in their country
  3. Randomly pick them a mirror, while sending more people to mirrors with higher bandwidth

This process is by far the most intensive operation on the whole site, not because these tasks are particularly complicated in themselves, but because this needs to be done for each and every user – potentially 8,000 a second while every other page on the site can be aggressively cached to prevent most requests from hitting the application itself.

For the site to be able to handle this load, we’d need to load-balance requests across perhaps 40 VMs.

Can everything be done client-side?

Our first thought was to embed the entire mirror list in the thank-you page and use JavaScript in the users’ browsers to select an appropriate mirror. This would drastically reduce the load on the application, because the download page would then be effectively static and cache-able like every other page.

The only way to reliably get the user’s location client-side is with the geolocation API, which is only supported by 85% of users’ browsers. Another slight issue is that the user has to give permission before they could be assigned a mirror, which would slightly hinder their experience.

This solution would inconvenience users just a bit too much. So we found a trade-off:

A mixed solution – Apache geolocation

mod_geoip2 for Apache can apply server rules based on a user’s location and is much faster than doing geolocation at the application level. This means that we can use Apache to send users to a country-specific version of the download page (e.g. the German desktop thank-you page) by adding &country=GB to the end of the URL.

These country specific pages contain the list of mirrors for that country, and each one can now be cached, vastly reducing the load on the server. Client-side JavaScript randomly selects a mirror for the user, weighted by the bandwidth of each mirror, and kicks off their download, without the need for client-side geolocation support.

This solution was successfully implemented shortly before the release of Trusty Tahr.

(This article was also posted on robinwinslow.co.uk)

Read more
Iain Farrell

Verónica Sousa's Cul de sac

Verónica Sousa’s Cul de sac

Ubuntu was once described to me by a wise(ish ;) ) man as a train that was leaving whether you’re on it or not. That’s the beauty of a 6 month release cycle. As many of you will already know, each release we include photos and illustrations produced by community members. We ask that you submit your images using free photo sharing site Flickr and that you limit your images this time to 2. The group won’t let you submit more than that but if you change your mind after you’ve submitted, fear not, simply remove one and it’ll let you add another.

As with previous submissions processes we’ve run, and in conjunction with the designers at Canonical we’ve come up with the following tips for creating wallpaper images.

  1. Images shouldn’t be too busy and filled with too many shapes and colours, a similar tone throughout is a good rule of thumb.
  2. A single point of focus, a single area that draws the eye into the image, can also help you avoid something too cluttered.
  3. The left and top edges are home to Ubuntu’s Launcher and Panel so be careful to consider how your images look in place so as not to clash with the user interface. Try them out on your own desktop, see how they feel.
  4. Try your image at different aspect ratios to make sure something important isn’t cropped out on smaller/ larger screens at different resolutions.
  5. Take a look at the wallpapers guidance on the Ubuntu Wiki regarding the size of images. Our target resolution is 2560 x 1600.
  6. Break all the rules except the resolution one! :D

To shortlist from this collection we’ll be going to the contributors whose images were selected last time around to act as our selection judges. In doing this we’ll hold a series of public IRC meetings on Freenode in #1410wallpaper to discuss the selection. In those sessions we’ll get the selection team to try out the images on their own Ubuntu machines to see what they look like on a range of displays and resolutions.

Anyone is welcome to come to these sessions but please keep in mind that an outcome is needed from the time that people are volunteering and there’s usually a lot of images to get through so we’d appreciate it if there isn’t too much additional debate.

Based on the Utopic release schedule, I think our schedule for this cycle should look like this:

  • 08/08/14 – Kick off 14.10 wallpaper submission process.
  • 22/08/14 – First get together on #1410wallpaper at 19:30 GMT.
  • 29/08/14 – Submissions deadline at 18:00 GMT – Flickr group will be locked and the selection process will begin.
  • 09/09/14 – Deliver final selection in zip format to the appropriate bug on Launchpad.
  • 11/09/14 – UI freeze for latest version of Ubuntu with our fantastic images in it!

As always, ping me if you have any questions, I’ll be lurking in #1410wallpaper on freenode or leave a question in the Flickr group for wider discussion, that’s probably the fastest way to get an answer to a question.

I’ll be posting updates on our schedule here from time to time but the Flickr group will serve as our hub.

Happy snapping and scribbling and on behalf of the community, thanks for contributing to Ubuntu! :)


Read more
Mark Shuttleworth

Every detail matters, and building great software means taking time to remove the papercuts. Ubuntu has over the past 5 years been refined in many ways to feel amazingly comfortable on the cloud. In the very early days of EC2 growth the Ubuntu team recognised how many developers were enjoying fast access to infrastructure on demand, and we set about polishing up Ubuntu to be amazing on the cloud.

This was a big program of work; the Linux experience had many bad assumptions baked in – everything had been designed to be installed once on a server then left largely untouched for as long as possible, but cloud infrastructure was much more dynamic than that.

We encouraged our team to use the cloud as much as possible, which made the work practical and motivated people to get it right themselves. If you want to catch all the little scratchy bits, make it part of your everyday workflow. Today, we have added OpenStack clouds to the mix, as well as the major public clouds. Cloud vendors have taken diverse approaches to IAAS so we find ourselves encouraging developers to use all of them to get a holistic view, and also to address any cloud-specific issues that arise. But the key point is – if it’s great for us, that’s a good start on making it great for everybody.

Then we set about interviewing cloud users and engaging people who were deep into cloud infrastructure to advise on what they needed. We spent a lot of time immersing ourselves in the IAAS experience through the eyes of cloud users – startups and industrial titans, universities and mid-sized, everyday companies. We engaged the largest and fastest-moving cloud users like Netflix, who have said they enjoy Ubuntu as a platform on the cloud. And that in turn drove our prioritisation of paper-cuts and significant new features for cloud users.

We also looked at the places people actually spend time developing. Lots of them are on Ubuntu desktops, but Windows and MacOS are popular too, and it takes some care to make it very easy for folks there to have a great devops experience.

All of this is an industrial version of the user experience design process that also powers our work on desktop, tablet and phone – system interfaces and applications. Devops, sysadmins, developers and their managers are humans too, so human-centric design principles are just as important on the infrastructure as they are on consumer electronics and consumer software. Feeling great at the command line, being productive as an operator and a developer, are vital to our community and our ecosystem. We keep all the potency of Linux with the polish of a refined, designed environment.

Along the way we invented and designed a whole raft of key new pieces of Ubuntu. I’ll write about one of them, cloud-init, next. The net effect of that work makes Ubuntu really useful on every cloud. That’s why the majority of developers using IAAS do so on Ubuntu.

Read more
Mark Shuttleworth

Check out “loving the bottom edge” for the most important bit of design guidance for your Ubuntu mobile app.

This work has been a LOT of fun. It started when we were trying to find the zen of each edge of the screen, a long time back. We quickly figured out that the bottom edge is by far the most fun, by far the most accessible. You can always get to it easily, it feels great. I suspect that’s why Apple has used the bottom edge for their quick control access on IOS.

progresion

We started in the same place as Apple, thinking that the bottom edge was so nice we wanted it for ourselves, in the system. But as we discussed it, we started to think that the app developer was the one who deserved to do something really distinctive in their app with it instead. It’s always tempting to grab the tastiest bit for oneself, but the mark of civility is restraint in the use of power and this felt like an appropriate time to exercise that restraint.

Importantly you can use it equally well if we split the screen into left and right stages. That made it a really important edge for us because it meant it could be used equally well on the Ubuntu phone, with a single app visible on the screen, and on the Ubuntu tablet, where we have the side stage as a uniquely cool way to put phone apps on tablet screens alongside a bigger, tablet app.

The net result is that you, the developer, and you, the user, have complete creative freedom with that bottom edge. There are of course ways to judge how well you’ve exercised that freedom, and the design guidance tries to leave you all the freedom in the world while still providing a framework for evaluating how good the result will feel to your users. If you want, there are some archetypes and patterns to choose from, but what I’d really like to see is NEW patterns and archetypes coming from diverse designs in the app developer community.

Here’s the key thing – that bottom edge is the one thing you are guaranteed to want to do more innovatively on Ubuntu than on any other mobile platform. So if you are creating a portable app, targeting a few different environments, that’s the thing to take extra time over for your Ubuntu version. That’s the place to brainstorm, try out ideas on your friends, make a few mockups. It’s the place you really express the single most important aspects of your application, because it’s the fastest, grooviest gesture in the book, and it’s all yours on Ubuntu.

Have fun!

Read more
Iain Farrell

Happy by Sergei Pozdnyak

The submissions process for Ubuntu 14.04 is now closed. If you’d like to look at the images head over to the Flickr Group. From here on a group of dedicated and splendid individuals will get together to select the images that are going to go into the next release of Ubuntu. We’ll be hanging out on #1404wallpaper on Freenode and you can come listen in :)

We generally welcome discussion but please remember that a decision is needed from the time that people volunteer so not too much additional debate.

We’ll start with a meeting tomorrow, Friday 7th March, at 19:00GMT.


Read more
Canonical

 

  • bq and Meizu sign agreements to deliver and ship Ubuntu phones

  • Online campaigns with bq and Meizu will make Ubuntu phones available globally

  • Strong support for Ubuntu devices has also been received from carriers worldwide

19th February 2014, London: Canonical today announces it has signed agreements with mobile device manufacturers bq (www.bq.com) (Spain) and Meizu (China) to bring Ubuntu smartphones to consumers globally. Canonical is working with these partners to ship the first Ubuntu devices on the latest hardware in 2014. Ubuntu has also received significant support from the world’s biggest carriers, some of which intend to work with OEM partners to bring phones to market this year.

Development programmes have begun with the partners to provide smartphones with a superior user experience on mid to high end hardware for consumers around the world. Devices will be available to buy online through bq, Meizu and at Ubuntu.com.

Ubuntu introduces a new UI paradigm for mobile devices. Ubuntu puts content and services at the centre of the experience, rather than hiding them behind stores and apps. This gives consumers a fresh and rich way to engage with their favourite videos, music and other mobile activities. It also means OEMs and operators have unprecedented customisation opportunities with a common UI toolkit, which gives devices their own unique footprint and without fragmenting the platform.

Meizu is one of China’s most successful high-end smartphone manufacturers with over 1,000 employees, 600 retail stores and a global presence in China, Hong Kong, Israel, Russia and Ukraine. In January, the company announced its strategy to expand into other international markets as well as to ship phones in America later in 2014 and Ubuntu will be a key part of this expansion. Meizu designs and retails phones that are characterised by light, comfortable design as well as ease of use and functionality. “Ubuntu’s intuitive and visually stunning user interface aligns with our own ethos of producing simple, innovative mobile experiences. This partnership gives us an opportunity to develop a truly different and compelling offering that will support our strategy to deliver devices to both China as well as internationally,” says  Li Nan, Meizu’s VP Sales and Marketing.

bq is a manufacturer of multimedia devices operating in Europe and employing 600 people. In 2013, the company shipped almost 1.5 million devices and in less than a year has become the Spain’s second biggest seller of unlocked smartphones. bq will bring Ubuntu onto its latest hardware specifications. “Ubuntu’s ongoing success on PCs, as well as the huge support it has gained for its mobile proposition provides the best opportunity to bring an alternative platform to market on our hardware,” Alberto Mendez, CEO, comments.

Mark Shuttleworth, founder of Canonical and Ubuntu, adds; “The mobile industry has long been looking for a viable alternative to those that reign today. Ubuntu puts the control back into the hands of our partners and presents an exciting platform for consumers, delivering an experience which departs from the tired app icon grid of Android and iOS and provides a fluid, content-rich experience for all.”

Carriers and major industry players that Canonical has engaged with have also shown their support for Ubuntu and an alternative operating system for the mobile market. To date, Ubuntu’s Carrier Advisory Group has 16 members including Vodafone, EE, T-Mobile USA, Three Group, Deutsche Telekom, Verizon, Telstra and Portugal Telecom. Canonical is also working with a breadth of ISV partners, including The Weather Channel, GrooveShark, Evernote and more, to bring the best applications and services to Ubuntu.

Portugal Telecom: “It is our commitment to keep working closely with Canonical to build a proposition for Ubuntu devices  that will deliver a fresh, new and exciting experience for our users,” says Pedro Leitão, Member of the Board of Portugal Telecom, responsible for the Consumer Segment.

Three Group: “Ubuntu is creating an innovative mobile web experience that brings more choice for customers, and opportunities for operators and OEMs who are keen to differentiate their devices.”

Telecom Italia: “We’ve been very active in helping shape Ubuntu for the Italian market by contributing to the Ubuntu Carrier Advisory Group for many months.”

Smart: “Ubuntu’s entry to the mobile phone market is definitely exciting. We see this as an interesting opportunity to help bring mobile innovations quicker to the market, lower access barriers and provide more choices in terms of apps and devices,” says Orlando B.Vea, chief wireless advisor at Smart. “We’re very keen to work with Ubuntu and the developer community in making this happen as it supports our goal to bring the mobile Internet to every Filipino.”

Smartfren (Indonesia): “We’ve been working closely with Canonical and the Carrier Advisory Group for several months, and look forward to being able to launch Ubuntu devices in the Indonesian market,” comments Richard Tan, deputy CEO.

Ends

About Canonical
Canonical is the company behind Ubuntu and the leading provider of services for Ubuntu deployments in the enterprise. With global teams of developers, support staff and engineering centres, Canonical is uniquely positioned to help partners and customers make the most of Ubuntu. Canonical is a privately held company.

Ubuntu is a free, open-source platform for client, server and cloud computing. It is the most widely used Linux on the top 1000 websites by traffic, the reference platform for OpenStack deployments, the most popular guest OS on public clouds, and ships on PCs from Dell, Lenovo, HP and other brands. Since its launch in 2004, it has become the preferred choice for open desktop and scale-out computing, from Fortune 500 companies to hardware makers, content providers, software developers and consumers.

About bq
bq is a company dedicated to consumer electronics, which designs and develops both software and hardware. Its main division is multimedia devices (e-readers, tablets and smartphones), a market in which it is the leader in Spain. Its innovative spirit had led it to operate in emerging fields such as educational robotics, the development of reading platforms and 3D printing. In this latter market, it designs and manufactures its own 3D printer, the bq Witbox, which is distributed worldwide. www.bq.com.

About Meizu
Established in 2003 and headquartered in Zhuhai, China, MEIZU designs and produces smartphones created to provide a simple, intuitive mobile experience for people whose time is expected to be simply spent in using their devices, instead of figuring out the way of using them.

MEIZU expanded into the smartphone market in 2008 and has been committed to developing high-end smartphones ever since. Based on a business philosophy and commitment to pursuing perfection and long-term development, MEIZU remains laser focused on developing innovative and user-friendly smartphones for consumers. With more than 1,000 employees and 600 retail stores, the company has built a global presence in Hong Kong, Israel, Russia and Ukraine. www.meizu.com

Read more
Katie Taylor

Since Ubuntu touch was announced, its been fantastic to see the variety of apps you’ve been developing, from shopping lists to word games, to apps that aid your daily commute.

As the Ubuntu Touch platform gets bigger and better, myself and the design team have been receiving more requests for feedback on designs, as well as questions about the App Design Guides and general app design. And although we are available for conversations on irc and in the email lists, what’s been missing is a place to have a more in-depth and visual conversation about app design.

Starting this Wednesday the design team will host a weekly app design clinic on Ubuntu On Air. The clinic is a chance for you to get feedback on your app’s UI, and a forum for you to ask questions about interactions, the Ubuntu brand and guidelines, visual styles, typography, colour… anything design that you want to ask.

If you would like feedback on a particular design, send a screenshot or mockup of your design to design@canonical.com before 1pm UTC on Tuesday.

The first clinic will be this Wednesday 11th September at 1pm UTC at http://ubuntuonair.com/ . Join us (or watch later) to find out more.

Read more
Iain Farrell

Hello everyone! I’m delighted to be kicking off the next wallpaper selection process for the 13.10 release of Ubuntu coming this October. As you can see from the Saucy Salamander release schedule, we hit UI freeze on August 29th of this year and we’d like to get all your lovely community submitted images ready before then. To get involved submit your images to the Flickr group for submissions.

I’ve also made the above short video to encourage new people to get involved, share it around as hopefully it’s a good intro to the process and if you have ideas or comments then let me know, I can make additional ones as we go.

With some help from designers in Canonical we’ve come up with the following tips for creating wallpapers images.

  1. Images shouldn’t be busy and filled with too many shapes and colours, a similar tone throughout is a good rule of thumb.
  2. A single point of focus, a single area that draws the eye into the image, can also help you avoid something too cluttered.
  3. The left and top edges are home to Ubuntu’s Launcher and Panel so be careful to consider how your images look in place so as not to clash with the interface.
  4. Try your image at different aspect ratios to make sure something important isn’t cropped out on smaller/ larger screens at different resolutions.
  5. Take a look at the wallpapers guidance on the Ubuntu Wiki regarding the size of images. Our minimum resolution is 2560 x 1600.

To shortlist from this collection we’ll be going to the contributors whose images were selected last time around to act as our selection judges. In doing this we’ll hold a series of public IRC meetings on Freenode in #1310wallpaper to discuss the selection. In those sessions we’ll get the selection team to try out the images on their own Ubuntu machines to see what they look like on a range of displays and resolutions.

Anyone is welcome to come to these sessions but please keep in mind that an outcome is needed from the time that people are volunteering and there’s usually a lot of images to get through so we’d appreciate it if there isn’t too much additional debate.

So, to get this show on the road here’s the outline for this cycle.

  • 12/07/13 – Kick off 13.10 wallpaper submission process
  • 23/07/13 – First get together on #1310wallpaper at 19:30 GMT
  • 16/08/13 – Submissions deadline at 18:00 GMT – Flickr group will be locked and the selection process will begin
  • 23/08/13 – Deliver final selection in zip format to Launchpad
  • 29/08/13 – UI freeze for latest version of Ubuntu with our fantastic images in!

As always, ping me if you have any questions, I’ll be lurking in #1310wallpaper on freenode or leave a question in the Flickr group for wider discussion, that’s probably the fastest way to get an answer to a question.

I’ll be posting updates on our schedule here from time to time but the Flickr group will serve as our hub.

Happy snapping and scribbling and on behalf of the community, thanks for contributing to Ubuntu! :)


Read more
Iain Farrell

13.04 wallpaper selection

 

The community team for wallpaper selection got together last week #1304wallpaper on Freenode and between us we’ve determined that we’d like to submit the following images as our delightful wallpaper selection for 13.04.

Many thanks to everyone who came to discuss options and help with the selection and in particular those who highlighted that some of the images shortlisted previously might not be the submitted user’s own image and or appear in other distros. Your constant vigilance is much appreciated!

Constant vigilance as Mad Eye Moody would say

So what now? Well the compressed file has been uploaded to a bug marked against the wallpapers package on Launchpad and this is where Seb, Didrocks and others will ensure that the images make it into the release before UI freeze.

Thank you again to everyone who helped and to Ken, Seb, John and Didrocks for the final push.

I’m still signed into #1304wallpaper most of the day, UK time so come find me or drop me a mail if you have any questions, concerns or the like.

See you next cycle/ rolling release!


Read more
Iain Farrell

c5f1a741920x1200 (2)Stop the LightBrother typewriterBegonialast breath...
La GomeraLandingFleurs de Prunus 2/4Trazo solitario

13.04 Shortlist in progress, a gallery on Flickr.

A quick update, the previous contributors and I are putting together the finishing touches to what we hope will be a great selection. You can see our working over on a Google spreadsheet we’ve made.

We’ll be packaging and downloading and shrinking and all sorts to get it into the final release on the 14th! More once we have agreement on a selection! :)


Read more
Iain Farrell

?appapáwr[a]Pantano de Orellanagreen plant againwyomingRoof Tiles WallpaperCairn
Gran CanariaIMG_1743mFrozenVanishing by James WilsonBlue dandelionEarly morning
PucatriweGrass stick

12.10 shortlist, a gallery on Flickr.

Today the group closed on submissions for the 12.10 wallpaper selection. The team of us involved are still working to add/ remove and refine this collection before the 30th. We’ve got a few more than our 10 target, we’ll review this number tomorrow based on quality and what we can include.

Join us on #1210wallpaper on freenode to chat through this selection with us!

To everyone who has given up their evening to go through this, thanks!

Speak to you all tomorrow :)


Read more
Iain Farrell

Trazo solitario by Julio Diliegros - on Flickr

Quantal is well on the way to being the great release we’ve come to expect from Ubuntu so it’s time to add to that sheen with a set of quality wallpapers from our fantastic community. This cycle we’re going to try to make the process better than before by setting out a clearer vision for what we think will make a great set.

Firstly we’re interested in quality not quantity so we’re going to limit ourselves to 10 images on the final CD. We’ll take submissions in the Flickr group as before and don’t forget we need your image licensed as CC by SA. Each Flickr user will be limited to 1 submission to the group so choose carefully!

Secondly I’ve been speaking to Otto, the Lead visual designer at Canonical, to help ensure that what we get feels at home on the desktop. The guidance we’ll follow when selecting images to go into the release is as follows:

  1. Images shouldn’t be busy and filled with too many shapes and colours, a similar tone throughout is a good rule of thumb
  2. They should have a single point of focus, a single area that draws the eye in
  3. We should avoid having anything on the left and top edges as this will clash with the interface elements of the Launcher and Panel
  4. Try your image at different aspect ratios to make sure something important isn’t cropped out on smaller/ larger screens

To shortlist from this collection, as usual, we’ll be going to the people whose images were selected last time around to help us choose the final 10. In doing this we’ll hold a series of public IRC meetings on #1210wallpaper to discuss the selection and in those sessions we’ll get the selection team to try out the images on their own Ubuntu machines to see what they look like on a range of displays and resolutions. Anyone’s welcome to come to these sessions but please bear in mind that an outcome is needed from the time that people are volunteering and there’s usually a lot of images to get through so we’d appreciate it if there isn’t too much additional debate.

The group’s open for submissions now and we’ll close it at 5pm on the 28th August 2012 to start going through the images.

So, get all your great summer photos out and as always ping me if you have any questions. I’ll be lurking in #1210wallpaper on freenode. I hope it’s been sunnier in places other than the UK!


Read more
Anthony Dillon

We realise that changing Operating System (OS) is a big thing for anyone thinking of testing something out. That becomes a huge barrier for people trying out Ubuntu for the first time and seeing if they like it. As a member of the web team I decided to take on the challenge as a cool way to testing out some HTML5 and jQuery. The purpose of this blog is to talk about some of the challenges and thought processes I went through during the build.

Getting started

I started by breaking down the Ubuntu interface into DOM elements, similar to developing a web page from a design. So I took on the background first, each part of the build brought different challenges. In the case of the background, I needed it to stretch full width and height of the viewport.

The launcher

Once I had that nailed, I moved onto the launcher on the left of the screen. At the time of building (11.10) the menu would slide out of view when a window was fullscreen. By creating a DIV with a list of icons and styled with CSS to replicate the menu in the OS. Now I needed to add the interactive slide to the menu, which I decided to apply with jQuery because I wanted the animation to work on older browsers and not just browsers with CSS3. When a window is fullscreened I would trigger the menu system to slide the menu out of the viewport. Then binds a mouseover event to slide the menu back into view when the user needs it again.

Precise launcher

The global menu bar

Precise global menu bar

All that was left to make the web page look like the static Ubuntu interface was to add the global menu bar at the top for settings and window controls. This was again a simple DIV with a window control DIV floated to the left and a list of settings icons floated to the right.

Building applications

Now the interface looked like the initial Ubuntu screen. I turned to focus on applying the functionality to the menu icons, beginning with the folder icon. Created a Folder class and a File class, Folder class below:


function Folder($name, $location){
  if ($name==undefined) { $name='Untitled Folder';}
  if ($location==undefined) { $location='/Home';}
  var _name = $name;
  var _size = '6.2 GB';
  var _location = $location;
  var _in_bin = false;this.name = function (){ return _name; };
  this.size = function (){ return _size; };
  this.location = function (){ return _location; };
  this.in_bin = function (){ return _in_bin; };
  this.rename = function($name){
    _name = $name;
  }

  this.bin = function($in_bin){
    _in_bin = $in_bin;
  }

  this.move = function($location){
    _location = $location;
  }

  this.drawIcon = function($id, $type){
    return  "<div class='file-folder "+$type+"' data-type='folder' data-id='"+$id+"'><p></p><span>"+_name+"</span></div>";
  }

  this.type = function(){
    return 'folder';
  }
}

Both of these classes are used by the file system class that created them and stored them in an array to access and modify them later.
Now that we have a file system, the fun part comes when you connect it all up and see if it comes to life. This is how the connections happened:


Menu window workflow


When the folder icon on the menu is clicked it tells Base which triggers the open function in the folder system. I built the Folder and File classes with the aim to give the folder system full functionality, like rename, drag and drop to move, etc. But that was descoped to finish the tour in time for the release of 11.10.

Seeing this work I felt the buzz to jump to the next application, then the next, until all the applications I set out to develop were finished and working.

Have a go for yourself: Ubuntu Online Tour

Conclusion

One of the questions I was asked is `how long did it take you?’ In total it took about 4 months, from what started as a quick test to being given the time to bring the development to fruition. It was crucial that all elements of the demo looked and felt exactly like the OS as this will be most people first try of Ubuntu so we didn’t want it to be different if they install Ubuntu.

I plan to keep the tour up-to-date with the latest version of Ubuntu every six months. With every update I try to add features and application which I haven’t managed yet. A few features that come to mind would be to progressive enhance the movie player to use HTML5 video if available rather than Flash. I would also like to see the music player (Rhythmbox) be developed.

If you have HTML, CSS and jQuery skills and time to spare. Please feel free to contribute. The code can be forked from: Ubuntu Online Tour Launchpad Page.

Read more
Christian Giordano

Introducing web apps

As you might have heard from the blogosphere, we are going to start to ship our take on web apps. Let me take the opportunity to explain to you some of the reasoning behind them and some of their characteristics.

Why

I would split the why question in more parts.

Is the Web relevant? Today, the Web, besides being the best source for information, is also a major component in how we relate to one another. There are very few applications that don’t use the Web in one way or another.

Are web applications relevant on the Desktop? If you look at the first tabs of your browser window, chances are that these are tabs you keep open and glance at every now and then to check if a change has occurred. This is not optimal! Facebook and your webmail could (and should) be more integrated in your experience. Browsers acknowledged this problem a while ago by introducing desktop notifications and more compact tabs, but the shell itself is in the best position to provide such capabilities.

Are web applications also relevant to other form factors? It is true that in recent years there has been quite some hype about native applications for mobile platforms. While using a native toolkit can provide the developer some initial edge, the advantages quickly fade when more form factors or platforms need to be supported. The speed of how you can globally test changes, and the accessibility of the technology, made the web a very fast paced environment for innovation. Despite having evolved mainly through a consortium, web technologies, with their separation of content and representation, are in a very good position to support multiple screens.
Because of these reasons, it shouldn’t surprise you if the Facebook native application for iOS is rated with just 2 stars whereas the web version for mobile, in many aspects, works much better. The share-ability of the techniques will also make it so that compelling experiences will become more and more common outside of the native space.

Not just web links

One of the major critics about this project has been the comparison to simple web links. Web apps will be far from being simple web links. As a matter of fact, it has been our priority, from UX perspective, to blur the line between native applications and web apps. In fact, if we consider native applications heavily dependent on the Internet connection and web applications which can work offline, there is an obvious overlap. The demo you see today shows the current state of the project, which is already impressive, but in the coming months you will see how these will beautifully blend in the user app mental model.

Conclusions

Unity, thanks to its components (e.g.: Sound Menu, Notify OSD), offers a unique opportunity for web applications to integrate with the shell user experience. There will be design, technological and political challenges, but web technologies are here to stay!

More information is available in the official release post and in the detailed coverage from OMGUbuntu.

Read more
Paul Sladen

Normally the Ubuntu/Canonical Design Team are busy working on our own projects, but it makes a really good change to work on other Free Software design problems for a change. Starting at 22:00 UTC (15:00 PDT) on Monday 7 May 2012, you can join us for the next Ubuntu Design Theatre at the Ubuntu Developer Summit in Oakland, California:

Bring your design issues along and lets see how we can improve them! There should be visual designers, user interface designers, brand designers, … and the many other people who try and work to make users’ lives better with Free Software.

Read more
Paul Sladen

In the year 2000 IBM showed off the WatchPad, a computer on your wrist, but one perhaps ahead of its time and still needing a little bit of design-love. Of course, we love highlighting beautiful design when it does finally come along, and in the last few days the beautiful Pebble smartwatch has appeared over the horizon.

As well as being “just a watch” with a long-lasting e-paper display it has a Bluetooth wireless connection, opening up all sorts of possibilities for expansion; particularly showing notifications, SMS messages, or status and calendar updates without having to check a mobile phone directly. Once it’s on your wrist the possibilites are there for all sorts of apps (not just fancy clocks!).

In under one week they’ve raised $5 million in pre-orders from 35,000 individuals—taking the Kickstarter record for the largest amount raised through crowd-funding. A finished product does not just happen by itself, it requires lots of expertise; industrial design for the water-tight casing, ergonomics to make sure it fits on your wrist, electronics layout design for the battery, buttons and e-ink screen …and some firmware (embedded computer software) to make it all work.

Andrew Witte (second from the left in the dream team) is the Lead Engineer working on the firmware and an Ubuntu fan. Andrew’s desk on a typical day has a sprawl of cables, a Lego car, some low-level JTAG programmers, USB prototyping cables, several half-finished Pebble boards …and, in the middle is Xubuntu (Ubuntu running with an XFCE desktop) for the development and debugging.

Lots of open source is also being used to make the watch tick. The firmware development toolchain is CodeSourcery GCC for compiling, OpenOCD for working with the JTAG, and GDB (the GNU debugger) for finding all hard to solve bugs. One of the main parts of the Pebble is the Bluetooth interface for talking to smart phones, for which many hours have been spent testing with Ben Lam’s Python-based ‘LightBlue’ framework and utilities like hcitool. If that’s all getting a bit technical, Andrew notes that The Gimp and ImageMagick (both in the Ubuntu Software Centre) are used for processing the bitmaps and pictures before they are sent to the Pebble watch prototypes.

The race is on for the first person who can get a prototype in August 2012 and integrate Ubuntu’s libnotify-osd work with the Pebble watch, in time for Ubuntu 12.10 in six months time! For those with a pre-order, it will be possible to vote on additional-colour in addition to Artic White, Cherry Red and Jet Black. We’re hoping that Ubuntu Orange wins!

The Pebble Kickstarter campaign runs until 18 May 2012. To vote later for a colour (such as Ubuntu Orange!) you need to pre-order in the colour-Pebble category ($125+shipping).

Read more
Paul Sladen

Some of original sketches for Ubuntu Arabic are about to go on display in Berlin! We’ve talked before about the work done by Rayan Abdullah on drawing and designing the original calligraphy behind the Ubuntu Arabic for the Ubuntu Font Family and from tomorrow you will be able to see that work for yourself.

Until 27 May 2012 you can see some of those original sketches and designs featuring in the Typobau exhbition at the Körnerpark Gallery in Neukölln, Berlin,

It includes many of Rayan’s design projects from the last decade, including the Bundesadler (the Federal Eagle of Germany) and his many Arabic graphic design and typography projects including the logos and typefaces for Burberry, McDonalds, Nokia Pure Arabic and the Ubuntu Font Family Arabic script coverage.

For keen visitors, the grand opening is this week, at 19:00 on Friday 20 April 2012. Or for anyone visiting Messe Berlin in May 2012 for Linuxtag 2012 you will still be able to catch the exhibition. Just take the S-Bahn ring anti-clockwise to S-Neukölln and see Ubuntu and Rayan’s exhibition at the same time as Linuxtag!

The “Typobau” exhibition runs between 21 April 2012 and 27 May 2012, 10:00–20:00, Tuesday—Sunday, at Körnerpark Galerie, Schierker Strasse 8, Berlin-Neukölln

Read more
Matthew Paul Thomas

Over the past two years, Ubuntu has introduced a suite of status menus — known to Ubuntu geeks as “indicators” — in the top corner of the screen.

In Ubuntu 12.10, we plan to refine these menus to address several long-standing problems. If you’re a programmer, tester, or visual designer, there are plenty of opportunities for you to help out.

In updating the design, our general theme has been improving relevance — showing menus, and items in menus, only when they are relevant to you. For example, if you never use a VPN, it shouldn’t take up space in the network menu. If you never use Gwibber, it shouldn’t take up space in the messaging menu. If you never use a Bluetooth device, you shouldn’t need to see the Bluetooth menu. And so on.

System menu

The system menu will contain “About This Computer”, “Ubuntu Help”, “System Settings”, “Lock”, user account switching, “Log Out”, “Sleep”, “Restart”, and “Switch Off” items. The biggest change to the structure, though, is a straightforward simplification. The two menus at the end of the menu bar, the user and system menus, will merge. As well as saving space, this will fix three main problems:

  • “Switch User Account” and “Log Out” were in different menus, despite being closely related. Now, they’ll be in the same menu. (“Lock Screen” and “Switch User Account” will become one and the same command.)
  • It’s been hard to find which version of Ubuntu you are using. This will now have a dedicated menu item.
  • Finding the Ubuntu Help has also been difficult. That will now have an always-present menu item too.

One more detail. When Ubuntu used a home icon to represent the Nautilus file manager, usability testing found that people thought it was a launcher or starting point. (This isn’t surprising, given the strong connotations of Home in other applications.) The Unity Dash, meanwhile, is exactly that kind of starting point. So one possibility under discussion is changing the Dash launcher icon to a home icon — which the Dash already uses for internal navigation anyway.

How is that relevant to the status menus? It raises the possibility that we could use the Ubuntu logo, if it won’t be in the launcher, as the title of the system menu instead. We plan to test this against the powercog icon, and see which works better.

Clock menu

The clock menu contains the date, a monthly calendar, upcoming events, “Set Alarm”, time in other locations, and “Time & Date Settings”. Many improvements can be made to the clock menu, but the design will remain much the same.

We’d like to add the ability to set a basic alarm, and if it’s set, this will be shown using an icon in the menu title.

If you’re a programmer and know your way around C and GObject, another simple enhancement would be populating the coming events section of the menu from a Web calendar, such as Google Calendar.

Sound menu

The sound menu contains a “Mute” item, volume sliders, music player sections, and “Sound Settings”.The sound menu design will remain unchanged in 12.10. As with the clock menu, though, there are plenty of minor improvements to work on.

Network menu

The network menu contains sections for “Flight Mode”, wired, wi-fi, mobile broadband, VPNs, and network settings. Ubuntu’s network menu is powered by Network Manager, and our design is a visual presentation of where we’d like to take it in future. It simplifies the current menu by using consistent on/off switches for connection types, removing needless separators, and showing less common functions — mobile broadband and VPNs — only if you have set them up in the Network settings.

Bluetooth menu

The Bluetooth menu has switches for toggling Bluetooth and visibility, items for “Send Files to Device” and “Browse Files on Device”, a list of devices, and items for “Set Up New Device” and “Bluetooth Settings”. As with the network menu, we’d like to simplify the Bluetooth menu by using on/off switches and reducing separators.

Battery menu

The battery menu has items for each battery, “Show Time in Menu Bar”, and “Power Settings”. The battery menu design will stay the same.

Messaging menu

The messaging menu has sections for IM status, phone, and SMS, and individual messaging applications. We plan to simplify the messaging menu by removing the default Chat, Mail, and Broadcast items. Instead, messaging programs will show up only if you have set them up, and will show up under their own names. As well as shortening the menu, this will solve the problem that nobody knows what “Broadcast” means.

In Ubuntu for Android, the messaging menu will naturally expand to show missed calls, voicemail, and SMS messages.

And finally, Ubuntu One will at long last be banished from the messaging menu, moving instead to the menu next door…

Sync menu

The sync menu will contain a section for each application that uses it. The new Sync menu will be present if you use any services such as Ubuntu One, SparkleShare, or Dropbox, that carry out non-urgent synchronization over the network. (Continuing the relevance theme, the menu won’t be present at all if you haven’t signed up for any of those services yet.)

From this menu, you’ll be able to turn each service off and on — turning them off if you’re trying to download something in a hurry, for example. You’ll also be able to access their settings, if they have any.

Keyboard menu

The keyboard menu will contain a section for keyboard layouts, and a section for input methods, as well as “Show Layout Chart”, “Character Map”, and “Keyboard Settings” items. We’d like to make two main improvements to the keyboard menu.

First, combining it with the input method menu. So that if you use input methods (such as for Chinese, Japanese, or Korean), you don’t have two separate menus for controlling your keyboard.

And second, making the menu title an icon that represents the current input method or keyboard layout, instead of a generic keyboard icon with added text. (Visual designers could help us here, in finding an elegant way to generate an icon based on the letter code for each layout.)

So long, printing menu, we hardly knew you

In Ubuntu 12.04, a printing status menu appears whenever any print jobs are in progress. Unfortunately, it’s not that noticeable.

So in 12.10, we plan to replace it with a temporary printing item in the launcher. This will correspond to a minimized window listing your recent print jobs. You can close it when done, or just ignore it, as you see fit.

What’s next

As these designs are fleshed out, the individual specifications will be updated in the ‘Unity Application and System Indicators’ section of The Toolkit.

This is a lot of work, and you’re welcome to help out if you can. Pop in to the #ubuntu-unity channel on IRC, or get in touch on the unity-dev@ mailing list.

Read more
mark

In the open source community, we celebrate having pieces that “do one thing well”, with lots of orthogonal tools compounding to give great flexibility. But that same philosophy leads to shortcomings on the GUI / UX front, where we want all the pieces to be aware of each other in a deeper way.

For example, we consciously place the notifications in the top right of the screen, avoiding space that is particularly precious (like new tab titles, and search boxes). But the indicators are also in the top right, and they make menus, which drop down into the same space a notification might occupy.

Since we know that notifications are queued, no notification is guaranteed to be displayed instantly, so a smarter notification experience would stay out of the way while you were using indicator menus, or get out of the way when you invoke them. The design story of focusayatana, where we balance the need for focus with the need for awareness, would suggest that we should suppress awareness-oriented things in favour of focus things. So when you’re interacting with an indicator menu, we shouldn’t pop up the notification. Since the notification system, and the indicator menu system, are separate parts, the UNIX philosophy sells us short in designing a smart, smooth experience because it says they should each do their thing individually.

Going further, it’s silly that the sound menu next/previous track buttons pop up a notification, because the same menu shows the new track immediately anyway. So the notification, which is purely for background awareness, is distracting from your focus, which is conveying exactly the same information!

But it’s not just the system menus. Apps can play in that space too, and we could be better about shaping the relationship between them. For example, if I’m moving the mouse around in the area of a notification, we should be willing to defer it a few seconds to stay out of the focus. When I stop moving the mouse, or typing in a window in that region, then it’s OK to pop up the notification.

It’s only by looking at the whole, that we can design great experiences. And only by building a community of both system and application developers that care about the whole, that we can make those designs real. So, thank you to all of you who approach things this way, we’ve made huge progress, and hopefully there are some ideas here for low-hanging improvements too :)

Read more
Iain Farrell

Birds in flight by Noombox

For another cycle a selection of images has been put forward for inclusion in Ubuntu. As there have been some questions on other blogs about the process I thought it was worth doing a quick refresher. Each release we ask the community contributors whose images were included in the last release if they’d like to help choose the images that should go into the up coming release. This release we are endebted to the following Flickr users and community members:

  • madeinkobaia
  • SirPecanGum
  • bolorino
  • Deacon MacMillan
  • Noah Bertilson
  • Micheo
  • Fix Peña
  • Fejes Ádám
  • federica_miglio
  • Difusa
  • Hugo.Cliff
  • Mohamed Malik
  • Dh0r
  • paco • espinoza
  • pr09studio
  • Belhor_
  • Emilio Merlino
  • erin_estes
  • j_baer
  • fernando garcía redondo
  • followtheseinstructions
They and I carefully went through the thousands of images and we thank them for their effort and care. Once some images are shortlisted the creators are invited to add them to a shortlist group and supply us with high resolution images (minimum 2550 x 1660) and make sure the licence they use is CC by SA.
The deadline for the wallpapers is the beta freeze and at this point the shortlisted images we’ve received are attached to the appropriate bug in Launchpad. We almost always have more images to put on the CD than will make it in but we always make sure that all the chosen images we receive from contributors are included in bug for inclusion in the distro, if some don’t make it at least everyone has access to these images.
As with all processes it’s about refinement over time so while this process went well and we’ve got some really great images, what can we do next time to make it better?
Firstly we’ll be looking at limiting entries, many people submitted way more images than is sensible. We have a very detailed photo diary of someone’s holiday, for example, and that’s not what choosing wallpapers is all about. We will also look to bring the deadline for entries forward to allow for more time to gather files. One of the reasons that the number of illustrated wallpapers we invited to be in the final shortlist haven’t made it is because at time of writing we don’t have high resolution files from them. Rest assured that if they do appear in the remaining time before release I’ll work to cajole cuddle and squeeze any additional great images in but it looks like in this case a week wasn’t long enough. This may in part be due to the fact that the contributors we get here are often new to the project and not always aware of the delivery mechanisms used and aware of how important deadlines are. We’ll allocate more time next release for collation and review so we can help educate people on what the development schedule, Creative Commons licensing and the like are all about. Members of the team who helped this time around have said they’d be happy to help moderate and educate during the next release so we should also have more hands to help with the process which is splendid!
Having read comments on some other blogs and news sites I’d also like to end on a very important point. Every six months we contribute in a small way to Ubuntu with this submissions process. Community members from all over the world provide a number of new images which if users choose, they can have as the wallpaper on their desktop. People take photos, draw illustrations and tinker to create images specifically for this project and it is unfair to them and the team who review the images to simply post comments saying that the images are poor and not what you’d have chosen. Wallpapers are an optional component. They’re a small part of the whole and a team of willing community volunteers, myself included, select what we hope people will like and what we hope is a bit different to last time to keep things fresh and interesting. If you don’t see something you’d have chosen, that’s ok, you can choose your own image(s) and even post yours in time for the next release. Get involved!
So to all of you reading on this Friday afternoon, if you like the work of someone whose image was chosen or included in the submissions process, tell them about it. Blog it, show it to your friends, tweet it, send it to friends who don’t even use Ubuntu who might like it. Let’s celebrate the creation of free content and celebrate Ubuntu. That’s what it’s all about isn’t it?

Read more