Software Tinn-R desenvolvido na UESC é usado em todo o mundo


Cover the Manual Tinn-R

O software Tinn-R é uma interface gráfica, de código aberto, que auxilia o uso do “R”, desenvolvido na Universidade Estadual de Santa Cruz – UESC, pelo professor/Pós-Doutor em Estatística Computacional, José Cláudio Faria com a parceria do, também, professor/PhD em Estatística, Enio Galinkin Jelihovschi, ambos lotados no Departamento de Ciências Exatas e Tecnológicas (DCET) da Universidade.

O Tinn-R é um editor/processador de texto ASCII (American Standard Code for Information Interchange) genérico para o sistema operacional Windows ou, via virtualizadores, nas outras plataformas, muito bem integrado ao ambiente estatístico e computacional “R” para o qual possui características de Interface Gráfica (GUI) e Ambiente de Desenvolvimento Integrado (IDE).

O projeto registrado sob a Licença Pública Geral GPL já é utilizado em mais de 250 países, mas por se tratar de software livre é impossível conhecer o número exato de usuários do projeto. Contudo, são executados cerca de 200/dia de um dos servidores que possui contagem de dowloads. “Se ele fosse vendido a 10 dólares a unidade, creio que eu já não precisaria lecionar para viver”, brinca o professor Faria.

O “R” é um ambiente computacional projetado para manipulação, análise e visualização gráfica de dados. É usado intensivamente no ensino e na prática da estatística em escala global. O objetivo do projeto Tinn-R é facilitar o aprendizado e o uso do potencial do ambiente estatístico e computacional “R”. Faria diz que “para os usuários iniciantes seu uso pode acelerar consideravelmente a curva de aprendizagem do “R”. Para usuários experientes, fornece recursos avançados de edição (R, Noweb, LaTeX, Txt2tags), processamento, conversão de formatos (Noweb, LaTeX, Txt2tags, Pandoc) e compilação de documentos LaTeX, entre outros formatos. A produtividade dos trabalhos envolvendo textos (scripts, documentação, etc) pode ser consideravelmente aumentada com o uso eficiente dos recursos do Tinn-R.”

-“Em poucas palavras, uma ferramenta “case” (facilitadora) para atividades que envolvem a edição e o processamento de textos: fácil de usar para os usuários inexperientes e muito flexível e versátil para os experientes/avançados. Os mais avançados poderão preferir outros editores mais poderosos e com mais recursos como, por exemplo: Vim + Vim-R-plugin, Emacs + ESS (para ficar entre os mais amplamente usados). Contudo, para ambos, o aprendizado é bem mais árduo.” Explica o prof. Faria.

Principais características: R – reconhece Rgui.exe e Rterm.exe; suporta RNOWEB (Knitr e Sweave); object explorer (interface gráfica para o R com opções de seleção e filtro); várias opções de envio de instruções (arquivo, seleção, blocos, linhas) e controle do interpretador R. Edição: colorimento avançado da sintaxe de várias linguagens; suporte a macros; compleção (baseada em banco de dados XML, expansível e customizável). Processamento: conversão de formatos (Pandoc, Txt2tags e Deplate); correção ortográfica para vários idiomas; busca substituição em arquivos e pastas; gerenciamento de conteúdo e interface para gerenciamento de projetos.

Para o professor Enio Jelihovschi “o Tinn-R é, sem nenhuma dúvida, o mais bem sucedido projeto de interface gráfica para o R para o sistema operacional Windows. Desde seu princípio em 2003, até hoje, mais de 600 mil downloads diretos foram efetuados dos servidores. O Tinn-R é um dos projetos de maior repercussão em nível mundial realizados na UESC.”

– E parafraseando Bill Venables: “Felicito calorosamente José Cláudio Faria e seus colaboradores por esta eficiente e extremamente útil contribuição e sinceramente agradeço a eles pela generosidade em compartilhá-la com todos. Tenho certeza de que toda a comunidade do R calorosamente concorda comigo”. Textualiza o prof. Enio.

A história do Tinn-R

O projeto teve início em meados de 2003, seis meses após o prof. José Cláudio Faria ter conhecido o ambiente “R”. Em agosto de 2003 ele decidiu que adotaria o “R” como principal ferramenta estatística em análises de dados e no ensino da estatística, que eram as suas principais atividades. Os objetivos iniciais do projeto em relação ao “R” eram o desenvolvimento de um Editor/GUI simples e flexível sob o sistema operacional Windows; prover facilidades de uso pelos alunos nos cursos de graduação e pós-graduação em estatística e facilitar suas tarefas relativas à análise de dados no ambiente “R”.

Após ter testado a quase totalidade das GUIs então disponíveis (SciViews, Rcmdr, JGR, entre outras), assim como os editores mais conhecidos que ofereciam recursos para interagir com o “R” (Emacs, Vim, TextPad, Syn, Crimson editor, entre outros), percebeu que não se adaptava bem às GUIs nem aos editores testados. O Emacs + ESS era o mais conhecido, recomendado e usado por usuários experientes. Entretanto, de configuração e uso difícil para o iniciante ou ocasional e a interface não era agradável para quem está acostumado com a rica interface gráfica do sistema operacional Windows.

