Just another Creative Developer weblog

From the Blog

May
03
Posted by Bruno Ribeiro at 10:26 pm

Hoje rolou uma discussão muito bacana sobre a posição da Adobe com relação ao desenvolvimento mobile. A tentativa de criar uma Suite integrada com objetivo de tornar possível a publicação de conteúdo impresso, web (desktop) e mobile é muito bacana, mas há questões.

Olhando de longe, codificar uma vez e publicar para n devices é lindo, mas se você olhar mais de perto vai ver que o negócio é bem mais complicado e claro, isso traz outras questões de mercado. Vou tentar sem dar muita volta abordar alguns pontos.

Parte 1 –

Hoje o Android já ultrapassou a popularidade do iOS, no entanto, pro desenvolvedor isso é muito ruim. Não quero defender essa ou aquela plataforma, mas entenda, o Android não tem nenhuma padronização. Cada device tem uma proporção de tela, processamento e afins. Hoje qualquer coisa que tem teclas usa Android (alguém disse isso, desculpa, não sei quem foi).

Mas aí você pergunta, e daí? E eu respondo, você já viu como sofre a galera de mídia?

É ridículo você ter que portar 450 mil vezes o seu código ou interface para a mesma plataforma e é isso que acaba acontecendo, os aparelhos são muito distintos pra rodar a mesma coisa e do mesmo jeito.

No iPhone/iPhone/iPad isso é mais tranquilo.

Parte 2 –

Usar o Flash para autoria de games que rodarão num device pode até funcionar, mas pra um aplicativo… tenho minhas dúvidas. Isso porque a interação não é consistente. É complicado criar elementos que vão funcionar bem em touch. Talvez se a adobe fornecesse algo como os componentes tradicionais do Flash conseguissem melhorar esse ponto.

Ainda que isso fosse resolvido, talvez fosse como o Java que tem uma interface feia e que não parece com Windows nem com Mac. É tipo um filhote de nada com coisa nenhuma.

Parte 3 –

Provavelmente, o tempo que você vai gastar otimizando pra esse e aquele device, você teria feito nativo. Funcionaria melhor, mais fácil e … do jeito que tinha que ser, né?

Parte 4 –

Mobile não é só iOS e Android.

Parte 5 –

Se você quer fazer algo que rode em todos os devices mobile, existe uma tecnologia simples, nova e que é o futuro (estou sendo irônico e sincero ao mesmo tempo) chamado HTML. Use ele direito e pronto, acaba a gambiarra. (by Cassio)

O Java tenta criar algo multiplataforma há anos, e honestamente, não deu lá tão certo assim. Digo isso quando falo em termos de experiência pro usuário. Quando vão parar com isso? (by Lucas)

Você até pode portar o código, mas a experiência, não vai rolar (by Lucas)

nota: Claro que a discussão é maior que isso, mas vai escrever todos os argumentos…

nota 2: Não to pilhando a discussão de Flash x HTML. Continuo gostando de Flash, mas você precisa assumir se gosta do Flash porque é bom ou se é porque você é um preguiçoso que não quer lidar com browsers ou aprender outra linguagem.

nota 3: Não revisei, mas acho que dá pra entender, né?

 

 

Feb
01
Posted by Bruno Ribeiro at 10:30 am

Promote Flash Camp Brazil 2011

Nos dias 8 e 9 de abril acontecerá a 2ª edição do Flash Camp Brasil, que além de reunir alguns dos principais nomes brasileiros do desenvolvimento e criação, trará também referências mundiais na Flash Platform.

O evento contará com 9 palestras e 4 workshops e um fórum aberto a discussões para os mais de 300 congressistas. Este ano serão abordados temas como o futuro do Flash Runtime, desenvolvimento Mobile, desenvolvimento para TVs, design e interações sociais em Mobile Gaming, entre outros.

