sábado, 17 de maio de 2008

Um botão ... mas incontáveis comandos!

Como é possivel usar e configurar um relógio Polar FS2c através do seu único botão .

Polar FS2CA minha vida de desportista de alta competição (em ginásio ;-) obriga-me a usar um relógio medidor de frequência cardíaca. A sua função é indicar-me quando entro em exageros de esforço para um determinado período de tempo. Com esse objectivo comprei um Polar FS2c. Era o modelo mais barato do fabricante de referência destes “brinquedos”.
Por contenção de custos ou por questões puramente estéticas, realça logo à vista o seu único grande botão, logo em baixo do mostrador digital.
Quando o coloquei pela primeira vez no pulso, comecei logo explorar as suas funcionalidades mas desisti ao fim de um minuto! Perdi-me por completo com os “cliques” sucessivos e não conseguia interpretar o que interface mostrava ou pedia. Dei parte de fraco e fui ler o manual.
O que parecia ser uma interface com o utilizador confusa, revelou-se ser um sistema muito engenhoso.
Um botão! Teoricamente o sistema só pode receber do utilizador dois comandos com um botão: está pressionado ou não está. Por exemplo, ao pressionar mostra um calendário no seu display, não pressionar volta a mostrar as horas.
Mas então como é possível implementar umas 20 funções no relógio quando teoricamente só devia haver dois?
A resposta é a dimensão Tempo! A duração com que o botão está pressionado ou não pressionado num determinado estado, confere infinitas possibilidades de controlo.
Para o exemplo deste relógio, o seguinte diagrama do tipo máquina de estados, ilustra bem o que se consegue fazer:
Polar FS2C User Interface State Machine
Inicialmente o relógio está no modo das horas. Ao clique no botão (pressionar e largar em menos de 1 seg), é trocado sucessivamente de modos até chegar ao inicial com as horas. Tirando este último estado, em todos os outros se ficar mais de três segundos sem pressionar o botão é assumido que se pretende ficar nesse modo. Após selecção de um determinado modo, clicar no botão vai trocando de informação relacionado com esse modo. No fim volta ao modo das horas.
Definir os números das horas e datas, também é um desafio interessante. Quando se selecciona o modo “Set hours”, aparece um número a representar as horas, ao clicar sucessivamente os números são incrementados. Quando finalmente é visualizado a hora pretendida, aguarda-se 3 segundos até que aparece o modo “OK”. Ao clicar no botão esta nova hora é guardada e regressa ao modo de inicial.
Existe um modo de controlo não representado nesta figura. Até agora vimos cliques no botão com duração menor de 1 seg e modos de espera em que não se pressiona o botão mais de 3 seg. Mas se deixar-mos o botão pressionado mais de 1 seg, podia haver novos estados. Por exemplo, em qualquer modo, a iluminação do display digital liga-se.
Este tipo de interacção tem uma grande desvantagem. É lento chegar a qualquer um dos  modos descritos. O único que está imediatamente acessível via simples clique do botão é para passar do modo visualização de horas para o modo visualização dos batimentos cardíacos.
Este tipo de interfaces não são imediatamente intuitivos e nada pratico nesta era de milhares de funcionalidades por aparelho. Mas podem ser a única alternativa face a constrangimentos externos.
Por exemplo, um telemóvel poucas teclas tem. Para escrever mensagens de texto, todo o alfabeto foi dividido pelas teclas numéricas de 0 a 9. A forma de seleccionar a letra pretendida é através de cliques sucessivos e períodos de espera para a aceitar e passar para a seguinte. Outro exemplo é o software Equalizer usado pelo famoso físico Stephen Hawking na sua cadeira de rodas. Devido à sua paralisia, só consegue dar comandos com um único dedo. A forma de escrever textos, dar comandos de manipulação de ficheiros, consultar emails, e outras tantas funcionalidades, é conseguido com igual padrão usado pelo relógio.