<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>codificando.com &#187; pensamentos</title>
	<atom:link href="http://codificando.com/category/pensamentos/feed/" rel="self" type="application/rss+xml" />
	<link>http://codificando.com</link>
	<description>Desenvolvimento de Software com qualidade</description>
	<lastBuildDate>Tue, 31 Jan 2012 09:49:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Experiência do Usuário sob a ótica do usuário</title>
		<link>http://codificando.com/2011/04/experincia-usurio-sob-tica-usurio/</link>
		<comments>http://codificando.com/2011/04/experincia-usurio-sob-tica-usurio/#comments</comments>
		<pubDate>Tue, 19 Apr 2011 18:40:10 +0000</pubDate>
		<dc:creator>Emerson Macedo</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[pensamentos]]></category>
		<category><![CDATA[pragmatic]]></category>
		<category><![CDATA[reflexao]]></category>
		<category><![CDATA[experiencias]]></category>
		<category><![CDATA[ux]]></category>

		<guid isPermaLink="false">http://codificando.com/?p=843</guid>
		<description><![CDATA[Na última semana, estive passeando de férias em Natal/RN. Foi uma semana de muita diversão. Apesar disso, vivi algumas situações que me fizeram refletir sobre a experiência do usuário, mas não somente focado na nossa área de TI, mas num &#8230; <a href="http://codificando.com/2011/04/experincia-usurio-sob-tica-usurio/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Na última semana, estive passeando de férias em Natal/RN. Foi uma semana de muita diversão. Apesar disso, vivi algumas situações que me fizeram refletir sobre a experiência do usuário, mas não somente focado na nossa área de TI, mas num âmbito geral, atuando como o próprio usuário/cliente.</p>
<p>Em um dos dias do passeio, resolvi jantar com a minha esposa e um casal de amigos numa pizzaria famosa da região. A pizzaria era bem indicada, tem um website bem legal e tudo que tem direito. Com uma estrutura linda, uma faixada de dar inveja, toda em madeira, com um lugar bem estilizado e com direito a música ao vivo. Para minha surpresa, a pizza não era a das melhores. Eu até sai satisfeito, mas a minha esposa não gostou e acabou nem comendo tudo. De fato a pizza não era tão boa.</p>
<p>No dia seguinte, saímos novamente para comer a noite, mas dessa vez tinha que ser algo rápido, pois era necessário dormir cedo devido ao voo ser as 5 da manhã do dia seguinte. Perguntamos ao recepcionista da pousada se havia algum lugar por perto onde tinha lanche e ele nos indicou comer uma Pizza (novamente ?!?) ali bem próximo, no quarteirão seguinte. Ele também disse que os donos da pousada eram frequentadores. Depois que ele nos explicou onde ficava a pizzaria, saímos a pé mesmo pois era muito perto. Chegando em frente ao local, percebemos ser um lugar bem simples, ao ponto de nos fazer pensar se era aquele realmente o lugar que os donos da pousada frequentavam. Para ter uma idéia, nem lembro de como era a fachada/letreiro/etc. O recepcionista do hotel havia dito que esse lugar servia apenas pizzas individuais (um pouco maior que uma pizza brotinho) e confirmamos isso, tenho assim certeza que estávamos no lugar certo. Olhei o cardápio e vi que tudo era bem barato. Fizemos o pedido e aguardamos. A pizza era simplesmente muito gostosa. Muito mesmo. Em poucos lugares eu comi uma pizza tão gostosa por um preço tão barato. E olha que não é questão de custo/benefício. Se a pizza fosse mais cara que na outra pizzaria eu pagaria certamente, mesmo sendo uma pizza menor. Saímos dali muito satisfeitos e entendi o motivo que fazia os donos da pousada frequentarem aquele local. Por sinal, nem lembro o nome do lugar, mas lembro exatamente onde fica e se eu voltar algum dia a Natal certamente irei nessa pizzaria. E o que raios essa pizza tem a ver com experiência do usuário?</p>
<p>Essa minha passagem pelas pizzarias não foi premeditada, simplesmente aconteceu. Como cliente (ou usuário se você preferir), fiquei mais satisfeito com a pizzaria mais simples do que com a pizzaria mais bonita, requintada, que tinha website e tudo mais. E por que eu gostei da mais simples? Será que é por que eu não gosto de coisas requintadas? Claro que não. Eu gostei do lugar simples porque eles me serviram uma pizza melhor. O mais importante de uma pizzaria é a pizza ser gostosa ora bolas. Não adianta ter uma cadeira linda, usar um iPad pra fazer pedidos, guardanapo imperial e talher de outro se a pizza não for saborosa. É simples assim. E o que isso tem a ver com a nossa área?</p>
<p>Vamos pensar nas aplicações que fazemos no dia a dia. O Youtube, por exemplo, tem um site bem simples. Não considero o site deles uma obra de arte, muito pelo contrário. O player de vídeos deles provavelmente é um dos mais simples e feios que existem na web. Então por que será que ele é um produto de sucesso? Simples: o youtube da muita importância para o que tem realmente valor para o usuário do site deles, que é ver e compartilhar vídeos. É muito simples enviar um vídeo e mais simples ainda ver videos. Qualquer leigo consegue fazer isso. O player de vídeos deles funciona perfeitamente bem, apesar de não ter uma aparência linda. E o usuário se importa com essa aparência não muito bonita? Alguma vez você pensou em deixar de acessar o Youtube porque o site não é lá tão bonito? Acredito que não. Eu poderia citar diversos exemplos de produtos de sucesso que são extremamente simples e as vezes feios mas que são sucesso exatamente por focarem na necessidade do usuário, mas nem preciso citar porque acho que já deu pra entender onde eu quero chegar.</p>
<p>Parece chover no molhado, mas é impressionante o número de vezes que me pego discutindo ou observando discussões sobre se um site/aplicação precisa de borda arredondada, gradiente, se o cinza está um pouco mais claro ou escuro, ou se o botão está 1 píxel pra direita ou pra baixo, quando por vezes o que tem mais valor para o usuário nem está ótimo ainda. Não que esses detalhes não tenham importância, muito pelo contrário. O ponto aqui é que o foco deve estar primeiro no core business e depois nos acessórios. É o exemplo da pizzaria. Me lixei pra decoração linda, música ao vivo e requinte da primeira pizzaria, pois a pizza não era tão boa (se fosse certamente eu voltaria). Ao meu ver eles se preocuparam demais com coisas secundárias e esqueceram de contratar ótimos pizzaiolos. Certamente me lembrarei muito mais da segunda pizzaria, que era um lugar bem mais simples mas tinha uma deliciosa pizza.</p>
<p>Pra finalizar, pense um pouco sobre os motivos que fazem do iPhone um produto de sucesso. Provavelmente você perceberá que um dos menos relevantes é a sua beleza.
<p><font color="#B4B4B4" size="-2">Post Footer automatically generated by <a href="http://www.freetimefoto.com/add_post_footer_plugin_wordpress" style="color: #B4B4B4; text-decoration:underline;">Add Post Footer Plugin</a> for wordpress.</font></p>
]]></content:encoded>
			<wfw:commentRss>http://codificando.com/2011/04/experincia-usurio-sob-tica-usurio/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Últimas de 2010 sobre Node.JS</title>
		<link>http://codificando.com/2010/12/ultimas-de-2010-sobre-nodejs/</link>
		<comments>http://codificando.com/2010/12/ultimas-de-2010-sobre-nodejs/#comments</comments>
		<pubDate>Fri, 31 Dec 2010 16:28:42 +0000</pubDate>
		<dc:creator>Emerson Macedo</dc:creator>
				<category><![CDATA[nodejs]]></category>
		<category><![CDATA[pensamentos]]></category>
		<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[acontecimentos]]></category>
		<category><![CDATA[retrospectiva]]></category>

		<guid isPermaLink="false">http://codificando.com/?p=728</guid>
		<description><![CDATA[O ano de 2010 vai terminando. Esse foi um ano onde o Node.JS começou a ganhar um forte hype. Muitos frameworks surgindo, muita gente blogando sobre o assunto. Palestras, eventos e outras coisas mais. Depois de um tempo sem blogar &#8230; <a href="http://codificando.com/2010/12/ultimas-de-2010-sobre-nodejs/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>O ano de 2010 vai terminando. Esse foi um ano onde o <a href="http://nodejs.org/">Node.JS</a> começou a ganhar um forte hype. Muitos frameworks surgindo, muita gente blogando sobre o assunto. Palestras, eventos e outras coisas mais. Depois de um tempo sem blogar sobre Node (eu sou empregado em tempo integral e no dia a dia trabalho com outras tecnologias), vou tentar fazer um resumo do que eu tenho acompanhado nesses últimos meses.</p>
<h2>JSConf.eu</h2>
<p>O tradicional evento Europeu de Javascript contou com <a href="http://jsconf.eu/2010/speakers.html">diversas apresentações sobre Node.JS</a>. Muitos devs criando coisas legais e apresentando nesse evento. Foi bem diferente do <a href="http://jsconf.us/2010/schedule.html">JSConf.us</a> desse mesmo ano, que sobre <a href="http://nodejs.org/">Node.JS</a> só teve mesmo a palestra do <a href="http://twitter.com/ryah">Ryan Dahl</a>, o autor da ferramenta.</p>
<h2>Node.js Camp</h2>
<p>Agora em Dezembro aconteceu o que podemos chamar de o <a href="http://camp.nodejs.org/">primeiro evento somente sobre Node.JS</a>, promovido e patrocidado pela <a href="http://www.joyent.com/">Joyent</a>, que é a empresa que mais tem investido na tecnologia, <a href="http://joyeur.com/2010/11/09/a-new-abode-for-node/">inclusive tendo contratando recentemente o Ryan Dahl</a>.</p>
<p>Nesse evento tivemos <a href="http://camp.nodejs.org/agenda.html">diversas palestras</a> dos desenvolvedores das principais ferramentas associadas ao Node, como <a href="http://socket.io">Socket.io</a>, <a href="https://github.com/isaacs/npm">NPM</a>, entre outros. Eu queria muito ter ido a esse evento, mas infelizmente isso não era uma opção, pois <a href="http://codificando.com/2010/12/os-desafios-novo-player-de-vdeos-da-globocom/">tinha compromissos no meu trabalho</a>.</p>
<h2>Ecossistema</h2>
<p>No segundo semestre deste ano, aconteceu uma explosão de bibliotecas para Node.JS. Hoje em dia existe biblioteca para fazer praticamente qualquer coisa que fazemos com outras tecnologias web, desde action frameworks, acesso a bancos relacionais e NoSQL até frameworks de testes automatizados e test doubles. Vale a pena uma conferida nas principais bibliotecas, acessando <a href="https://github.com/ry/node/wiki/modules">a página de módulos do projeto</a>.</p>
<p>No github, <a href="https://github.com/languages">Javascript empatou com Ruby como linguagem mais utilizada</a>, graças a explosão de repositórios node-* ou *.js, bastando uma busca rápida para perceber o quanto esses repositórios tem alavancado Javascript.</p>
<p>O site <a href="http://howtonode.org">howtonode.org</a> vem ganhando bastante destaque pelo seu ótimo conteúdo de diversos autores, se tornando referência internacional no assunto.</p>
<h2>Hosting</h2>
<p>A <a href="http://www.joyent.com/">Joyent</a> abriu bem mais slots para sua hospedagem beta, oferecida no site <a href="https://no.de/">no.de</a> (vale um post em separado só sobre eles). Basicamente você precisa de um token, o qual você solicita e depois recebe o alerta por email de que o token já está disponível. Tenho usado essa hospedagem gratuita pra fazer alguns testes e tenho gostado bastante. É possível atualizar a versão do Node, fazer restart do serviço, olhar os logs tranquilamente e instalar pacotes livremente. Só não sei se colocaria alguma coisas séria nele nesse momento, pois ainda está muito no começo. Por enquanto deixo para testes e brincadeiras.</p>
<p>Mais recentemente, <a href="http://www.nodejitsu.com/">a NodeJitsu começou a oferecer também como beta uma hospedagem</a>, mas essa até agora não consegui o invite <img src='http://codificando.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> , apensar de volta e meia eu colocar meu email lá, na expectativa de conseguir. É mais recente que o <a href="https://no.de/">no.de</a>, mas parece que vai ser tão interessante quanto, pois também tem um fluxo baseado no git.</p>
<p>O <a href="http://blog.heroku.com/archives/2010/9/20/an_update_on_heroku_node_js_support/">Heroku fechou temporáriamente o suporte a Node para novos usuários</a>. Basicamente eles estão fazendo algumas mudanças e devem abrir novamente agora no início de 2011. Baseado no excelente trabalho que eles tem feito com Ruby, tenho certeza que vão mandar muito bem com Node, mas até que isso aconteça, o Heroku não é uma opção.</p>
<h2>Destaques</h2>
<p>Dentre vários acontecimentos e lançamentos, alguns merecem um destaque maior. Vamos a eles:</p>
<p>A <a href="http://www.cloud9ide.com/">IDE Cloud9</a> é um projeto muito interessante da <a href="http://ajax.org">ajax.org</a> para provar o conceito de IDEs no browser. Antes de testar o projeto achei que ia ser mais uma toscaria que já ví muita gente tentando por ai. Pra minha surpresa foi exatamente o contrário. A responsividade quando você está editando o código é muito boa, e apesar de algumas poucas vezes bugar, está extremamente aceitável para um projeto que ainda está começando. Esse projeto foi lançado na JSConf.eu, a qual mencionei no início do post e tem um <a href="http://cloud9ide.posterous.com/30489348">vídeo disponível da apresentação</a>.</p>
<p>Outro destaque interessante, mas um pouco mais simples é o <a href="http://jsapp.us/">JsApp.US</a>, um serviço onde você pode criar uma aplicação inteira usando apenas a página deles, de forma online. Dá pra testar o arquivo isoladamente na hora ou fazer deploy direto num subdomínio. Achei um pouco estranho desenvolver assim, mas é muito interessante, pois além do editor de código online, existe uma espécie de shell no final que te permite executar comandos do tipo salve, deploy, open, entre outros. Tem um autocomplete inclusive. Em fim, apesar de ser um paradigma diferente eu acabei gostando bastante. A diferença dele para o <a href="http://www.cloud9ide.com/">Cloud9</a> é que a <a href="http://www.cloud9ide.com/">IDE Cloud9</a> por enquanto você instala na sua máquina e esse já um <a href="http://en.wikipedia.org/wiki/Software_as_a_service">SaaS (Software as a Service)</a>, com editor e hospedagem juntos. O melhor de tudo é que o serviço é gratuito.</p>
<p><a href="http://rocketpack.fi/engine/">Rocket Pack Game Engine</a> é uma engine experimental para jogos multiplayer. Falei um pouco sobre essa engine no <a href="http://www.slideshare.net/emerleite/devinrio-2010-nodejs">DevInRio 2010</a> e na <a href="http://www.slideshare.net/emerleite/beyond-ruby-with-nodejs-rubyconf-brasil-2010">RubyConf Brasil 2010</a>. Muitos desenvolvedores e empresas estão enxergando Node.JS como uma ótima plataforma para construir servidores para esse fim.</p>
<p>Um destaque não menos importante foi o <a href="http://sodajs.com/">Soda</a>, da <a href="http://blog.learnboost.com/">LearnBoost</a>, uma das primeiras a postar conteúdo sobre Node.JS. Basicamente é um adapter para usar o Selenium. Em parceria com a <a href="https://saucelabs.com/">SauceLabs</a>, existe <a href="http://saucelabs.com/docs/sauce-ondemand/basic-example-js">um serviço para testes</a> usando uma estrutura cloud.</p>
<p>Outro grande destaque desse fim de ano foram os 2 projetos relacionados ao <a href="http://dev.w3.org/html5/canvas-api/canvas-2d-api.html">Canvas 2D</a>, um da <a href="http://blog.learnboost.com/">LearnBoost</a> e outro da <a href="http://ajax.org">ajax.org</a>. Acabam sendo concorrentes uma da outra, mas espero que aconteça um merge em breve. Vale a pena conferir <a href="http://ajaxorg.posterous.com/canvas-api-for-nodejs">o da ajax.org</a> e <a href="http://blog.learnboost.com/blog/introducing-node-canvas-server-side-html5-canvas-api/">o da LearnBoost</a>.</p>
<p>Uma das aplicações mais fantásticas que vi feitas em Node.JS até hoje foi o <a href="http://transloadit.com/">Transloadit</a>, um <a href="http://en.wikipedia.org/wiki/Software_as_a_service">SaaS</a> para upload de fotos e vídeos, que oferece Crop/Resize, Video Encoding, Thumbnail extraction e integração com o S3. Esse serviço merece um post separado, mas basicamente você consegue definir um fluxo básico montando um JSON para definir os passos para o processamento do arquivo recebido pela ferramenta de upload. Eles chamam esse processo de Assembly (isso lembra alguma coisa?). Uma degustada na <a href="http://transloadit.com/docs/assemblies">documentação dessa parte</a> é bem interessante.</p>
<h2>Pra fechar</h2>
<p>Pra fechar bem o ano temos a <a href="http://www.infoq.com/interviews/node-ryan-dahl">entrevista de Ryan Dahl no InfoQ</a> e o <a href="http://groups.google.com/group/nodejs/browse_thread/thread/b1e7196eb6e4a990?pli=1">release 0.2.6</a> lançado hoje, 31/12/2010.
<p><font color="#B4B4B4" size="-2">Post Footer automatically generated by <a href="http://www.freetimefoto.com/add_post_footer_plugin_wordpress" style="color: #B4B4B4; text-decoration:underline;">Add Post Footer Plugin</a> for wordpress.</font></p>
]]></content:encoded>
			<wfw:commentRss>http://codificando.com/2010/12/ultimas-de-2010-sobre-nodejs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Os desafios do Novo Player de Vídeos da Globo.com</title>
		<link>http://codificando.com/2010/12/os-desafios-novo-player-de-vdeos-da-globocom/</link>
		<comments>http://codificando.com/2010/12/os-desafios-novo-player-de-vdeos-da-globocom/#comments</comments>
		<pubDate>Wed, 08 Dec 2010 02:14:44 +0000</pubDate>
		<dc:creator>Emerson Macedo</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[engenharia]]></category>
		<category><![CDATA[gestão]]></category>
		<category><![CDATA[infra]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[pensamentos]]></category>
		<category><![CDATA[testes]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://codificando.com/?p=698</guid>
		<description><![CDATA[Faz aproximadamente 4 meses que mudei para a equipe de Webmedia da globo.com. Nessa ida, eu esperava alguns desafios um pouco diferentes, o que acabou acontecendo logo no começo. Indo direto ao ponto, meu primeiro projeto importante foi desenvolver junto com &#8230; <a href="http://codificando.com/2010/12/os-desafios-novo-player-de-vdeos-da-globocom/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Faz aproximadamente 4 meses que mudei para a equipe de <a href="http://video.globo.com/">Webmedia</a> da <a href="http://globo.com">globo.com</a>. Nessa ida, eu esperava alguns desafios um pouco diferentes, o que acabou acontecendo logo no começo.</p>
<p><a href="http://codificando.com/wp-content/uploads/2010/12/player_globo.jpg"><img class="size-full wp-image-701" title="Novo Player Globo.com" src="http://codificando.com/wp-content/uploads/2010/12/player_globo.jpg" alt="Novo Player Globo.com" width="638" height="359" /></a></p>
<p>Indo direto ao ponto, meu primeiro projeto importante foi desenvolver junto com meu time um novo player de vídeos para a <a href="http://globo.com">globo.com</a>, o qual chamamos de Player 2.0. Pra mim isso era algo totalmente novo, pois <a href="http://codificando.com/2009/02/bbb9-e-o-brother-que-voce-nao-gosta-no-ar/" target="_blank">meu contato com desenvolvimento Flash/ActionScript havia sido muito pouco, num projeto no início de 2009</a>. Como a maioria já sabe, o desenvolvimento de um Player de Vídeos hoje em dia precisa necessariamente ser feito em flash, pois é o runtime que tem o maior alcance de usuários. A parte de vídeos do <a href="http://www.w3.org/TR/html5/">html5</a> ainda tem diversas lacunas a serem preenchidas e é necessário ainda um bom tempo para que a &#8220;massa&#8221; de usuários tenham seus browsers atualizados com suporte a essa tecnologia.</p>
<p>Nesse desenvolvimento do Player, pude perceber juntamente com meu time que desenvolver na <a href="http://www.adobe.com/flashplatform/">plataforma do Flash</a> já é o um grande desafio, pois a plataforma e o runtime tem alguns detalhes que você precisa entender e saber lidar, caso contrário você vai ter muita dor de cabeça.</p>
<h2>Runtime e Sistema Operacional</h2>
<p>Quando você desenvolve alguma coisa em Flash, especialmente um Player de Vídeos, um ponto onde é preciso tomar bastante cuidade é com o <a href="http://en.wikipedia.org/wiki/Adobe_Flash_Player">Runtime do Flash (vulgo Flash Player)</a>. O Runtime pode ter comportamentos diferentes em diferentes versões do próprio runtime e também do sistema operacional. Por algumas vezes nós passamos por situações onde percebemos que o Player não estava funcionando em uma versão específica do Runtime no Internet Explorer 6 no Windows XP. Isso causou uma certa correria, mas felizmente conseguimos resolver o problema antes de colocar no ar e não houve impacto.</p>
<p>Lições aprendidas e tivemos tomar algumas medidas, entre elas testar em Linux, Windows e Mac e nos principais browsers e Runtimes do Flash como parte do nosso Definition of Done (DoD). Na prática, hoje uma estória não é dada como pronta se não tivermos certeza que o que foi feito funciona nos diversos environments pré estabelecidos. No início isso era parte do DoD do Sprint, mas após passarmos por uma situação, onde achamos um problema no IE6 (pra variar) bem no último dia do sprint, e que iria colocar todo esse Sprint por água abaixo, movemos esse item do DoD do Sprint para o DoD das estórias. Acabamos resolvendo o problema sem impactar no sprint, mas o desfecho poderia ter sido outro.</p>
<h2>Testes Automatizados</h2>
<p>Nos tempos atuais, é quase unânime a importância de testes automatizados no desenvolvimento de software. Todo programador deveria saber os princípios de testes automatizados e aplicá-los no seu dia a dia. Infelizmente, existem alguns environments que não facilitam muito esse tipo de prática. Nesses casos, é necessário lidar com o problema de maneira pragmática, caso contrário as coisas não andam. Diferentemente de outras tecnologias, neste caso não podemos escolher alguma opção diferente, pois a opção é uma só (o Flash).</p>
<p>No desenvolvimento do Player, nós usamos o <a href="http://flexunit.org/">FlexUnit</a> como ferramenta principal de testes automatizados. Dentro do que ele se propõe, faz seu trabalho bem feito, e facilita bastante os testes. Tem suporte a <a href="http://docs.flexunit.org/index.php?title=Writing_an_AsyncTest">testes assíncronos</a>, e sua <a href="http://docs.flexunit.org/">documentação explica bem as principais funcionalidades</a>.</p>
<p>Uma coisa que tem nos atrapalhado bastante são os frameworks de <a href="http://xunitpatterns.com/Test%20Double.html">test doubles</a>. Nenhum dos frameworks que testamos funcionou no nosso ambiente. Aqui, algo que percebemos no densenvolvimento para Flash foi que cada tutorial na internet pode funcionar numa minor/revision version do runtime e na outra aquele tutorial já não funciona. É bem complicado e custei a aceitar, mas é assim que funciona nesse environment. Ainda não descarto a possibilidade de que poderiamos insistir mais pra conseguir alguma coisa melhor, ou que não soubemos fazer direito, mas não poderiamos ficar empacados nisso, sem mover nosso projeto pra frente.</p>
<p>Mesmo com essas dificuldades, estamos conseguindo fazer uma quantidade boa de testes e isso tem nos ajudado muito.</p>
<h2>Continous Integration Server</h2>
<p>Outro desafio bem complicado que tivemos foi ter um build server funcionando bem e rodando nossos testes automatizados. Mais uma vez os tutoriais da internet acabam não funcioando direito. Pra piorar, pra você rodar testes ActionScript 3, que é a linguagem do Flash, é necessário levantar uma instância do FlashPlayer, que precisa de um <a href="http://en.wikipedia.org/wiki/X_Window_System">Servidor X</a>. Essa instância vezes não fecha, fica travada, ou apresenta alguns problemas que nada tem a ver com os testes da aplicação. Custamos a perceber isso, mas foi o que aconteceu.</p>
<p>No fim das contas, hoje temos nosso servidor de build e integração contínua funcionando bem, e com poucos problemas.</p>
<h2>Estratégia de Migração</h2>
<p>Fazer uma mudança no Player de Vídeos da <a href="http://globo.com">globo.com</a> não é uma tarefa simples. Não poderíamos simplesmente colocar um Player novo no lugar do antigo e ver o que aconteceria. Além de ser um baita risco seria uma baita irresponsabilidade. Precisavamos então pensar numa estratégia &#8230;</p>
<p>Antes  do momento de colocar o primeiro release no ar, decidimos usar um catálogo de vídeos com acesso bem pequeno. Para isso, criamos uma opção que ativa/desativa a versão nova em cada catálogo, individualmente. Dessa forma, poderiamos voltar para a versão antiga IMEDIATAMENTE, em caso de algum problema.</p>
<p>Essa estratégia foi perfeita, pois conseguimos pegar diversos pontos de melhoria, e fazer os ajustes necesários sem gerar impacto para os usuários. Com os ajustes feitos e uma nova versão no ar, resolvemos então <a href="http://ascariocas.globo.com/videos/" target="_blank">colocar em mais um catálogo de vídeos</a>, dessa vez um com mais acessos. Nesse momento nosso player ainda não suportava vídeos ao vivo, portanto ainda não podiamos colocar em catálogos como o do <a href="http://globonews.globo.com/videos/v/globo-news-ao-vivo/61910" target="_blank">Globo News</a>, pois caso contrário teriamos problemas. Isso provou como a nossa escolha de criar uma opcão de ir habilitando sob demanda se mostrou bastante acertada, pois assim que terminamos a funcionalidade de vídeos ao vivo, habilitamos essa nova versão do Player para o <a href="http://globonews.globo.com/videos/v/globo-news-ao-vivo/61910" target="_blank">Globo News</a>.</p>
<p>Hoje, estamos já com quase todos os catálogos de vídeos usando esse Novo Player. Em breve, todos os vídeos da Globo.com serão servidos por ele. Isso só não aconteceu ainda porque temos algumas estórias com alguns detalhes que tornam viável a substituição completa do Player que está no ar hoje. O mais interessante de tudo é que estamos tendo impacto e stress zero, graças e estratégia bem traçada por todo nosso time.</p>
<h2>Conclusão</h2>
<p>Esse começo na equipe de Webmedia está sendo ótimo. Criar um Player de Vídeos do zero tem sido uma experiência fantástica, apesar de todas as dificuldades.</p>
<p>Algumas das coisas mais importantes que estou tirando de lição desse projeto é que (1) nem sempre dá pra fazer tudo certinho com todos os testes automatizados, etc, etc etc, (2) as vezes estamos num vendor lock-in onde não dá pra sair e ai você tem que saber superar com os problemas do enviroment dessa tecnologia e (3) migrar uma aplicação que afeta quase todos os sites de uma empresa do tamanho da <a href="http://globo.com">globo.com</a> sem causar impacto em ninguém é difícil, mas não impossível.
<p><font color="#B4B4B4" size="-2">Post Footer automatically generated by <a href="http://www.freetimefoto.com/add_post_footer_plugin_wordpress" style="color: #B4B4B4; text-decoration:underline;">Add Post Footer Plugin</a> for wordpress.</font></p>
]]></content:encoded>
			<wfw:commentRss>http://codificando.com/2010/12/os-desafios-novo-player-de-vdeos-da-globocom/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>[Caos no Rio - OFF TOPIC] Refletindo sobre valores da vida</title>
		<link>http://codificando.com/2010/11/offtopic-refletindo-sobre-valores-da-vida/</link>
		<comments>http://codificando.com/2010/11/offtopic-refletindo-sobre-valores-da-vida/#comments</comments>
		<pubDate>Fri, 26 Nov 2010 05:16:14 +0000</pubDate>
		<dc:creator>Emerson Macedo</dc:creator>
				<category><![CDATA[offtopic]]></category>
		<category><![CDATA[pensamentos]]></category>
		<category><![CDATA[amor]]></category>
		<category><![CDATA[biblia]]></category>
		<category><![CDATA[caos]]></category>
		<category><![CDATA[Deus]]></category>
		<category><![CDATA[ensino]]></category>
		<category><![CDATA[paz]]></category>
		<category><![CDATA[rio]]></category>

		<guid isPermaLink="false">http://codificando.com/?p=654</guid>
		<description><![CDATA[Hoje o Rio de Janeiro viveu um dos capítulos mais feios de sua linda história. Considerada a Cidade Maravilhosa, hoje vimos uma cidade sitiada, com o medo imperando e muita apreensão nas ruas. O motivo de eu escrever esse post &#8230; <a href="http://codificando.com/2010/11/offtopic-refletindo-sobre-valores-da-vida/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hoje o <a href="http://pt.wikipedia.org/wiki/Rio_de_Janeiro_(cidade)" target="_blank">Rio de Janeiro</a> viveu um dos capítulos mais feios de sua linda história. Considerada a <a href="http://pt.wikipedia.org/wiki/Rio_de_Janeiro_(cidade)" target="_blank">Cidade Maravilhosa</a>, hoje vimos uma cidade sitiada, com o medo imperando e muita apreensão nas ruas. O motivo de eu escrever esse post sobre o assunto não é diretamente o que aconteceu, mas sim as causas do ocorrido.</p>
<h2>A minha história</h2>
<p>Pra quem não sabe, eu nasci no suburbio aqui do Rio de Janeiro, mais precisamente no Hospital Albert Swaizer em Realengo e morava num barraco dentro de <a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=Rua+Murundu,+697,+Rio+de+Janeiro,+Brasil&amp;sll=-22.881572,-43.451207&amp;sspn=0.01111,0.018346&amp;ie=UTF8&amp;hq=&amp;hnear=R.+Murundu,+697+-+Padre+Miguel,+Rio+de+Janeiro,+21775-210,+Brazil&amp;ll=-22.882442,-43.450177&amp;spn=0.01111,0.018346&amp;z=16&amp;layer=c&amp;cbll=-22.88246,-43.450255&amp;panoid=6ehq6VKhqRmtPLi-atmYVg&amp;cbp=12,353.98,,0,10.58" target="_blank">um beco numa espécie de favela em Padre miguel</a> (atrás da menina de mochila rosa) &#8212; As imagens de hoje são muito melhores de quando eu era criança &#8212; Lá era uma situação muito difícil, pois a maioria das pessoas era envolvida com alguma coisa errada. Meus Pais se separaram e fui morar na casa dos meus avós com minha tia, que era jovem e trabalhava num emprego modesto. Meu avô trabalhava na companhia de lixo (CONLURB) e minha avó era dona de casa. Essa tia &#8212; mãe do coração que me criou &#8212; tratou de me tirar daquele ambiente e não mediu esforços para que eu não fosse influenciado por aquele meio. Sempre me deu boa educação (inclusive em casa) e me afastando das amizades erradas. Vários dos meus coleguinhas, que brincavam comigo de bola de gude, pipa, futebol, e outras coisas mais, já morreram ou estão presos. Alguns outros felizmente conseguiram se safar.</p>
<p>Contei essa história apenas pra mostrar que não estou querendo dar uma de entendido, mas eu sei muito bem como funcionam as coias em ambientes desse tipo.</p>
<h2>Atacando o problema na Raiz</h2>
<p>Após tudo que aconteceu hoje, li muitas mensagens no twitter de manifestação de ódio para com os bandidos, a maioria desejando uma chacina. <strong>Veja bem, eu não defendo em hipótese alguma que haja impunidade. Pelo contrário, independente de qualquer coisa, cada cidadão é responsável pelos seus atos e deve responder pelo que faz</strong>. O que me incomoda na verdade é que no meu modo de ver as coisas, nossa indignação está sendo direcionada de forma equivocada.</p>
<h2>As crianças e a marginalidade</h2>
<p>É sabido por todos que cada vez mais os traficantes estão iniciando crianças de 10, 12 anos e por algumas vezes até mais novas para começarem no tráfico. Muitas desssas sequer tiveram a oportunidade de estudar. Muitos bandidos começam oferecendo a essas crianças sexo com mulheres mais velhas, depois drogas e ai a criança já está completamente dominada. Crianças nessa idade <a href="http://www.mundoeducacao.com.br/psicologia/personalidade.htm" target="_blank">ainda não tem a personalidade formada</a>, portanto acho injusto atribuir culpa a uma criança dessas, pois a maioria não tem condições de resistir a esses assédios.</p>
<p>Eu me lembro quando em 2005 eu participada de um trabalho da minha Igreja na <a href="http://www.youtube.com/watch?v=uWkJp6AaXhA" target="_blank">favela da coreia</a>, tinha uma criança que aparentava ter uns 8 ou 9 anos de idade, mas já tinha um fuzil pendurado no corpo e ficava sentado numa cadeira de ferro, protegendo o acesso a rua que ficava a casa, onde acontecia a reunião da Igreja. Aquilo sempre me doeu o coração. Era uma situação muito triste. Me lembro que por algumas vezes fui em alguns lugares ali por dentro com meu amigo, que morava e foi criado ali. Geralmente  eu via muitas crianças largadas, sem qualquer assistência, presas fáceis para se tornarem futuros bandidos.</p>
<h2>O papel do Estado Brasileiro</h2>
<p>Nossos governantes tem falhado miseravelmente há decadas, no que diz respeito a saúde, educação, qualidade de vida, programas sociais, entre outros. O máximo que se vê são os bolsa-isso, bolsa-aquilo, bolsa-etc. Apenas tapando o sol com a peneira.</p>
<p>A cada ano que passa, o ensino público piora mais. Na minha época de infância e adolescência, o nível da escola pública era igual e em alguns casos até melhor que as escolas particulares. Tenho grandes amigos que são testemunha disso. Na geração seguinte a coisa já começou a ficar complicada. Hoje em dia nem se fala.</p>
<p>Sobre a saúde em nem vou perder meu tempo  &#8230;</p>
<p>Pra piorar, o poder público usa uma estratégia bem conhecida e que sempre deu resultado. Eles criam o problema (falta de condições básicas para todo cidadão), agem em cima do problema (matando) e ainda ganham os aplausos da sociedade (que adora ver bandido morrer), sendo que eles são os principais culpados.</p>
<p>Além disso, não existe no sistema penitênciário brasileiro uma forma de recuperar os bandidos que são presos. É lógico que nem todos querem isso, provavelmente uma minoria, mas certamente é papel do estado oferecer essa oportunidade, até porque não a ofereceu para a maioria dessas pessoas quando ainda eram crianças.</p>
<h2>Oportunidade de redenção</h2>
<p>É impressionante como nós somos implacáveis com as outras pessoas, mas quando é conosco somos tremendamente generosos. Quando uma pessoa erra, caimos condenando, mas quando erramos sempre temos nossas justificativas e achamos que merecemos outra chance.</p>
<p>Certa vez, assistindo um programa de televisão que debatia o <a href="http://pt.wikipedia.org/wiki/Caso_Elo%C3%A1_Cristina" target="_blank">Caso Eloá Cristina</a>, se não me engano o Jornalista <a href="http://pt.wikipedia.org/wiki/Marcelo_Rezende" target="_blank">Marcelo Resende</a>, criticando veemente e agredindo com palavras, disse que perguntou ao <a href="http://pt.wikipedia.org/wiki/Man%C3%ADaco_do_Parque" target="_blank">maniaco do parque</a>: &#8220;E se a moça fosse a sua filha?&#8221;. Ele recebeu outra pergunta de volta: &#8220;E se eu fosse seu filho?&#8221;. Resende disse que ficou totalmente embaraçado e que isso o fez refletir sobre o quanto agente gosta de pagar o mau com o mau.</p>
<p><a href="http://www.bibliaonline.com.br/ra/jo/8/3,4,5,6,7,8,9,10,11" target="_blank">Toda pessoa tem direito a uma nova chance</a>. Bandidos deveriam ser presos e deveria existir uma forma de recuperar os que estivessem dispostos a isso (Sinceramente eu não acredio que a pessoa nasça bandido, ou com a índole ruim, etc). Alguns infelizmente não vão querer reabilitação e esses deveriam permancer presos, o que também não acontece, pois após cumprir a pena são soltos, independente de estarem em condições de integrar a sociedade.</p>
<h2>Conclusão</h2>
<p>Por diversas razões, eu não me surpreendo mais com o desejo de ver sangue que existe em nossa sociedade. Essa falta de amor <a href="http://www.bibliaonline.com.br/ntlh/mt/24/12" target="_blank">está prevista na bíblia</a>, meu livro de fé e prática. Sinceramente acho que a tendência infelizmente é piorar, pois <a href="http://www.bibliaonline.com.br/ra/2tm/3/1,2,3,4,7" target="_blank">o mundo está ficando cada vez mais egoista</a>.</p>
<p><strong>De fato, aqueles que cometem delitos precisam pagar por isso, afinal de contas tudo tem uma consequência. Meu ponto maior é que essas pessoas também são seres humanos e precisam ser tratados como tal. Desejar a morte delas é nos tornar tão ruim ou até pior que essas pessoas.</strong></p>
<p>Hoje em dia vejo muita gente que nunca passou fome na vida ou nasceu em uma família com uma condição boa que olha essas pessoas como se fossem lixo. Esses não tem a menor noção do que é nascer nessas condições. Por outro lado, vejo pessoas que se gloriam em terem vencido essa situação e crucificam os que não conseguiram. Eu prefiro agradeçer muito a Deus e a minha Tia-Mãe por ter me tirado da convivência e das influências, pois eu poderia ter tido o mesmo destino de alguns coleguinhas de infância, não fossem essas oportunidades.</p>
<p>Indo direto ao ponto, o problema maior está no poder público que não oferece condições básicas iguais para todos os brasileiros. Se fosse diferente, poderiamos questionar que as escolhas dessas pessoas foram mau feitas. De outra forma, é muito injusto da nossa parte, principalmente porque a maioria delas foi assediada quando criança.</p>
<p>Pra finalizar, vou falar um pouco do que eu acredito. <a href="http://www.bibliaonline.com.br/ra/ec/12/1" target="_blank">O mundo tem se esquecido de Deus</a>. Cada vez mais <a href="http://www.bibliaonline.com.br/ra/2tm/3/1,2,3,4,7" target="_blank">as pessoas só pensam em si próprias</a>, e o exercício do amor ao próximo praticamente não existe.</p>
<p>Então não se esqueça: <a href="http://www.bibliaonline.com.br/nvi/sl/115/16" target="_blank">Somos nós que cuidamos desse mundo</a>. Se ele está assim, cabe a nós muda-lo.
<p><font color="#B4B4B4" size="-2">Post Footer automatically generated by <a href="http://www.freetimefoto.com/add_post_footer_plugin_wordpress" style="color: #B4B4B4; text-decoration:underline;">Add Post Footer Plugin</a> for wordpress.</font></p>
]]></content:encoded>
			<wfw:commentRss>http://codificando.com/2010/11/offtopic-refletindo-sobre-valores-da-vida/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

