Você está na página 1de 72

Agosto 2013 / Ano 02 / Edio 07

Nuvem Negra
ou, computao em nuvem no so s flores
Front-End Ops: introduo a uma nova disciplina
#frontend #pg36

Ns fazemos a Internet no Brasil

TI na propulso do marketing
#mktdigital #pg48

R$24,00

Wordpress sem limites


#cms #pg32

Expediente
TIAGO BAETA Publisher LUIS LEO Editor RINA NORONHA (MTB 2759-ES) Editora/Jornalista Responsvel EDU AGNI Projeto Grfico / Diagramao NATHLIA TOREZANI Reviso COLABORADORES Al Borba, Alvaro Vasques, Carine Roos, Cristian Gallegos, Daniel Filho, Flavio Flatschart, Kemel Zaidan, Leandro Vieira, Lina Lopes, Lucia Freitas, Pedro Gravena, Pedro Maciel, Reinaldo Ferraz, Vinicius Depizzol, Wagner Crivelini. Eskenazi Indstria Grfica Grfica Grupo imasters Organizao > 1000 exemplares > ISSN 1981-0288

Alameda Santos, 2395 - 1 andar Cerqueira Csar, So Paulo/SP CEP: 01419-101 - Brasil www.imasters.com.br/revista redacao@imasters.com.br Twitter: @iMasters Facebook: /PortaliMasters Os artigos assinados so de responsabilidade dos autores e no refletem necessariamente a opinio da revista. proibida a reproduo total ou parcial de textos, fotos e ilustraes, por qualquer meio, sem prvia autorizao dos artistas ou do editor da revista.

Editorial
Que a gente vive em um mundo onde todos estamos cada vez mais conectados, todo mundo sabe. Estamos interagindo todos os dias por meio das redes sociais, conversando com amigos, colegas de trabalho, conhecidos, amigos de amigos, mas ser que temos uma relao mais prxima com essas pessoas ou toda essa conectividade nos afasta delas? Pare por um momento para observar o que estamos fazendo no nosso dia-a-dia. Vejam que um objeto adquiriu uma importncia to grande que ele agora no sai dos nossos bolsos. O celular (smart ou no) passa a ser nossa interface de contato com o mundo. Aonde quer que esteja, ele o deixar on-line e acessvel para sua rede. E isso tem um preo: seus dados e todo o contedo que voc gera e/ou consome esto em algum lugar. Sim, a nuvem existe e exatamente dela que trataremos nesta edio. Falaremos da nuvem sob uma perspectiva que ningum tem a coragem de falar: qual o risco de estarmos dependentes de uma estrutura na qual no temos o menor controle? Como isso pode afetar nossas vidas. Aonde entra a questo da privacidade e quais so as discusses sobre sustentabilidade e quais os perigos que estamos sujeitos. Enfim, quero dedicar essa edio a todos os que tem a curiosidade, a vontade de aprender sobre todas as coisas, em especial dedico a um grande irmo que perdi este ms. Alberto Fabiano, hacker conhecido por muitos outros nicks (Aleph, Techberto, @alfacme, Voidberto, Fabiano, entre outros) e um dos fundadores do Garoa Hacker Clube. Ele representou para mim algum que podia falar de qualquer coisa com propriedade e que sempre carregou consigo aquele lampejo de curiosidade e de tentar entender o mundo. Aleph sempre permanecer na nuvem (com todos os seus nicks) e na lembrana daqueles que tiveram a oportunidade de conhec-lo. Boa leitura!
Luis Leo desenvolvedor web que encontrou em APIs e hardware aberto novas formas de integrar a web com o mundo real. www.luisleao.com.br redacao@imasters.com.br

6 > Sumrio

22 :: Capa > Nuvem Negra

</>
36 :: Front-End Front-End Ops: introduo a uma nova disciplina 48 :: Marketing Digital TI na propulso do marketing 32 :: CMS WordPress sem Limites

08 :: Entrevista > Larry Wall 14 :: Conexo Vale do Silcio > A figura da cultura inventada das startups 16 :: Banco de Dados > ndices: equilibrando os pratos da balana 26 :: Por dentro da W3C > Garantindo a acessibilidade do seu website 28 :: Cultura Hacker > Mitch Altman e a origem dos hackerspaces 35 :: +Interatividade > O Gorila, o supercapacitor e a reinveno dos bancos 38 :: Design > Use design para melhorar seu cdigo 42 :: Gerncia de TI > Qual a capacidade do seu time de tecnologia? 46 :: Comunidades > Interao a favor dos negcios: IxDA-SP 51 :: Cdigo Livre > Informaes e dicas sobre projetos Open Source 52 :: Contedo Digital > ePUB3: publicaes multimdia interativas 54 :: Encontro 7Masters 62 :: Analytics > Mapeamento de aes telefnicas no Google Analytics 64 :: Review > Glass: o melhor wearable ou o melhor gadget nunca antes visto? 66 :: Criatividade Tecnolgica > How to make (almost) anything 68 :: iMasters Box

A iMasters uma revista de Tecnologia/Web aberta a novas ideias. Para colaborar envie o seu material por e-mail <revista@imasters.com.br>

Markdown -A text-to-HTML 8> Entrevista > Larry Wall conversion tool for web writers Copyright (c) 2004 John Gruber <http://daringfireball.net/projects/markdown/>

ackage Text::Markdown; equire 5.006_000; se strict; se warnings;

se Digest::MD5 qw(md5_hex); se vars qw($VERSION); VERSION = 1.0.1; Tue 14 Dec 2004

# Disabled; causes problems under Perl 5.6.1: use utf8; binmode( STDOUT, :utf8 ); # c.f.: http://acis.openlib.org/dev/ erl-unicode-struggle.html
Por @kemelzaidan

Global default settings: edio de @RinaPri # Change to > for HTML

Com traduo e

y $g_empty_element_suffix = />; utput Lanada em 1987, Perl y $g_tab_width = 4;

\[ (??{ $g_nested_brackets }) ested brackets

uma linguagem que tem como objetivo ser flexvel e capaz de fazer cdigos funcionais. Seu criador, Larry Wall, fez Globals:praticamente todo o processamento de texto em sistemas baseados em Unix, utilizando diversas ferramentas, como AWK, sed, C e linguagens shell Regex to match balanced [brackets]. See Friedls script. A ideia era juntar as principais Mastering Regular Expressions, 2nd Ed., pp. vantagens 328-331. y $g_nested_brackets; de todas essas linguagens: expresses regulares g_nested_brackets = qr{ do sed; a identificao de padres # de AWK; matching a (?> Atomic [^\[\]]+ # Anything profundidade de C; alm da sintaxe baseada tanto other han brackets em C quanto em Shell Script. |
# Recursive set of

}x; 9 # Table of hash values for escaped characters: my %g_escape_table; foreach my $char (split //, \\`*_{}[]()>#+-.!) { H anos, no tempo em que as redes tinham uma Revista iMasters: Qual a sua formao, o $g_escape_table{$char} = md5_hex($char); largura de banda muito pequena, as pessoas que voc estudou na faculdade? } no podiam simplesmente enviar uma nova cLarry Wall: Eu estudei muitas coisas, diversas, e quase no consegui concluir nada porque no tinha crditos suficientes para nenhum curso. Mas, final das contas, consegui fazervarious com que a fa# Globalnohashes, used by culdade deixasse eu me formar. Entre as coisas my %g_urls; que estudei esto programao e lingustica, dois my %g_titles; assuntos que foram primordiais para que eu chegasse ao Perl. Mas tambm fui bem alm disso, my %g_html_blocks; passando por qumica e msica, por exemplo.

Eu realmente no consegui fazer com que as pessoas aplicassem os patches na primeira verso que eu enviei. Eu enviava os patches e as pessoas no aplicavam um ou outro, porque no era necessrio na mquina deles. Mas a um terceiro patch viria e bagunaria tudo, porque RiM: Por que voc decidiu estudar inside computa# Used to track when were an ordered or o unordered list ningum tinha aplicado outro anterior. Ento o? O que te chamava a ateno? eu percebi que precisava achar uma forma para # (see _ProcessListItems() for details): encorajar as pessoas a manterem seus softwaLW : Bom... voc my $g_list_level = pode 0; conseguir que os res sincronizados, assim, quando um outro patch computadores faam coisas que as pessoas fosse enviado eles aplicariam a mesma verso. acham interessantes! Ento, uma das coisas que foi internalizada pelo # Check to see if Markdown.pm has been loaded; if so we must be programa de patch desde o incio foi um pr-reA verdade que eu provavelmente estou em alloaded gum lugar dentro do espectro do autismo. Sendo quisito que determinava que uma certa verso do patch deveria estar instalada. # as a perl module. assim, eu tenho uma enorme dificuldade em lidar com pessoas. Eu consigo fazer isso, $INC{Text/Markdown.pm}; mas um my $g_perl_module = exists A segunda verso foi muito mais fcil de manter grande estresse para mim. Ento, poder se relaporque que as pessoas j estavam usando, ao cionar atravs de algo que eu fao e que os outros menos at quando chegamos ao ponto delas covejam o que eu fiz, mas sem necessariamente ter #### Blosxom plug-in interface #################################### mearem a colocar repositrios na rede e a fazer que discutir com algum sobre o tempo ou outros isso de forma bastante automtica. E o programa ##### assuntos assim, uma forma de me tornar social. Patch ajudou a fazer o bootstrap, mais ou menos da mesma forma que o Perl ajudou a fazer

utility routines

pia dos recursos. Mas se isso fosse um arquivo de patch, as pessoas poderiam manter seus softwares sincronizados.

Meu pai um pastor de igreja crist e eu cres# Set $g_blosxom_use_meta to 1 to use Blosxoms meta to o bootstrap na web do incio; hoje, plug-in mesmo que ci nesse ambiente. Como o filho do pastor, eu muitos sites no usem mais a linguagem, muitos determine no podia ser tmido, mesmo sendo assim natuforam prototipados em Perl. ao longo dos should anos, eu aprendi a # which ralmente. postsEnto, Markdown process, using a meta-markup: me relacionar com as pessoas, mas foi algo que Acho que sou uma dessas pessoas que escrevem markdown eu tive que aprender, que desenvolver, e por isso prottipos para depois jog-los fora! s vezes fcil.set Para algum como eu, isso # header. If no its to 0 (the default), Markdown will process all no fcil. Para mim, mais gratificante fazer alRiM: Por que voc decidiu escrever o Perl? # entries. guma coisa que as pessoas vo achar til. Por my $g_blosxom_use_meta = 0; LW: Para matar uma vontade! isso, eu tenho a tendncia de medir o meu prprio

sub sub @_;

trabalho no pelo que eu vou conseguir com ele, mas pelo que eu posso oferecer a partir dele. E eu start { 1; } entendo que isso o que define uma pessoa, no story { dinheiro ela tem. quanto

Na verdade, eu estava com um problema que precisava de processamento de texto para gerar relatrios.

my($pkg, $path, $filename, $story_ref, $title_ref, $body_ref) = Eu estava em um projeto para a NSA (National RiM: Por isso que o Perl entrou na sua vida?

if s*$/i)) } 1; }

