si accettano suggerimenti per il titolo

storie, pensieri e progetti tra chimica, informatica, attualità e cazzeggio puro

Ideas for a faster Firefox OS keyboard

This has been in my mind for quite a while, so I thought I’d write it down. I don’t know if it’s possible right to install extra keyboard through the Marketplace at this moment, but this keyboard concept would be great as an app available there, altough maybe we don’t want it as a default keyboard.
This is also not an original idea of mine: I used to have this kind of keyboard on my Nokia 5800 (Symbian S60) but I haven’t been able to find one like this for Android so far, so I think it’d be a plus to have it on Firefox OS.

It’s not easy to fit a good keyboard on a small smartphone screen, especially in portrait mode, and Firefox OS 1.3 comes with huge improvements on this side. If you’re a non-English speaker, however, writing a sentence can still be a painful experience: if you need to type a number you have to switch keyboard to the numbers and symbols view and then back and if you need some accent on the character you have to keep tapping the key, wait for the popup to come up and choose your accented char from a variety of choices. All this makes you loose quite a bit of time while tiping, but at the same time you can’t add other keys to the keyboard or they’d be too small to tap.

Here’s where swipe comes to rescue, to multiply the uses of a single key. The image below shows how keys would show in the multifunction keyboard I have in mind. For sake of time saving, I’ve only modified the Q, W and E keys.

As you can see, on the corners of each key there are more chars that you can type fast with the key. Basically, the idea is that if you just tap the key you write the main character of the key, while if you tap and swipe (north, south, east or west) you type one of the side-chars:

With this technique, you can reach easily and in a much faster way numbers and accented chars that are most used in your language. For example, if you’re Spanish you may be interested in having the char ñ on the N key or if you’re French the char ç on the C key. Everyone would be interested in having the comma on the full stop key.
The keyboard I had on my old Nokia also added other symbols to the free keys, but that may be going too far, making the keyboard hard to read.

Unfortunately I really can’t code the mockup I’ve just shown you, but if you can and if you’re interested in this idea we can work together to make it happen.
If you can’t or don’t want to help, I’d still like to read your comment on this.

My first week with Firefox OS

Upon arrival in Australia, I’ve decided to make my new Keon my Australian phone, keeping my Italian SIM in my SGS2. After a week of usage, here are my first impressions (I’m using the 1.2 branch).

The overall quality of the software is good, it does almost anything you’d expect a smartphone to do, plus the battery life is really really good. The only thing I’ve noticed is that tap precision is not really good, but I can’t say if this is a software or a hardware issue.

The mail program is the shittiest part of the whole OS. Since it doesn’t accept neither non-TLS/SSL servers nor ones with a self-signed certificate, it basically prevented me from using all of my email accounts. I really hope this problem will be addressed in the future as it really damage the experience.

The phonebook is quite good, with plenty of fields to write to. The only downside is that it takes a lot of taps to actually manage to call someone compared to the “swipe and call” behaviour of Android’s phonebook.

Calls and messages
Nothing to report here so far. They both work pretty well.

The browser is not exactly bad, but it’s still well behind Firefox for Android. Two main missings: reader mode and the fact that you can’t store login form data in the browser and you have to type them every single time. Considering that a good password is usually complex, it takes ages every time to log in a website.

The marketplace is really good, straightforward and easy to use. The only drawback I’ve noticed so far is that there’s no way to tell if your installed app is up-to-date or if it needs to be updated, and how the update is done (automatically (always/on wifi), manually, whatever).

Data usage measurement
It either doesn’t work, or my provider can’t count. My provider in fact rounds up used data big time (it has 1 MB increments per session, so if you use only 50 kB in one session it still charge 1 MB), but despite that data usage reported by the phone was always quite higher than the one reported by my carrier.

I know that phone screen sizes are relatively small, but the keyboard is still quite poor. I would have expected at least to be able to type a number by holding a first-row key instead of switching every time to the number and symbols keyboard. Moreover, word replacement with the first suggested is turned on by default and it drives you nuts as it misses the word you want to type 50% if the time and you end up writing shit. I’ve disabled it and all’s fine now, but it really should be off by default.

