tendências em foco
_coluna
Desenhando apps:
simplicidade é a palavra-chave
Tenho meu lado acadêmico, mas infelizmente, as inúmeras viagens
e compromissos pessoais me impedem de voltar a dar aulas, como
o fiz na FGV-RJ e no MBI do NCE/UFRJ há vários anos. Mas sempre que posso estou palestrando em universidades. E um dia desses,
após uma destas palestras, estava conversando com um professor
de um curso de Ciências da Computação e entramos em um assunto interessante: o modelo de desenvolvimento de sistemas, voltado
para aplicações complexas e abragentes, típicas do modelo cliente-servidor se aplica ao design de apps móveis? Concluimos que as
apps demandam um novo modelo de projeto e acho que vale a pena
expor nossos argumentos aqui para validarmos com vocês.
A
característica mais marcante
de uma app é sua objetividade. Ela tem uma função específica
e se atém a ela. É o exemplo prático do conceito de minimalismo
em software. Definitivamente, é
completamente diferente de um
ERP ou aplicação que vemos hoje
no modelo cliente-servidor onde
inúmeras funções são executadas
pela aplicação.
A app executa uma única função e deve fazê-la bem. Apenas
isso. E nos leva a repensar um
pouco os princípios do desenho
de sistemas. Nos acostumamos a
pensar de forma abrangente e so-
mos treinados para criar aplicações complexas. Nossas práticas e
métodos de desenho de sistemas
são aderentes à complexidade e
portanto são também complexos.
Tanto é assim que nos últimos
anos, devido à velocidade com
que TI deve responder às demandas dos negócios surgiram novas
propostas que dessem mais agilidade ao processo, como o “Agile
Development”. Bem, falando em
simplicidade, vejam este filme
do TED, de 2007, onde John Maeda, que escreveu o livro “Laws of
Simplicity”, fala sobre simplicidade: http://www.ted.com/talks/
john_maeda_on_the_simple_life.
html .
Os softwares atuais embutem
tantas funcionalidades que não
usamos a maior parte delas. Um
exemplo? Peguem o Word e vejam
quanto de suas funções são realmente usadas. Um estudo da própria Microsoft em 2006 mostrou
que cinco comandos (paste, save,
copy, undo e bold) correspondiam
a 32% de todos os comandos usados. Eu pesssoalmente uso pouco
mais que meia dúzia de comandos
no meu dia-a-dia e apenas de vez
e quando uso algo mais sofisticado. Afinal escrever um texto que
61 \
vai para um blog não demanda
nenhuma sofisticação artística do
editor de textos, apenas conteúdo
que tenha algum valor. Um ERP
também é uma peça de software
extremamente complexa. Precisamos de cursos de várias semanas para saber usá-los. Claro, a
proposta deles é integrar todos
os processos de negócios, o que
indiscutivelmente traz inúmeros
benefícios para as empresas.
Mas, em smartphones precisamos integrar todos os processos ou podemos pensar de forma
diferente, olhando funções específicas e criando um app que seja
ótimo para satisfazer esta única e
determinada função?
Vamos exemplificar a ideia.
No meu Android instalei um software chamado Camera360. O que
ele faz? Tira fotos, claro, mas permite criar efeitos especiais simples, porém interessantes. Obviamente não é uma ferramenta
profissional, mas atende a imensa
maioria das pessoas que, como
eu, gosta de tirar uma foto e criar
um efeito especial divertido. Just
for fun...E você não precisa de nenhum manual para usá-lo. Isto é
simplicidade.
Outro aspecto interessante
das apps é que ao contrário das
aplicações tradicionais, onde você
tem um road map que mostra suas
novas funcionalidades no futuro,
aumentando, em consequência, a
complexidade, pois muitas destas
funcionalidades têm pouco a ver
com a proposta inicial do softwa-
re, elas devem conservar a simplicidade. Ou seja, voltando ao Camera360 ele adiciona, a cada nova
versão, alguns novos efeitos, mas
mantêm-se fiel a sua proposta de
ser unicamente um software para
tirar fotos. A resultante? Uma app
só tem versão 1. As evoluções
são ajustes finos, melhorias de
performance e correções de bugs
que não alteram o objetivo básico do software. Comparem com
um Office, por exemplo, e vejam
as diferenças em novas funcionalidades entre a versão que veio
com o XP e a 2007. E quantas destas novas funcionalidades usamos
realmente no nosso dia-a-dia?
A conversa girou sobre estes assuntos e concluímos que
as apps precisam ser realmente
simples. Primeiro porque muitas
têm vida curta. Se olharmos o que
baixamos para nossos smartphones, vemos que usamos no nosso dia-a-dia poucas apps. Como
muitas são gratuitas, fazemos o
download por impulso e as usamos uma ou duas vezes. Depois
as deixamos de lado e às vezes
as desinstalamos. É provavel que
tenhamos umas 60 a 80 apps em
nossos smartphones, mas usamos constantemente apenas uma
meia dúzia. Outra meia dúzia usamos eventualmente e as outras
estão lá porque simplesmente
não as desinstalamos.
Além disso, as telas são pequenas e colocar muita coisa nelas desestimula seu uso. Diferente
do paradigma cliente-servidor,
onde aproveitávamos as telas
grandes do PC para criar uma infinidade de abas e ícones para as
aplicações.
Outro desafio é que a experiência do usuário deve ser bastante similar, qualquer que seja
o hardware que ele usa. Assim o
princípio do menor denominador
comum deve ser aplicado ao projeto de apps. Evitar ou não o uso
de alguma funcionalidade que
apenas um smartphone específico
implementa deve ser bem balanceado pelo projetista.
Enfim, as apps representam
uma nova maneira de ver o desenvolvimento de software. Se
quisermos explorar este potencial para o ambiente corporativo,
devemos ter em mente que elas
terão que observar o princípio da
simplicidade, que para nós, que
paradoxo, é complexo de observar. Os sistemas abrangentes e
integrados estarão na retaguarda, abrindo suas funcionalidades
via arquitetura baseada em serviços (olhem o SOA) e APIs para
explorarmos estes serviços. Mas,
na ponta, as apps, devem ser desenhadas para aproveitar apenas
o essencial de cada serviço. Elas
não devem ser projetadas para
serem novos ERPS, olhando processos integrados, mas devem ser
escritas para criarem uma nova
experiência do usuário para uma
única, simples, mas útil atividade
de negócios.
Cezar Taurion | [email protected] | www.ibm.com/developerworks/blogs/page/ctaurion
Formado em Economia e Ciências da Computação, atualmente gerente de Novas Tecnologias Aplicadas da IBM Brasil.
Também pode ser encontrado no Twitter, em @ctaurion.
/ 62
Download

Tendências em Foco – Como será o futuro da Web móvel