Como alguns projetos eram incipientes e outros estavam com problemas de continuidade, resolveu que poderia personalizar um editor acrescentando-lhe as funcionalidades que satisfizessem às necessidades. “Como programava há muitos anos em Object Pascal, seria interessante partir de um editor de código aberto (”open source”), escrito nesta linguagem, e adaptá-lo às necessidades,” lembra o prof. Faria.

Seis editores desenvolvidos sob a IDE Delphi da então Borland, atualmente Embarcadero, foram selecionados. Após os testes de performance e estabilidade foram selecionandos o Tinn, em língua inglesa, e o Notes, em português brasileiro, ambos descontinuados em 2005. Entre eles, o Tinn (Tinn Is Not Notepad) apresentou maior simplicidade estrutural, estabilidade e melhor performance o que motivou sua seleção final.

-“Embora os recursos básicos de um editor genérico e simples já tivessem sido implementados, havia muito ainda o que fazer em relação ao editor e na futura GUI. O pequeno grupo de desenvolvedores do Tinn foi comunicado (embora isto não seja uma exigência dos softwares sob a Licença Pública Geral – GPL) da intenção de implementar novos recursos. Trabalhou-se juntos no código fonte do editor Tinn por cerca de cinco a seis meses até que percebeu-se, dado às novas necessidades, que não seria possível mantê-lo genérico, segundo a concepção original do projeto Tinn. Assim a partir de novembro de 2003, teve início um novo projeto Tinn-R.” explica o prof. Faria.

O professor lembra que “em dezembro de 2003 as características básicas que permitiam a comunicação com o ambiente “R” haviam sido implementadas e o programa já era usado por ele para análises. Seria também usado nas aulas de estatística de um curso de mestrado na UESC/PPGPV (ainda em preparação e com início das aulas marcado para março/2004). Em janeiro de 2004 foi enviada uma cópia de apresentação e avaliação para o então coordenador dos projetos GUI da “The Comprehensive R Archive Network – CRAN”, Dr. Philippe Grosjean. O projeto recebeu muitos elogios e uma série de sugestões, tendo sido essas (em grande parte) implementadas em curto prazo. Outras, devido a complexidade, somente a longo prazo.”

Tinn R chega aos usuários

O prof. Faria lembra que na mesma época decidiu-se pela sua disponibilização para os usuários “R” na home page “SciViews-R”, mantida por Dr. Philippe. O nome do projeto “Tinn-R” foi uma das sugestões do Philippe Grosjean. Dessa forma, a primeira versão disponibilizada foi a 0.0.8.8 r1.04 (Jan/2004) e tinha como autores José Cláudio Faria e Marcos de Groot. Devido à colaboração efetiva na definição das características do projeto, ao desenvolvimento de funções no “R” que permitiram uma melhor integração entre os dois programas “R” e Tinn-R, Philippe foi convidado para ser co-autor do projeto. Marcos de Groot, um excelente programador em Object Pascal, como não tinha afinidades com estatística se afastou do projeto em 2006.

Registrado sob a Licença Pública Geral GPL, o projeto ganhou muitos adeptos e incontáveis sugestões passaram a ser enviadas pelos novos usuários. O sucesso do projeto é atribuída à experiência de Philippe no desenvolvimento de GUIs para o R, às suas sugestões, sempre solicitando mais recursos do que estava disposto implementar, assim como a dos usuários, que determinaram efetivamente a direção de seu desenvolvimento, comenta o prof. Faria.

-“O Tinn-R começou a ser usado como editor de Editor/GUI simples, porém eficiente, nas instituições de ensino e pesquisa relacionadas à estatística e ao “R”. Ao longo dos anos buscou-se, dentro do tempo disponível para esta atividade, atender da melhor forma possível a demanda e as sugestões dos usuários, o que talvez seja seu grande diferencial: um programa feito por usuários para usuários.” destaca o professor José Cláudio Faria.

-“No final de 2006, juntou-se ao projeto o professor/PhD em Estatística, Enio Galinkin Jelihovschi, como responsável pela documentação na língua inglesa do projeto. Em 2008 seu  pós-doutoramento (ESALQ/USP, sob a orientação da prof. Clarice G. B. Demétrio) como bolsista do CNPq com o título: TINN-R – GUI/editor para o ambiente computacional e estatístico de código aberto R, teve dois objetivos principais: Aprimoramento e consolidação do programa sob o sistema operacional Windows e o Uso independente do sistema operacional (multiplataforma).”

-“O primeiro objetivo foi cumprido na íntegra. Quanto ao segundo, estudos das principais alternativas (uso da IDE multiplataforma Lazarus e Migração para a plataforma .Net sob MONO) foram desenvolvidos. Após contatos com as equipes desenvolvedoras destes ambientes e ferramentas, assim como a realização de testes preliminares, concluiu-se que, em ambos os casos, seria uma tarefa exaustiva e de resultados finais duvidosos.” lembra o prof. Faria.

-“Gostaria de finalizar reafirmando que o software livre tem alterado substancialmente para melhor nossas vidas. O projeto Tinn-R é nossa pequena contribuição nesse sentido.” conclui o prof. José Cláudio Faria.