Cursor selection
This is another quite crappy thing, as the only way to position the cursor where you want is to tap in the position you want it to go and hope for the best, as 70% of the time it won’t go where you want. Would it be so difficult to implement a cursor handler as Android has, so that if you put the cursor in the wrong position with the first tap it’ll be easier to then move it to the right place? This is of paramount importance if you want to put the cursor at the end of a line, e.g. at the end of a long url or of a message line, because usually the Go or Send button is pretty close to the end of the text and if you’re not extra-careful (or have extra-thin fingers), you’ll probably end up touching the send button instead of positioning the cursor at the end of the string.
My workaround until now is to put the cursor not exactly at the end, delete text I still need to shift the end of the string to the left until there’s enough space to safely put the cursor at the end of the string and start deleting/adding from the end.

Internet sharing
The wifi hotspot works pretty well, while the usb tethering doesn’t. I have my kernel set up right, with all the drivers loaded, but when I connect the phone to use it with usb tethering the connection stays up for less than a minute then the phone is disconnected and the net card associated with it (usually usb0) doesn’t appear anymore.
Plus, from time to time, instead of opening a website it gives a “(104) Connection reset by peer” and it won’t open that website anymore until I reboot the phone. It doesn’t happen with all websites, and they also vary from time to time.

As I said, the overall experience is good, but there’s surely a lot of room for improvement almost everywhere. I’m pretty sure there are bugs opened for all (or almost all) the issues I’ve reported, but I haven’t got the time to check yet.

New Year, New Life (a.k.a. Moving to Australia)

I don’t write very much on this blog and I don’t like to dirt the Planet with my personal life, but this can have an impact on my participation to Mozilla, so here I am.

At the very beginning of the new year I’ll start my Ph.D. studies in Melbourne, Australia. This is a big move, since I’ll be away from both Italy and Europe in general, although it’ll be for just three years. I don’t plan for this move to change anything in my committment to Mozilla and the work I’m doing, apart from the fact that I won’t be able to organise and participate to events in Italy and I’ll probably have some problems coming to Mozcamps in Europe.
Besides these two things, I’ll continue my translation work and my work in the Mozilla Italia community. What I will be able to do on the other side, I hope, is to strengthen Mozilla’s presence in Australia. Melbourne is a big city with two important universities and I’m sure there will be plenty of occasions to organise interesting activities in town.

I don’t know how many Mozillians there are in Australia but I’d love to get in touch with you all guys if you’re reading me, especially if you’re from Melbourne. If you’ve never see them, I’ll bring a Firefox OS phone with me so you can play with it. I’m also planning to make it my main phone there, so I’ll be able to help with QA and bug reporting coming from a daily usage.
I also hope that, when I’ll have settled down, I’ll be able to help any Mozillian who’d like to come visiting or organising something.

Since it’s the 30th of December already (at least here in Italy), let me wish you all a happy new year!

Summit Santa Clara – Call for developers: ask questions!

First of all, this is my first post on the planet coming from my personal blog, so hello everybody!

Back on track. It’s still not quite clear to me how this’ll work, but we have Open Seesions planned for next week’s Summit, and I’m planning to host one with title “Ask a localiser”.
Basically, one of the problems that were raised at the Paris Summit Assembly is that developers and localisers are a bit disconnected, the ones not knowing the problems and the challenges of the others and vice versa. My goal is then to put in the same room developers and localisers and make them talk to each other.
Being a localiser myself, I’d like some developers to ask me questions beforehand so that I’ll have some ground to begin with during the session, and then we’ll let the discussion evolve from there. I’d also love if some other localisers would care to join the session so that developers will have the chance to hear from more of us, comparing our different workflows and our peculiar problems.
My hope for the session is to have at least five localisers and as many developers as possible so that we can raise awareness on the developers side to let them understand our needs and so help us with our work, and on the localisers side to let them understand what they can actually ask a developer to do and what is just not feasible, given their everyday problems.

So, developers: ask away! And localisers: start thinking about answers!

Who’d you call? …Mozilla!

Lo scorso autunno ho avuto modo di scambiare quattro chiacchere con KaiRo durante il workshop che Mozilla ha organizzato a Torino. Tra le varie cose è venuta fuori una chicca riguardo alle origini di Netscape/Mozilla di cui non credo in tanti siano a conoscenza (anche se noto ora che sulle pagine inglesi di Wikipedia è scritto…), però è una cosa talmente nerdosa che va riportata.