Security Agency, a agncia de segurana do governo americano), a empresa tinha um contrato l LW: Foi quase um acidente. Eu apenas queria ofee eu estava desenvolvendo uma rede segura por recer uma coisa para os outros. E isso era bem ( (! $g_blosxom_use_meta) or toda a costa entre Santa Mnica, na Califrnia, e difcil porque no havia uma cultura desse tipo. a Pensilvnia. Ns trocvamos informaes por Ento eu pensei em uma forma de oferecer coisas and (defined($meta::markup) ($meta::markup =~ /^\s*markdown meio de arquivos de texto sobre o projeto, mas aos outros livremente. E algumas dessas coisas, eles queriam relatrios sobre os arquivos de texcomo o programa patch1, acabaram por ajudar a iniciar ){ o movimento de software livre, porque tos e o sistema Unix com o qual trabalhvamos tinha uma verso muito antiga do awk. muitas pessoas passaram a trocar patches.

$$body_ref

= Markdown($$body_ref);

Markdown A text-to-HTML 10-> Entrevista > Larry Wallconversion tool for web writers Copyright (c) 2004 John Gruber <http://daringfireball.net/projects/markdown/>

ackage Text::Markdown; equire 5.006_000; se strict; se warnings;

se Digest::MD5 qw(md5_hex); se vars qw($VERSION); VERSION = 1.0.1; Tue 14 Dec 2004

# Disabled; causes problems under Perl 5.6.1: Imagem: http://bit.ly/11jS26r use utf8; binmode(A gente STDOUT, :utf8 ); # c.f.: http://acis.openlib.org/dev/ estava fazendo um trabalho de processa de vista operacional torna-se um trabalho de temerl-unicode-struggle.html po integral. Nessa poca meu cunhado me falou mento de textos e eu no conseguia fazer o que
ah, voc no quer se tornar um administrador de sistemas, isso um trabalho morto. Mas enquanto eu estava fazendo isso, eu continuei desenvolvendo o Perl, ento no era apenas uma linguagem para fazer anlise de texto, eu decidi que queria tambm fazer uma parte de administrao de sistema, como renomear # Change to > for HTML arquivos e todas as funes de um admin. Ento eu tive isso bastante no Perl tambm. E nas vrias interfaces do sistema. E a as pessoas comearam a adicionar interfaces aos bancos de dados, atravs de verses especiais do Perl. Ento havia o OraPerl, para o Oracle, o SybPerl para Sybase. E foi ento que eu percebi que havia um problema: o que aconteceria se voc quisesse usar Oracle e Sybase no mesmo programa? Seria preciso ter extenses que ajudassem a coloc-los juntos no mesmo programa.

queria nos relatrios. Ento eu pensei: eu j havia escrito compiladores, eu sabia o que queria, ento prototipei uma linguagem, algo como um Perl zero, e isso foi um laboratrio secreto porque a gente trabalhava numa espcie de cofre, e alguns meses depois Global default settings: eu tive que discretamente tirar essa linguagem dali para chegar ao que seria o Perl 1, a verso que seria y $g_empty_element_suffix = />; distribuda para o mundo. Eu queria apenas conseutput guir repassar alguns arquivos de texto e extrair algumas informaes de algumas expresses regulares y $g_tab_width = 4; em um formato de texto meio aleatrio e colocar no relatrio e buscar por aquilo online.

Globals:

RiM: Como isso se transformou no Perl que temos hoje?

LW: Quando eu comecei no existia ainda a noo de um administrador de sistemas. Havia o a IBM chamava de Programador Chefe o Regex toque match balanced [brackets]. See Friedls cara nmero um, que sabia como tudo funcionaEnto, acho que o Perl mudou um pouco com Mastering Regular Expressions, pp. essa Ed., ideia de ter vrias 328-331. caras, o que o levou a ter va. E eu meio que j havia estado nessa posio 2nd extenses que conversassem com vrios backenem meu trabalho na Seattle Pacific University e y $g_nested_brackets; ds de bancos de dados. A ideia de fazer uma intambm quando trabalhei em uma empresa de g_nested_brackets = qr{ terface com objetos de forma que fosse possvel desenvolvimento de sistemas. Eu fui contratado falar mais sensivelmente com pessoas. (?> # Atomic matching para essa posio, mas o ideal desse cargo [^\[\]]+ #5 nasceu, Anything meio diferente do que um administrador de sisFoi dessa noo que o Perl com umaother temas, quando voc tem outras pessoas fazendo boa dose de extensibilidade. Como resultado, eu han brackets descobri que muitas outras pessoas queriam fazer a programao e gerenciar o sistema de um ponto

\[ (??{ $g_nested_brackets }) ested brackets

# Recursive set of

#### Movable Type plug-in interface ############################### ##### 11 eval {require MT} unless $g_perl_module; # Test to see if were running in MT. unless ($g_perl_module || $@) { extenses, incluindo eu, e foi ento que chegamos RiM: E por que voc resolveu escolher uma require MT; linguagem de script? questo de montarmos uma rede com milhes import MT; de partes do Perl para serem distribudas (CPAN). require MT::Template::Context; LW: Porque muito mais rpido em termos de tempo de programao. Pode no rodar to rapiE isso tudo foi feito no Perl 5. Voc poderia adiimport MT::Template::Context; damente, mas para operaes de chamada, funcionar texto como em um programa em C voc
cionava direito para modelos de interface, e isso a # Test to see if were running >= eval {require MT::Plugin}; Em alguns benchmarks uma linguagem de script verso 5 tem. No havia uma forma de fazer uma MT 3.0. interface para nveis mais baixos como cdigos poderia at bater um programa em C mais bobo porque voc teria que trabalhar muito para otimiem C e C++, ento isso comeou com Perl 5. unless ($@) { z-lo e o Perl j tem isso, ento pode fazer um RiM: require MT::Plugin; array associativo que provavelmente ser mais Enquanto voc criava o Perl, que linguaeficiente que uma tabela feita em C. Assim, em vocs tinha em mente? gens import MT::Plugin; operaes comuns, possvel otimizar o cdigo LW: my $plugin = new em C para o cdigo em Perl. A maioria delas. Basicamente as MT::Plugin({ linguagens com as quais eu era familiarizado ou que eu pen name => Markdown, O problema primordial que queramos resolver era sava que fosse foram as que me influenciaram. description => A plain-text-to-HTML formatting a perda de tempo dos programadores em ter que Algumas pessoas pensam que havia influncia de manter anotaes de ponteiros, strings, arrays, plugin. linguagens (Version: $VERSION), como SmallTalk, mas no verdade. gerenciamento de memria e tamanhos de buffer; Ao menos at o Perl 6 agora, sim, teremos algu doc_link => http://daringfireball.net/projects/ as ferramentas do Unix, na poca, tinham limites ma influncia do SmallTalk. muito arbitrrios. markdown/ SmallTalk foi a primeira linguagem RiM: }); Uma das maiores motivaes para comear o Perl orientada a objetos, no ? foi eu quero que as strings me digam o que elas MT->add_plugin( $plugin ); No h limites arbitrrios a. E ns levamos } LW: Bom, voc pode dizer que sim Mas exis- so. esse conceito para outras reas tambm. Para at podia incluir texto em Perl 4, mas isso no funciona rpido o suficiente.

tiam outras antes. SmallTalk realmente levou isso comear, ns queramos tipos de string que voc para um outro extremo, do ponto de vista que um simplesmente no precisasse se preocupar. MT::Template::Context->add_container_tag(MarkdownOptions => su objeto algo para o qual voc envia uma mensagem, no apenas uma funo de call engraa { RiM: Quais so as maiores mudanas no Perl 6? dinha. Ento, eles tinham uma viso mais global. my $ctx = shift; LW: Provavelmente a maior de todas que fino havia uma influncia direta da SmallTalk, Masmy $args = shift; zemos o Perl ser poderoso o suficiente para se no at o Perl 6. autocompilar. E eu espero que isso acontea em ao menos my $builder = $ctx->stash(builder); qualquer VM. J temos compiladores de Perl 6 O Perl influenciou linguagens RiM: my $tokens = vrias $ctx->stash(tokens); para Mono e .Net, estamos trabalhando no Java. mais novas que tm sido muito usadas hoje, E existem algumas ideias para usar isso no LLVM. criando um paradigma para linguagens inter pretadas. if (defined ($args->{output}) ) a{ Como voc enxerga isso? Queremos que linguagem seja poderosa o suficiente para isso e o seja de forma eficiente, para $ctx->stash(markdown_output, lc $args->{output}) LW: Com certeza Ruby e Python tiveram uma quebrar a si mesma, para que possa mudar a lin influncia } inicial do Perl. Na verdade isso no foi guagem quando decidirmos mud-la, para ter noplanejado no Python. vas verses de Perl e para ser capaz de escrever em outras linguagens de domnio especfico que) O Perl defined (my $str = $builder->build($ctx, $tokens) meio que estabeleceu, ao menos no munsejam melhores que o Perl. do do Unix, esse de linguagens de script. orgnero return $ctx->error($builder->errstr); Havia Shell e voc podia escrever em Shell Script As gramticas inseridas no Perl 6 so poderosas $str; # return value mas na verdade isso sempre foi pensado como e muito expansveis. Provavelmente se voc tiver });uma forma de unir os programas em C. E porque que colocar uma nica coisa no topo da lista, seria elas eram construdas dessa forma? Era bem difcil isso. Mas h muitas outras coisas que ns percede fazer um programa decente com elas. Era difcil bemos no Perl 5, e tambm vrias outras coisas MT->add_text_filter(markdown =>adicionamos, { fazer com que as coisas se relacionassem. E como que como orientao a objetos, de todo mundo tinha um cliente Unix diferente, era forma que demos os princpios***, mas no for label => Markdown, bem difcil escrever um Shell Script naquela poca. necemos nenhum tipo de padro, de boas pr-

docs => http://daringfireball.net/projects/ markdown/, on_format => sub { my $text = shift;

if (defined $ctx) { my $output = $ctx->stash(markdown_output); (defined 12 > Entrevistaif > Larry Wall $output && $output =~ m/^html/i) { $g_empty_element_suffix = >; $ctx->stash(markdown_output, ); } elsif (defined $output && $output eq raw) { $raw = 1; $ctx->stash(markdown_output, ); } else { $raw = 0; $g_empty_element_suffix = />; } } $text = $raw ? $text : Markdown($text); $text; }, });
Imagem: http://bit.ly/1e6kJWY

# If SmartyPants is loaded, add a combo Markdown/SmartyPants tex mente da literatura de orientao a objetos, mais ticas. Ento as pessoas fizeram as suas prprias lter: regras. Foi um timo laboratrio de testes, mas do que de alguma linguagem especfica. my $smartypants; ento existiam 30, 40 formas de escrever objetos
e eles no se comunicavam, no trabalhavam um com o outro. RiM: Voc acha que seu background em lingustica ajuda nisso?

{ ants}; }

LW: Acho que sim, mas muito alm disso o senGostamos da flexibilidade de ter esses laborano warnings once; timento de que uma linguagem de programao trios para os princpios, mas no Perl 6, quando $smartypants = $MT::Template::Context::Global_filters{smarty deve refletir a forma como falamos sobre isso, vemos que h muitas formas de se fazer algo no ento se voc quer falar que um objeto est rePerl 5, decidimos que vamos escolher uma deslacionado (has a relationship) a um determinado sas formas como padro. Continuaremos com atributo, voc deve realmente usar o termo have os princpios, mas eles ficaro por baixo de uma camada de padres, ento teremos uma forma para declarar isso no Perl 6. Se ele um relacionapadro de declarar classes, if ($smartypants) {de incorporar classes mento (is a relationship) voc usa o is. abstratas, que chamamos roles genricos, que MT->add_text_filter(markdown_with_smartypants => { uma questo de sensibilidade lingustica, ento, so formas padres de fazer vrias cosias, que ao invs de chamar coisas por outros nomes, podem serlabel modificadas se voc realmente quiser => Markdown With SmartyPants, usamos a construo que temos no Ingls. ou precisar, mas esperamos que os padres aju docs => http://daringfireball.net/projects/ algo mais natural do que usar palavras funcionais, dem as pessoas a escreverem cdigos melhores como acontece em outras linguagens. arkdown/, quase que por acidente.

on_format => sub { RiM: Mas isso muda muito a sintaxe da linNo vai ser preciso entender porqu aquele o my = shift; guagem? O Perl 6 vai ser muito diferente? E padro, mas quando as $text pessoas tentam fazer suas coisas, na metade do tempo eles decidem como fica a retrocompatibilidade? my $ctx = shift; pela forma errada... ento no que queremos if (defined $ctx) { : H um grande nmero de diferenas. No geLW chegar ao nvel do Python, dizendo que h aperal,$ctx->stash(markdown_output); a sintaxe do Perl 6 um super set do Perl 5. nas uma forma de fazer aquilo,my mas vamos tentar $output = Se voc escreve em Perl 5 e isso no funciona facilitar a forma correta, a melhor forma, para fazer && $output eq html) { normalmente, vai estar bem perto de funcionar, aquilo, meio que por acidente. if (defined $output porque voc pode escrever em Perl 6 dentro do $g_empty_element_suffix = >; Bom, eu meio que estou levando o processo do } realmente pe- sub set que muito parecido com Perl 5. Python para o Perl 6. O modelo gar emprestado o novo modelo de objetos else { de v- No exatamente a mesma coisa, mas o que fizemos no Perl 6 foi intencionalmente quebrar a rerias fontes. E na verdade, trata-se de pegar direta $g_empty_element_suffix = />; } } $text = Markdown($text);

});

l, mas, ainda assim, bom ter objetivos imposscombinao de emulao, interpretao cooperaveis contanto voc entenda que eles so impostiva ou traduo, por exemplo. Existem vrias for# Were only using $blosxom::version once; tell Perl neles notdeto warn sveis. Eu quero continuar trabalhando mas de fazer com que os cdigos das verses 5 e qualquer forma. Mesmo que voc saiba que o que s: 6 da linguagem interajam. Teremos a um caminho. est fazendo ir, de alguma forma, falhar, voc no warnings once; Mas quando voc comear a ver as novidades que deve fazer tudo o que puder para isso. O mundo unlesso Perl ( 5 defined($blosxom::version) ) {de coisas uteis que tiveram grandes fano suporta diretamente, ento vai comeest cheio ar a usar a sintaxe, mas ns tentamos adicionar lhas e eu acho que Perl 6 vai ser muito til! use warnings; as novidades de uma maneira bem sistemtica, de Mas estamos realmente pensando no longo praforma que todas as declaraes sejam similares. zo.switches: Desde que comeamos, pensamos em fazer #### Check for command-line ################# parte do progresso no incio. Mas o Perl 5 estava O Perl 6 tem muito mais sintaxe a ser declarada my o %cli_opts; reconhecidamente estvel e tinha muito apoio da que Perl 5, mas funciona de uma forma bem o que nos permitiu gastar um bom diferente. verso 5, voc pode declarar as # comunidade, eval Na {use Getopt::Long}; dont load in library mode tempo no redesenho. classes, mas tem que usar a palavra package. Getopt::Long::Configure(pass_through); Voc pode dizer que classes so pacotes, ento RiM: Como o relacionamento da comunidausa a palavra package. Isso tambm acontece no GetOptions(\%cli_opts, de de desenvolvedores brasileiros com Perl? Perl 6, uma classe um pacote, mas voc usa version, class. Ento, em vez de ir para a palavra-chave do LW: Os brasileiros so envolvidos com Perl h bas shortversion, princpio, tendemos a distinguir a palavra-chave e tante tempo. Temos muita gente contribuindo com ento falar que uma classe um tipo. Isso torna html4tags, Perl 5 e 6 no Brasil. E os brasileiros tm a grande as coisas mais claras. vantagem do fuso horrio: vocs esto entre EUA e ); Europa, o que facilita muito o trabalho! </> Ao mesmo tempo, muitas coisas que voc faz ao

13 lsif (! $g_perl_module) { ### BBEdit/command-line text filter interface ######################### sesse ah, ns no precisamos mais de Python ou Queremos o que Needs totrocompatibilidade. be hidden fromquebrar MT tudo (and Blosxom when running in static algo assim. Mas claro que isso um objetivo a for possvel, essa foi a ideia inicial. Ento, vamos ode). longo prazo. E provavelmente nunca chegaremos precisar de alguma estratgia de migrao, uma

if ($cli_opts{version}) { # Version info executar cdigo no Perl 5 parecem declaraes is version $VERSION.\n; no 6, mas print na verdade \nThis no est rodando umMarkdown, cdigo por baixo, ento quando voc roda uma de print Copyright 2004 John Gruber\n; Entrevista publicada originalmente na clarao de classe, est na verdade fazendo uma print http://daringfireball.net/projects/markdown/\ Revista Esprito Livre chamada do protocolo do meta objeto enquanto \n; compila, e pode at fazer um hook se quiser. exit 0; Portanto, voc ainda tem toda a flexibilidade, mas } a escondemos sob um nvel de declarao. Asns sim, h um mapeamento mais natural entre o que if ($cli_opts{shortversion}) { # Just the version as pessoas pensam e o que a sintaxe se parece. umber string. Nesse nvel, uma linguagem mais complicada, print $VERSION; sintaticamente, mas em termos de conceito no exit 0; , porque exitem os mesmos conceitos. } Ento, o estado da arte da programao em Perl if { # Use HTML tag styl 5 tem ($cli_opts{html4tags}) um conjunto de conceitos que se encontram muito bem no Perl 6, mas na nova verso nstead of XHTML eles esto mais bem elaborados, como em aqui = >; temos um $g_empty_element_suffix padro que voc deve usar, a no ser que } voc realmente saiba o que est fazendo.
RiM: Qual a importncia de Perl hoje, e como voc espera que a linguagem esteja no futuro?

#### incoming text: ########################### LW : Bom, Process claro que eu quero que Perl domine o mundo! Eu adoraria ver Perl 6 se tornar poderoso my $text; o suficiente de forma que o Google algum dia dis { local $/; # Slurp the whole file $text = <>;

14 > Conexo Vale do Silcio

A figura da cultura inventada das startups


Por @vdepizzol

Quando se fala em cultura de startups, fcil imaginar ambientes descontrados, pessoas jogando videogame, mesas de ping-pong e gente andando de patinete pelos escritrios. Pelo menos essa a cara que muitas empresas tentam vender. E pelo que d para notar, funciona: at reportagem meia-boca da Globo News se v s focando nisso da. O problema que essas figuras as salas de descanso, os ambientes temticos e as mesas de ping-pong no dizem muito sobre a cultura de uma startup. No leve a mal, essas coisas todas so bem legais de se ter em um escritrio; mas elas so simplesmente superficiais demais. No d para saber como a cultura de uma empresa simplesmente olhando para essas coisas. A cultura trata dos valores e os comportamentos compartilhados entre os funcionrios da empresa. No se voc tem cara de startup hype ou de multinacional quadrada, e tambm no algo que escrito numa letra bonita e emoldurada na parede do escritrio. Ela algo em constante evoluo, e se mostra de verdade quando as pessoas esto l, focadas trabalhando: sobre o que as impulsiona, e sobre o compromisso de realizar o trabalho direito. E para que isso acontea, bom esperar que haja uma boa comunicao entre voc e seu chefe e colegas de trabalho, que exista espao para desafios e experimentao. E tambm, por que no, que a jornada de trabalho no seja infinita e que exista uma poltica definida de frias.

Quando tudo o que se ouve sobre a cultura de uma startup so suas regalias, as pessoas se esquecem que se trabalha demais, que as horas dentro da empresa so longas, que as coisas nem sempre do certo. E que startups esto todas lutando para se destacar no meio da multido, e que faro de tudo para que isso acontea. Porque no existe essa coisa de almoo grtis. Da prxima vez que voc lamentar no ter Super Mario Kart para jogar no escritrio, pense na cultura que o rodeia, e no nas regalias que anunciam para voc. Voc pode descobrir que est numa posio melhor do que imagina. Trabalhar em uma startup , sim, interessante, voc aprende muita coisa e consegue se desenvolver profissionalmente em uma maneira que, talvez, no fosse possvel em outro tipo de empresa. Mas preciso lembrar que, mesmo com a mesa de ping-pong, o trabalho existe. E s vezes o tempo para usar os benefcios pode nem existir. </>

Vinicius Depizzol designer de interface, e partiu com passagem s de ida de Vitria/ES para So Francisco/CA, em 2012, para trabalhar na Xamarin, uma start-up que est mudando a forma de criar apps multi-plataforma.

1 5

16 > Banco de Dados

ndices: equilibrando os pratos da balana


Por @wcrivelini

Desde que inventaram os primeiros computadores, os profissionais da rea de tecnologia da informao so pressionados a desenvolver aplicaes em prazos cada vez menores. No por acaso, as ferramentas de desenvolvimento evoluram absurdamente, dando mais poder para os programadores dominarem todas as etapas do processo de criao de aplicaes e sistemas. Mas esse poder tem um efeito colateral que nem sempre avaliado com a ateno necessria. Se o programador passa a ter controle sobre mais e mais aspectos relacionados criao dos sistemas, ele tambm recebe a responsabilidade e a obrigao de conhecer esses assuntos com maior profundidade. Um desses aspectos a criao dos bancos de dados. Cada vez mais vemos empresas nas quais a modelagem da base e a estratgia de indexao das tabelas so de responsabilidade de programadores. E essas tarefas so fundamentais para a boa operao de um banco de dados e, consequentemente, de toda aplicao. Neste artigo, eu comento sobre algumas posturas em relao ao uso de ndices e os erros mais comuns que so cometidos.

Veja a seguir os problemas que podem ocorrer com esses tipos de profissionais.

O programador otimista
Ser otimista demais d muito trabalho para o SGBD. Criar as tabelas s o primeiro passo na construo da base de dados. sempre muito importante definir chaves primrias em todas as tabelas, as chaves estrangeiras correspondentes e, principalmente, os ndices que sero usados. Indexao essencial para consulta dos dados. Voc pode ter a falsa impresso de que bom criar tabelas sem nenhum ndice, j que isso vai ajudar seu banco de dados a ter uma performance um pouco melhor nas operaes de alterao de dados (INSERT, DELETE, UPDATE). E esse efeito real. Numa operao de insero em uma tabela sem ndices, por exemplo, a operao vai ser registrada no log do banco e em seguida o registro ser gravado nas pginas de dados dessa tabela. E s. Porm, voc nunca na sua vida vai trabalhar com um banco de dados em que s se insere/altera dados. Todo banco de dados precisa ser bom na recuperao dos dados, ou seja, precisa ter boa performance em operaes SELECT. Afinal, para que serviria gravar dados que nunca seriam lidos? Em 99% dos casos, consultas filtram e/ou agrupam dados. E essas duas operaes obrigam o SGBD a pesquisar por registros especficos. Se no houver nenhum ndice na tabela, o SGBD ter que vasculhar todas as pginas de dados para localizar esses registros. como procurar uma palavra dentro de um livro inteiro.

Perfis dos profissionais


Existem dois tipos de programadores que preocupam qualquer DBA: os otimistas, que acham que basta criar as tabelas e o banco de dados estar pronto; e os pessimistas, que tm medo de que a base tenha problemas com performance e resolvem tomar providncias sobre o assunto por conta prpria.

17

Um ndice um catlogo que funciona de forma muito parecida com aqueles ndices remissivos que existem no final dos livros. Ali, o leitor pesquisa a palavra desejada e o ndice mostra em que pginas ela encontrada. E, grosseiramente, assim que funciona o ndice de uma tabela. fcil entender por que um ndice pode ajudar muito a performance das consultas em uma tabela, e que a falta de ndices (ou existncia de ndices ruins) causar um enorme impacto na performance. Eu no me lembro de nenhum cenrio em que seja recomendvel criar uma tabela sem nenhum ndice. obrigao do proprietrio da tabela criar ao menos um ndice, e ele deve ter muito cuidado na escolha dos campos que faro parte desse ndice.

E ainda existe um risco escondido nessa histria. Voc at pode imaginar que suas operaes de SELECT tero garantia de boa performance... Mas isso no verdade. A boa performance depende da qualidade dos ndices que voc definiu. Portanto, ndices ruins certamente vo impactar a alterao de dados, mas eles podem no funcionar bem na seleo de dados. Isso leva outra questo: preciso muito cuidado para definir os ndices de cada tabela.

Bons ndices
Um bom ndice deve ter alta cardinalidade, isto , usar valores que so raramente repetidos. Dessa forma, um valor pesquisado vai selecionar um pequeno nmero de registros (e muitas vezes um nico registro, como acontece quando temos ndices do tipo UNIQUE). Por exemplo: nunca se devem indexar campos do tipo SIM ou NO, j que eles selecionam metade de toda tabela. Outra caracterstica que se deve observar o comprimento do ndice, ou seja, a quantidade de campos e o tamanho dos campos usados no ndice. Comprimento menor significa menos espao para armazenamento do catlogo de dados e tambm maior facilidade de processamento pelo SGBD. A relevncia do ndice em termos de negcio tambm deve ser observada. Muitas vezes, temos problemas com ndices que so tecnicamente bons, mas que no so relevantes do ponto de vista do negcio e por isso no apresentam boa performance. Uma chave substituta (leia-se: campo IDENTITY ou SEQUENCE) um timo candidato a ndice, considerando-se os aspectos tcnicos. Mas ela no representa nada no mundo dos negcios. Ela foi criada apenas para facilitar a identificao do registro da tabela. Isso no quer dizer que chaves substitutas sejam sempre ndices ruins. Existem muitos casos em que a chave candidata da tabela (aquela que identifica um registro e o torna nico) composta por oito ou mais colunas. Isso acontece, por exemplo, quando se trabalha com modelagem multidimensional (Business Intelligence). Nesses casos, muito provvel que a chave candidata seja uma chave muito longa e, eventualmente,

O programador pessimista
Outro comportamento desastroso o do programador que no confia nos ndices que ele definiu... e da resolve criar um batalho de ndices em cada tabela. Vi muitas vezes profissionais to pessimistas que at subestimaram a eficincia do otimizador de consultas do SGBD e definiram ndices sobre as mesmas colunas, mudando apenas a ordem em que elas aparecem. ndices so, grosso modo, resumos dos dados. Assim sendo, de se esperar que cada ndice ocupe uma pequena frao do espao ocupado pelos dados. muito comum que se crie mais de um ndice por tabela, mas preciso ter muito cuidado com isso. Eu j vi ambientes de produo em que havia tabelas com centenas de milhes de registros que tinham tantos ndices diferentes que os dados representavam menos de 20% do espao ocupado em disco... os outros 80% eram usados para armazenar ndices! Pense no impacto que isso causa para o banco de dados: cada novo registro que inserido, atualizado ou excludo da tabela, precisa ser registrado primeiro no log do banco, depois nas pginas de dados da tabela e em seguida nas pginas de dados de cada um dos ndices que esto associados tabela. Se sua tabela tiver seis ndices, por exemplo, uma nica operao de INSERT precisar escrever dados em oito lugares! Evidente que qualquer alterao de dados ser muito lenta numa tabela com tantos ndices.

18 > Banco de Dados

seria vantajoso indexar a chave substituta em vez da chave candidata. Essa uma escolha arriscada e exige que o DBA e/ou programador avalie caso a caso a estratgia a ser usada.

E tambm no se pode esquecer que o otimizador de consultas do SGBD decide pela utilizao ou no de um dado ndice em um determinada consulta baseando sua escolha nas estatsticas de utilizao desse ndice. So elas as estatsticas, que acabam por definir como ser a interao entre o otimizador de consultas e os ndices da tabela. muito importante que se criem estatsticas de uso de ndices e que elas sejam recicladas quando necessrio. Estatsticas desatualizadas podem induzir o otimizador de consultas a tomar decises erradas, comprometendo a performance das consultas.

O que so ndices clusterizados


Por ltimo, preciso diferenciar dois tipos essenciais de ndices. A grande maioria dos SGBDs relacionais usa ao menos dois tipos de ndices que precisam ser conhecidos por todo profissional que lida com bancos de dados: os ndices clusterizados e os no-clusterizados. Em geral, quando falamos de um ndice, estamos pensando no que chamamos de ndices no-clusterizados. Estes so catlogos construdos a partir dos dados da tabela, nos mesmos moldes do ndice remissivo dos livros que eu descrevi anteriormente. Cada tabela pode ter quantos ndices no-clusterizados que se deseje criar. Mas ndices clusterizados funcionam de modo muito diferente. Em vez de criar um catlogo, esse ndice redefine a ordenao fsica em que os dados so armazenados. Isso quer dizer que os dados so inseridos nas pginas de dados de tal maneira que sejam fisicamente gravados na ordem desejada. Por essa razo, cada tabela pode ter no mximo um ndice clusterizado. Por conta disso, todos os ndices no-clusterizados de uma tabela criam catlogos baseados na ordenao definida pelo ndice clusterizado (caso ele exista). Sendo assim, fundamental que o ndice clusterizado da tabela seja de boa qualidade, porque dele dependem todos os outros ndices. Um bom ndice clusterizado ajudar a melhorar performance dos ndices no-clusterizados.

Concluso
Indexao de fundamental importncia para o bom funcionamento de um banco de dados. Mas um assunto complexo. muito importante que o proprietrio/administrador/desenvolvedor da base aja com bom senso na definio dos ndices. Do mesmo modo como o remdio que pode curar ou matar, dependendo da dose que se ingere, os ndices podem ser a salvao ou o pesadelo do seu banco de dados. E o caminho para evitar problemas consultar um especialista... e ler a bula (documentao) para conhecer melhor esse remdio. </>

Manuteno de ndices
Apenas criar ndices no uma soluo definitiva. ndices se fragmentam medida que os registros da tabela so inseridos ou alterados. E precisam de manuteno peridica, para que o catlogo (ou seja, as pginas de dados do ndice) seja reorganizado. Essa a famosa operao de REBUILD.
Wagner Crivelini DBA de SQL Server & DB2. Profissional certificado IBM IT Specialist Level 2 - Expert, publica o blog wCrivelini e o podcast Databasecast. Autor convidado de diversas comunidades tcnicas no Brasil e no exterior, como SQL Server Central, iMasters, SQL Magazine e IBM DeveloperWorks.

1 9

20 > Capa

Nuvem Negra
ou, computao em nuvem no so s flores
Por @lufreitas para Revista iMasters

21

O cloud computing veio para ficar. E importante conhecer, tambm, o outro lado dessa histria dos impactos s falhas.
Todo desenvolvedor, hoje, usa a Nuvem. Alis, todo mundo desenvolvedor, usurio, empresas grandes e pequenas. Segundo Luli Radfahrer, professor de Comunicao Digital na ECA-USP, rodar na Nuvem to obrigatrio quanto ter um perfil nas redes sociais. Nessa nova onda que estamos surfando, tudo parece lindo. H disponibilidade de espao, que nunca foi to barato e acessvel, h escalabilidade. E o efeito prtico disso a produo macia de dados. Para se ter uma ideia, em um dia do sculo XXI, produzimos trs vezes o equivalente a tudo o que foi produzido at a dcada de 80, diz Luli. Com uma horda de bilhes de usurios, todos a postos para compartilhar fotos, vdeos, blogs, reblogs, acesso mvel e experincias imersivas, sem falar no e-commerce, nas empresas, em todos os negcios online, o consumo de recursos alto. Maior a produo, maior a preocupao e a ansiedade com questes importantes de segurana e com o consumo de energia gigantesco , bem como as pilhas de lixo eletrnico. Carros poluem, mas a gente reusa a matria prima. Isso no acontece com os eletrnicos que giram mais rpido e tm potencial muito mais txico para o meio ambiente, diz Luli. negcios em torno da Nuvem, Amazon, Apple e Microsoft, se apoiam em fontes sujas de energia para abastecer suas estruturas. Yahoo! e Google lideram a inovao no setor, seja priorizando fontes limpas de energia para expandir suas nuvens, como investindo diretamente em fontes de energia renovvel. 2. O Facebook, o principal destino dos mais de 800 milhes de usurios no mundo, se comprometeu a investir mais em energia limpa. O primeiro grande passo nessa direo foi dado com a construo de um novo datacenter na Sucia, que pode ser totalmente abastecido com energia limpa. 3. A concentrao dos datacenters em determinados locais (principalmente Estados Unidos) tem impacto significativo no consumo de energia eltrica e na administrao de suas fontes de produo. Se os novos equipamentos forem instalados nos mesmos lugares, fica cada vez mais difcil migrar os investimentos e as comunidades que os cercam para fontes limpas de eletricidade. 4. A Akamai (akamai.com) usou, no ano passado, o padro de Eficincia de Uso do Carbono (Carbon Use Eficiency - CUE, em ingls). Ela foi a primeira e nica empresa de TI a fazer isso. J um resultado da presso ambientalista por tecnologias que sejam mais eficientes e menos poluentes. H que prestar ateno tambm nisso. 5. Apesar das evidncias, as empresas vendem a Nuvem como verde, mas no so transparentes a respeito do consumo de seus datacenters e avaliam muito mal seu impacto ambiental. 6. As comunidades de hardware e software deram sinais de compartilhar, no timo formato open source, as melhores prticas para que os novos equipamentos e programas tenham projetos mais eficientes.

A Nuvem polui
O Greenpeace concorda com Radfahrer. nico instituto a divulgar os impactos da tecnologia no meio ambiente, eles publicaram, em 2012, o estudo Quo limpa sua Nuvem? (How Clean is your Cloud?, disponvel para download em http://ow.ly/mDroH).

As concluses fundamentais do estudo?


1. As trs maiores empresas que constroem

22 > Capa

Tabela de uso de energia fonte: How Clean is your Cloud?, Greenpeace

23

Luli concorda em gnero e grau com o estudo do Greenpeace. Isso o efeito colateral de uma ideia boa, diz. J Antonio Santos, especialista de Soluo de Segurana da Oracle do Brasil, acha que a Nuvem usa melhor os recursos, porque acontece uma otimizao do hardware em larga escala. S que ningum sabe exatamente o tamanho da Nuvem. O Greenpeace justifica que a falta de preciso se deve ao eterno crescimento dos negcios online, aos muitos aparelhos usados para acesso e mudana rpida tanto da tecnologia como dos modelos de negcio. Mas a grande dificuldade ter informaes das empresas. Num ramo competitivo, em que os negcios exigem rapidez, segurana e sigilo, ningum quer contar o que usa e como usa. De qualquer jeito, a Nuvem, em 2007, j era a quinta maior fonte de consumo de eletricidade no planeta - 623 bilhes de kwH. O Facebook consumiu, em 2011, cerca de 509 milhes de kWh. Em 2010, o Google consumiu dois bilhes de kWh. Repare nas datas: no, ningum consegue consolidar a informao de um jeito uniforme! Graas presso ambientalista, no perodo de 2005 a 2010, em vez do aumento previsto de consumo (100%), a tecnologia aumentou o uso de energia eltrica em 56%. O que paradoxal que as empresas de TI esto mudando o mundo e a economia, mas ainda no comearam a inovar no uso de energia. Essa a questo l no front end. No back end, a coisa tambm no simples. Segundo artigo do Datacenter Knowledge (aqui: http://ow.ly/ mDssD), a infraestrutura de todos est sendo muito mais requisitada. Exatamente por isso, preciso ter maleabilidade e ser capaz de uma administrao eficiente dos dados, principalmente se o negcio tiver um lado na Nuvem. J existem solues especficas para oferecer sistemas mais eficientes e atender s novas demandas tanto da tecnologia como dos negcios. Mais que isso: a Nuvem capaz de oferecer todas as demandas do seu projeto, mas ela ficar de p? Quem faz Internet sabe que nem s de

alegria se vive. Haja estmago e sangue frio para lidar no s com os ataques e com a disponibilidade e, no Brasil, com a infraestrutura da comunicao, que est sujeita a panes generalizadas e falta de sinal em determinadas regies.

Segurana preo duro


Antonio e Luli chamam a ateno para outro lado obscuro da Nuvem: a segurana. Segundo Luli, a grande questo que a facilidade de armazenamento cria um efeito cascata - voc salva os mesmos dados em muitos lugares. Como no existe uma dimenso fsica do que esto fazendo, h uma redundncia de informao enorme. E isso prejudica a segurana dessa informao, explica Luli. Com a facilidade de acesso da informao, os usurios tendem a relaxar com a segurana afinal, o que eu no posso pegar, no existe, diz Luli. Antonio Santos, especialista em segurana da Oracle, ressalta que sempre preciso pensar segurana de acordo com os trs pilares: confidencialidade, disponibilidade, integridade. A gente no deveria saber onde est a Nuvem, e esse um dos pontos negativos: voc confia seus dados, seu negcio a um fornecedor. Como essa informao ser tratada?, questiona. Em geral, todos se prendem confidencialidade (sigilo dos dados colocados na Nuvem). Antonio diz que nenhum sistema seguro se no pensar nos trs pilares juntos. Disponibilidade significa: o provedor de servios consegue manter o servio disponvel 100% do tempo? As leis locais permitem o seu negcio? Haver questes especficas de acesso informao?, explica Antonio. Integridade significa que seus dados estaro l perfeitos, nada de corrupo. Para garantir isso, preciso ter estrutura bem montada e a possibilidade de gerenciar usurios, para definir os usos e os limites de cada perfil que tem acesso Nuvem. A insegurana est em todos os ambientes

24 > Capa

que frequentamos online. Basta coletar rapidamente as notcias sobre vazamento de dados de servios tanto gratuitos quanto pagos. Sony, Evernote e Apple so apenas trs de muitos que perderam parte dos dados de seus usurios. No comeo de julho, foi revelado um caso de vazamento macio de dados do Facebook. Se a Nuvem flexvel, ela tambm pode ser privada. E a criptografia que temos j garante uma certa segurana s informaes que precisam de sigilo. Antonio lembra que os funcionrios vo levar seus dispositivos para o trabalho. Ao notebook juntaram-se smartphones, tablets, modems. A segurana dos dados envolve, tambm, o uso desses equipamentos (e das informaes da empresa) dentro e fora do trabalho. Segundo Cezar Taurion, preciso mudar o raciocnio da TI: A prpria consumerizao gera a fora necessria para a mudana de uma TI rgida e controlada por um departamento especfico, como temos hoje, para approaches mais abertos, colaborativos e flexveis, nos quais a TI passa a ser uma conselheira dos usurios, diz (veja mais em http://ow.ly/mDtQB). Alm disso, o Bring Your Own Device (BYOD) traz consigo a sua prpria Nuvem, que Cezar chama de BYOC (Bring Your Own Cloud). Quem nunca colocou arquivos da empresa num Dropbox que jogue a primeira pedra... cada vez mais difcil separar nossa vida pessoal da profissional e, como a nuvem pessoal passa a ser nosso hub de contedo, como ignorar essa tendncia dentro das corporaes? Uma coisa armazenarmos em um DropBox nossas fotos, msicas e vdeos das nossas frias, que pertencem a ns, e a deciso e o eventual risco nosso. Outra armazenar nessas nuvens contedo que pertence s empresas para as quais trabalhamos, escreve o especialista aqui: http://ow.ly/mDu6U

exemplo, considerar que plataformas sociais no so distrao, mas sim a base para o aumento da produtividade. As pessoas esto cada vez mais interdependentes e conectadas, e trabalham de forma colaborativa. Impedir isso implica baixar a eficincia das empresas. Tambm preciso entender que as informaes internas so apenas um pequeno estrato do total de informaes que os funcionrios e executivos poderiam usar para efetuar suas tarefas e tomar decises. As empresas usam em mdia 0,5% do total de informaes, internas e externas, que de alguma forma podem ser teis ao negcio. O conceito de Big Data se encaixa neste aspecto. A fora de trabalho estar cada vez mais mvel, e dispor de dispositivos para acessar informaes no dever mais ser privilgio de alguns, mas essencial a todos os funcionrios para efetuar as suas tarefas cotidianas. Mobilidade ser a regra, e no a exceo. Por fim, redesenhar seus aplicativos para que eles se tornem plataformas onde as interfaces sejam desconectadas dos processos embutidos neles. Criar APIs que permitam aos usurios criarem suas prprias interfaces e customizar suas experincias, necessidades pessoais e preferncias de uso. O modelo one size fits all para as interfaces propostas pelos modelos de aplicativos atuais, tipo ERPs, ter que ser repensado. Provavelmente o modelo de app store interna dever ser o modelo que ir prevalecer na oferta de solues para os usurios. (http://ow.ly/mDuP2)

Sem fronteiras, pero no mucho


A Nuvem, essa linda, tem um lado no apenas sujo, mas tambm feio, ao violar os direitos das pessoas. Um exemplo o paradoxo da localizao ao usar um servio na Nuvem. Conforme a rede vai conectando o mundo, os datacenters no so to internacionais assim e nem os negcios.

Se a tecnologia muda, a TI tem que se repensar


O que TI dever proativamente desenvolver? Primeiro, quebrar paradigmas arraigados. Por

25

Afinal, a Nuvem obedece a qual lei? Em que preciso se basear na hora de escolher um servio de cloud computing para a sua empresa? E, sendo um usurio da web, e sendo a web mundial, por que alguns servios de streaming no podem ser acessados em determinados pases? Os usurios de Internet no Brasil vivem isso constantemente, com o Pandora, por exemplo. Comprar tambm um mistrio, por que, afinal, ser que o gadget sonhado passar pela alfndega? O mesmo se aplica aos dados: a lei do pas onde esto os datacenters vale para os dados. No toa que ningum sabe onde esto os servidores do Pirate Bay e de outros servios de tor-

rent. E mais: em nome da segurana nacional, os governos tambm provam que podem, sim, invadir a privacidade no s de seus cidados, mas tambm dos cidados de outros pases. Apavorou? timo. Porque nem tudo mansido e maravilha no mundo da Nuvem. A gente ganha flexibilidade, extenso de poderes, arquivos sincronizados, sistemas que podem ser modulados de acordo com a necessidade. E precisa ter cuidado dobrado com os dados, a forma do trfego, o gerenciamento de TI. Sejam bemvindos ao sculo XXI, ele promete uma enorme revoluo na vida humana, mas est exigindo o sacrifcio de nossas certezas e a inovao de um jeito nunca antes navegado. </>

26 > Por dentro da W3C

Garantindo a acessibilidade do seu website


Por @reinaldoferraz

Escreva um cdigo semntico


Durante o processo de elaborao da arquitetura de informao e wireframes, identifique os elementos que tm significado em sua pgina (cabealhos, menus, rodap, contedo principal etc.) e d um significado a cada um deles. Cabealhos transformam-se em <H1>-<H6>, menus viram <nav> e <li>, contedos vo dentro de elementos <section> e <article>, rodaps viram <footer>, e assim por diante. muito mais inteligvel para a mquina identificar elementos com significado do que uma poro de <div> aninhadas.

grande vantagem. Mas existem parmetros especficos que os validadores de HTML no identificam. E nesse momento que entra a validao automtica de acessibilidade. O validador de HTML identifica, por exemplo, se uma imagem no tem o atributo alt, mas no consegue identificar se a estrutura de cabealhos de uma pgina foi feita de forma adequada com <h1>-<h6>, ou se o idioma da pgina foi declarado. Mesmo com certas limitaes, os validadores so grandes auxiliadores na verificao de possveis problemas de acessibilidade nas pginas e nos auxiliam a resolver de forma adequada e efetiva. Por isso mesmo, a validao automtica um fator importante na verificao da acessibilidade do cdigo. A WAI, iniciativa de acessibilidade do W3C, disponibiliza em seu site uma lista de validadores que podem ser utilizados para testar suas pginas no link http://www.w3.org/WAI/RC/tools/complete. Outro ponto a se considerar fazer a validao de acessibilidade sobre a tica das diretrizes de acessibilidade WCAG 2.0 (http://www.w3.org/ TR/WCAG/). Muitos validadores ainda utilizam o WCAG 1.0 como referncia, o que no ruim. O problema que o WCAG 1.0 uma documentao de 1999, enquanto a verso 2.0 foi lanada em 2008. Isso significa que a forma como as duas documentaes tratam determinados pontos como scripts ou elementos multimdia pode ter mudado e pode afetar a validao automtica das pginas. Naquela mesma lista de validadores indicados no site do WAI, voc pode encontrar validadores de acessibilidade para WCAG 2.0 (como o espanhol TAW http://www.tawdis.net/ e o portugus Access Monitor http://www.acessibilidade.gov.pt/ accessmonitor/). Voc tambm pode incrementar a validao automtica com ferramentas de validao de contraste e performance da sua pgina web. Mas o validador automtico no capaz de identificar certos pontos especficos de acessibilidade. Imagine uma pgina com uma foto do Cristo Redentor. Se o atributo alt no for declarado nessa

Validando markUp
Validao da sintaxe do seu cdigo HTML pode identificar problemas primrios em sua pgina, como elementos fechados incorretamente ou atributos que no fazem parte daquela tag especfica. Faa a validao de HTML (http://validator.w3.org/) e CSS (http://jigsaw.w3.org/css-validator/) para ter certeza de que seu cdigo est escrito corretamente segundo a especificao. importante ressaltar que o validador automtico vai identificar erros de sintaxe e no erros de semntica, como a falta de cabealhos ou rodaps das pginas. Por esse motivo, o passo anterior fundamental.

Validao automtica de acessibilidade


Aqui vale um esclarecimento: validao de markup diferente de validao de acessibilidade. Existem ferramentas que fazem verificao da sintaxe do HTML e do CSS e validao de acessibilidade com base nas diretrizes internacionais, as WCAG (Web Content Accessibility Guidelines). Normalmente, as ferramentas consideram erro de markup um problema de acessibilidade tambm, o que uma

27

Verificar se um website est acessvel vai muito alm de colocar sua URL em um sistema de verificao automtica de cdigo. Validao de acessibilidade envolve uma relao muito prxima com o usurio, e os resultados so importantssimos para o crescimento de uma web efetivamente para todos.

imagem, os validadores de acessibilidade acusaro o erro. Porm, ao adicionar qualquer valor dentro dele, como alt=&nbsp; ou mesmo alt=foto, o validador considerar que o atributo foi preenchido e dar OK para esse ponto sem verificar se aquele texto representa ou no a imagem. O objetivo no obter um OK de uma ferramenta automtica, e sim garantir a acessibilidade das suas pginas. A maioria dos validadores exibe avisos sobre pontos que ainda no podem ser validados por uma mquina. Por esse motivo, necessrio fazer uma ltima etapa de validao de acessibilidade.

como identificar erros ao preencher um formulrio ou comportamentos inesperados com scripts ou elementos multimdia em suas pginas.

Vantagens de considerar acessibilidade na web


Promover boas prticas de acessibilidade na web beneficia o acesso de todas as pessoas. Em algum momento da nossa vida, podemos precisar de acessibilidade em nossas pginas e se no cuidarmos delas agora podemos ser barrados no futuro por problemas de acessibilidade em uma pgina que ns mesmos construmos. Quando consideramos essas tcnicas em um projeto web, permitimos que pessoas com deficincia tenham cada vez mais autonomia na web. Essa autonomia revertida em novos usurios e consumidores. Alm de beneficiar o acesso de pessoas com deficincia, seu projeto web s tem a ganhar utilizando as tcnicas descritas acima. Algumas delas so o carregamento melhor e mais rpido nos mais diversos dispositivos e a adio de elementos e informaes que beneficiam SEO (Search engine optimization), entre muitos outros. </>

Validao manual
Depois de passar por uma validao automtica e identificar grande parte das barreiras de acessibilidade, hora de passar pelo teste mais importante: verificar se seu website acessvel para pessoas. Sim, fazer verificaes manuais a melhor forma de identificar pequenos problemas na pgina - por exemplo, se o link para saltar contedo realmente salta para o ponto certo da pgina ou se as imagens ilustrativas tm sua descrio correta. Utilize os avisos (warnings) dados pelos validadores automticos para identificar esses pontos e use as sugestes e as dicas que eles do para correo dos erros. Vale a pena tambm instalar um software leitor de tela e navegar por atalhos de teclado, como pelos cabealhos de pgina (a maioria dos leitores de tela utiliza as teclas H ou os nmeros de 1 a 6 para navegar por nveis de cabealhos). Existem softwares leitores de tela gratuitos ou com perodo limitado para testes, para os mais diversos sistemas operacionais. A navegao por teclado valiosa para identificar possveis barreiras que possam ser acessveis somente utilizando o mouse. Validaes manuais podem prevenir que a navegao da pgina via teclado tenha algum problema,

Reinaldo Ferraz especialista em desenvolvimento web do W3C Brasil. Formado em Desenho e Computao Grfica e ps graduado em Design de Hipermdia pela Universidade Anhembi Morumbi, em So Paulo. Trabalha h mais de 12 anos com desenvolvimento web. Coordenador do Prmio Nacional de Acessibilidade na Web e do Grupo de Trabalho em Acessibilidade na Web e representante do W3C Brasil em plenrias tcnicas do W3C.No Twitter @reinaldoferraz

28 > Cultura Hacker

Mitch Altman e a origem dos hackerspaces


Por @carineroos

Imagem: https://www.noisebridge.net/

Se pudesse resumir em uma frase o que de fato motiva o hacker e cofundador do Noisebridge (https://www.noisebridge.net/), hackerspace da cidade de So Francisco, seria incentivar pessoas a formar comunidades para fazer coisas que elas amam. E exatamente isso que Mitch faz h muitos anos conhecendo hackerspaces pelo mundo todo, ensinando pessoas a fazerem coisas legais com eletrnica e promovendo oficinas de solda com os seus kits de hardware livre. Mitch Altman foi um dos pioneiros no trabalho com Realidade Virtual na VPL Research, tambm conhecido por inventar o controle remoto universal, o TV B-Gone (http://tvbegone.com) um chaveiro que desliga qualquer TV em espaos pblicos. A mensagem simples: You control when you see TV, rather than what you see. Tambm criador do Brain Machine (http://ow.ly/n8Jji), um dos projetos DIY mais populares da Make Magazine, alm de presidente e CEO da empresa Cornfield Electronics.

Esse entusiasta da tecnologia esteve no Brasil, e a sua parada inicial, antes de palestrar no 14 Frum Internacional de Software Livre (FISL), foi dar workshops de solda primeiramente no Mate Hackers (http://matehackers.org/), hackerspace de Porto Alegre, em 28 de junho, e posteriormente no Garoa Hacker Clube (https://garoa.net.br), hackerspace de So Paulo, em 30 de junho. Participei da sua oficina no Garoa, e foi um sucesso, com vrias pessoas montando os seus kits e trocando ideias sobre eletrnica. Tambm pude conversar com ele sobre hackerspaces e as suas motivaes. Para Mitch Altman, hackerspaces so espaos mpares, no existe uma forma nica de como esses espaos devem ser, e o que os caracteriza serem espaos autnticos e anrquicos. No h um centro de poder ditando o que voc pode ou no fazer. Todos podem desenvolver projetos, compartilhar conhecimento e explorar os limites do que pode ser feito com qualquer tecnologia. Essa essncia

29

Foto de Nicohofmann/ Chaos Communication Camp 2011 Laser Show

o que o faz Mitch ajudar hackerspaces a crescerem e criarem as suas prprias razes. A sua inspirao para fundar o Noisebridge, e como a de alguns outros hackers dos EUA, foi ter participado do Chaos Communication Camp (http://ow.ly/n8JCs) em 2007, na Alemanha, evento quadrienal organizado pelo Chaos Computer Club desde 1999, que rene hackers do mundo todo acampados com acesso Internet para discutirem assuntos tcnicos e sociais como privacidade, liberdade de informao e segurana de dados. As palestras so feitas em hangares de um aeroporto desativado da ex-Alemanha sovitica, no qual temporariamente hackerspaces se instalam de forma itinerante em um grande acampamento tecnolgico. Pela primeira vez na vida, Mitch se sentiu vontade para fazer parte de um grupo que compartilhava dos seus mesmos ideais e que queria aprender e trocar informaes sobre tecnologia e afins. E foi

dessa experincia, resultante de uma caravana de entusiastas de tecnologia dos EUA que visitaram o Chaos Communication Camp e voltaram muito inspirados, que saram os primeiros hackerspaces norte-americanos, como o Noisebridge, em San Francisco, o NYC Resistor, em Nova York, o Hacktory, na Filadlfia, e o HacDC, em Washington, DC. Durante os anos seguintes, estes serviram de inspirao para o surgimento de centenas de outros espaos similares, no s nos EUA, mas tambm em iniciativas como o Garoa Hacker Clube, no Brasil. Outro incentivo que fortaleceu esses espaos foi ter feito parte da rede hackerspaces.org - criada por Astera, uma integrante do hackerspace de Viena, na ustria, o METALAB - um excelente repositrio de informaes do que d e do que no d certo em hackerspaces. Enquanto esses laboratrios comunitrios estavam florescendo nos EUA, na Europa a cultura hacker j era forte desde a dcada de 80, com o pionei-

30 > Cultura Hacker

ro Chaos Computer Club. Ao contrrio de muitos hackerspaces que apenas possuem o propsito de prover uma infraestrutura para que amantes da tecnologia desenvolvam os seus projetos de segurana, hardware, eletrnica, software e robtica, o Chaos Computer Club tem como objetivos principais a liberdade de acesso informao, a liberdade de expresso, maior transparncia no governo e acesso livre e universal Internet. O CCC mais conhecido por suas demonstraes pblicas de vulnerabilidades de segurana. Em maro de 2008, o CCC coletou e publicou as impresses digitais do ministro do interior alemo Wolfgang Schuble. A revista do clube Die Datenschleuder (http://ow.ly/n8QL8) tambm inclua as impresses digitais em um filme que os leitores podiam usar para enganar leitores eletrnicos de impresses digitais. Isso foi feito em protesto ao uso de dados biomtricos em dispositivos de identificao na Alemanha, como os passaportes eletrnicos. Um aspecto fundamental da cultura hacker e que permeia esses hackerspaces a cultura de permisso, isto , voc no tem que pedir permisso para fazer as coisas, o mote faa primeiro e pergunte depois. E nesse ponto que surge a inovao dentro da cultura hacker: voc faz algo porque voc acha legal e considera um desafio, e a partir dessa ao resultam projetos interessantes. Por serem anarquistas por vocao, os fundadores do Noisebridge buscam ter o mnimo de regras possvel. Sendo assim, o clube tem uma nica conduta: Be excellent to each other!. Todas as decises so feitas por consenso nas reunies semanais, de modo a se evitar o que conhecido como a tirania da democracia, em que em um grupo de 100 pessoas, 51 votam por algo que acaba desagradando as outras 49. Por meio da adoo do consenso, ningum fica infeliz. Entretanto, a prtica da deciso por consenso acaba sendo bastante conservadora, fazendo com que as coisas evoluam mais lentamente. Como forma de contrabalancear isso, utilizado o conceito de doocracy (faocracia), no qual uma pessoa pode tomar a iniciativa de fazer algo por conta prpria sem precisar alcanar consenso formal, desde que se tenha em mente a nica regra de convvio: Be excelent to each other!. Hackerspaces podem ser vistos como uma ressignificao de espaos iniciais como o Tech Model Railroad Club (TMRC) do MIT, nas dcadas de 50 e 60. O clube de ferromodelismo era composto de diversos grupos, alguns interessados em construir rplicas de trens histricos ou com algum tipo de valor sentimental, outros interessados em construir maquetes das paisagens onde andavam os ferromodelos, e outros que formavam o grupo conheci-

do como Signals and Power Subcommittee, que criava os circuitos eletrnicos que controlavam a operao dos trens. Foi entre os integrantes deste ltimo grupo que se popularizaram diversos termos, entre eles, hack. Como exemplo do que pode ser considerado a essncia do hacking (o entendimento to profundo sobre o funcionamento de um sistema a ponto de conseguir utiliz-lo de uma maneira para a qual ele no foi originalmente projetado), conta-se a seguinte estria: Certa vez, os hackers do TMRC tinham em mos um conjunto de trilhos muito grande que ocupava toda uma sala, e as centrais de comando de ferromodelo que eles possuam na poca no davam conta do tamanho da malha que eles tinham. Para resolver o problema, um dos membros do grupo achou uma central telefnica velha jogada no lixo e percebeu que essa central telefnica analgica, que apenas ligava e desligava circuitos, era exatamente o que era preciso para se comandar as mquinas de ferromodelo. Eles usaram essa central telefnica que foi projetada para funcionar como central telefnica, mas a adaptaram para comandar uma malha de ferromodelo que era do tamanho de uma sala, o que era um feito de incrvel engenhosidade. Um verdadeiro hack, na gria utilizada pelo grupo naquela poca. Assim, podemos dizer que hackerspaces podem ser vistos como um retorno a esse esprito hacker de espaos iniciais como o TMRC e, mais tarde, o Homebrew Computer Club, na dcada de 70 no Vale do Silcio. Muito do que feito hoje em hackerspaces genuinamente anlogo a esses clubes, com a diferena de que hoje a tecnologia mais sofisticada e h com certeza muito mais sucata eletrnica aguardando para ser explorada. </>
Este artigo dedicado em memria ao Alberto Fabiano (Aleph Techberto), membro fundador do Garoa Hacker Clube, que ajudou a disseminar o conceito de hackerspaces no Brasil.

Carine Roos membro do Garoa Hacker Clube, entusiasta de tecnologia, especialista em mdias digitais e jornalista nas horas vagas.

32 > CMS

sem limites: desenvolvimento inusitado com a plataforma


Por @leandrovieira

27 de maio de 2003 foi a data que marcou o nascimento da plataforma de gesto de contedo mais popular da atualidade o WordPress tem, hoje, 18,9% de participao de mercado. So nmeros expressivos e muito significativos que marcam esses dez anos de caminhada. A expresso ainda maior ao se comparar dois de seus grandes concorrentes, Joomla! e Drupal, ambos com participao de mercado de 3,3% e 2,0%, respectivamente. (Dados coletados em 22/07/13, na W3Techs, em http://ow.ly/npZxx)

33

10 anos. 18,9% de participao de mercado. 58,7% de market share. Tantos nmeros, inmeras conquistas e ainda encontramos milhares de exemplos de uso do WordPress de forma limitada. Por qu? Por que no se pensa fora da caixa ao trabalhar com uma plataforma flexvel, sem limites e com diversas facilidades para se criar, inovar e ousar com responsabilidade e segurana? Em junho de 2013 foi realizado o iMasters InterCon Dev +WordPress, uma edio do InterCon temtica e focada na plataforma. Fui convidado para palestrar na abertura do evento e o assunto abordado foi o mesmo deste artigo. Dias antes, realizei um exerccio procura de indcios relacionados ao bloqueio e s limitao das mentes daqueles que desenvolvem para WordPress. A principal causa, segundo minhas prprias anlises, foram os temas padro que acompanham o pacote de instalao. Desde a verso 1.5 do WordPress, lanada em 2005, at a 2.9, lanada em 2009, o tema Kubrick o acompanhou e foi a inspirao - ou a falta dela - para muitas pessoas. O Kubrick foi lanado em setembro de 2006 e figurou entre os temas mais populares do WordPress com milhes de downloads. A criao foi do Diretor de Interfaces Michael Heilemann. Seu formato pouco arredondado, a coluna central e uma lateral direita era comumente visto em vrios sites baseados em WordPress. Essa referncia largamente utilizada por mais de quatro anos despertou designs limitados e pouco criativos. claro que tivemos boas excees. Ainda bem. O lanamento da verso 3.0 foi um grande marco para a plataforma. Sua chegada, em junho de 2010, marcou a fuso de cores do WordPress e do WordPress MU e a iniciativa de ter um novo tema padro por ano. O tema 2010 perdeu as bordas limitadoras, algo marcante no Kubrick, e assim comeou a era de focar mais em recursos de CMS do que de blog. No entanto, a falta de ousadia inibiu inspiraes que nos permitisse ir alm. A mesma ideia se seguiu nos temas 2011 e 2012. Mas 2013 promete ser diferente.

O tema 2013 vem com uma proposta ousada em seu conjunto de cores, formatos e disposio. Vejo como um grande avano e uma vontade de ir alm inclusive com o tema padro, afinal ele o primeiro contato de muitos ao fazer uso do WordPress. importante deixar claro que todos os temas padro, desde o Kubrick, so excelentes referncias de estudo em termos de cdigo e exemplos de uso das funcionalidades oferecidas. Para mim, o melhor tema padro que existe, e espero que a partir de agora voc tambm o considere, uma tela em branco. Sim, isso mesmo. Uma tela em branco. J parou para pensar como os artistas iniciam suas criaes? Sejam os digitais, com suas telas em branco no Photoshop, ou os que fazem uso das telas convencionais, a tela branca comum entre eles e uma convite sem igual para ir alm e pensar fora da caixa. Essa ideia de uma tela branca muito empolgante se pensarmos que, atravs dela, podemos focar nica e exclusivamente no projeto dos nossos clientes e no no tema padro do WordPress. Isso permite focar na melhor experincia do usurio, ousar na criao e garante entregar os trabalhos de forma ousada e inovadora. Lembre-se, a partir de hoje uma tela branca ser seu tema padro WordPress. Para voc ficar ainda mais confortvel com essa idia, vamos refletir sobre alguns pontos. A estrutura do WordPress trabalha para lhe entregar uma marcao HTML semntica e bem estruturada. A estilizao dessa estrutura atravs do CSS fica por conta do artista, voc. Da mesma forma para os comportamentos desejados atravs do JavaScript. No h motivos para se limitar. Lembre-se do projeto CSS Zen Garden, no qual usvamos uma nica marcao HTML e tnhamos liberdade de alterar o CSS e as imagens. O resultado foi a criao de sites incrveis e memorveis. Ainda temos outros grandes e bons motivos para ir alm. Faa uma anlise, por exemplo, da API de hooks do WordPress: seus famosos ganchos, que nos permitem alterar praticamente tudo da plataforma sem mexer em uma nica linha de cdigo do seu core, evoluram ao ponto de vermos uma curva crescente rela-

34 > CMS

cionada quantidade que foram adicionados aos ltimos releases. Perceba tambm que as novas verses j tm pouco espao para novas adies, o sistema est praticamente todo mapeado. Em resumo, liberdade para agirmos onde precisarmos. A estrutura do banco de dados simples, enxuta e muito flexvel. Trabalhar com o conceito de dado e metadado relacionado poderoso. Mas no se limite, h uma API para criar novas tabelas ao banco de dados do WordPress. E, mais uma vez, ir alm. J vemos casos de desenvolvimento de web apps baseados em WordPress, e um dos motivos a grande facilidade de uso da plataforma e seu poder em dar liberdade aos desenvolvedores criarem sem limites. Outras trs observaes importantes dizem respeito s verses atualizadas do WordPress, do PHP e do MySQL nas instalaes existentes da plataforma. Isso nos permite e d segurana para fazermos uso das novidades e no ficarmos presos a um passado limitado e sem brilho. A verso 3.5 do WordPress, a ltima considerando a data de escrita deste artigo (julho/2013), a mais utilizada, representando 39,1% de uso. A verso 5 do PHP est presente em todas as instalaes, o uso da verso 4 mnimo. Ufa! O mesmo cenrio se repete em relao ao banco de dados MySQL. Voc pode ver esses dados de forma visual aqui http://wordpress.org/about/stats/ WordPress sem limites. Considere o uso de uma tela branca a partir de agora e desenvolva de forma inusitada com essa plataforma. possvel ousar, inovar, ir alm sem medo e com segurana. As oportunidades esto a sua frente e prontas para o uso. Lembrando, a partir de hoje a tela branca seu tema padro do WordPress e aguardo ansioso por novos casos de sucesso. </>

Leandro Vieira uma das grandes referncias de WordPress no Brasil. Scio-fundador e Diretor de Tecnologia da Apiki WordPress, grande entusiasta e evangelista da plataforma. Adora compartilhar conhecimento atravs de seus cursos, palestras e bate-papos. leandro@apiki.com

+Interatividade > 35

O Gorila, o supercapacitor e a reinveno dos bancos


Por @pedrogravena

Existe uma experincia chamada Teste de Ateno Seletiva (quem no conhece d uma olhada aqui: http://youtu.be/vJG698U2Mvo). Resumindo, um teste para mostrar que, quando voc est focado em algo, capaz de no ver coisas que esto literalmente pulando na sua cara. No teste, seis pessoas ficam trocando passes com bolas de basquete, e seu objetivo contar quantos passes so feitos em 30 segundos de vdeo. Enquanto voc est entretido em contar os passes, no capaz de ver um Gorila que entra em cena. Bom, j tirei toda a graa do teste, mas faa assim mesmo para ter uma noo da experincia. O fato que existem mais Gorilas por a do que imaginamos. Todas as profisses tm Gorilas, e basicamente todos os grandes inovadores so pessoas capazes de ver esses Gorilas antes de algum contar que ele est l. Um pequeno, mas bem significativo exemplo: pensem em quanto milhares de dlares so gastos por ano para se obter baterias mais durveis, mais verdes, menores e mais flexveis. H indstrias gigantescas buscando isso - Motorola/Google, Apple, Samsung, e muitas outras. At a, tudo bem, nenhuma novidade, mas nesse mundo de tentativas, erros e acertos, surgiu algo realmente novo h poucos meses: uma menina indiana de 18 anos inventou uma maneira de recarregar a bateria em somente 20 segundos, usando um supercapacitor. No viu nada sobre isso? Corre aqui http://ow.ly/mU5KX A voc deve estar se perguntando: mas como? E por que nenhuma dessas grandes empresas pensou nisso antes? Bom, pra saber como, leia alguma das milhares de matrias sobre o assunto:http://migre.me/f9Ugh E pra saber por qu, lembre-se do Gorila. Estavam todos olhando para o mesmo lado, ningum pensando em como recarregar mais rpido, todos pensando em como fazer durar mais.

Essa menina de 18 anos acabou de mudar o mundo um pouquinho. Ela viabilizou a existncia e a melhoria do carros eltricos, por exemplo, entre muitas outras coisas. Lembra-me um pouco a histria de um carinha que em 1905 trabalhava num escritrio de patentes e, um dia, indo para o trabalho, olhou para a torre do relgio da cidade de Berna e mudou pra sempre o mundo, com a Teoria da Relatividade. Exageros parte, tanto Einstein quanto a menina de 18 anos viram o Gorila antes dos outros, foi s isso. Temos que treinar nosso crebro para ver Gorilas. Nesses anos, eu acho que descobri uma maneira de fazer isso:conversar. Quanto mais conversas se tem sobre o que vem por a, mais se comea a pensar sobre isso e a achar os Gorilas. Ento, fica aqui uma proposta:foca no Gorila! :)

Bancos
Quanto tempo voc acha que a instituio Banco vai continuar do jeito que est? Qual o futuro do dinheiro? Moeda social? BitCoins? Aqui h algumas propostas de Gorilas para o futuro dos bancos: GoBAnk -http://youtu.be/GMV0u96XSQc Bank Simple -https://simple.com/ Google Wallet send Money With Gmail: http:// www.google.com/wallet/send-money/ </>

Pedro Gravena Diretor de Criao Digital da Wieden+Kennedy So Paulo, j foi arquiteto, msico, artsta plstico, e est estudando para ser um inventor frustrado. Conhea mais em @pedrogravena e pedrogravena.posterous.com

36 > Front-End

<Front-End Ops>
introduo a uma nova disciplina
Por @danielfilho
Quando se fala de Front-End, existe uma assimilao direta com trs disciplinas, por assim dizer: HTML, CSS e JavaScript. Em uma viso bem pessoal, acredito que Front-End diz respeito a tudo que venha para a camada de renderizao e tudo que envolva o contedo a ser apresentado, que alm dos itens citados tambm inclui arquitetura de informao e design da pgina ouweb app. Com o amadurecimento da rea, importante que cada vez mais o profissional da disciplina deFront-End tenha domnio de mais e mais tcnicas e processos, para ter algum diferencial entre os concorrentes do mercado. Ei, voc quer ser o melhor, certo? Ento saia da zona de conforto! A disseminao do JavaScript em outros meios alm da linguagem de script que todos esto acostumados - como NodeJS para servidores, utilizao de JavaScript na programao de hardware(Node Copter,Johnny-Fivee outros) - vem aproximando cada vez mais os mundos que, antes, eram relativamente distantes. Como consequncia, novas disciplinas ou ramificaes acabam surgindo naturalmente. Uma destas disciplinas que tenho dedicado algum tempo nos estudos a chamada *Front-End Ops*, termo que vi pela primeira vez (mas j praticada bem antes disso) em um artigo escrito por Alex Sexton para o site Smashing Magazine. Este artigo tem o mesmo nome. Colocando isso no nosso cotidiano, sempre que voc precisa de um acesso especial a um servidor, ou que algum caminho seja mapeado, um servidor seja configurado, ou aquela frase famosa de reinicializar a aplicao, um profissional de operaes que executa. Recentemente temos visto a asceno do termo DevOps que, resumidamente, o desenvolvedor que estreita o conhecimento de tcnicas de operaes, conhecendo alm de linguagens de programao, tambm ambientes de operaes.

Front-End Ops
DesenvolvedoresFront-Endtambm so desenvolvedores, mas existe uma distncia natural - e no imposta - desse mundo de operaes. E o nosso objetivo aqui fazer uma srie de artigos com a vontade de estreitar mais estes dois mundos. J existem ferramentas e processos que trazem o mundo de Operaes Web pra perto do desenvolvedorFront-End. Dentre todas que existem, as que mais utilizo soVagrant,GruntJSeCapistrano.

Vagrant
Imagine a seguinte situao: voc trabalha com vrios projetos, desenvolvidos em diversas tecnologias diferentes. Um em NodeJS, outro em Ruby e outro em Python. Voc tem duas opes para rodar seus projetos em ambiente de desenvolvimento (dev): 1. Instalar e configurar em sua mquina todos os ambientes necessrios para desenvolvimento. 2. Instalar e configurar mquinas virtuais, com todos os ambientes necessrios para o desenvolvimento.

Ops
O termoOps(no nosso caso) vem deWeb Operations - em portugus, Operaes Web. Segundo o verbete em ingls na Wikipedia (http://ow.ly/ nmGi4), significa domnio de conhecimentos dentro da gesto de sistemas de Tecnologia da Informao, que envolve a implantao, operao, manuteno, ajustes e reparos de uma aplicao e/ou sistema baseado na web.

37

O que oVagrantfaz te ajudar na segunda opo. Configurar, distribuir e integrar mquinas virtuais em seu ambiente de desenvolvimento.

Rollback, em tecnologia de informao, significa voltar para a ltima verso funcional do cdigo ou sistema (ou, voltar para uma verso especfica). Voc configura sistema de versionamento, branches, diretrios, opes de ssh, endereo dos servidores, tarefas que o Capistrano deve executar antes e/ou depois de enviar os arquivos e muitas outras opes, com um simples comando:
$ cap deploy

GruntJS
Agora, pense que voc quer ter no ambiente de desenvolvimento, seus scripts concatenados, mas no minificados. E em produo, voc quer que eles sejam concatenados e minificados. Alm disso, voc precisa compilar seu CSS, porque usouSASS, precisa organizar as pastas e arquivos de maneiras diferentes para cada ambiente e, sempre que salvar algum arquivo JavaScript ou CSS, precisa fazer todo esse processo novamente pra testar. Cansa s de pensar! Mas o GruntJS est a pra facilitar (quanta rima!). Fcil como listar os diretrios da sua mquina, basta rodar um comando para gerar a verso de desenvolvimento, outro para gerar uma verso pra produo, assim:
$ grunt dev

E se algo der errado, voltar apenas com um:


$ cap deploy:rollback

O processo de rollback no precisa ser tortuoso como costumvamos fazer: duplicar uma pasta ou arquivo, alterar seu nome com um timestamp ou _ no incio, copiar todos os arquivos novos e, caso algo saia errado, remover e renomear tudo de novo. O Capistrano faz este processo de maneira muito mais inteligente. Agora que voc j sabe do que se trata o termoOPSe, mais especificamente,Front-End Ops, voc est preparado para seguir com esta srie sobre o assunto. Nas prximas edies da Revista iMasters vamos nos aprofundar em cada uma das ferramentas que foram citadas, e voc ser capaz de servir, gerar e entregar sua aplicao web de maneira gil e profissional. Saiba mais: Node Copter - http://nodecopter.com/ Johnny-Five - http://bit.ly/Hv09E8 Vagrant - http://www.vagrantup.com/ GruntJS- http://gruntjs.com/ Capistrano - http://www.capistranorb.com/ SASS - http://sass-lang.com/

Ou:
$ grunt prod

Alm disso, voc tambm pode criar tarefas para aes especficas e nicas, como apenas rodar testes unitrios utilizando sua ferramenta favorita, apagar pastas especficas e muito mais. Mas e agora que os arquivos foram gerados, como entregar em ambiente de produo?

Capistrano
E depois que gerou sua verso para produo, voc precisa fazer odeploy, certo? Certo. E como voc faria isso? FTP? rsync? scp? WebDAV? Com o Capistrano voc pode, com apenas um comando, gerar sua verso de produo com o GruntJS e entregar todos os arquivos, com um sistema de versionamento em produo inteligente e, se por acaso subir algo errado no ar, pode fazerrollbackdodeployem questo de segundos. Isso mesmo, SEGUNDOS.

Daniel Filho especialista em desenvolvimento Front-End no iG e criador e co-apresentador do podcast Zone Of Front-Enders. daniel.filho+imasters@gmail.com

38 > Design

Use design para melhorar seu cdigo


Por @pedrozath

Nesse aspecto, o design grfico tem muito a auxiliar, no sentido de tornar o cdigo fonte limpo e fcil de se entender, elevando a compreenso e acabando assim por melhorar a funcionalidade. Algo aparentemente paradoxal, pois como poderia algo esttico levar a uma melhoria de funcionalidade? Bem, responder a esta questo renderia um outro texto. Aos curiosos, sugiro que leiam O Design Emocional, de Donald Norman. E aos que se interessaram pelo conceito, explico melhor neste artigo.

Existem muitos tipos de design, como o de produto, o de interiores ou ainda o de interfaces, mas se existe uma caracterstica que muitos deles tm em comum a tentativa de tornar a vida do usurio mais fcil. Falar de Design do Cdigo no sentido do aprimoramento visual de um cdigo de programao ou de marcao pode soar tanto como loucura, como a vulgaridade de algum que aprecia esteticamente algo que deveria ser puramente funcional. Todavia, programar infelizmente ainda uma skill para poucos, mas ainda assim, h de se pensar no conforto que um ser humano vir a ter ao ler determinado cdigo, pois a atividade de desenvolvimento se torna cada vez mais social, por assim dizer, o que significa que aquilo de alguma forma ter de ser entendido por outros.

Design do Cdigo nas Linguagens de Programao


Trabalhar de certas formas facilita a produo de um cdigo claro e de fcil manuteno. Desde que no se encare como religio, sempre bacana buscar estes approaches. Estes no vem diretamente do design, mas convm serem citados:

Variveis claras

Procure usar variveis claras e no abreviadas. J se foi o tempo do MinhaStr_decontrole2 em vez de algo mais legvel e humano, como minha_string_de_controle.

No se repita (Dont repeat yourself)

Prtica j conhecida pela sigla DRY, significa evitar o mximo possvel a repetio de cdigo, o que muitas vezes pode ser dificultoso, pois geralmente envolve maior conhecimento da lngua na qual se est programando, alm de tcnicas (que podem ser cada vez mais aprimoradas).

Arquivos grandes so distrativos

Claro, todo desenvolvedor j teve aquele projeto super complexo, de prazo curto, que acabou culminando naqueles cdigos de 3 mil linhas num nico arquivo. E, certamente, nesses momentos, acaba-se dependendo fortemente do recurso de busca por palavra do editor que se usa. Toda linguagem que se preza tem alguma forma de se incluir arquivos externos (require, include). Faa uso, usando de seu bom senso.

Design do Cdigo nas Linguagens de Marcao

Neste terreno, o design brilha de verdade. H muito a ser melhorado e facilitado nestas linguagens. Mas para tanto, se torna necessria a adio de uma nova camada de processo entre o usurio e

39

o cdigo final em si, ora referida por renderizao, ora por compilao. Enquanto muitos desenvolvedores advogam contra esta nova camada, eu particularmente acredito que, ainda que com esse custo (seja da implementao do processo ou de servidor), os benefcios so enormes. O nico desafio real deste novo aspecto que emerge dentro do desenvolvimento de front-end o treinamento dos profissionais envolvidos no projeto, pois estas novas linguagens, apesar de infinitamente mais simples, so desconhecidas em sua maioria.

por sua vez acaba-se internalizando como regra no desenvolvimento do aplicativo. Note que a quantidade de linhas cai quase que pela metade. O contedo de texto das tags pode ser descrito tanto na mesma linha, quanto embaixo, porm nunca misturando ambos. Mas por que no remover a porcentagem (%) antes das tags? Pensando nisso, foi criado o Slim, que segue os mesmos preceitos do HAML:
doctype html html head title Meu em HTML5 body h1 | Bem vindo ao meu site

HTML
<!DOCTYPE html> <html> <head> <title>Meu site em HTML5</title> </head> <body> <h1>Bem vindo ao meu site</h1> </body> </html>

O HTML possui uma redundncia inerente pela obrigatoriedade de se repetir quase todas as tags duas vezes. curioso, pois seu ancestral, o GML, criado por trs funcionrios da IBM nos anos 60 no possuia esta mesma caracterstica. Alm disso, apesar de ser uma boa prtica a indentao consistente de suas tags, esta frequentemente acaba sendo largada de mo por grande parte dos desenvolvedores. Nesse sentido, o HAML (Haiku Markup Language) surge:
!!!

Como pode ver, o Slim considera a primeira palavra de cada linha sendo uma tag a menos que comece com um pipe (|). Alm disso, ele d a possibilidade de se usar livremente tags de HTML puro e flexibilidade na quantidade de caracteres de indentao. Ou seja, se voc um cara esquisito e gosta de indentar com dois espaos em vez de um tab, como seres humanos normais e saudveis, sinta-se vontade (e perdoe a minha completa arrogncia)! Ok, mas se tratando de textos em si, considere que tenhamos algo como o texto abaixo:

Ttulo: Pangramas
1. Zebras caolhas de Java querem mandar fax para moa gigante de New York. 2. Mas o juiz faz com que whisky de malte baixe logo preo de venda. Em HTML, seria algo como:
<h1>Ttulo: Pangramas</h1> <ol> <li>Zebras <strong>caolhas</strong> de Java querem mandar fax para moa gigante de<em>New York</em>.</li> <li>Mas o <em>juiz</em> faz com que <em>whisky</em> de malte baixe logo preo de venda</li> </ol>

%html

%title Meu site em HTML5 %body %h1

%head

Bem vindo ao meu site

As trs exclamaes iniciais simbolizam o doctype, que ser configurado separadamente no sistema. J as tags, todas obrigatoriamente devem comear com %. Note que elas no precisam ser fechadas, pois o sistema considera a identao como algo estrito nesse caso, interrompendo a renderizao do documento caso a indentao esteja inconsistente. Isso pode, na teoria, parecer um defeito, mas na verdade uma das maiores vantagens, j que assim torna-se obrigatrio respeitar a indentao, o

40 > Design

Essa intruso das tags de HTML no meio texto o tornam chato e desumano de ler. Para tal, foi criado o Markdown:
# Ttulo: Pangramas 1. **Zebras caolhas** de Java querem mandar fax para moa gigante de *New York*. 2. Mas o **juiz** faz com que *whisky* de malte baixe logo preo de venda.

Baseado na formatao de emails de texto plano, o Markdown interpreta # como ttulo (## seria h2, ### seria h3 e assim sucessivamente), palavras entre * ou _ como nfase e entre ** ou __ como strong (itlico e negrito, respectivamente, de acordo com o senso comum da web). Essa sintaxe pode ser misturada com as previamente citadas, tornando assim o HTML algo muito mais compreensvel e at mesmo editvel por leigos. Existem outras linguagens que estenderam mais ainda o Markdown, adicionando, por exemplo, tabelas:
C1 | C2 | C3 |--|--|--| C4 | C5 | C6 |

bottom, color-stop(0%,#02a420), color-stop(100%, #ff4422)); background-image: -webkit-lineargradient(#02a420, #ff4422); background-image: lineargradient(#02a420, #ff4422); } /* Para dispositivos mobile */ @media (min-width: 767px) { article { color: #02a420; font: 12px/1.4 Helvetica; } }

Um tanto quanto cansativo de ser lido e entendido, certo? de fazer qualquer um pensar duas vezes antes de abandonar os editores WYSIWYG (What You See Is What You Get - editores visuais). No por menos, o cdigo altamente distrativo, redundante e cheio de mincias feitas para serem lidas por um computador. Bom, mas como podemos melhor-lo? Para comear, se pudesse aninhar os seletores, como numa linguagem de programao onde por exemplo um if pode conter outros ifs subsequentes. Nesse conceito, entra o SASS (Syntactically Awesome Stylesheets), introduzindo tambm os mixins que so basicamente funes que tornam o cdigo altamente DRY. Estes por sua vez, deram a chance para que outros desenvolvedores criassem bibliotecas de mixins, nas quais voc pode simplesmente dar um include no comeo do CSS. Por fim, o SASS possibilita o uso de variveis ainda agregando operaes matemticas. possvel at mesmo somar cores ou torn-las mais claras ou ainda transparentes com o uso de funes especficas. Com tudo isso, nosso cdigo CSS poderia ficar assim:
// importando a biblioteca bourbon @import bourbon // nossa paleta de cores $preto: #02a420; $vermelho: #ff4422; // mixin que gera a media query =mobile { @media (min-width: 767px) { @content } } article { color: $preto;

Existe tambm o Wiki Markup, que no entrarei em detalhes, mas como o nome diz, usado primariamente em Wikis.

CSS
Reflita sobre o cdigo seguir:
article { color: #02a420; font: 16px/1.4 Helvetica; } article a { color: #02a420; } article a:hover { color: #ff8855; } article a.button { background-color: #02a420; background-image: -webkitgradient(linear, left top, left

41

font: 16px/1.4 Helvetica; a { color: $preto; &:hover { color: lighten($vermelho, 20%); &.button { // funo includa pelo bourbon, gera os prefixos de navegador +background-image(lineargradient($preto, %vermelho)); } } +mobile { color: $preto; font: 12px/1.4 Helvetica; } }

%vermelho)) +mobile color: $preto font: 12px/1.4 Helvetica

Essa seria a sintaxe pura do SASS, que se baseia inteiramente na indentao, assim como HAML e o Slim, previamente citados. Muitos desenvolvedores utilizam o SASS, mas na sintaxe SCSS, que a que ainda preserva as chaves e os pontos-e-vrgulas. Outros so mais radicais e usam o Stylus, que possui mais flexibilidade ainda, como por exemplo mixins transparentes, ou seja, que no possui nenhum tipo de caractere inicial, fazendo-se passar por atributos de CSS completamente normais.

Concluses gerais
Outra vantagem de se usar esses template handlers - uma camada na sua aplicao que vai traduzir o cdigo de uma linguagem pra outra que o navegador consiga ler - o fato de que em muitos casos eles emitiro erros que vo lhe impedir de gerar cdigo-fonte invlido. Alm disso, dependendo do seu setup, eles podem encodar caracteres em UTF-8, gerar compresso automtica de todo cdigo, inclusive de um mesmo arquivo se necessrio, reduzindo o nmero de requisies e o tempo do download. </>

Note que, com isso, foi possvel introduzir a media query dentro do seletor em vez de fora, o que facilita enormemente a criao de sites responsivos. Ao ser compilado, o CSS ter a media query colocada no final do documento, completamente nos padres da W3C. Agora vamos reduzir o nvel de distrao:
// importando a biblioteca bourbon @import bourbon // nossa paleta de cores $preto: #02a420 $vermelho: #ff4422 // declarando a media query =mobile @media (min-width: 767px) @content article color: $preto font: 16px/1.4 Helvetica a color: $preto &:hover color: lighten($vermelho, 20%) // a funo lighten() gera um vermelho mais claro &.button +background-image(lineargradient($preto,

Pedro Maciel trabalha com web design, motion graphic design, desenvolve em Ruby on Rails e escreve sobre tudo isso no impulso.hiperativo.co pedro.maciel@hiperativo.co

42 > Gerncia de TI

Qual a capacidade do seu time de tecnologia?


Por @AlexTatiyants

Voc sabe qual a capacidade do seu time de tecnologia? Como voc determina as capacidades dele? Em que voc presta ateno? Quando me fizeram essas perguntas recentemente, minha primeira resposta foi o teste do Joel, claro!. Afinal, ele curto, fcil de entender e vai rapidamente ao X da questo: pode o seu time entregar um produto confivel? Bem, o teste do Joel j tem 12 anos. Apesar de os princpios por trs das perguntas continuarem relevantes, alguns pontos especficos j evoluram. O patamar em que um time de tecnologia deve operar subiu, assim como subiu o nvel do que seria o patamar ideal. Ento, para responder como determinar a capacidade de um time de tecnologia hoje, eu escrevi alguns pensamentos.

43

Ento voc diz que pode entregar?


Um time de tecnologia to bom quanto sua capacidade de, progressivamente, entregar um produto. No que isso leva? Primeiro, vamos falar sobre programao de software. A forma mais rpida de entender as qualidades do seu time provavelmente olhando para as prticas dele. H, claro, o bsico: Todas as peas do cdigo esto (inclusive a base de dados e o cdigo de infraestrutura) fazendo uso de algum controle de verso? Eles escrevem testes de integrao/unitrios/funcionais para o cdigo? Os deploys e builds esto totalmente automatizados? Eles praticam integrao contnua? Todo o cdigo do produto est sendo revisado, tanto via pareamento quanto por uma reviso formal do cdigo? Uma vez que o bsico estiver sendo feito, a prxima coisa a se considerar o quanto os processos de desenvolvimento podem estar restringindo o trabalho do time. Em outra palavras, h algum passo do processo de build/entrega que auxilia o time a se manter na linha e ajuda a manter a base de cdigo limpa? Algumas questes para serem feitas: Eles esto medindo a cobertura do cdigo? Ele medido em todas as camadas, incluindo frontend, middleware e base de dados? Eles esto parando os builds se a medida cair abaixo de um certo percentual? Eles esto realizando anlise de cdigo em todas as checagens? Quais implicaes existem para os builds se surgir alguma questo? (ex.: o build para se sur-

girem alertas do compilador, se o estilo do cdigo for violado, se a complexidade de uma funo exceder certos nveis, etc). Eles esto realizando testes de desempenho/carga/estresse como parte do fluxo de desenvolvimento? E quanto a testes de invaso? Mas, espere, ainda h mais. Note que qualifiquei habilidade de entregar com progressivamente. Isso foi intencional porque o time deve manter o custo das mudanas baixo e constante. Em outras palavras, desenvolver rapidamente s custas de uma perda do lado tcnico, sem se preocupar jamais com ele, no costuma ser uma estratgia muito sustentvel. Para isso, voc deve procurar pela cultura de desenvolvimento e por sinais de bom direcionamento da base de cdigo. Com qual frequncia feito refactoring? H uma comisso de resoluo de problemas tcnicos prioritrios e mais visveis? O processo de desenvolvimento permite explicitamente que haja tempo para lidar com problemas tcnicos? No que diz respeito cultura desse time, pode haver alguns defeitos: Os defeitos esto sendo priorizados apropriadamente (ex.: dando tanta importncia para a correo de bugs quanto para os novos recursos)? H uma anlise formal das provveis causas (5 porqus) que realizada para cada defeito encontrado? H um sistema automatizado de monitoramento de defeitos que alerta o time proativamente? E, finalmente, precisamos considerar como o software est sendo de fato entregue aos clientes.

44 > Gerncia de TI

O time est praticando a entrega contnuo? E deployment contnuo? Cada feedback negativo ou positivo est sendo registrado? H monitoramento automtico? Como o processo de escalonamento? H um sistema para remediar problemas (tal qual rebalanceamento de servidores, rollbacks automatizados etc.) em uso? Por favor, perceba que as perguntas acima no so exaustivas. Tenho certeza absoluta de que h outras coisas muito importantes para se prestar ateno. Na verdade, se voc tiver outras ideias eu adoraria ouvi-las.

Referncias
The Joel Test: 12 Steps to Better Code (http://bit.ly/9JWklR); Continuous deployment in 5 easy steps (http://oreil.ly/13EPgd); Continuous Improvement - GroupOn, Palo Alto 2013 (http://slidesha.re/ TZCyAW) </>
Nota de traduo: code coverage a medida de quanto do cdigo submetido a testes.

Artigo traduzido pela Redao iMasters, com autorizao do autor. Publicado originalmente em http://bit.ly/1b9GJk8

Alta tecnologia
Ser capaz de entregar um grande produto crucial para qualquer time de tecnologia. De qualquer maneira, para alguns, isso talvez no seja o suficiente. Dependendo da rea de negcios em que voc estiver, talvez seja necessrio um conhecimento mais aprofundado em uma rea em particular, o que eu chamaria de alta tecnologia. Com alta tecnologia eu quero dizer o tipo de habilidade que no encontrada normalmente no jardim dos desenvolvedores da sua empresa (mesmo entre os grandes). Isso inclui especialistas em semntica, aprendizado de mquina, NLP (programao neuro-lingustica, na sigla em ingls), processamento de sinais, e assim por diante. Alguns ainda acrescentariam as habilidades necessrias para otimizao de desempenho ou escalonabilidade extrema no mesmo caldeiro. Novamente, no qualquer time que precisa de tais especializaes, mas alguns necessitam. E, para esses times, essas capacidades adicionais certamente precisam de um destaque.

Alex Tatiyants gosta de escrever coisas engraas sobre tecnologia. criador do JS.js e do movimento MoreSQL, alm de inventor do Guilt Driven Development.

46 > Comunidades

Interao a favor dos negcios: IxDA-SP


Por @lufreitas para Revista iMasters

Imagem: http://www.sketchinginteractions.com/

Quem trabalha com desenvolvimento sabe: a experincia fundamental para a qualidade de vida das pessoas. A partir dessa premissa, nasceu, em 2004, o IxDA (Interaction Design Association - http://ixda.org), uma organizao baseada no voluntariado e na coeso da comunidade. A organizao foi fundada por quatro profissionais que trabalhavam com design e interatividade e no se sentiam atendidos pelas comunidades e organizaes de Arquitetura da Informao ou Usabilidade. Eles no cobram por associao, mas pedem contribuies de cada indivduo com aquilo que lhes mais precioso: tempo e conhecimento. H mais de dez mil membros e cerca de setenta grupos em todo o mundo.

47

2008 2009, os anos de ouro


A gente comeou em 2008, com o primeiro Congresso, sem nenhum patrocnio, diz Amyris Fernandez, que foi Presidente do IxDA-SP entre 2009/2012 e membro honorrio do Board do IxDA International. O Congresso foi bom, segundo Amyris, porque l fora eles no conseguiam ver a realidade de outros pases e perceber que no so o centro do universo. A questo que os estrangeiros no reconheciam o Brasil como um lugar para negcios. Depois do Congresso, em que viram, entre outras coisas, interaes vestveis, o mundo reconheceu que havia horizonte profissional alm de Estados Unidos e Europa. O sucesso foi tanto que americanos e ingleses se mudaram para o Brasil, entusiasmados com as oportunidades de trabalho e desenvolvimento. Segundo Amyris, eles vieram trabalhar para empresas brasileiras ou montar seus negcios por aqui. Resultado: a comunidade de design de interao aumentou um pouco mais. Os encontros continuaram, depois dessa fundao bem sucedida, no Museu da Imagem e do Som, em So Paulo, com reunies mensais. A cada encontro, um tema especfico e cerca de trinta profissionais. Entre 2010 e 2012, o movimento paulista minguou. Segundo Amyris, os outros grupos brasileiros continuaram ativos. Em 2013, o IxDA SP est se reativando para participar do ISA (Interaction South America), o Congresso Sul Americano da rea (http://isa.ixda.org/2013/). As inscries para participao e trabalhos esto abertas, e a programao promete atender tanto a quem estuda como a profissionais formados em busca de aperfeioamento.

te, apresentar trabalhos que do suporte terico nossa prtica, conta Amyris. Mas, afinal, o que faz um designer de interao? Vamos alm da arquitetura de informao e da questo de usabilidade, que esto fortemente centradas na questo da interface entre humanos e computador, explica a profissional. A ideia pensar em como o negcio funciona, sempre atento aos resultados prticos. Amyris tem uma definio interessante da funo: trabalhamos para aumentar o bnus de toda a empresa, diz. So bem-vindos roda de produtores de contedo a desenvolvedores, alm de designers, criadores e profissionais de marketing. Para se associar, basta entrar na plataforma do IxDA (a mesma para todos os grupos): http://ixda.org. Com um cadastro, o profissional passa a participar da lista e pode comear a contribuir para a comunidade como puder: trabalhos acadmicos, voluntariado, organizao de encontros. No IxDA-SP, o foco a divulgao da prtica, educao do mercado, educao acadmica de indivduos e de criar uma relao saudvel com os profissionais, independentemente de formao e cargo. O desafio, hoje e sempre, criar parmetros para o surgimento de uma nova disciplina, o design de interao. Os profissionais pensam desde resultados de produtos digitais, como em interfaces vestveis (ol, Google Glass), e outras novidades. importante publicar trabalhos em congressos para criar esse corpo de conhecimento do interaction design, uma rea mais ampla que a questo da interao entre humano e computador, explica Amyris. A profissional foi responsvel pela coordenao da produo da nova plataforma do IxDA, com um time de 26 pases reunido para a empreitada. Este o esprito da comunidade: voluntariado, trabalho conjunto, construo de conhecimento. A manuteno garantida pelo congresso internacional de design de interao, que d lucro. Aqui no Brasil, os congressos no do lucro, mas servem para estimular a profisso. </>

Uma comunidade em renovao constante


Aqui no Brasil, a comunidade de So Paulo, segundo Amyris Fernandez, rene cerca de duzentas pessoas. Os voluntrios ativos se alternam, um grupo trabalha muito, outro assume, e assim vamos, conta. Agora, os planos so investir fortemente na produo de trabalhos acadmicos. Funcionou muito bem no ltimo congresso (2012), em Belo Horizon-

48 > Marketing Digital

TI na propulso do marketing
Por @cgalls

Anlise, velocidade, produtividade e controle extremos so as novas competncias exigidas do profissional de marketing.

49

Desde o tempo de faculdade, sempre que surgia o assunto entre familiares e amigos, gastava saliva e verbo para explicar o que era o marketing. No senso geral, o marketing acabava reduzido a um de seus mais famosos e aclamados Ps, o da comunicao (promotion). Isso sempre me deixou intrigado, at perceber que, entre os prprios autointitulados profissionais de marketing, as tarefas cotidianas acabavam resvalando mais para o ato de comunicar. Essa era de marketing como publicidade atrofiou diversos crebros que temiam fazer contas e dedicavam-se inspirao de criar textos e administrar campanhas de agncias. No entanto, para o bem geral do marketing, entra agora sob os holofotes o profissional apoiado no lado esquerdo do crebro: o cientista, o analtico, o gestor e de processos. E quem est potencializando esse surgimento a TI.

-para-um, passou para um-para-muitos. Surge a era da publicidade e comunicao de massa de que falamos no incio. O marketing, no af de um equilbrio, buscou evoluir os conceitos de CRM, segmentao, marketing one-to-one, entre outros mas sempre com limitantes de aplicao prtica. Faltava a ltima milha, a obteno precisa de dados e a capacidade de comunicao personalizada. O que faltava, de fato, eram ferramentas tecnolgicas para trabalhar a informao.

A TI e suas solues maravilhosas


Tmida, a TI surge sob os olhos atentos do diretor financeiro, a quem se reportava inicialmente por ser algo novo, de custos elevados e sem um valor comprovado. No entanto, rapidamente ocupou seu espao e tornou-se estratgica, automatizando processos e criando infinitas opes. E agora, a cada nova soluo, um novo mundo de possibilidades se revela frente aos olhos dos profissionais de marketing. Temos nossa disposio tecnologias e conceitos emergentes como o Big Data, o cloud computing, as redes sociais, a automao de marketing, crowdsourcing e tantas outras. A TI aplicada a antigos conceitos de relaes humanas criou as redes sociais. Com isso, mudou-se a forma de como acessar a informao, partilhar e engajar. As empresas e suas equipes de comunicao, at ento, no estavam preparadas para conversar com o mercado na velocidade e profundidade que temos agora. A comunicao era um grande megafone sem sistemas de retorno. Essas interaes, s quais as empresas esto buscando se adaptar, muitas vezes so espontneas e surgem fora dos limites da companhia. As respostas devem ser rpidas e, muitas vezes, imediatas, a fim de evitar que crises se alastrem e saiam do controle. Demanda-se velocidade. A anlise de dados no novidade para o marketing, mas em sua grande maioria, sobretudo no Brasil das mdias empresas, sempre esteve em um canto da sala sem janelas. No entanto, com a invaso da tecnologia na propaganda, diga-se

O marketing em sua essncia


A inovao tecnolgica tem nos permitido aproximar a operao de marketing do seu conceito original. Com o passar do tempo, a essncia, cujo objetivo detectar e atender a demandas que gerem satisfao por meio de algum tipo de troca, no mudou. Mas, ao longo dos anos, considerando a massificao, nos distanciamos da forma ideal de fazer negcios. Por um perodo, tornou-se invivel atender e entender clientes de forma personalizada. No entanto, com os novos ciclos tecnolgicos, ensaiamos uma reaproximao com a possibilidade de conhecer o perfil dos clientes to profundamente quanto jamais imaginaramos. E, com isso, conseguir estabelecer dilogos que nos remetem ideia original do relacionamento ideal para atender a necessidades. A essncia do marketing pode ser representada pelos negcios de bairro, nos quais o negociante conhecia detalhadamente a clientela, sua histria e seus hbitos. Isso permitia a criao de uma relao inspiradora entre cliente e comerciante. No entanto, os processos de produo em escala adiantaram-se capacidade de comunicao. O foco voltou-se para a grande massa. O que antes era uma comunicao um-

50 > Marketing Digital

Google AdWords e similares, o profissional de marketing viu-se com uma demanda de anlise estatstica pouco comum para o seu dia-a-dia. Terceirizou para agncias especializadas. Porm, vieram tambm os dados de mdias sociais, de acesso ao site, de processos de compras perfil de clientes como nunca antes havia obtido e, ento, tudo se complicou. O Big Data busca ocupar a posio de soluo para todos esses dados em catico estado bruto. Segundo pesquisa da The Economist em 2013 com executivos de marketing, a principal estratgia de campanha de marketing h cinco anos era de comunicao personalizada. Hoje, so ofertas personalizadas. Sutil, porm com grande significado oferta exige entender necessidades. Adequadamente utilizado, o Big Data permitir conhecermos to detalhadamente o perfil de consumo individual da populao, que corremos o risco de termos mais conhecimento dos hbitos de uma pessoa do que ela prpria. Hbitos no raro so atos inconscientes, portanto dificilmente detectados em pesquisas padro. E aqui vale a mxima: Seus atos falam to alto, que no ouo o que voc diz. Segundo pesquisa do CMO Council, 71% esperam realizar anlises preditivas a respeito do ciclo de vida do cliente usando Big Data. Demanda-se capacidade analtica. A vida do profissional de marketing est claramente mais atribulada pelo ritmo que a tecnologia vem imponto ao seu dia-a-dia. E a TI, que trouxe a mazela, tambm trouxe a soluo. Vemos surgindo com imponncia nos primos norte-americanos solues de Automao de Marketing que prometem agilizar processos, assim como os CRMs e os ERPs fazem h anos. Esto contempladas obteno e anlise de dados, criao e execuo de campanhas multicanais, elaborao de relatrios de desempenho e gerao de oportunidades de negcios, incluindo gesto de funil de vendas (pipe). Segundo a Marketo, o uso de um sistema de gesto de pipeline aumenta em 29% os resultados em vendas sem alterar qualquer outra varivel. Demanda-se produtividade. Da mesma forma, temas como cloud computing, impresso 3D e os meios eletrnicos tm nos permitido entender, testar e executar abordagens no mercado de maneira cirrgica, a fim de validar modelos de negcio. Isto , se um produto ou servio, de fato, atende s neces-

sidades de determinado perfil de clientes, assim como o que deve ser corrigido ou adaptado para se obter uma boa aderncia ao mercado. E, nesse cenrio, o dilogo, que sempre ocupou posio fundamental no processo, ganhou escala por meio das mdias digitais.

A TI e o marketing em harmonia
A evoluo, cuja natureza um processo de mudana, mantm qualquer profissional que esteja em seu raio de ao, fora da zona de conforto. A dinmica impressa por esses ciclos tecnolgicos tem exigido agilidade para aes em tempo real, uma imensa capacidade de gesto e anlise de volumes obscenos de dados, alm, claro, de uma relao muito mais estreita com indicadores de desempenho e mtricas de retornos sobre investimento. Isto , um perfil mais tcnico exigido do profissional de marketing e, o que obtiver maior controle sobre essas variveis, ter maior controle sobre o negcio, seu departamento e sua carreira. O fundamental termos em mente de que se trata de uma evoluo e, como tal, h o choque inicial, o perodo de adaptao e, por fim, o equilbrio que representa o melhor estado de produtividade. Todos esto passando por essa mesma etapa, e o grande desafio do profissional de marketing assumir seu lado analtico e metdico sem nunca perder a sua capacidade inata de comunicao, de empatia e da grande sacada. </>

Cristian Gallegos consultor, palestrante e professor de Marketing em Ambiente Digital na HSM Educacional. Fantico por TI, atuou como executivo em companhias como Locaweb, Tecla Internet e Mandic. formado em Publicidade e Propaganda, com MBA em Marketing pela ESPM e com cursos de gesto no IBMEC e Fundao Dom Cabral.

Cdigo Livre > 51

Informaes e dicas sobre projetos Open Source


Por @ale_borba

Pomodoro Extension for Gnome

Para onde foi o meu dinheiro?

Esta extenso, totalmente aberta e open source, permite que os usurios do ambiente de desktop Gnome controlem o seu tempo de trabalho, facilitando o uso da Tcnica Pomodoro. um timer bastante bsico, que possui controles para configurar coisas do tipo, intervalo curto, intervalo longo, tempo do pomodoro, contagem de pomodoros etc. Para mais: https://extensions. gnome.org/extension/53/pomodoro/

um projeto feito em Perl que tem como finalidade ajudar o cidado a monitorar a execuo dos oramentos Municipal, Estatual e Federal. Alm disso, permite saber quais empresas e/ou pessoas fsicas receberam os valores pagos pelo Governo. Para saber mais do projeto: http://www. paraondefoiomeudinheiro.org.br

AudioLazy
Um projeto escrito totalmente em Python, que permite o processamento linear, no linear, variante e invariante no tempo. Isso tudo pode ser aplicado em anlise, sntese e processamento de udio, permitindo vrias brincadeiras utilizando o som. Para saber mais: https://github.com/danilobellini/audiolazy </>

Radar Parlamentar
Um aplicativo, desenvolvido em Django, que faz uma anlise matemtica dos dados de votaes de Projetos de Lei nas casas legislativas. Com essa anlise, gerado um grfico bidimensional de semelhanas entre partidos polticos. Para saber mais, http://radarparlamentar.polignu.org

Vindula
Sistema de Intranet Open Source, escrito em Python. Neste sistema, que est na verso 2.0 LTS, voc consegue fazer editais, criar e remover campos, criar lbuns de fotos e classificados. Para saber mais, visite http://www.vindula.com.br/sobre
Al Borba Gerente de TI e Comunidades do iMasters, e desenvolve projetos como o 7Masters, Dojos e outros.

52 > Contedo Digital

ePUB3: publicaes multimdia interativas


Por @fabioflat

Em um mercado onde inmeros players brigam pela primazia de estabelecer novos formatos e novas solues, aqueles baseados em padres abertos, interoperveis e modulares ganham fora para se afirmarem como referncia. Esse o caso do ePUB3, a fronteira final da multimdia e da interatividade nos livros digitais. Como uma especificao oficial do IDPF (International Digital Publishing Forum) desde outubro de 2011, o ePUB3 o formato padro para a distribuio de publicaes e documentos digitais. Ele padroniza a codificao e o empacotamento de contedo Web estruturado semanticamente, permitindo a integrao de documentos HTML5, CSS, SVG, XML e JavaScript, entre outros, em um formato de arquivo nico. compatvel (em alguns casos ainda parcialmente) com todos os leitores, dispositivos e sistemas, menos com aqueles que distribuem o ecossistema Amazon/Kindle que, apesar de pioneiro e tambm baseado em HTML/CSS, caminha na contramo do mercado adotando os formatos proprietrios .mobi,.azwe .kf8. Enquanto a especificao ePUB2 estruturada a partir de XHTML 1.1 e CSS2, na especificao ePUB3 temos (X)HTML5 e CSS3, o que abre um novo leque de recursos, entre eles:

Apresentao
Todo o poder do CSS3. Recursos visuais de layout como efeitos de texto, colunas, transparncia e bordas personalizadas. Utilizao de Media Queries. Layouts dinmicos horizontais ou verticais .

Multimdia e interatividade
Uso dos elementos <audio> e <vdeo>. Suporte para <canvas> e <svg>. JavaScript. Media Overlays para sincronizao de texto, udio e vdeo. MathML (Mathematical Markup) para representar frmulas e smbolos matemticos.

A estrutura do ePUB3
De acordo com o IDPF, a especificao do ePUB3 prev quatro subespecificaes menores que formam o pacote final do formato: EPUB Publications 3.0: Define os aspectos semnticos e os requisitos de conformidade da especificao. EPUB Content Documents 3.0: Define as particularidades dos formatos HTML5, SVG e CSS para uso dentro de publicaes no formato ePUB. EPUB Open Container Format (OCF) 3.0: Define o processo de encapsulamento do contedo em um arquivo nico (ZIP). EPUB Media Overlays 3.0: Define formatos e processos para sincronizao de texto e udio. O contedo principal de um livro ePUB3 um do-

Semntica
O uso dos novos elementos <section> <footer> <article> <header> e <aside> aproxima o mundo editorial da Web, pois so termos de fcil compreenso para autores e editores. A construo do TOC (table of contents) do livro marcada pelo elemento <nav>, o que faz todo sentido em se tratando de navegar pelo contedo atravs do sumrio. O atributo epub:type permite mltiplas inflexes semnticas que so associadas a um vocabulrio especfico (EPUB 3 Structural Semantics Vocabulary).

53

ePUB3 : A fronteira final. Estas so as viagens da revoluo digital, prosseguindo em sua misso de explorar novos mundos, procurar novos formatos editoriais, novos leitores e novos mercados, para audaciosamente ir aonde ningum jamais esteve.

mimetype // application/epub+zip META_INF container.xml // o arquivo que agrupa todo pacote - XML OEBPS cap1.xhtml // contedo do livro - XHTML5 cap2.xhtml // contedo do livro - XHTML5 cap3.xhtml // contedo do livro - XHTML5 content.opf // lista e descreve o contedo - XML cover.xhtml // capa do livro - XHTML5 nav.xhtml // navegao do livro a partir do sumrio (TOC) - XHTML5 toc.ncx // arquivo de navegao compatvel com a verso ePUB2

ePUB3

udio css fontes imagens scripts vdeo

cumento de extenso XHTML, mas na prtica renderizado como (X)HTML5 - uma serializao XML do HTML5 -, no qual permitido usar a sintaxe XML/XHTML para exibir, por exemplo, contedo MAthML e SVG. No quadro que voc v no topo da pgina, temos um possvel exemplo de estruturao para um pacote ePUB3.

Leia o livro, oua o livro, converse com o livro, rabisque o livro, brinque com o livro, estique o livro, amplie o livro, mergulhe no livro, compartilhe o livro, altere o livro, seja coautor do livro, traduza o livro, projete o livro como um holograma, vista o livro!

Experimentando o ePUB3
Apple, Kobo e Google eBooks so referncias no suporte para as especificaes do formato ePUB3, e o prprio IDPF desenvolveu um leitor, o Readium - uma aplicao open source que funciona como uma extenso do navegador Chrome. Vrios exemplos de ePUB3 esto disponveis gratuitamente no site https://code.google.com/p/ epub-samples, e para abrir e estudar os arquivos basta renomear a extenso .epub para .zip. O formato ePUB3 um dos frutos da Open Web Platform. Formada por tecnologias, servios e formatos que orbitam ao redor do HTML5, ela permite solues que do uma nova vida ao contedo: plasticidade, organicidade, modularidade, interatividade e ubiquidade.

No so apenas metforas, so aes reais que esto ao alcance do leitor no mundo digital, e muitas delas j podem ser experimentadas hoje com ajuda do ePUB3! Para saber mais, acesse http://www.idpf.org, http://ibm.co/GPi6sZ e http://bit.ly/11JH3n6 </>

Fbio Flatschart Gerente de Marketing e Inovao da Soyuz Sistemas e Scio da Flatschart Consultoria LTDA, empresas com as quais participou do desenvolvimento e implantao de projetos pioneiros nas reas de Open Web Platform e Marketing Semntico no Brasil. autor do livro HTML5 - Embarque Imediato, uma das primeiras publicaes em portugus sobre o assunto.Atua como colunista do portal iMasters e professor convidado dos mais importantes cursos de MBA do Brasil (FGV, FIA, Trevisan).

54 > Encontro 7Masters

O imposto do XML
Clcio Bachini - 7Masters Open Data

<otorrinolaringologista> Jacinto Drama Aquino Bairro </otorrinolaringologista>

No caso da representao em mark-up, demos abrir e fechar a tag, repetindo a marcao. Assim, eu duplico o tamanho da meta-informao. E neste exemplo no falamos dos atributos, cujo uso menos pior, mas ainda grave. Se pensarmos em vrios nveis hierrquicos em rvore, de arrepiar. Quem j fez parse em XML sabe. Incentivar o governo a usar XML antiecolgico. s vezes, tudo o que precisamos de bons dados em tabelas e um dicionrio de dados simples. Viva simplicidade! Assista palestra em http://ow.ly/n8TQw

A ideia de dados abertos sempre legal. Mas ser que todos os dados abertos, mesmo que em formatos consagrados e homologados, so teis? Eu acho temerrio, por exemplo, que o XML se torne um padro para abertura de dados. O XML um dos maiores desperdcios de espao eletrnico que a humanidade j produziu. A quantidade de energia utilizada para transportar, armazenar e processar XML at hoje poderiam levar o homem a Marte. Mentira. Na verdade s Jonas Abreu sabe calcular isto. Mas muita coisa. E por qu? Vamos dar um exemplo simples: se eu tenho um profissional de sade de uma determinada classe mdica, como geralmente eu represento isto em XML?

Pra que fazer uma visualizao de dados?


Jonas Abreu - 7Masters Open Data Com a lei de acesso informao (12.527/11) e o aumento da disponibilidade de dados governamentais, muitas pessoas comearam a transformar esses dados para conseguir entender o que eles

55

O 7Masters - Encontro iMasters de Especialistas, acontece todos os meses, na ltima quarta-feira de cada ms, no iMasters Lab. So 7 profissionais que apresentam assuntos inovadores e diferentes em lightning talks de sete minutos. O tema definido pela equipe iMasters, mas voc pode dar sua sugesto. Escreva para setemasters@ imasters.com.br e opine, sugira um tema ou o nome de um profissional para participar. Aqui voc confere uma seleo dos ltimos 7Masters. E pode se preparar para os prximos ainda este ano falaremos sobre Django, Zend, Redes & Servidores, Android, Usabilidade, Inovao e FOI (otimizao para front end). Acompanhe as datas em setemasters.imasters.com.br.

de criar mais uma visualizao que fica abandonada, porque no til para ningum. Assista palestra em http://ow.ly/mSgTX

Acessibilidade e a Open Web


Vanessa Tonini - 7Masters Open Web A Open Web, como plataforma aberta da web, o resultado da unio de todas as novas tecnologias que esto surgindo para a web, somadas criatividade e necessidade de cada um. Ela vem com o intuito de nos fazer pensar fora da caixa no quesito do desenvolvimento e de uso das novas tecnologias que concebem a web. Dentro da Open Web, a presena da acessibilidade

significam. Uma das ferramentas mais utilizadas para isso a visualizao de dados. A visualizao de dados uma ferramenta com um potencial muito grande. Quando bem feita, pode auxiliar decises, educar pessoas, enfim, melhorar um pouco o mundo. Mas a visualizao, por ela mesma, no costuma ser til. Simplesmente apresentar os dados de uma forma diferente no significa que ficou mais fcil de entend-los. preciso que essa visualizao ajude a transformar esses dados em informao. Um jeito simples de fazer isso montar a visualizao de forma que ela responda a uma pergunta feita por uma pessoa. Dessa forma, voc no est apresentando dados, voc est respondendo a perguntas. Pessoas no entendem dados: elas entendem respostas. Com isso, voc reduz a chance

56 > Encontro 7Masters

no passa por despercebida: basta pensarmos na quantidade de recursos que existem hoje disponveis para p-la em prtica. A questo : o que est faltando ento para que a acessibilidade seja uma realidade na web? Prover a acessibilidade no s uma questo de projeto, mas sim de interesse, que deve ser iniciado pelo desenvolvedor. com ele que est a principal responsabilidade para prover a acessibilidade bsica de uma aplicao web. Claro que existem vrios fatores que influenciam a escolha. Ento, o que voc est esperando para ajudar a web ser melhor? preciso trabalhar para reafirmar uma de suas principais caractersticas, conforme o mestre Tim Berners-Lee nos disse: The power of the Web is in its universality. Access by everyone regardless of disability is an essential aspect. Assista palestra em http://ow.ly/mShCw

O Facebook no a nica plataforma que est fazendo com que ocorra essa invisibilidade das informaes em funo do seu algoritmo. O Google tambm o faz. Se eu consulto alguma informao na Web e voc tambm, por que os nossos resultados so to diferentes? Para te entregar um resultado personalizado, isto , filtrado, o Google se baseia em algumas frentes, como localizao geogrfica, endereo de IP, browser utilizado e sistema operacional. Isto , no existe mais um Google Padro. O problema disso tudo que esses algoritmos mostram aquilo que eles pensam que queremos ver, mas no necessariamente o que precisamos ver. O ativista Eli Pariser chama isso de filtro bolha. E esse filtro bolha o nosso nico universo de informao. Ou seja, o que est dentro dele depende de quem somos e do que fazemos. Dessa forma, no decidimos as informaes que entram e, o mais importante, no sabemos aquelas que ficam de fora do nosso universo de informaes. Embora a personalizao leve a uma melhor experincia do usurio, ela tambm levanta preocupaes quanto questo da privacidade, especificamente que tipo e quais dados seus esto sendo usados para que esse contedo chegue at voc de forma personalizada. Uma pesquisa interessante apresentada na WWW2013, Measuring Personalization of Web Search (faa o download do pdf em http://ow.ly/ mSkru), aponta que pelo menos 11,7% dos resultados de busca contm diferenas devido s per-

O impacto da personalizao de informaes em servios online nos usurios


Carine Roos - 7Masters Open Web Estamos vivenciando hoje uma mudana no modo como recebemos as informaes online e essa mudana, de certa forma, tem sido quase imperceptvel. Por exemplo, o algoritmo do Facebook, o Edgerank, observa os links nos quais clicamos mais e, por consequncia, nos entrega resultados personalizados a partir das interaes que fazemos com os outros usurios. Como resultado, visualizamos com menor frequncia em nossa timeline informaes de perfis que potencialmente teriam opinies contrrias s nossas ou que apresentariam um novo ponto de vista.

57

sonalizaes, sendo que essa personalizao varia caso o usurio esteja logado em uma conta do buscador (como uma Google Account) e tambm se as buscas so efetuadas diversas vezes por meio de um mesmo endereo IP. Como alternativa a esse mundo de bolhas, existem motores de busca como o DuckDuckGo e o StartPage, cujas principais vantagens so os resultados no serem enviesados, bem como serem servios que buscam proteger a nossa privacidade. H tambm uma startup chamada Personal.com, que fornece mecanismos de armazenamento de dados criptografados na rede, tendo como foco principal a proteo da privacidade dos seus usurios. Assista palestra em http://ow.ly/mSk87

vedores e pessoas comuns deveriam preocupar-se em garantir uma web aberta? Na tentativa de responder a esta pergunta, devemos parar por um momento e pensar nas profundas transformaes que a Internet e sua face mais visvel, a web, ocasionaram nos ltimos 15 ou 20 anos. A rede mudou tudo: educao, cultura, economia, administrao pblica, comunicaes, relaes pessoais, etc. muito difcil, hoje em dia, pensar em um s aspecto de nossa vida social que no tenha sido profundamente transformado pela tecnologia recente. Mas o que torna a web realmente disruptiva que ela talvez seja a primeira mdia na histria da humanidade que nos oferece iguais condies tanto de criao, quanto de consumo de contedo. E tudo isso em uma escala global. Para usufruirmos de tudo isso, basta que possamos ter acesso web: uma vez l podemos tanto consumir quanto criar contedos. Contudo, para que isso se transforme definitivamente em realidade, devemos manter a web aberta, pois esta a nica forma de garantirmos que todo esse potencial seja convertido em realidade. Dessa forma, a web continuar sendo um potente instrumento de voz a todos aqueles que, de outra maneira, no teriam possibilidade alguma de expressar suas ideias. Isso porque muitos so os atores que desejam que tenhamos com esta nova mdia, a mesma relao que tnhamos com as anteriores: passiva, receptiva e de simples consumo. Garantir uma web aberta garantir que as pessoas tenham acesso informao, educao, cidadania, cultura, conhecimento, dignidade e renda.

Para que serve uma web aberta?


Kemel Zaidan 7Masters Open Web

O que define o termo web aberta? Pesquisando na Internet possvel encontrar algumas definies. Entre elas, a de Tantek elik, parece ser amplamente difundida. Tantek CEO do Technorati e autor de diversas das principais especificaes do CSS. Segundo ele, a web aberta aquela cujas caractersticas so opostas a uma web proprietria, exclusiva e privada; ou seja: a web aberta pblica, cooperativa e padronizada. Mas porque desenvol-

Assista palestra em http://ow.ly/n11xL

Fonticons e SVG
Richard Duchatsch - 7Masters Open Web Quando falamos em performance, o que mais temos que levar em considerao a quantidade e

58 > Encontro 7Masters

colocados cones vetoriais. Font Icons so fontes estveis e organizadas. Uma vez feitos os cones vetoriais e portados para arquivos de fontes, utiliza-se o CSS para carregar esta fonte no documento atravs do @font-face. Para fazer o cross-browser, preciso gerar os fallbacks de extenses (.ttf, .woff, .svg, .eot). Alm disto os Font Icons tm um truque na manga: eles suportam efeitos de CSS3 e, usando os pseudo-elementos de forma inteligente, eles abrem um leque de possibilidades. O ponto fraco dos Font Icons que eles so arquivos pesados, e por fazer o cross-browser, precisam fazer arquivos extras. Em conta partida, h casos de uso de dataURIs para resolver este problema de performance. Algumas ferramentas ajudam neste processo: Icomoon - http://icomoon.io/ Fontello - http://fontello.com/ Pictonic - https://pictonic.co/fontbuilder/ Pictos - https://my.pictos.cc/builder/ Zurb Icon Font - http://bit.ly/17eQUjN Uma outra abordagem possvel usar os SVG Icons. Parecidos com os Font Icons, eles so baseados em imagens vetoriais. O legal do SVG Icons que eles so feitos em um formato aberto, o SVG. Como os Font Icons, o SVG Icons so estveis e organizados. Uma vez feitos os cones vetoriais e portados para arquivos ou no cdigo fonte, utiliza-se o CSS para carregar o cone. Para fazer o cross-browser, existem algumas tcnicas, mas so muito complexas para navegadores antigos. Os SVG Icons tm um segredo: assim como os Font Icons, eles suportam efeitos de CSS3 e usan-

o peso dos itens que esto sendo carregados no site. Uma das coisas que mais pesa em uma pgina web so as imagens, em relao ao resto do contedo que composto por cdigo, elas esto em formato de arquivos (png, gif, jpg, bmp etc). Levando isso em considerao, existem tcnicas inteligentes que conseguem otimizar essa parte. So o caso das Images Sprites - uma imagem cheia de cones, posicionados lado a lado, que por sua vez, com ajuda do CSS, como se fosse por coordenadas, utiliza o cone sem maiores problemas. O interessante das Images Sprites a rapidez de sua renderizao, porque uma vez carregado, ele no sofre delays comumente vistos em images replacements. As Images Sprites tem um calcanhar de Aquiles, que sua manuteno. Toda vez que um cone adicionado ou retirado, pode haver ou no algum retrabalho, dependendo de como est organizado. Mas existem algumas ferramentas que ajudam neste processo: Spritecow: http://www.spritecow.com; Stitches: http://bit.ly/18ZHOhj; CSS Sprites Generator: http://css-sprit.es. Uma outra abordagem que est cada vez sendo mais utilizada, so os Font Icons, que so um arquivo de fontes tipogrficas hackeado, no qual em vez de caracteres alfabticos e numricos so

59

do os pseudo-elementos de forma inteligente, eles abrem um leque de possibilidades. Um dos maiores pontos fracos dos SVG Icons o suporte cross-browser. H tambm casos de uso de SVG Icons com dataURIs, arquivos .svg e inseridos diretamente no cdigo fonte. Algumas ferramentas ajudam neste processo: http://jefff.co/misc/svg/ Raphel SVG icons - http://bit.ly/cxaM3Z Zurb Social SVG icons - http://bit.ly/PgK07c SVG Icon Generator - http://bit.ly/vGgq9h Confira alguns artigos que falam sobre SVG Icons: http://bit.ly/18ZCTwQ http://bit.ly/13x7oGs http://bit.ly/OreEgu Assista palestra em http://ow.ly/n1sP2 pgina pensada para humanos o entendimento necessitava de conhecimentos prvios, em virtude da complexidade do processo legislativo. Mas, por mais conhecimentos que uma pessoa tenha, fazer uma anlise sistmica e ampla, comparando todas as votaes de todos os projetos, voto a voto, partido por partido, ao longo do tempo algo que foge capacidade humana. Seria necessrio que uma pessoa visitasse todas as pginas de votao, tornando as anlises impraticveis. No incio de 2012, buscando se adequar Lei de Acesso Informao (LAI), Lei 12.527, a Cmara dos Deputados decidiu lana seu portal de dados abertos e disponiblizar seus dados por meio de WebServices (WS). Ao se realizar uma determinada consulta, o WS retorna um arquivo XML com todos os votos de uma determinada votao. Este arquivo passvel de ser tratado e analisado por um programa de computador e, alm disso, o acesso aos arquivos XML pode ser feito por meio de endereos web (URL) que utilizam parmetros que permitem que estes mesmos programas de computador possam buscar os arquivos que forem necessrios de forma automatizada. Com essas duas caractersticas, dos formatos processveis e do acesso automatizado, possvel criar um programa de computador que faa anlises e avaliaes de grandes volumes de dados. De posse dos dados da Cmara, Leonardo Leite, um dos membros do PoliGNU, pensou que seria importante que os dados disponibilizados fossem efetivamente utilizados pela sociedade, e de todos

Radar Parlamentar
Diego Rabatone Oliveira - 7Masters Open Data O projeto Radar Parlamentar (RP) um projeto desenvolvido pelo PoliGNU (Grupo de estudos de Software Livre da Poli-USP), um grupo de extenso universitria da Escola Politnica da USP composto do estudantes, ex-alunos, pessoas de outros cursos e pessoas de fora da universidade. Inicialmente, a Cmara dos Deputados disponibilizava os dados das votaes ocorridas na casa em seu website, numa pgina pensada para ser vista e lida por humanos. Claro que mesmo sendo uma

60 > Encontro 7Masters

os dados disponibilizados ele optou por utilizar os das votaes da casa para gerar ndices de similaridade entre os partidos polticos baseando a anlise nica e exclusivamente no resultado concreto das aes do parlamentares, que o voto dos mesmos, comparando os partidos entre si. Assim surgiu o projeto CamaraWS, que posteriormente, durante o hackathon da Cmara Municipal de So Paulo, foi rebatizado de Radar Parlamentar por meio de uma votao pblica realizada no site do PoliGNU. Hoje a anlise das votaes realizada por meio de um algoritmo matemtico chamado PCA (Anlise de Componentes Principais). Este algoritmo capaz de reduzir a quantidade de dados (nmero de votaes analisadas) a apenas dois valores, o que nos permite gerar um grfico bidimensional de semelhana entre os partidos. Neste grfico o tamanho de cada circunferncia proporcional ao tamanho da bancada do partido, e quanto mais prximos dois partidos esto no grfico, mais semelhantes eles so. Como prximos passos do projeto, pretende-se adicionar a possibilidade de se realizar anlises com base em temas especficos (educao, sa-

de, etc), e tambm permitir que o usurio d seus votos nos projetos e se posicione no grfico, comparando-se com os partidos. Todo cdigo fonte do projeto est disponvel no Github e contamos com novas pessoas que desejem colaborar com o desenvolvimento do projeto. Para grande parte das pessoas envolvidas com o projeto, para alm da relevncia pblica do mesmo enquanto ferramenta de anlise poltica, tambm foi importante a possibilidade de utilizar conhecimentos tcnicos e tericos adquiridos durante a graduao numa Universidade Pblica para gerar algum resultado concreto que possa ser utilizado pela sociedade, pois de nada adiantam os conhecimentos tcnicos e tericos, sejam eles advindos de um curso de graduao, sejam eles advindos da prtica hacker, se eles no so utilizados para gerar melhorias coletivas. Radar Parlamentar: http://bit.ly/13DLRYL PoliGNU: http://polignu.org GitHub do projeto: http://bit.ly/1189VkS Assista palestra em http://ow.ly/n8TLX </>

62 > Analytics

Mapeamento de aes telefnicas no Google Analytics


Por @alvarovasques

Por sempre ouvir nas reunies sobre o quando o atendimento telefnico influencia no processo de compra online, decidi fazer uma anlise mais profunda e percebi uma lacuna nos dados: quanto o atendimento telefnico realmente impacta e o quanto ele assiste a outras fontes de trfego? Esse insight me levou a uma imerso no setor de atendimento e ao mapeamento que vou descrever neste artigo. Ele no nenhuma descoberta da roda, mas pode ajudar a entender um pouco mais sobre o processo que leva seu cliente compra. Vamos l! Vou usar um e-commerce como modelo para ajudar a organizar a linguagem utilizada. No call center, temos alguns tipos de interaes, utilizarei as principais: Receptivo: recebe as ligaes gerais (informaes, dvidas, sugestes, reclamaes...) Ativo: abordagem mais proativa. Ex.: um cliente fez seu cadastro, colocou o produto no carrinho e o abandonou. Isso leva esse cliente para uma lista de pendncia que o combustvel do Ativo - ele tentar fechar a venda com todos da lista. Reteno: no caso de um pedido de cancelamento, a reteno argumenta para que o cliente reconsidere e desista do cancelamento e sugere a compra de outro produto. Cobrana: em caso de inadimplncia, a cobrana acionada. Como acontece com o Ativo, a cobrana tambm recebe uma lista para abordagem. Essas interaes tm duas aes bsicas: informao ou pagamento. Para realizar o mapeamento de aes utilizando o Google Analytics, primeiramente, ser necessrio um aculturamento da equipe para substituir o pode, por favor, acessar a URL X por Por favor, acesse seu e-mail e clique no link que acabei de enviar.

Ser necessrio construir um Gerador de URL no sistema de atendimento, onde o operador informa a URL, o nome e o e-mail do cliente.

O primeiro boto gera o link, caso o atendimento seja via chat. O segundo gera o link e envia para o e-mail informado. O e-mail enviado customizado de acordo com a URL enviada: caso seja uma URL de produto, ser enviado um texto padro + dados do produto, formas de pagamento, taxas, fretes, descontos etc. Optei por utilizar a tag de campanha do Google para fazer esse mapeamento, transformando o call center em uma fonte de trfego. A tag de campanha fica assim: URL/?utm_source=SOURCE&utm_ medium=MEDIUM&utm_term=TERM&utm_ content=CONTENT&utm_campaign=NAME URL = Endereo de link completo (http ou https) a ser enviado SOURCE = Origem de trfego que no caso do ser -> CALLCENTER MEDIUM = Tipos de mdia, que no caso sero -> CALL-RECEP, CALL-ATIV, CALL-RET, CALL-COB

63

TERM = Termos utilizados - > vamos utilizar essa varivel para informar o ID-OPERADOR CONTENT = Tipo de link - > LINK-PGTO , LINK-INFO NAME = Nome da campanha - > NOME DA CAMPANHA/AO No Google Analytics, teremos os dados de acompanhamentos por origem de trfego, campanhas, conforme a imagem abaixo:

Acompanhamos a produtividade de cada operador e possvel calcular a taxa de converso de cada um deles (links enviados/transaes). Abre-se um leque de novos dados que podem ser acompanhados e certamente novos KPIs. Podemos utilizar os segmentos avanados e principalmente a ferramenta de multicanal, que nos proporciona uma viso macro do nosso negcio. E falando em multicanal, chegamos ao ponto mais importante desse artigo: ver o quanto o call center auxilia as outras fontes. Na figura abaixo customizei o relatrio de multicanais, adicionando aos canais padres os canais de atendimento do call center. Assim, conseguimos analisar as converses em que a ltima interao foi feita pelo call center e tambm todas em que ele esteve presente auxiliando no processo de compra.

Relatrio de origem de trfego origem/mdia

Como pode observar, o call center passou a ser uma origem de trfego e seus subdepartamentos, mdias.

Relatrio de origem de trfego Campanha

Podemos acompanhar e medir todas as campanhas.

Nas prximas edies, vou continuar o assunto, indo mais a fundo na ferramenta multicanal e demais relatrios, de um passo a passo na configurao a insights de anlises.

Relatrio de origem de trfego Id do operador

lvaro Vasques Analista de Web Analytics no Portal Educao - alvarovasques@gmail.com

64 > Review

Glass: o melhor wearable ou o melhor gadget nunca antes visto?


Por @luisleao

Este ano, pude participar do Google I/O, o principal evento da empresa que fala sobre os lanamentos e as novidades dos seus produtos e tecnologia. No ano passado, eles lanaram o Google Glass, uma espcie de dispositivo vestvel no formato de culos, no qual voc pode receber informaes e avisos sobre sua conta, tirar fotos, gravar vdeos e conversar com amigos. Num primeiro momento, a ideia simplesmente genial, no pelo fato de colocar um display na sua cara, mas pela quebra de um paradigma a que estamos acostumados h muito tempo: o uso das mos para operar um aparelho. Com o Glass, praticamente tudo pode ser operado utilizando comandos de voz! Alm disso, voc tem um dispositivo que pode exibir informaes contextuais, que tm a ver com o local onde voc est de uma forma simples, prtica e sem precisar tirar o celular do bolso. Veja algumas consideraes sobre o Google Glass.

65

udio: no muito bom em um ambiente com rudos. Quando estava em um local mais calmo, podia ouvir bem. O microfone capta qualquer som e no sabe exatamente de onde vem. Imagine pessoas numa conferncia que fala sobre Glass. ;) Vdeo: apesar de no ser uma resoluo muito grande, a imagem projetada d uma boa leitura. A posio do visor deve ficar acima da linha de viso. No incio, incomoda ter a tela apenas em um olho. Conectividade: geralmente via bluetooth, mas funciona com wi-fi (desde que pr-configurado). O sistema de reconhecimento de voz precisa de acesso a nuvem e no vi a opo para funcionar offline (como acontece no Android), com exceo da chamada OK Glass.... Bateria: dura um dia numa utilizao normal ou muito menos (se gravar vdeos e utilizar muito os demais servios). Usabilidade: voc precisa indicar quais contatos/crculos estaro disponveis no Glass, sendo necessrio abrir a interface de configurao fora do dispositivo (no celular ou no computador). H possibilidade de atender ligaes utilizando o Glass e por meio dos hangouts, que so a nica opo que voc no precisa pr-configurar. API: utiliza REST e muito bem documentada! Uma pena no estar disponvel para qualquer desenvolvedor (apenas os usurios que adquiriram o Glass podem ativar e consumir a API). Apesar de ser um produto ainda no comeo e de que muito do que foi falado at agora no mostrar um cenrio muito otimista, eu pessoalmente acredito no potencial do Glass. Se voc comparar com todos os dispositivos vestveis no mercado, como Nike FuelBand, FitBit, Jawbone UP etc., vai perceber que o Glass foi um avano em design e funcionalidade. At o momento, no vi nenhum dispositivo que possa chegar ao nvel dele: ser um device Android, com capacidade boa de processamento, com GPS e acelermetro, com visor e no formato de um dispositivo vestvel. Acredito que ele muda a forma como nos relacionamos com tecnologia, e isso leva tempo: vi muita gente no I/O usando o Glass e atendendo o telefone pelo celular (isso indica que no en-

tenderam o propsito do dispositivo ou que a bateria no est acompanhando a necessidade de uso). Mas quem nunca teve problemas com bateria em smartphones ou no teve que aprender na marra uma nova tecnologia? Do ponto de vista de desenvolvedor, a maioria das pessoas que perguntei sobre o que esto fazendo com o Glass respondeu que s participaram de um hackathon que foi organizado pelo Google e que no estava desenvolvendo nada. O que me preocupa que ningum tem uma ideia concreta do que fazer com o dispositivo ainda, e as pessoas esto apenas usando-o como um gadget caro e de luxo. comum encontrar pessoas usando o Glass no metr em San Francisco, mas no surgiu nada ainda que revolucionasse o dispositivo. Infelizmente, as decises tomadas pela Google impedem que outros desenvolvedores possam testar aplicativos. Alm disso, eles ainda no se posicionaram em relao a um emulador que pudesse ser utilizado em ambiente de testes (embora desenvolvedores tenham criado um emulador prprio: http://glass-apps.org/ google-glass-emulator). S nos resta aguardar para ver como ser a prxima verso desse dispositivo e quando ele estar disponvel para o resto do mundo. </>

Luis Leo desenvolvedor web que encontrou em APIs e hardware aberto novas formas de integrar a web com o mundo real. www.luisleao.com.br

66 > Criatividade Tecnolgica

How to make (almost) anything ou com quantos paus se faz uma cadeira
Por #linalopes

Na histria do homo sapiens, imagino que ele, em seu processo de sedentarizao, dominou o fogo e depois, com a lenha que sobrou, criou a cadeira. De fato, eu no saberia dizer, ou precisar, quando a primeira cadeira foi criada, contudo o trono mais antigo, que chegou aos dias de hoje, o do palcio de Cnossos, na ilha de Creta. Isso significa que a ideia de cadeira como smbolo de quem detm o poder mais antiga que a inveno da escrita e da Histria. E quem fazia todos os tipos de cadeiras eram os artesos e carpinteiros. Jesus Cristo provavelmente deve ter feito vrias. J a histria da cadeira eltrica bem mais recente. No fim do sculo XIX, Thomas Edison patenteou a lmpada e os dispositivos cinematogrficos nos EUA, enquanto fazia lobby junto ao governo americano para dar incio ao mercado da eletrocusso. A execuo de prisioneiros usando eletricidade um marco da vida moderna, de uma sociedade em plena Revoluo Industrial e exemplo de uma evoluo tecnolgica, econmica e social (God bless America). Nesse momento histrico, os artesos deixam de produzir cadeiras e passam a operar mquinas. A tecnologia traz consigo a separao entre aqueles que fazem as mquinas funcionarem (funcionrios) e aqueles que patrocinam as mquinas (patres). Os patres tambm detm o conhecimento cientfico aplicado na produo de cadeiras, desde a escolha e pesquisa da madeira e materiais adequados, passando pela produo serializada, e chegando venda do produto final, distribuda em escala mundial. Os funcionrios sabem se sentar na cadeira e apertar botes. Contudo, outra revoluo surgiu de tanto apertar boto: a Revoluo Digital. Com ela, veio o computador, a interface grfica, a Internet, as redes sociais e, tambm, o motivo deste texto, a fabricao digital. Alguns talvez tenham em mente a to comentada impressora 3D, como exemplo do que vem a ser a tal fabricao digital. Na realidade, o conceito um pouco mais robusto e abarca todo um novo tipo de produo que usa ferramentas controladas por computador para transformar

projetos digitais em objetos fsicos. a explorao da fronteira entre a Cincia da Computao e a Cincia Fsica, como gosta de definir o Prof. Neil Gershenfeld, diretor do Center for Bits and Atoms do MIT. Gershenfeld professor e coordena a disciplina How to Make (Almost) Anything. Desde 2001, trabalha com o tema de fabricao digital e um dos pioneiros do projeto FabLab. Inicialmente, a computao revolucionou o modo de produo com as ferramentas CAD (computer-aided design). Era possvel representar o desenho de uma cadeira em um mundo grfico de bits. A computao passou de representao do projeto para ferramenta do projeto com o advento das ferramentas CAM (computer-aided manufacturing), incluindo as instrues para as mquinas de Computer Numerical Control (CNC). Essas mquinas recebem uma informao numrica a partir do arquivo de design e so capazes de cortar e fresar o material para chegar forma almejada. Esse tipo de produo conhecida como substrativa e conta tambm com outros tipos de maquinrio, como cortadora a laser, a plasma (para chapas metlicas) ou a jato de gua. Essas tecnologias, de modo geral, no esto facilmente disponibilizadas para o pblico em geral, pelo menos no tanto quanto uma outra, cujo modo de produo ocorre por adio de material, a impressora 3D. Para adquirir uma impressora 3D, basta entrar em uma das pginas dos fabricantes, como o MakerBot (http://www.makerbot.com/) e a Felix (http://www.felixprinters.com/) ou a da verso brasileira Metamquina (http://metamaquina. com.br/). Ns, aqui em casa, montamos a nossa junto com a comunidade RepRap (http://reprap. org/wiki/Main_Page), de Barcelona. A ideia geral que a impressora possa imprimir suas peas-chave e ser autorreplicante. Independentemente do tipo de produo escolhida, se aditiva ou substrativa, possvel construir uma cadeira a partir de um modelo 3D feito no computador. Alis, esse modelo pode ser elaborado mo por designers e engenheiros ou tambm

67

fazer o upload do seu modelo e receber em casa o seu produto. Para quem designer e estiver interessado, possvel tambm vender seu produto por demanda nesse site para outras pessoas interessadas de qualquer lugar com acesso Internet. A fabricao digital prope uma democratizao na rea de inovao e produo e, como tudo que tem alta acessibilidade, tem todo tipo de projeto. Polmico o Defense Dist (http://defdist. org/), que disponibiliza projetos para a impresso de armas de fogo, alegando a liberdade do uso de armas entre civis para autodefesa nos EUA. Por outro lado, h projetos como o Magic Arms (http://magicarms.org/), que possibilita a crianas, como Emma de 3 anos, terem um exoesqueleto para ajud-las em seus movimentos, de outro modo, limitados por patologias neuromusculares. O acesso e o nmero de projetos em fabricao digital pessoal vm crescendo ano a ano e apontam uma tendncia. Ainda no to comum ter uma impressora 3D quanto ter um computador pessoal, mas Chris Anderson, escritor americano que trabalhou como editor da revista WIRED e hoje dirige a companhia de drones 3DRobotics, j fala em uma nova revoluo industrial. Em seu mais recente livro, Makers - a nova revoluo industrial (Editora Campus-RJ, 2012), ele comenta como novas tecnologias democratizadas mudaram o mundo: primeiro, os computadores, depois, a Internet e, para os prximos 10 anos, a fabricao digital. Ele mesmo empreendeu seus drones, pequenos robs areos autnomos, a partir da experincia da fabricao em casa de um brinquedo para o filho. A palavra de ordem junto ideia de fabricao pessoal Faa voc mesmo. Impressoras 3D e redes sociais virtuais de comunicao e compartilhamento de informao, bem como espaos dedicados produo personalizada so o trip de um novo empreendedorismo. E, hoje, cadeiras so como... a Wiki. :P Impressora 3D delta: http://bit.ly/Lkbp3T Impressora 3D de cermica: http://bit.ly/N0oSk3 </>

Folding Chair and Ottoman, por Brainstream

pode contar com a ajuda de um processo conhecido como 3D scanner. Nesse caso, o modelo construdo a partir de imagens tomadas do objeto real. Recentemente, a Autodesk lanou o 123D Catch (http://www.123dapp.com/), um aplicativo grtis para criar modelos 3D a partir de captura de 20-40 imagens em torno do objeto. O que h de to revolucionrio em tudo isso? Segundo Gershenfeld, em seu artigo Foreign Affairs (2012), a inovao est na capacidade de transformar dados em coisas e as coisas em dados. possvel deter novamente os conhecimentos da fabricao de uma cadeira, possvel produzir cadeiras em menor escala e de modo mais personalizado e compartilh-las com o restante do mundo. Tudo isso porque a fabricao digital permite maior flexibilidade, simulao, customizao e de maneira descentralizada e consciente. Trata-se da recapacitao e do fortalecimento de criadores e produtores locais em nvel global. O projeto FabLab foi criado e disseminado com esse intuito. So pequenos pontos de produo e inovao completamente equipados com CNCs, cortadoras a laser, impressoras 3D etc., para produo em pequena e mdia escala. Nesses espaos, novos designers e interessados em geral podem dar forma a suas ideias. E mais que espaos fsicos ao redor do mundo, o FabLab uma rede de trocas de conhecimento. Faz parte do pensamento da fabricao digital, um design open source, aberto e compartilhado. A plataforma Thingiverse (http://www.thingiverse. com/) dispe de vrios arquivos de modelagem 3D de objetos e projetos diversos para quem quiser baixar, modificar e imprimir. E se voc ainda no tem uma impressora 3D em casa (apenas uma questo de tempo), pode contar com a plataforma Shapeways (http://www.shapeways.com/) para

Lina Lopes graduada no curso superior de audiovisual da universidade de So Paulo (ECA/ USP), est cursando engenharia da computao (FIAP) e se especializando em iluminao e design (IPOG). Pesquisa a relao entre corpo, espao cnico, linguagem da fotografia, do vdeo e das artes&tecnologias. - lina@blab.art.br

68 > iMasters Box

iMasters Box
Seleo: Joo Antnio - joao.antonio@imasters.com.br - envie suas sugestes de ferramentas!

Zoho Wiki

MODx Revolution

Gliffy

Zoho Wiki uma ferramenta de registro de processos com recursos wiki, que tambm permite a criao de reas de trabalho individuais. Nelas, o usurio pode organizar aplicativos e funcionalidades que deseje utilizar dentre as solues da sute Zoho (ferramenta para CRM, recrutamento, gesto de projetos, organizao de reunies, compartilhamento de documentos, criao de aplicativos e vrias outras) e incorpor-las a produtos das sutes Google, Office e Sharepoint. Suas pginas permitem a edio coletiva, monitoramento de pginas e controle de verses. http://ow.ly/mUGJf

um sistema de gesto de contedo de cdigo aberto. A ferramenta segura, malevel e escalvel, possui sees completamente customizadas e pode ser usada para o desenvolvimento de websites especficos. O sistema bastante gil e rpido, desenhado para ser utilizado em websites de qualquer tamanho e permitir uma rpida expanso. fcil criar novos temas e pginas visualizadas de forma diferente conforme seu contexto. Isso permite a criao de websites especficos para projetos, clientes ou fornecedores, com permisses de acesso e funcionalidades customizadas. As extenses podem ser instaladas diretamente de seu painel de administrao. http://ow.ly/mUGXl

Ferramenta online para anlise. Conta com suporte, por exemplo, a UML, DER e vrios outros diagramas. Com uma interface amigvel e rpida, de arrastar-e-soltar, combina o poder do software de desktop tradicional com a leve curva de aprendizagem, baixa e caractersticas flexveis de hoje e o aplicativos mais populares baseados em navegador. Gliffy funciona atravs de seu navegador. http://ow.ly/mUGZ9

69

O iMasters Box um agregador de servios voltado para desenvolvedores web, que rene ferramentas teis para esses profissionais e que j esto disponibilizadas na rede. Aqui na Revista, vamos selecionar sempre algumas das ferramentas mais interessantes para voc. Conhea mais o iMasters Box em http://imasters.com.br/box e participe! Sua sugesto de ferramenta pode vir parar tambm na Revista!

MySQL Workbench

Laravel

Subversion

Ferramenta multi-plataforma de design visual de banco de dados desenvolvido pela MySQL. Est disponvel como uma ferramenta nativa GUI no Windows, Linux e OS X em diferentes edies. http://ow.ly/mUH0Z

Framework PHP com uma sintaxe elegante e expressiva, focado em trazer uma experincia de programao agradvel, criativa e reconfortante. Laravel tenta remover todas as partes desagradveis da programao atravs da apresentao de alternativas simples e efetivas de atividades comuns a quase todos os sistemas web, como autenticao, rotas, sesses, caches etc. Fornece ferramentas poderosas que podem ser utilizadas em aplicaes grandes e/ou robustas. Oferece um incrvel controle de containers, migrations para bancos de dados, um sistema de testes unitrios, alm de vrias outras ferramentas para facilitar o desenvolvimento de qualquer aplicao web. http://ow.ly/mUH2X

Tambm conhecido por svn, o Subversion um sistema de controle de verso desenhado especificamente para ser um substituto moderno do CVS, que se considera ter algumas limitaes. Ele desenvolvido como um projeto da Apache Software Foundation, e como tal parte de uma rica comunidade de desenvolvedores e usurios. Ele gerencia arquivos e diretrios ao longo do tempo. Esses arquivos ficam armazenados em um repositrio central sob o cuidado desse sistema. Esse repositrio se parece muito com um servidor genrico de arquivos, exceto que todas as mudanas feitas em seu contedo so devidamente registradas. Alm de voc ter sempre a verso mais atual disponvel, o sistema permite recuperar verses antigas dos seus dados, examinar o histrico para saber que modificaes foram feitas ou ainda, quem executou a alterao. http://ow.ly/mUH4n