Diary of a new board member

So this happened. It’s the first time I’ve served on the Foundation’s Board of Directors, and I thought it would be good to write about the experience.

The GNOME Foundation Board can often be a bit opaque. Generally it works in the background, and while you can get a sense of some of its activities through the minutes, it is easy to forget that the board is out there doing its thing.

It has been a bit of a revelation to see just how active the board is. It’s a bit like I’ve discovered a new, secret world inside the GNOME project. And there’s a lot happening in this world – it is always busy.

There’s an IRC channel and several private mailing lists, which are very active. And there are tasks being taken care of all the time – I already have a list of three or four things that I’m sorting out, for example.

I was impressed by the first board meeting I participated in. There was a clear agenda that was followed, minutes were recorded as the meeting went on, and the meeting ran to time. Many of the agenda items weren’t particularly glamorous, but they were things that need to be done, and there was a good level of scrutiny around each one.

There have been a few other things that have surprised me about the board. I wasn’t fully aware of how institutionalised it is. We are governed by our bylaws, which set out how the board has to operate, as well as some of its obligations. I read them recently, and was surprised by a couple of things that are in there. If you’re a Foundation member, you might be interested to take a look.

Another thing is just how important Rosanna is to the board. For those who don’t know, Rosanna is the Foundation’s Director of Operations. Not only does she take care of a lot of the Foundation’s adminstration, but she is a valuable source of knowledge and expertise, having worked for the Foundation for numerous years. She’s another one of those aspects of the Foundation that is both important and, often, hidden from view.

I’m still busy learning the ropes, and there’s a lot I have to learn. So far it is satisfying work though, and good to see another side of the GNOME project.

Photos: future plans

hicolor_apps_256x256_gnome-photos

This is the third in my series of blog posts about the latest generation of GNOME application designs. In this post, I’m going to talk about Photos. Out of the applications I’ve covered, this is the one that has the most new design work.

One of the unique things about Photos is that it has been built from the ground up with cloud integration in mind. This means that you can use it to view photos from Facebook, Google or Flickr, as well as the images on your local machine. This is incredibly important for the future of the app, and is something we’d like to build on.

Until recently, we’ve focused on getting Photos into shape as a storage-agnostic Photo viewer and organiser. Now that it has matured in these areas, we’ve begun the process of filling out its feature set.

Editing

I’m starting with editing because work in this area is already happening. Photos uses GEGL, the GIMP’s next generation image processing framework, which means that there’s a lot of power under the hood. Debarshi has been (understandably) keen to make use of this for image editing.

For the design of Photos, we’re following one of the design principles drawn up by Jon for GNOME Shell: “design a self-teaching interface for beginners, and an efficient interface for advanced users, but optimize for intermediates”. This can be seen in the designs for photo editing: they are simple and straightforward if you are new to photo editing, but there’s also enough in there to satisfy those who know a few tricks.

We’re also following the other principles of GNOME 3 design: reducing the amount of work the user has to do, preventing mistakes where possible (and allowing them to be easily reversed when they do happen), prioritising the display of content, and using transitions effectively.

The designs organise the different editing tools according to a logical workflow: crop, fix colours (brightness, contrast, saturation, etc), check sharpeness, and finally apply effects.

Editing: Crop

Editing: Filters

We also want editing to feel smooth and seamless, and are focusing on getting the transitions right. To that end, Jakub has been working on motion mockups.

https://youtube.com/watch?v=F3_e24QHzfI

There’s already a branch with Debarshi’s editing work on it, for those who want to give it a try. The usual caveat applies: this is work in progress.

Import

As I mentioned, Photos already has cloud support. This solves the problem of getting photos into the Photos app for many people – if you are shooting with an Android phone, images can be synced to the cloud and will magically appear in GNOME.

However, if you are one of those old-fashioned types who shoots with an actual camera, you have to manually copy images over from the device, and this is labour intensive and error prone. We want a much more convenient and seamless experience for getting images from these devices onto your computer.