Um público formado por profissionais e estudantes das mais diversas regiões do país torna o Flash Camp Brasil uma experiência única e oportunidade especial para formação de networking e troca de conhecimento. Lá estarão misturados nomes consagrados como André Matarazzo  (Fundador e CCO da Gringo SP), John Koch (Gerente das Comunidades da Adobe Systems), Alex Karpovich (CEO da AlternativaPlatform), Grant Skinner (Arquiteto chefe e CEO da GSkinner) e muitos outros que representarão empresas como Zynga, Adobe, Gringo, SeagullsFly, DClick e outras.

Como se vê nas entrevistas do vídeo promocional no site do evento, o Flash Camp Brasil 2010 é considerado o melhor Flash Camp que já aconteceu no mundo. Acesse o site e inscreva-se, as vagas são limitadas.

Nos vemos lá.

Jan
11

Nos últimos dias resolvi estudar o desenvolvimento para iPhone, o processo que a princípio assusta um pouco – em especial quando você passou muito tempo trabalhando exclusivamente com uma linguagem – no final se mostra bem tranquilo, claro que você precisa se acostumar com outra sintaxe, semântica e outro fluxo, mas é bem tranquilo.

Pra começar resolvi fazer algo simples, algo que eu já havia feito em ActionScript, então escolhi fazer o índice VDM que eu havia distribuído em AIR há algum tempo. Controles na tela, tudo muito tranquilo no Interface Builder, começava o trabalho de fato.

Tive alguma dificuldade pra entender como conectar os componentes ao meu código, mas depois de algum tempo e de uma ajuda do Lucas, rolou tranquilamente. Em algumas poucas horas, eu tinha meu primeiro aplicativo pra iPhone feito e testado.

Acontece que, como todo desenvolvedor flash, eu tive a curiosidade de testar o meu código original em ActionScript compilado pro iPhone, e foi o que eu fiz. No final cheguei a algumas conclusões e dúvidas que gostaria de dividir.

  1. Sim, seu código vai funcionar. Como não testei nada muito complexo, não tive problemas de processamento ou mémoria, mas imagino que se você não tiver muito cuidado, alguma coisa muito ruim pode acontecer.
  2. Os controles normais do Flash não funcionam bem no iPhone, não se trata deles estarem quebrados, se trata de usabilidade, é extremamente difícil você conseguir selecionar exatamente o que quer usando, por exemplo, componentes do flash. Então, se você quer usar uma combo, lista ou algo assim, pense em usar o HTML ou programar na linguagem nativa.
  3. Você precisará implementar tudo, posicionamento de tela, scroll, gestures… tudo. Sim, fica tudo disponível pela API do aparelho, mas você terá que implementar o uso disso.
  4. Provavelmente você terá algum problema de qualidade de vetores, fontes e bimaps. É preciso cuidado e um milhão de testes.
  5. Uma dúvida que ficou pra mim é, como sinalizo ao Flash, em qual momento ele deve dar dispose em determinados recursos que estou usando.

Claro, como tenho muito mais experiência com o AS3 que com o Ojective-C, o primeiro código saiu muito mais rápido que o segundo, no entanto, volto a afirmar que o melhor a ser feito é aprender a linguagem nativa.

Isso não quer dizer que acho inútil a conversão, pelo contrário, acho que pode ser extremamente útil, por exemplo, para o caso de um game ou algo assim, bem específico e que não depende de controles, interação mais precisa do usuário.

Agora já estou trabalhando num segundo App, e esse sim, deverá ser submetido pra App Store. Aos poucos, conforme for evoluindo na linguagem, vou postando uma coisa ou outra.

Abaixo as telas do aplicativo escrito para iPhone. A versão Flash ficou tão feia que quando tentei subir a imagem o servidor retornou um erro que dizia “imagem feia demais, não é possível realizar o upload”.

*Um agradecimento especial ao Rodrigo Freire, que pra variar deu uma força pra organizar a interface.

Dec
23

Eu não sei se serve pra alguém, mas criei um JSFL para arredondar a posição dos elementos e embedar as fontes nos textfields que (em geral) precisamos.

