Archive for the ‘gnome’ Category

OCRFeeder is now on GNOME Bugzilla

Monday, March 8th, 2010

OCRFeeder is now a product on GNOME Bugzilla and it should now be used for filing new issues. OCRFeeder Google Project’s bugtracker should be abandoned then.

So if you have been using OCRFeeder and found some issues or think it’s missing a great feature, go to the following URL and file a new bug:
https://bugzilla.gnome.org/enter_bug.cgi?product=ocrfeeder

Thank you for helping the GNOME’s OCR application.

OCRFeeder version 0.6.1 released

Sunday, March 7th, 2010

As has become usual every couple of weeks or so, I released a new version of OCRFeeder!

This is version 0.6.1 and the main changes this time are:

* Now you can increase or decrease the zoom using Ctrl+Mouse wheel. This kind of shortcut is well known in many GNOME applications and even I was missing it;
* Warning dialogs are now shown when something went wrong while opening an image;
* Fixed encoding problem when reading non-ASCII characters;
* Fixed error when configuring a new engine;
* Improved Debian package’s files (thanks to Alberto Garcia)
* Fixed zoom issues (sometimes the allowed zoom would not be consistent among tries);

It was a good week on OCRFeeder’s bug tracker, specially thanks to user Hank who reported important problems.

I am really glad about how OCRFeeder is turning out and I expect to make it even better with the help of its users, either by sending suggestions, reporting bugs or simply by using it you will be helping the project.

You can download OCRFeeder 0.6.1 tarball from GNOME FTP or optionally download a Debian package directly.

Text Prediction on GNOME

Wednesday, March 3rd, 2010

I was disappointed with the text completion provided by the N900 (eZiText) that, on top of that, is closed and I wondered if it was possible to have an Open Source solution to provide text prediction and completion.

I searched a bit and besides my original intentions of developing a library to search Free and Open Source dictionaries’ words from a prefix, I found Presage.
Presage is better than most text prediction systems I have seen out there because it really is text prediction, not text completion. This C++ library, retrieves words taking into account the surrounding text, not only the prefix or frequency of words. It uses a database representing N-grams that can be trained with more text; the more you train it, the more accurate it can be.

This means that is you type something like:
“I m”
instead of suggesting nonsense things like:
“I mouse” “I mother” “I market” or “I more
it suggests something more like:
“I must” “I met” “I mean” or “I might
The difference is obvious!

So I developed a little wrapper around Presage in C that provides a yet very basic API to get text completion. Then I created a GTK+ Input Method context to control the user’s input in regular GTK+ text widgets and used the wrapper to process the inputted text. I called it: Predictor Input Method (not very original I know…).
The result is that Predictor suggests you words, even if you type a prefix or not, and lets you accept the candidate word or scroll through a list of suggestions as you can see in the video below:

Text prediction in GNOME from Joaquim Rocha on Vimeo.

How to use it

The current key bindings are:

Ctrl+Enter -> Selects the current candidate
Ctrl+Up/Down -> Scrolls through the list of candidates
Backspace -> Deletes the character previous to the cursor and suggests again
Directional arrows -> Move cursor and discard suggestions

Who should use it

This kind of assistance technology can have many applications but the main ones are: the usage in small/mobile devices and the assistance of users with disabilities. Both have the same reasons behind: speeding the input and reducing failed characters, because the input required gets minimized;
Of course, you can as well use it in your GNOME desktop regularly for faster typing your emails, etc.

In the case of users with disabilities, a popup menu could be added to show a complete list of candidates and the bound fast-access keys.

Why is Free Software important in this

This is the kind of technology that everybody should have an interest in using a FOSS solution because of the obvious advantage that is developers from all over the world being able to modify it.
Suppose you’re creating a mobile phone and you choose a closed solution to provide text prediction for your phone. And then you find out you’re disappointing all your users from country X because that library you’re paying for does not support their language and the library owner is not interested that much in adding it. Now if you’re using an open solution, local communities from many places in the world can add support for their languages and your phone can have a better acceptance in places you hadn’t even imagined.

Software that reaches an international audience with different languages is software you want to have open.

How to get Predictor Input Method

You can find the Predictor Input Method’s source its Gitorious page: http://gitorious.org/text-predictor-input-method
Of course, you should also install Presage for it to work.

If you are not using GTK+ Input Methods then you can use the wrapper text-predictor.cpp which is not tight to the Input Method code itself. And of course, you can copy the little tricks used on the Input Method code and apply it to your source (like delaying the retrieval of the candidates some fractions of a second to not block the input, etc.).

Hope you like it.

FOSDEM follow-up

Tuesday, February 9th, 2010

FOSDEM was really nice this year. Still too many interesting presentations to attend than our physical condition allows but that’s life.

Like I announced on my last post, I gave two presentations there and I am glad with both of them. People seemed really interested in OCRFeeder and I hope they try it out, send me feedback and spread the word about it.
I could personally meet P. Christeas, who had send me a patch for it, and listen to the questions and suggestions of people about how OCRFeeder works.

I must say the most impressive presentation I attended was by  Professor Andrew Tanenbaum himself, about MINIX 3, what a beautiful piece of software it seems.
If you have not attended it, maybe you can watch the video recording once it is available.
Later on I had a nice chat with him regarding web browsers on MINIX and the real portability of applications that are said to be multi-platform.

Here are the slides for the presentations I gave:

Looking forward for FOSDEM 2011!

Going to FOSDEM!

Thursday, January 28th, 2010

I'm going to FOSDEM, the Free and Open Source Software Developers' European Meeting

… and also, this year I giving two presentations there.

I’m presenting OCRFeeder in the GNOME DevRoom and SeriesFinale in the Embedded/Mobile DevRoom!

I just love FOSDEM, the spirit of it, the number of important Open Source projects in there and the city of Brussels!

If you wanna have a chat about OCRFeeder, SeriesFinale, Hildon Input Methods, Rancho (for Django folks), Igalia or other important Open Source projects, while drinking a nice Belgian beer, let me know!