The initial designs for importing photos from a device are deliberately simple: generally speaking, all it should take is a single click to import new shots.

One important aspect of this design is that we want it to be error-proof. There’s nothing worse than realising that you forgot to copy over images and then blanked the SD card they were stored on – we want to prevent this from happening by shifting responsibility for maintaining the photo collection to the app.

Sharing

Sharing is critical for a photos app, since sharing is often the primary reason we take a picture in the first place. It can take place through various means, including showing slideshows, but social media is obviously critical.

There are plans to equip GNOME with a system-wide sharing framework, which will allow posting to social media, and we’d like Photos to take advantage of that. However, sharing is so important for Photos that we don’t want to wait around for system-wide sharing to become available.

Sharing

There are also wireframes and a bug report.

General improvements

Aside from big new features like editing, import and sharing, we have other changes planned. The first is an improved photos timeline view:

Photos Timeline

The main changes here are the addition of date headings, switching to square thumbnails, and hiding image titles. This is all intended to give you a less cluttered view of your photos, as well as clearer markers for navigation.

Another change that we have planned is a details sidebar. This is intended to provide a kind of organising mode, in which you can go through a series of photos and give them titles and descriptions, or assign them to different albums.

Details Sidebar

How to help

There’s already some cool work happening in Photos, and I’m pretty excited about the plans we have. If you want to help or get involved, there’s plenty to be done, but everything is clearly organised.

Bugs have been filed for all the new features and changes that I’ve mentioned in this post, and each one links to the relevant designs and mockups – you can find them listed on the Photos roadmap page.

Also, Debarshi (the photos maintainer), is happy to review patches, and Jakub and I are available for design discussion and review.

Notes: future plans

This is the second in a series of posts about recent design work for GNOME’s core applications. As I said in my previous post, the designs for many of these applications have evolved considerably, and we have major plans for them. Help is needed if these plans are going to become a reality though, so we are looking for contributors to get involved.

In this post, I’m going to focus on the Notes app, which is also known as Bijiben. (For those who don’t now, Bijiben – 筆記本 / 笔记本 – translates to “Notebook”.) This application is maintained by Pierre-Yves Luyten, and is written in C (although Pierre-Yves has expressed an interest in porting the UI to JavaScript).

Where we are

The Notes app aims be a simple and effective note taking application. It has the basic features you’d expect from a notes app, such as formatting, search and a trash bin. You can also organise your notes into separate notebooks.

It also has some other features that you might not be aware of, such as the ability to import notes from Tomboy (or Gnote), and integration with ownCloud and memos (as provided by Evolution), so you can keep your notes online.

Most of the updates that we have planned for notes are designed to polish the existing UI, so it looks and feels really nice. There are also some bigger features planned though.

More online storage

Being able to store your notes in the cloud is a major goal for Notes, and Pierre-Yves wants to expand the number of options for online storage, perhaps through IMAP.

As much as possible, we want cloud storage to become the default option for Notes. As a result, we’re imagining that it might want to ask you where you want to keep your notes when it is run for the first time…

Notes Setup

We also have mockups for migrating notes between online accounts.

Improved grid and list views

It’s important for a notes app to give you a good overview of your notes, so that finding items is quick and painless. We have a number of plans is this area. For the notes grid, we want to show more content from each note, so you get a more useful preview. Date headings are another addition which will make the grid more meaningful and informative.

Notes Grid

The grid view designs are accompanied by a new treatment for the list view. This aims to be neater, more attractive, and easier to read.

Notes List

Better editing

We’ve also done a lot of work on the designs for viewing and editing notes. The overlaid editing controls that Notes currently uses have been a particular sore point, largely due to some technical limitations. As a result, we’ve decided to use an action bar for formatting – this will appear when you select text, and hide when it’s no longer needed.

There are a number of other significant changes that we want to make to the note view, such as using a fixed width layout, having bigger titles, and better use of typography.

Note Editing

Polish, polish, polish

Finally, as with Music, Notes needs a lot of polish. There are quite a lot of small bugs that we have solutions identified for; the overall experience will improve a lot if we can resolve these.