Como todo mundo sabe, se você mantiver um campo de texto em posição “quebrada”, existe grande chance do texto ficar borrado, então talvez isso ajude.

Eu tenho a impressão de que não é a primeira vez que faço isso e esse código não é nenhuma inovação, mas acho que pode ser útil e em todo caso, segue:

// Created by Bruno Ribeiro
// www.coletivo.as | www.brunoribeiro.net
// ribeiro@coletivo.as

var lib = fl.getDocumentDOM().library;
var items = lib.items;
var item;

for(var i = 0; i < items.length; i++)
{
item = items[i];
alert(item.itemType);
if (item.itemType == ‘movie clip’)
{
lib.selectItem(item);
lib.editItem();

var timeline = item.timeline;
for(var j = 0; j < timeline.layerCount; j++)
{
for(var k = 0; k < timeline.layers[j].frameCount; k++)
{
var elements = timeline.layers[j].frames[k].elements;
for(var m = 0; m < elements.length; m++)
{
if(elements[m].elementType == “text” && (elements[m].textType == “dynamic” || elements[m].textType == “input”))
{
elements[m].selectable = false;
elements[m].embedRanges = “1|2|3|4″; // uppercase & lowercase & numerals & ponctuation & basic latin
elements[m].embeddedCharacters=’ºª¹²³£¢¬°§çàáâãèéêìíîòóôõùúûüÀÁÇÂÃÈÉÊÌÍÎÒÓÔÕÙÚÛÜñÑ’;
}

// always rounds the element’s position
elements[m].x = parseInt(elements[m].x);
elements[m].y = parseInt(elements[m].y);
}
}
}
}
}

 

 

Nov
19
Posted by Bruno Ribeiro at 9:01 pm

Durante muito tempo eu acreditei que o processo na maior parte das agências era ruim, e que isso impedia que o resultado final fosse bom. Nos últimos meses, vivendo outras coisas e observando com mais cuidado, pude reparar que eu estava absolutamente enganado.

Mesmo sob uma enorme pressão ou sob a confusão de um processo falho e que pode se virar contra você a qualquer momento , é possível obter um grande resultado – com mais ou menos esforço. Claro que um processo redondo, facilita a vida de todo mundo, mas em meio ao caos, pode haver alguma ordem, e nesse caso, o que ajudaria muito, seria alguém para tornar mais clara essa ordem.

Programadores, em especial front, sempre tem problemas com diretores de arte, que sempre tem problemas com o atendimento, que sempre tem problemas de conexão que impedem que este profissional veja seu orkut.

Se todos fazem o seu melhor, ou melhor, se todos fazem além do seu dever, o resultado tende a superar a média. E quando digo, “fazer além do seu dever” me refiro a cuidar do processo como um todo, olhar a criação, comentar, trocar idéias, observar o motion, criticar – sem mesquinharia ou apego idiota- é focar no bem comum.

A má escolha de um dev, D.A ou motion traz enorme influência para a qualidade do trabalho, mas existe um profissional que é o pai disso tudo, a figura mais importante: o gerente de projetos.

Você pode estar se perguntando: “Mas esse filho duma *@#& nem toca na produção, como ele poderia ser importante?”.

A resposta é simples, é ele quem garante a blindagem da equipe para que tenham recursos e calma suficiente para fazer seu trabalho da melhor forma possível. Também é seu papel facilitar os acordos necessários para que no final todos se sintam “pai e mãe” do job. É preciso que esta personagem tenha a clareza de seu papel, de sua função, e principalmente, que não gere a clássica pergunta “Afinal, você tá do lado de quem?”.

Ser gerente de projetos não é encostar do lado de alguém e questionar, “e aí, vai dar tempo?”. É ser camarada, parceiro, é se interessar, acompanhar, participar, questionar e ajudar, mesmo sem saber exatamente como.

Ser gerente de projetos é nunca jogar sua equipe no fogo, para se salvar ou simplesmente assumir um compromisso sem saber da viabilidade porque “ouviu dizer” que a tarefa é simples.

