Archive for the ‘GNOME’ Category

Backgrounds in The Board

New Backgrounds

When I started writing The Board, I was quite pragmatic about the appearance of the app. I used my limited Gimp and Inkscape skills to produce the UI theme images and grabbed some free background images from internet.

So, the background images you’ve seen on previous The Board demos are just placeholders. Christian Ankert suggested—on the respective bug report— to use some of the free stock images by Kimberly Crick. Great tip! I produced five beautiful backgrounds based on her stock images: cork, cardboard, green, paper, and fabric. The goal with those backgrounds is to reinforce the physical aspect of the UI. Hence the use of textures mimicking real-world materials instead of abstract stuff.

The UI still needs some love from a real graphic designer but I’m quite happy with this first set of backgrounds. If you want to propose new ones, please submit them to GNOME Bugzilla.

Sounds in The Board

So, The Board 0.1.0 was released a couple weeks ago with a good set of initial features. The 0.2.0 release will come with a couple of interesting new features. Here’s one of them: sound elements with voice recording capability.

At this point, it should be clear that The Board is all about easily making daily records in form of videos, photos, notes, and labels. The addition of sound elements is natural step. Click on the image above to see a video demonstrating the new feature.

So far, voice recording in GNOME has been an obscure feature because the sound recorder app is not easily accessible and it doesn’t provide a convenient way to organize and access your voice memos. The Board makes it extremely simple to record voice memos. No need to care about saving files or anything. You can easily label your tapes for later reference. Just add a sound element and start recording!

The design still needs a bit more polishing of course—show playback and recording time, improve tape animation, error messages, etc. Feedback is welcome as usual. If you want to try this and other features, just follow the instructions on the hacking page to get The Board built and running on your system.

The next feature I’ll be working on is actions on multiple elements. Operations like removing multiple elements at once, aligning and distributing elements on a page, stacking elements, etc. Some exciting stuff coming soon!

The Board 0.1.0

The Board 0.1.0

Today I’m officially joining the GNOME Old Farts Club. I thought it would be a good time to make the first release of The Board. Ladies and gentlemen, I give you The Board 0.1.0! I wanted to do this a few weeks ago but with so many moving parts in our platform it was actually a bit hard to reach a point where all dependencies were actually working fine together. So, what is this release about?

Feedback. First of all, this is not a release for users. The Board is buggy, unstable, and lacking features at the moment. But it’s in a dogfoodable state for developers and expert Linux users. Current feature list includes:

  • Add, load, remove pages
  • Photo, video, note and label elements
  • Add, edit, remove, resize elements in a page
  • Basic Firefox and Chrome extensions
  • Basic Nautilus extension

I’m expecting to get some useful feedback from early testers and developers on those features and the general UX. You can get an idea of what’s in the release by having a look at the previous blog posts and respective videos listed in The Board’s wiki page.

Contributors. If you’re a developer interested in setting up a development environment to start hacking on The Board, have a look at the hacking page. I wrote a script—heavily based on what GNOME Shell provides—that automates most of the process of fetching and building dependencies from git. Please report any build problems on GNOME Bugzilla. I filed bug reports for quite a few known bugs and missing features that should be a good source for initial contributions.

Distros. Even though building The Board and its dependencies became much easier with the above-mentioned script, it’s might still be a bit painful to get The Board running on your system. So, here’s a call for distro packagers to create easy-to-install packages to be used by early testers. The idea is to be able to provide the simplest possible way to get The Board running on all major Linux distros.

So, what’s next? I’ll continue to fix bugs and hopefully make a 0.2.0 release soon with a couple of new features: audio elements with voice recording capability and support for actions—align, distribute, remove, etc—on multiple elements in a page. I expect to be doing more frequent releases from now on.

Adding to The Board

When I first introduced The Board, I generally described how I envisioned things being added to the pages—have a look at the “Add to The Board” and “Integration with other apps” sections in the intro post. I decided to spend some time implementing a few interesting ways of adding content to The Board so that the app concept gets a bit more clear in practical terms. Click on the image above to see a video demonstrating all features described here. Here’s the user story I have in mind:

Henry is a journalist who writes gadget reviews. He was assigned to write a review of this new Android phone. He needs to do a bit of research before starting to write. He activates The Board and creates a new page called “Android article”.

He opens the web browser to search for reviews, pages, images, and videos about the product. For each relevant page, image, video or piece of text he finds useful for his article, he simply right-clicks on them and adds them directly to The Board.

He also has a few local documents about competing products which might be a good source for his article. He opens some of those documents, copies the related pieces of text, activates The Board, and pastes them as notes.

He then remembers he had already downloaded some photos of the phone a few days ago. He opens Nautilus to access the folder containing the images, right-clicks on the images and adds them to The Board as well. He activates The Board again, presses ‘t’ to add a new note, a quickly writes down a few ideas on how the article can be structured.

Henry is now ready to start writing his article.

Browser. I’ve implemented extensions for Chrome and Firefox. The Chrome extension can only add links and text selections as I couldn’t find a good way to handle photo and video downloads—I hope to get this implemented soon. The Firefox extension is more complete and allows you add links, text selections, images, and videos (using HTML’s video tag, not flash) from the browser.

These extensions add a context menu item when right-clicking on the cited web content. In case of images and videos, they automatically download the file to a proper user directory before adding a respective element on The Board’s current page. The extensions communicate with The Board via HTTP. A notification is shown when content is successfully added.

One big missing feature is a toolbar button which intelligently adds the current page to The Board. This means that if you’re in, say, Google Maps, if you hit this toolbar button, it adds the map to The Board. If you hit this button while viewing a photo on Flickr, the photo itself is added to The Board. You got the idea.

File Manager. The Board’s integration with Nautilus is done through an extension. The extension adds a context menu item every time the files can be added to The Board. For now, it only allows adding images. Videos should be coming soon. A notification is also shown when content is successfully added from Nautilus. This was the first time I wrote code based on the new GDBus API. Pretty simple to use.

Clipboard. I added some initial code to handle paste command on The Board’s window. In practice, this means that if you copy text from somewhere, you can just use the usual Ctrl+V keyboard shortcut on The Board to paste it as a label or note. Still need to implement URI and image pasting.

Keyboard shortcuts. It should be simple and fast to add things to The Board while using it directly. The current keyboard shortcuts are ‘l’ for label, ‘t’ for note, ‘p’ for photo, and ‘v’ for video. When something is added to the current page, the new element is activated straight away and you can start typing even before it reaches its final position.

This is all very initial code. It’s definitely a bit buggy and missing features. But it’s in a dogfoodable state—for developers at least. In fact, I’ve been dogfooding The Board full time for a few weeks now. I added this temporary status icon that shows and hides The Board’s main window—you can see it in the video. Works well enough for daily usage.

I still haven’t decided how to integrate The Board with GNOME Shell yet. That means figuring out how the “activate The Board” part of the user story above would actually happen. I’ve been playing with some mockups but nothing solid came up so far. Ideas—especially from GNOME Shell guys—are welcome. Patches for all the missing stuff I mentioned above—or for anything else really—are more than welcome too.