How to get involved

Bijiben’s Bugzilla product is in good shape, so it’s easy to find tasks to work on, and Pierre-Yves is happy to review patches. There’s also a wiki page with details about the application, including a small technical overview of the code. Notes could be a really fantastic application – just get in touch if you want to help out.

Plans for GNOME’s apps

I’ve been a bit quiet about GNOME’s applications of late. This isn’t because nothing has been happening, though – quite the opposite. We’ve been steadily working away behind the scenes, and our application designs have evolved considerably.

This is the first in what will be a series of posts, in which I’ll summarise recent application design changes, as well as plans for the future. In this post, I’ll be focusing on Music.

We’re at a critical point with many of the core apps. There is still a fair amount of polish work to be done, and interesting features are missing in some cases. However, much of the basic functionality is in place, so we have a good platform to build on. We are a position to make a lot of GNOME’s apps truly great: it’s just a matter of making the final ten yards.

Of course, we need help to make GNOME’s apps really shine, so if you want to get involved with any of the initiatives I’ll be describing, please get in touch.

Music: where things stand

A number of features have landed in Music over the past couple of cycles, so that it now has a good basic feature set. There is a really nice search interface now, for example, and smart playlists were recently introduced in 3.16.

I personally use Music as my primary music player, and I really appreciate how it offers a clean view of my music collection, particularly with the nice grid of album covers. I’m very happy to have a music player that doesn’t look like a database front-end. :)

But what about plans for the future?

Play Queue

The first new feature that we have planned for Music is a new play queue interface. This is intended to give you quick access to what’s currently playing. You can also star tracks that are in the queue, such as the song you just listened to.

The new play queue design aims to improve the interaction around shuffle and repeat. We want to make sure that these only act on the current play queue, so that you don’t accidentally leave shuffle on forever (this will be possible through the smart playlists, if it’s what you want), and it allows shuffle and repeat to be used temporarily for a particular music selection.

Play Queue

Even smarter playlists

As I already mentioned, smart playlists landed last cycle, in 3.16. We really want to build on this functionality. I’m excited by the possibility of making smart playlists much more dynamic, so that they reflect your music collection and listening habits.

If you have a lot of jazz in your collection, we could offer special jazz playlists, or if you have been using the app for a while, we can suggest retrospective selections of tracks, such as your favourite artists from the last month or year. There’s a huge amount of scope here to create an engaging, personalised listening experience.

A first step in this work is to rework the existing UI for smart playlists.

windowed-playlists

Media import

The final new feature that I’m going to mention here is media import. While optical media isn’t as popular as it used to be, it is still important for some users, and we want to make it simple and easy to rip a CD and add it to your music collection.

windowed-import

Polish, polish, polish

Albums View

Last but not least, we want all the core apps to provide a really polished, high quality experience. So, while there are plenty of big new features planned, refining the existing featureset is also an important goal. Many of the needed changes are quite small, and there are plenty of bugs that are marked as priorities for this cycle.

We need your help

Music has a great maintainer, in the shape of Vadim Rutkovsky, and the app is on its way to providing an excellent, modern, music experience for GNOME. That said, many of the bugs and features I’ve mentioned in this post need people to work on them. So, if you are interested in getting involved, or in helping to create an awesome music app, look no further. We’re looking for experienced developers, as well as newcomers.

For information can be found on the Music wiki page.

In case you didn’t notice…

This happened.

Time and Date Menu

It was a big job, and Florian deserves major congratulations for getting it ready (just!) in time.

Credit also needs to go to Jon McCann. If you’ve read my previous posts on the notifications redesign, you’ll know that we’ve gone through a number of different design concepts. In the end, it was Jon who was instrumental in helping us to identify the best approach. He has an amazing clarity of vision, which proved crucial in helping us to give the design a solid conceptual foundation.

The various concepts we have explored as a part of the notifications redesign makes me confident that the approach we have settled on is the right one. It was only with the final design that everything clicked into place, and we were left with a design which effectively avoided the problems found in each of the others.