Quanti di voi si sono chiesti che cazzo di nome fosse Venkman per un DOM inspector? Il nome deriva dal personaggio dei Ghostbusters Peter Venkman, interpretato da Bill Murray. Questa però non è l’unica citazione al film all’interno del codice Mozilla. Lo stesso linguaggio di programmazione dell’interfaccia, XUL, deriva in realtà dal nome del cattivo del film, Zuul.
L’URL del namespace, infatti fa chiaro riferimento al film. Gatekeeper (Guardia di Porta nella traduzione italiana) infatti era il ruolo di Zuul, mentre Keymaster (Mastro di Chiavi) era il ruolo di Vinz Clortho, l’altro essere che si impossessa del corpo del vicino di casa della donzella in difficoltà di turno.
Anche il contenuto stesso del namespace, la frase “There is no data. There is only XUL!” deriva da una scena del film. Quando infatti Venkman arriva dentro il palazzo di Dana per tentare di fermare Zuul, Vinz Clortho e Gozer questa è ormai già posseduta da Zuul e quando Peter la chiama per nome lo spirito risponde “There is no Dana. There is only Zuul!”

Se lo sapevate già, pace. Se non lo sapevate, sapevatelo; perché mi sembrava una storiella carina.

Aggiornare ZenPhoto

Mi è stato chiesto di scrivere una guida per l’aggiornamento di ZenPhoto, quindi eccola qui.

Prima di procedere, qualche considerazione: la procedura di aggiornamento è molto semplice, in effetti poco più complicata di quella di WordPress. Incredibilmente, sono riuscito ad aggiornare all’ultima versione (1.4.2) un’installazione vecchissima di ZenPhoto (1.2.9) senza alcun problema.
Alcuni dei passaggi che scriverò sotto sono facoltativi, io li ho fatti perché volevo essere sicuro che tutto fosse in ordine. Dato che la configurazione del server è diversa per ognuno, può darsi che dobbiate fare qualche controllo che io non ho dovuto fare; in ogni caso lo script di setup è molto chiaro nelle richieste, basta seguire le indicazioni.
E ora, iniziamo.

Aggiornare un’installazione di ZenPhoto:

  1. Fare un backup! Sia dei file di installazione, sia del database. Non si sa mai.
  2. Copiare i file della nuova installazione sopra quelli vecchi. I file degli album e tutte le cose aggiunte dopo la prima installazione non verranno sovrascritti, solo i file di ZenPhoto. Questa procedura è molto semplice se si ha un accesso ssh al server (si tratta di dare un comando del tipo “mv /nuovi_file /vecchi_file”), mentre potrebbe essere più tediosa e lunga se bisogna operare via ftp.
  3. Nel browser, aprire l’URL dell’installazione di ZenPhoto. Invece di essere visualizzata la galleria, partirà lo script setup.php per l’aggiornamento.
  4. Fare il login per avviare lo script di aggiornamento.
  5. Creare il file di test per verificare la codifica caratteri del filesystem, se è richiesto dallo script e volete essere certi ancora una volta di avere tutto in ordine.
  6. Eliminare i file extra della vecchia installazione (basta fare clic sul pulsante nella pagina). Può darsi che lo script non riesca ad eliminare qualche file o cartella (a me è capitato per la cartella zp-core/plugins che non esiste più nelle versioni recenti), in questo caso eliminarli a mano.
  7. Aggiornare il file .htaccess (di nuovo, basta fare clic su un link all’interno dello script)
  8. Eliminare i file di installazione quando richiesto
  9. Fare il login nella nuova versione aggiornata

Questo è quanto. Piuttosto facile direi.

Sull’evoluzione della specie

Piccola considerazione prima di andare a letto: va bene che secondo la teoria dell’evoluzionismo col tempo ogni specie si fortifica (o scompare), ma ritrovarsi in camera una zanzara il 26 dicembre, considerate anche le temperature glaciali esterne, mi sembra eccessivo.

Bentornati a tutti

Come promesso, ho tolto di mezzo il vecchio blog per rimpiazzarlo con questo nuovo sito, più strutturato e (spero) ordinato.

Il tutto gira sempre su WordPress e per l’occasione ho riscritto il tema che, sebbene non sia molto dissimile da quello precedente, è scritto come si deve (non con i piedi come quello che c’era prima) e supporta tutte le funzioni che un tema per WordPress 3.2 deve supportare (tanto che l’ho inviato per essere incluso nell’elenco di temi su Con molta fantasia gli ho dato nome ZenDark, visto che si rifà allo schema colori del tema default dark di Zenphoto (e per un motivo ben preciso).

Ancora non sono completamente “up & running”; ci sono alcune pagine da aggiungere e un po’ di testi da limare, ma questo verrà poco a poco. Per ora, buon proseguimento in questo nuovo spazio e bentornati a tutti.