Anime Timeline

Anime Timeline

Há uns tempos atrás decidi colocar-me a brincar um pouco com o editor de imagem, depois com o editor de texto e ficheiros html/css e no fim javascript e php para uns últimos pozinhos resultando num pequeno website onde listo as séries de cada temporada de animação japonesa, uma timeline de animes. Dava jeito por motivos que na altura citei e deu também para dar um pouco de liberdade à minha criatividade no que toca ao “design de sítios web”.

Pois bem a verdade é que a brincar a brincar e sem grandes tentativas de promoção a coisa até pegou e transformou-se na 2ª/3ª pagina mais visitada do meu site com a grande generalidade das visitas a virem de pesquisas do google por isso achei que era boa ideia polir um pouco as arestas ao bicho e é disso mesmo que venho aqui falar hoje.

Ora as mudanças que implementei nas ultimas semanas foram muitas e passaram desde o banal de colocar o sistema a funcionar aceitavelmente em Opera e IE9 até a coisas mais engraçadas como utilizar as APIs LocalStorage para permitir aos utilizadores guardarem uma lista das séries que acham interessantes (isto com o auxilio da biblioteca jstorage). Pelo caminho dei-me ao trabalho de tornar o código mais robusto com mensagens de erro apropriadas em vez de paginas em branco sempre que eu me engano algures na introdução dos dados e links para outros sites como a Wikipedia ou a AniDB (ou pelo menos vão estar quando eu tiver tempo para os adicionar a todas as entradas).

Anime Timeline - Página de Erros

Pelo caminho implementei também links para partilhar as entradas no facebook ou twitter e activei no servidor inteiro a compressão das respostas aos pedidos HTTP que já tardava em ser activada (obrigadão por me lembrares Mike!). Durante a implementação dos links de partilha para o facebook redesenhei também o menu de opções de cada entrada para ocupar menos espaço e portei do TV Wall o sistema de popups de notificação javascript mais para uso futuro do que outra coisa.

Notem também que do lado de servidor até agora só tenho mesmo guardados os dados das séries e nada mais, tudo o resto é feito do lado do cliente.

Para o futuro tenho ainda mais algumas coisas importantes a implementar como por exemplo o desenvolvimento de um painel de administração onde eu possa acrescentar e editar informações das séries em vez do pequeno script de linha de comandos actual, tornar a pagina mais leve a carregar trocando a forma como são carregados os fundos das entradas e passar a utilizar a History API do HTML5 para ter URLs mais significativos em vez de usar a hash de localização.

Mas mais importante do que tudo isto são duas outras funcionalidades que quero também implementar: uma forma de guardar no servidor a lista de séries marcadas como interessantes usando o login do facebook (já que me dei ao trabalho de pedir uma chave de API) e uma forma de os visitantes ao site sugerirem alterações e adições aos dados através de um pequeno formulário. Pelo caminho e para implementar estas duas funcionalidades estou a pensar seriamente portar o código de PHP para Node.JS e usar CouchDB como data storage pois pelo menos esta ultima parece ser uma opção apropriada para algo tão simples como este site.

E é tudo. Estou aberto a criticas, duvidas e sugestões nos comentários e espero que desfrutem desta minha pequena ferramenta tanto quanto eu desfrutei de construí-la.

LINK: Anime Timeline

EDIT: Dei mais uns toques na configuração do servidor e agora deve tudo estar mais rapido não só no anime timeline como no próprio blog. O que fiz foi adicionar headers de cache correctos à maioria dos conteúdos estáticos (imagens, css, javascript) para deixar os browsers guardarem localmente os ficheiros quando estes não foram alterados.