Por que o Flash Catalyst?
O Ved (the Screencast Guy) fez um post recentemente que levantou uma discussão interessante sobre o Flash Catalyst. Eu não comentei por lá porque sei que seria um comentário um pouco grande demais e também porque acho que os trackbacks agregam mais valor ao Long Tail que os próprios comentários.
Assim como a opinião de todos, a minha está embasada na experiência particular, na maneira como eu vejo o desenvolvimento de Rich Internet Applications e naquilo que eu projeto para o futuro. E no meu caso o que guia tudo isto são duas coisas: A Concorrência com o Microsoft e O Objetivo por Detrás Destas Iniciativas.
A Concorrência com a Microsoft
Há algum tempo atrás, quando participei da Remix da Microsoft em SP, eu fiz um post onde comentava as primeiras impressões que tive das RIAs da Microsoft. Resumindo o post, eu dizia que as ferramentas da Microsoft já nascem muito mais integradas que as ferramentas da Adobe para o desenvolvimento de Rich Internet Aplications. Enquanto a Adobe ainda fala de kits, a integração na plataforma da Microsoft é transparente. Seguindo esta linha de raciocínio podemos concluir que a Adobe está correndo atrás do tempo para ter as suas ferramentas mais integradas. E se a Adobe está correndo atrás disto é porque reconheceu a vantagem da Microsoft nesta abordagem. Portanto, a pergunta que sobra é: Por que ambas as empresas trabalham para ter ferramentas para Designers que geram código?
O Objetivo por Detrás Destas Iniciativas
Por toda minha apresentação sobre “O Segredo das RIAs de Sucesso” eu falo sobre a importância do Design. Mas se você não viu a apresentação e é um programador as chances são grandes de você estar pensando em Design de uma maneira restrita. Neste documento a própria Adobe comenta que o Design de excelentes RIAs consomem 40% do Budget do projeto. Sabemos que no nosso mercado raramente isto acontecerá. Por isto, torna-se ainda mais latente a necessidade de processos e boas ferramentas de Design para as RIAs.
Mas é aí que alguém pode dizer “Como assim? Existem sim boas ferramentas para os Designers. Tem o Photoshop, tem o Flash, tem o Ilustrator”. Oras, se você vê o Design como algo simplesmente estético tudo bem. Mas, novamente, Design não é só isso. Design tem a ver com encontrar a melhor solução dentro de limites bem estabelecidos. E se você não conhece os limites do seu problema dificilmente você dará a melhor solução. Ferramentas como o Photoshop não deixam claros quais são os limites das RIAs e isso atrapalha e muito o processo.
Hoje no Flex, por exemplo, o Arquiteto de Informação faz o Wireframe, passa para o Designer que faz o Design Gráfico que passa para o Programador que tenta (sim tenta) implementar o que o Designer fez. Existem vários problemas neste processo. Em primeiro lugar o mesmo trabalho é refeito várias vezes. O Designer não aproveita quase nada do Wireframe e o programador não aproveita quase nada do Photoshop. Em segundo lugar você tem uma destas opções:
1. O Arquiteto de Informação e o Designer devem ficar perguntando o tempo todo aos desenvolvedores o que é possível ou não fazer (dentro do prazo)
2. O Arquiteto de Informação e o Designer não perguntam nada e quando chega nas mãos do Desenvolvedor ele terá que mudar muita coisa
3. O Arquiteto de Informação, o Designer e o Desenvolvedor trabalham juntos e o seu budget vai pro saco porque você terá que pagar o valor de 3 profissionais fazendo a mesma tarefa
Mais uma vez repito o que eu disse na minha apresentação: vai chegar uma época em que vamos olhar para o modo como fazíamos RIA e vamos achar este fluxo e este “retrabalho” ridículo. Isto de certa forma evidencia o fato de que o mercado ainda não usa uma boa ferramenta de Design para RIA. Assim como nunca usou uma boa ferramenta de Design para Aplicações Desktop (naquele tempo ninguém falava em Design de Interação, Arquitetura da Informação e Usabilidade). E uma boa ferramenta de Design para RIA deve deixar claro para o Designer quais são os seus limites (Constraints) além de permitir uma melhor integração entre os diferentes membros da equipe.
Eu entendo perfeitamente a preocupação do Ved com a qualidade do código. Mas eu vejo a ferramenta como um facilitador e não a solução do problema. A tecnologia não resolve, ela viabiliza. A ferramenta não dispensa um processo bem definido, mas contribuí no sucesso da aplicação deste processo. Creio que ainda teremos problemas, mas o ponto é se o objetivo final, que é fazer boas RIAs, será mais facilmente atingido com estas ferramentas. Não acredito que a Adobe e a Microsoft buscam ferramentas simples para sair por aí dizendo: “Vejam como é fácil fazer RIA com as minhas tecnologias”. Eles não estão de olho nos “sobrinhos”! Creio que o seu publico alvo são as empresas que sabem fazer RIA, mas que só não conseguem excelentes resultados devido a carência de ferramentas que os libertem de determinados problemas tecnológicos e de processo. Creio que este é o verdadeiro objetivo por detrás destas iniciativas.
Pois bem, mas e se o código ficar realmente ruim? Oras, se isto não comprometer o resultado e, ao contrário, se no final as nossas aplicações forem realmente melhores, sinceramente eu não me importo. Um código bom de uma aplicação ruim não serve pra nada. E quem diz se sua aplicação é boa ou não é o usuário. Sou um programador metido a Designer de Interação mas que acima de tudo gosta de fazer boas aplicações. Aplicações que deixem os usuários felizes. Aplicações que eles usam porque querem e não porque são obrigados. Enfim, se o código ficar ruim mas eu conseguir isto, encontrarei meu conforto no velho ditado popular: “há males que vêm para o bem”.
10 comentários para “Por que o Flash Catalyst?”
Salve Beck! Excelente argumento.
No fundo minha grande preocupação é que o mercado seja invadido por desenvolvedores que não dão o devido valor ao seu know how, duramente adquirido. Infelizmente no Brasil, os clientes em potencial para RIAs correm atrás de preço, não de qualidade. Digo isso por experiencia. Talvez tbem por um pouco de trauma, pois fui muito prejudicado na época em que o desenvolvimento de websites estava bombando (2003-2005).
Como a solução da maioria dos problemas está na educação, penso que uma mobilização das pessoas mais experientes para a orientação dos que ainda não sabem cobrar um valor justo por seu trabalho seja necessária. Desenvolvedores que possuem blogs bem visitados deveriam postar mais a respeito de mercado, seja de trabalho, seja como empreendedor; Já fiz isso algumas vezes em meu blog mas não sei se surtiu o efeito esperado, pois os comentários foram poucos.
E no fundo, foi essa a motivação do meu post sobre o Catalyst, que – coitado – acabou se tornando um bode espiatório na hora de tornar publicas minhas preocupações!
Grande abraço para vc!
Ved
Não vejo a hora de colocar as mãos no Catalyst. Pra quem não sabe, Catalyst ou Catalisador(em português) é aquela substância química que, se adicionada, acelera uma reação entre outras duas substâncias. Faz todo o sentido.
Abs,
Boas Beck.
Gostei do seu ponto de vista, o qual concordo plenamente como disse em comentário no post do ved e disse até um ponto em que você tocou “na mouche”!
Um dos principais objectivos do Catalyst é transformar as RIA’s visualmente agradaveis para o consumidor e principalmente não perder muito tempo com isso.
O catalyst vai explodir (espero) o mercado de RIA’s, não só trazendo mais utilizadores para a framework, vindos do flash, da area de design mas também novos utilizadors.
Eu adoro Design e ambora não tenha muita experiençia facilmente prevejo aplicações rias simplesmente geniais a nivel design criadas de uma forma bem mais simples e sem necessidade de andar a cortar um layout, implementa-lo, ajusta-lo…etc… uma grande perca de tempo.
Como diz, o código até pode ser exagerado, mas não penso em caso algum que seja desnecessário. Se esse código foi gerado dessa forma é porque é a forma mais correcta de o fazer, e a isto já a Adobe nos habitou; Fazer as coisas da forma certa!
Abraço.
Realmente o Beck e o Vedovelli tocaram em dois pontos críticos do desenvolvimento de software: Qualidade do seu Código e Qualidade do seu Software.
Compartilho da opnião que de nada vale um bom código se o resultado final não agradar o usuário. Mas,
Seu usuário precisa de uma aplicação bonita (qualidade do seu software) ou com bom desempenho (qualidade do seu código)?
Seu usuário precisa de uma aplicação agradável (qualidade do seu software) ou confiável (qualidade do seu código)?
Será que uma aplicação com um código ruim consegue unir todas as qualidades acima?
Tenho inúmeras dúvidas quanto à isso.
É claro que a RIA que não seja bonita e agradável para o usuário, talvez também não seja o melhor exemplo de aplicação RIA, talvez até devesse ser reescrita utilizando outra linguagem, alguma que alcance um desempenho melhor, uma robustez maior ou algo assim, se estes forem seus principais objetivos.
Porém, tenho dúvidas se um código ruim consegue agradar o usuário, em qualquer linguagem. Por mais bonita e agradável que seja, o desempenho e a confiabilidade falam mais alto. Nenhum usuário fica contente com uma aplicação lerda ou que o deixe na mão de forma inesperada.
Se o Catalyst permitir a geração de códigos ruins, mas que não interfiram diretamente no desempenho, confiabilidade, manutenção e robustez, eu concordo com o Beck:
Não terei o menor problema em utilizá-lo. O código ruim será a menor das minhas preocupações.
Caso contrário, tenho pena do PROGRAMADOR (eu) que tiver que dar manutenção nisso.
Um abraço!
Grande Pablo,
O ponto aqui é o que estamos considerando código ruim. Se estamos chamando de código ruim um código pouco legível, mas que não prejudique a experiência do usuário (e performance tem um grande impacto na experiência), é possível que isto não seja um problema. Agora, concordo com você que existem determinados códigos ruins que têm impacto perceptível na experiência final e isto deve ser evitado de todas as formas. E se o Catalyst estiver gerando este tipo de código ele não vai servir pra nada. Por isto eu disse no meu post que se o código é ruim mas “se isto não comprometer o resultado” não vejo problema.
Oi Beck,
Concordo com você na grande maioria dos pontos (até hoje não existe o santo graal pra AI e DI), mas vou levantar uma questão, ok?
A equipe de produção poder reutilizar o próprio arquivo gerado pela equipe de design não seria um objetivo somente da perspectiva da produção?
Pergunto isso porque em outras áreas mais “estabelecidas” do design (design gráfico, design de produtos, design de interiores, arquitetura), é normal os deriverables de design (mockups, wireframes, layouts, protótipos) serem usados como um projeto (plano, especificação, modelo, esquema) para produção, e não serem inclusos na produção, entende? Sei que projetos de aplicativos funcionam diferente, mas o design ser definido na própria ferramenta de produção foi o que sempre aconteceu antes dos designers chegarem no mercado de software…
Concordo que o processo de produção seria mais eficiente (mais rápido, mais ágil), mas não sei se a qualidade do design seria melhor. Vamos ver em breve quando sair o Catalyst =)
[]s!
Luciano,
Muito interessante as suas observações. Mas vamos lá:
> o design ser definido na própria ferramenta de produção foi o que sempre aconteceu antes
> dos designers chegarem no mercado de software…
Sim, só que quem fazia o Design eram os próprios desenvolvedores e embora fossem ferramentas de produção não eram propicias para o Design.
Com relação a isto ser diferente em outras áreas tem dois pontos a serem considerados.
1. Em nenhuma outra área se tem tão pouco tempo para produzir algo
2. Em nenhuma outra área é possível possível reaproveitar o protótipo na confecção do produto real
Em informática tudo é bit. Isto deveria tornar as coisas mais fáceis. A questão é se nas outras áreas mais estabelecidas os deriverables são usados apenas como projeto por uma limitação em si ou se este é o caminho natural das coisas independente da possibilidade de poder reaproveitar os artefatos já gerados.
how to assemble 760 pumpmaster
marivel guardia cojiendo
printable ekg ruler
fotos de penelope menchaca desnuds
the inverted bob pictures
coithienthai doc lon nguoi truyen
video desvirgando a niÑas
millbury mall blackstone valley
booty inplants
single side braid pictures
list of nanda diagnosis 2010
centerfire rifle bullet size chart
federal wg wages
kim kardashian xxx stash
papa ne sas ko choda
tiatanic nude fucking scenes
catchy phrases for cleaning service
nicole austin in thong
donks for sale
the donkey shows in mexico
a sentence using suppressed
benny hanas restaurant ny
nikki manaj photo
goku shin butoden sprites
braided weave mohawks hairstyle
recuerdos de migajon comunion
ithaca model 800 shotgun
gander mt coupons
1 2 miniature dach min pin dogs
side view hairdos
abc liqour store jacksonville fl
remington mod m 760 270 pump value
omguil mp3 arabe
adventurequest hacks
paparazzi lyrics a z universe
gangs and signs
l2441 pistons specs
inner forearm tattoo designs
www jaymarckennels com
how to throw up sureno gang signs
cast sign in portal
10 grain tylenol equals
6 3 gangster folk
18 year old sluts getting brutally raped
2000 hd heritage softail wiring harness schemati
bald fade designs
calendario niurcamarcos 2009
17m2 ammo
ammunition comparison chart
94 lexus es300 belt diagram
are ml and cc the same thing
belks griffin ga
anna kournikovanaked
ammo dimension comparison
browning sheave catalog
aki suena la ke buena com
billiard brackets
100 gotti pitbulls in texas
1995 chevrolet corsica timing belt diagram
3 1 litre malibu serpentine belt route