In the rest of this post, I’ll outline the design’s key features.

“What’s happening?”

One of the key goals for the notifications redesign was to provide an effective way to review previous notifications. In this way, notifications can be used to find out about what has happened in the past, as well as what is happening right now.

With this ability, notifications can be used in an exploratory manner, to get an overview of recent events. This is particularly useful as a way to inform decisions about what to do next. As such, notifications can be a tool for directing our own personal activity.

This recognition informs the new calendar and notifications design. It indicates that notifications have an affinity with other activity-related information – at the moment we ask “what’s happening?”, we are also often implicitly asking, “what should I be doing?”

The new calendar design aims to answer that question in the most effective way possible. It provides a single place where you can find out what has happened, what is happening, and what is about to happen. In concrete terms, this means showing notifications, event and birthday reminders, world clocks and weather information. Notifications take centre stage, while the other information is available for you to fortuitously stumble upon.

All this information is contained in a single view, which means that it is immediately accessible and gives an effective overview.

It’s a time machine

Since they tell us about what has happened in the past, and help us decide what to do in the future, notifications are closely related to time. In accordance with this framing, the new design makes notifications accessible through the time and day indicator in the top bar [1]. All the other information found in the new date and time menu also relates to time – event reminders, birthdays, world times, and the calendar.

The world times section of the date and time menu works through integration with the GNOME Clocks application.

Taking action

Notification Banner

Just like the current GNOME 3 notifications design, the new design incorporates pop up banners that include notification actions. These enable you to quickly respond to a notification in a convenient manner. Built in chat replies have been retained.

The position and appearance of banners has changed though – they now appear towards the top of the screen. This gives them a close relationship with the date and time menu. It also helps to ensure that pop up banners don’t get in the way, which was an issue when banners where at the bottom of the screen.

Keeping it simple

A major goal for the notifications redesign has been to simplify as much as possible. There’s quite a bit of complexity to notifications right now, including different notification types (such as resident and transient notifications), special cases (like music and hot plug notifications), notification properties (including images, action buttons), as well as stacking of notifications within different sources.

This complexity comes at a cost, increasing both the number of bugs and the maintenance burden. With the new design, we are clearing the decks and trying to stick to a single, simple API for virtually all notifications. This will lead to a much lower bug count, as well as easier maintenance.

Plans for the future

The main thing that has still to land for 3.16 is status icon support. We’re still finalising our plans for this, but it will definitely happen, and I’m sure that it will be better than what was in 3.14.

Looking forward to 3.18, there are a number of elements to the design that didn’t make it for 3.16, including music controls (probably based on MPRIS), Weather integration and birthday reminders. These additional elements will make the new design increasingly useful and cohesive, so there is a lot to look forward to. If you want to work on any of these features, just get in touch.

A mockup of the date and time menu, featuring birthdays and weather information.
A mockup of the date and time menu, featuring birthdays and weather information.

How you can help

The new notifications and calender design landed late in the development cycle, which makes testing vital. If you want to help, the best thing you can do is use GNOME Shell master, and report any bugs that you find.

This is also a good moment to pay attention to the actual notifications themselves. There’s a lot of poor notification usage out there right now [2], as well as obvious examples of things that should have notifications and don’t (completed downloads, anyone?).

If you are responsible for a module or application, take a moment to read over the notifications guidelines, and take a second to check if there are any untapped opportunities for effective notification usage in your software.

The new notifications design will be released next month, as a part of GNOME 3.16. If you want more details about the design or future plans, check out the design page.

[1] This also has some practical advantages, such as communicating that notifications are provided by the system, clearly delineating each section of the top bar, and providing an effective click-target.

[2] Things to look out for: notifications not being dismissed when they are replaced by a new one, application notifications that don’t use the application’s icon, default actions that don’t raise the sender application, notification actions that duplicate the default action (“View” or “Open” buttons are a warning sign of this), notifications being shown by applications while you are using them.