Sep
17
Posted by Bruno Ribeiro at 11:29 pm

Sim, é novidade, mas tem quem saiba (alguém se importa?), estou mudando de Estado e voltando a trabalhar dentro de uma agência.

Uma das inúmeras coisas que me perguntaram – e a única que faz sentido explicar aqui – é sobre o Coletivo.as, como fica? Ele morreu? E a resposta é simples: Não, o Coletivo não morreu!

O Coletivo - como já expliquei algumas vezes – é apenas um grupo de desenvolvedores, em sua maioria freelancers, que trabalham em conjunto, de maneira colaborativa. Quando um ganha, mesmo que seja fora dele, todo mundo ganha, direta ou indiretamente, seja em grana ou em conhecimento.

Nesse esquema aprendi que é melhor perder junto que ganhar sozinho. É um período de mudanças e sem algumas pessoas, em especial o Pedro Taranto, seria foda difícil saber como lidar com a mudança profissional. O Coletivo não trata só de trabalho, é conhecimento compartilhado, amizade de verdade que se demonstra na hora em que dá merda… é na hora da tristeza estar lá, mas na hora da alegria, celebrar junto.

Em resumo, o Coletivo.as continua, afinal, é um estado de espírito e, como todos sabem, desde 2005 que vou parar de fazer freela só no mês que vem.

Quanto a mim? Eu vou trabalhar… aprender e tentar superar a expectativa que eu criei e que certamente outros tem de toda essa mudança.

Por fim: http://coletivo.as/respostas/#/7

Jul
22
Posted by Bruno Ribeiro at 6:26 pm

Logo BR Conference

Acontecerá nos dias 19, 20 e 21 de Agosto, no Rio de Janeiro a primeira conferência focada no desenvolvimento de Aplicativos Ricos. No evento serão abordados temas relacionados ao ColdFusion, Flex, Flash e mais.

Alguns nomes de peso já confirmaram presença como Ben Forta – maior autoridade do ColdFusion no mundo, e diga-se de passagem, um showman. Alguns dos principais nomes do mercado nacional também já confirmaram sua presença.

Para mais informações e inscrições, visite o site.

—————————–

Durante muitos anos observei – e participei ativamente – as oportunidades e reclamações da comunidade, em especial enquanto liderava o user group da Adobe no Rio de Janeiro, inúmeras vezes vi pessoas reclamando que não havia eventos com grandes nomes, assuntos importantes ou discussões com maior profundidade técnica.

Eis que agora surge, aqui no Rio, um evento deste porte e com tantas figuras importantes, trazer estas pessoas tem um custo (que fique claro, não faço parte da organização deste evento), e certamente também traz um retorno enorme. Então, se você tem a possibilidade de estar presente, recomendo que esteja!

Não importa o seu nível, se é muito básico, você vai ter a oportunidade de aprender, se é muito avançado, vai ter a chance de ensinar e para todos é uma oportunidade única de aumentar sua rede de contatos.

Então, nos vemos lá!

Jul
20
Posted by Bruno Ribeiro at 12:11 pm

A Jornada Adobe CS5 não terminou, vai até o dia 31/07, mas a minha participação foi concluída. Tive o prazer de ministrar os treinamento Flash CS5 básico e avançado e foi ótimo.

A Jornada Adobe é uma iniciativa da Action Creations do Demian Borba, e entre outras coisas, organizaram o Flash Camp Brasil que aconteceu em janeiro deste ano em Maceió.

Os alunos foram extremamente aplicados apesar da maratona de 10h de treinamento por dia. Nessa viagem encontrei talentos e conheci pessoas ótimas.

Agradeço ao Demian pela oportunidade, Derick pela recepção e hospitalidade e Rita pelo cuidado, e claro, aos alunos pela paciência, colaboração e esforço, espero que todos saiam com a mesma sensação que eu, a de que valeu muito a pena.

Turma Flash Avançado

Conheça a Jornada Adobe.