Em Janeiro, eu e Zeno Rocha fomos convidados pelo grande amigo Edu Agni para palestrarmos na Campus Party sobre Layouts Responsivos.
No começo ficamos pensando se seria uma boa ideia, visto que é um
assunto que já foi bastante debatido nos últimos dois anos, mas ao mesmo
tempo sabíamos que poderíamos fazer algo bacana em cima. A dificuldade
inicial foi saber em que âmbito nós ficaríamos, como mesclaríamos
desenvolvimento com design, atuaríamos em que nível, visto que não
saberíamos o público que encontraríamos no evento.
Depois de muito rascunho, chegamos a um modelo divertido e ao mesmo tempo didático. Resumindo um pouco:
Responsive Webdesign derivou-se de Responsive Architecture cunhado por Nicholas Negroponte,
um renomado arquiteto e cientista, formado pelo MIT e idealizador da
fundação “One Laptop per Child” que visa disponibilizar computadores por
100 dolares para educação de jovens.
Responsive Architecture
Arquitetura responsiva é um campo que visa combinar a ciência da
computação com a arquitetura, gerando ambientes inteligentes e
sensíveis, que através de sensores, conseguem detectar variáveis como
cores, temperatura, peso, entre outras, e adequar o ambiente de forma
positiva. O mais interessante é que isso foi cunhado nos anos 60, embora
pareça algo super inovador né?
Responsive Webdesign
O famoso RWD já veio recentemente. Tudo começou com um post no Blog A List Apart, onde Ethan Marcotte
retrata a mudança de comportamento e crescimento de usuários mobile, e
sinalizando que isso já estava afetando (em 2010) empresas que queriam
seus websites disponíveis para esses novos dispositivos. O que eu chamo
de felicidade do Ethan foi comparar isso ao trabalho de Negroponte, onde
temos que adaptar de forma inteligente o ambiente às variáveis de
interação do usuário, nascido para arquitetura e atualmente famoso na
área de Webdesign.
Slides e Vídeo
Melhor do que repetir textualmente tudo que foi apresentado na
palestra, melhor ver o vídeo gravado né? Segue então o vídeo completo do
nosso bate-papo na Campus party e nossos slides.
Responsive Sanfona
O mais legal de tudo é criar algo divertido para as palestras que
apresentamos juntos, sendo assim, não podíamos deixar de brincar um
pouco com responsive né?
Criamos um mini projetinho divertidinho para apresentar no final da
palestra e foi um sucesso, convidamos todos a conhecê-lo! Aumente o som e
acesse http://html5-pro.com/sanfona!

Feedback Maravilhoso
O camarada João Stein nos abrilhantou com um email dando um feedback
muito bacana sobre essa palestra, sugerindo uma série de coisas que
poderíamos ter incluído no assunto. Não poderia deixar de agradecê-lo
publicamente pelo carinho e por somar em tempo onde tantas pessoas
preferem subtrair. Segue as sugestões maravilhosas dele:
- MOBILE FIRST – http://www.abookapart.com/products/mobile-first , inclusive a palestra do amigo e mestre Horácio Sorares foi sobre isso, veja aqui os caminhos do mobile
- Alternativas para implementações de imagens responsivas
- Referências:
- Livros:
- Fontes de conteúdo para pesquisa:
Prenda sua respiração!
Para finalizar, o Sérgio Lopes disponibilizou um post de tirar o
fôlego de qualquer um, com todos os tipos de links e assuntos
relacionados. Puxe ar…… agora leia: http://sergiolopes.org/diretorio-design-responsivo/
Conclusão
Tem muita coisa bacana que dá para explorar né? E você, já experimentou algo de RWD para contar?
*** Artigo de Bernard De Luna
|
Quando se vislumbra a carreira de desenvolvedor de aplicativos
para dispositivos móveis, ela parece ser bastante encantadora e
promissora. De fato ela é, mas há senões. Só em 2011, o mercado
internacional de apps movimentou cerca de 6,8 bilhões de dólares e, até
2015, essa quantia pode chegar a algo entre US$ 25 bilhões e 38 bilhões
ao ano, de acordo com as consultorias MarketsandMarkets e Forrester
Research. Sabe-se ainda que o salário de um desenvolvedor no Brasil pode
chegar a mais de 10 mil reais mensais.
A princípio, qualquer pessoa pode desenvolver um aplicativo. Não há
pré-requisitos de escolaridade, basta conhecer de programação e gostar
de computador e celular. A própria Apple disponibiliza um vasto material
para leitura na web, além de vídeos com aulas de Stanford no iTunesU e
exemplos de código para aqueles que querem aprender os primeiros passos
de programação. Em função disso, muitas pessoas acreditam que apenas com
uma boa ideia, é possível fazer um aplicativo estourar e com ele
faturar milhões.
Mas, na realidade, não é bem assim que acontece! Dos cerca de 700 mil
aplicativos presentes na App Store, 60% deles nunca foram baixados. O
número é ainda mais assustador quando se descobre que somente 2 mil
aplicativos para iPhone conseguem resultados relevantes. Além disso,
outra dificuldade é prolongar a vida útil do aplicativo – exemplos de
apps que surgiram, rapidamente se tornaram um sucesso de downloads e, na
mesma velocidade, caíram no esquecimento dos usuários não faltam.
E qual é a receita de sucesso para um aplicativo? Primeiramente, é
importante que ele tenha um design agradável e possibilite uma
navegabilidade tranquila, sem transtornos para o usuário. Dizemos que
tecnologia boa é aquela que passa despercebida. Além disso, e mais
importante, é que se pense o aplicativo como uma empresa, criando planos
de negócios, marketing e financeiro. O desenvolvedor deve pensar como
ele pode transformar o aplicativo em um negócio lucrativo e de vida
longa.
Nesse cenário estão inseridas as incubadoras e aceleradoras de
aplicativos móveis. São empresas que ajudam os desenvolvedores e
startups com infraestrutura, mentoring e financiamento. Ou seja, essas
empresas reúnem grupos de desenvolvedores e pequenos empresários e
oferecem a eles serviços de marketing, contabilidade e jurídico, por
exemplo, além de ajudá-los com conselhos e dicas de como tornar o
projeto mais viável financeiramente. Em troca, as aceleradoras e
incubadoras ficam com uma pequena porcentagem dessas startups.
Um outro modelo, ainda novo no Brasil, é das Venture Builders. Assim
como as incubadoras e aceleradoras, elas fornecem estrutura e os
serviços básicos para os desenvolvedores e startups, mas o diferencial é
que a Venture Builder capta projetos em todas as suas fases de
desenvolvimento, desde apenas ideias, até aplicativos já prontos que
estão necessitando apenas de financiamento ou ajuda na área de
marketing, por exemplo. O que varia, nesse caso, é a porcentagem da
empresa que fica com a Venture Builder.
O crescimento desse mercado de trabalho no país deve acompanhar o
aumento das vendas de smartphones. O Brasil chegou à marca de 27,3
milhões de unidades de celulares vendidas durante os seis primeiros
meses de 2012. Deste total, 6,8 milhões foram de smartphones, e 20,5
milhões, os chamados feature phones (aparelhos que permitem acesso à
Internet, redes sociais e sistemas de mensagens instantâneas, mas sem
sistema operacional). Comparando com o mesmo período de 2011, o mercado
de celulares em geral sofreu queda de 16% – o de feature phones, de 29%.
Porém, os smartphones tiveram alta de 77%.
Mas o crucial é que o crescimento do mercado acompanhe a
profissionalização do setor, com profissionais cada vez mais preparados e
que desenvolvam aplicativos mais ricos, com interatividade com as redes
sociais e que sejam lucrativos para seus desenvolvedores e para as
empresas que investiram nele.
*** Artigo de Alex Barbirato
|
Dados do mercado brasileiro de tecnologia apontam para uma tendência que parece definitiva: vamos todos nos tornar mobile. Estudos colocam o Brasil como décimo maior mercado de smartphones do mundo.
O ‘boom’ dos dispositivos móveis estimula diretamente o
desenvolvimento do mercado de aplicativos: o Brasil já é o maior mercado
de apps da América Latina e vem despertando o surgimento de um novo
nicho de investimentos focado na área. Nesse sentido, a expectativa é
que o mercado mobile domine o segmento de TI até 2015 e seja responsável
por mais de 50% do faturamento mundial da área. Tudo isso graças a uma
quebra de paradigma de computação e acesso à informação.

A aposta nos altos números para o Brasil não é em vão: desde que a
Apple liberou a parte de jogos da App Store no Brasil, em abril do ano
passado, as receitas do site cresceram 80%, parte justificada pela larga
presença de brasileiros em atividade nas redes sociais, que ocupam
quarto lugar nas redes no mundo. Essa participação massiva é apontada
como decisiva para o aculturamento do uso de apps no Brasil acima das
médias mundiais, já que a percepção das funcionalidades extras dos
smartphones acontece, na maioria das vezes, através do contato com
usuários já iniciados.
Nesse contexto, a facilidade de se produzir aplicativos com baixo
custo de investimento inicial e os jovens milionários que surgem na área
a cada dia – como o brasileiro Mike Krieger, co-criador do Instagram
que faturou, com 24 anos, 182 milhões com a venda do aplicativo para o
Facebook – inspiram o surgimento de interessados no negócio. A formação
técnica da mão de obra brasileira, considerada de ótima qualidade,
associada a uma remuneração abaixo dos patamares internacionais também
são fatores que apontam para um mercado que tem tudo para vingar. Mas,
ainda assim, a produção nacional ainda é baixa: apenas 1,4% dos
aplicativos produzidos no mundo são brasileiros, segundo a plataforma
AppsGeyser.
Muito disso se deve ao fato de que a formação de uma empresa
desenvolvedora de apps não é tão simples quanto parece, e exige que os
executivos tenham um modelo de negócios bem estabelecido. O primeiro
passo fica por conta da formação de uma boa equipe multidisciplinar, que
inclua analistas desenvolvedores, web designers, redatores e
ilustradores. Nesse momento, a atenção é voltada tanto para busca
daqueles que tenham conhecimentos específicos para cada plataforma
(Apple, Android, WindowsPhone, BlackBerry etc.), quanto para a retenção
de talentos, já que o mercado é forte e os bons profissionais são
disputados de forma acirrada. Os executivos também devem ficar atentos a
questões como utilização de hardwares específicos e a obtenção de
certificações para comercialização dos aplicativos.
Entre os modelos de negócios mais comuns, quatro deles merecem
destaque e podem gerar receita e rentabilidade expressiva garantindo
crescimento acelerado – fator fundamental para atrair investidores. Um
modelo possível é a venda de apps no varejo, diretamente nas lojas
virtuais e a preços normalmente baixos, sendo a grande maioria entre U$
0,99 e U$ 4,99, ou a venda para empresas e patrocinadores, gerando apps
gratuitos nas lojas virtuais. A vantagem de ambos os modelos é que a
apresentação pode ser mundial e sem grandes dificuldades, fazendo com
que a quantidade de downloads atinja facilmente a casa de milhares e,
por vezes, de milhões, viabilizando o projeto.
No caso de apps comercializados no varejo, a loja virtual fica com um
percentual da receita e o restante é repassado para a empresa
desenvolvedora. No caso do app de distribuição gratuita, a empresa
contratante ou o patrocinador remunera o trabalho de desenvolvimento do
projeto, que pode variar de R$ 5.000 a R$ 150.000 embora, em função da
complexidade, o projeto possa chegar a cifras da ordem de R$ 500.000. O
app pode também ser comercializado em valores mensais e sem valores de
aquisição.
Existe ainda a possibilidade de venda de espaço publicitário dentro
dos apps, chamado de in-apps. Nesse caso, podem ser disponibilizados
banners, rodapés, telas de entrada e espaços diversos. A gestão de
anunciantes de apps é feita pelas lojas virtuais que cobram dos
anunciantes e repassam parte da receita para a empresa desenvolvedora ou
a própria desenvolvedora pode fechar acordos com os patrocinadores
interessados diretamente.
Por fim, há ainda a possibilidade de venda de “novos recursos” dentro
dos apps. Por exemplo, podemos baixar gratuitamente um app que contenha
inúmeras funcionalidades “básicas” e que, caso tenhamos interesse,
podemos disponibilizar funcionalidades “avançadas” cobrando por isso.
O importante é considerar que o mercado de aplicativos se adapta bem
ao nosso novo mundo sem barreiras: em todos os casos, não há necessidade
de contato físico ou deslocamento para um determinado local geográfico.
Já o retorno do capital investido depende de inúmeros fatores, como: a
modalidade de comercialização escolhida, a especialização dada ao
negócio e o tamanho da equipe contratada.
|
Falamos muito em mobilidade e o desenvolvimento de apps
extremamente inovadores para smartphones e tablets. Mas existe um ponto
que, venho observando, tem sido pouco comentado: o seu impacto na
arquitetura de software. O ambiente de desenvolvimento está sendo
sacudido pela chegada simultânea de quatro ondas tecnológicas, que
juntas causam um verdadeiro tsunami: cloud computing, mobilidade, social
business e Big Data.
Estas tecnologias e conceitos mudam de forma radical a maneira de
pensar sistemas e, como consequência, os arquitetos de software têm que
atualizar suas visões de como construir seus sistemas. As grandes
aplicações monolíticas e mesmo o já tradicional modelo mental do
client-server de duas ou três camadas não têm muito mais espaço neste
cenário.
Por outro lado, este cenário turbina um conceito que foi muito falado
e pouco implementado na prática, que é o SOA (Services Oriented
Architecture). Interessante que há poucas semanas, em uma palestra em
uma conhecida universidade, perguntei sobre SOA e poucos alunos
conseguiram definir claramente seus princípios. Ou seja, a base
fundamental para criarmos os novos sistemas está meio esquecida…Torna-se
urgente resgatar seus conceitos.
A mobilidade por si traz novos desafios. Não se deve pensar em apenas
replicar para smartphones e tablets os sistemas escritos para o modelo
de mouse e teclado. Devemos pensar em sistemas inovadores, que explorem
os recursos dos equipamentos móveis como câmeras, microfones,
giroscópios, acelerômetros, GPS e diversos outros. A multiplicidade de
sensores destes equipamentos nos permite criar aplicativos que capturem e
processem dados oriundos das mais diversas fontes. Isto por si só é um
desafio, pois os diversos fabricantes configuram estes recursos de
formas diferentes. Além disso, estes recursos podem gerar volumes de
dados significativos como os vídeos.
Também as interfaces via reconhecimento de voz e som demandam novas
maneiras de pensar os aplicativos. Os programas têm que explorar a
capacidade do próprio dispositivo, mas também precisam da imensa
capacidade computacional que estará rodando em background, na nuvem. Um
exemplo: um app que grave um vídeo e o envie para processamento na
nuvem para que seja feito um reconhecimento de imagens que identifique
determinado indivíduo ou produto neste vídeo e forneça características
sobre ele.
Outra análise a ser feita para as aplicações móveis é o grau de
computação que deverá ser feita offline, quando o acesso à rede não for
possivel. Pode acontecer do app ter que operar em determinados momentos
em locais onde o sinal seja muito fraco ou mesmo sem possibilidade de
conexão à Internet. Na prática, podemos pensar em um modelo mais
flexível que o cliente-servidor. A grande capacidade computacional de um
smartphone ou tablet permite que ele seja, em determinados momentos,
cliente de servidores na nuvem (client-cloud) e, em outros, atue como
seu próprio servidor no modelo server-server. A sincronização com a
nuvem deverá ser feita quando a conexão se restabelecer, de forma
automática e transparente para o usuário do app.
O modelo server-server demanda uma análise mais aprofundada dos
mecanismos de segurança que serão adotados no dispositivo móvel, bem
como as diferentes estruturas de dados que deverão ser acomodadas. Novo
desafio: os arquitetos não poderão mais pensar apenas em modelos
relacionais! O modelo relacional será apenas um dos diversos modelos de
dados que os sistemas adotarão.
Outro desafio: criar arquiteturas para apps híbridas, adotando HTML5 e
código nativo para Android, iOS e Windows. Isto implica em
conhecimentos não apenas de HTML5, mas também da tecnologia específica
dos demais ambientes móveis, como dos diversos meios de comunicação
destes dispositivos com a nuvem. Por exemplo, se o acesso for a partir
da parcela nativa do app, deverá ser feita via API específica da
plataforma. Se for a partir do codigo HTML5, será via Ajax ou Web
Sockets. Enfim, são decisões arquitetônicas que deverão ser tomadas
antes de escrever o código.
O resumo da ópera: a mobilidade abre um novo e desafiador espaço para
os arquitetos e desenvolvedores de software. Vai exigir mais estudos e
novas práticas, mas o resultado será compensador. Novas e inovadoras
apps e com certeza, para os que se aprofundarem nas tecnologias, maior
empregabilidade.
*** Artigo de Cezar Taurion
|
Graças à tecnologia disponível, a nuvem converteu-se hoje em um
cenário que nos permite inúmeras coisas. Começamos timidamente com os
e-mails e fomos somando mais e mais serviços, de tal maneira que
atualmente podemos usar a nuvem para quase tudo.
Precisamente, um dos processos mais interessantes que podemos fazer
com a nuvem é prototipar aplicativos. Nós, que já desenvolvemos
aplicativos há algum tempo, sabemos que, em meados da década de 1990,
prototipar aplicativos web era algo realmente difícil, já que a
necessidade de recursos era muito grande, entre servidores hmtl,
servidores de banco de dados, rede etc.
Entrando no novo século, a tecnologia que foi aparecendo nos ajudou
cada vez mais para que pudéssemos contar com todos os serviços locais em
nossa máquina, o que fez com que a prototipação acelerasse muito. O
problema é que, em muitos casos, o que conseguimos testar localmente não
corresponde exatamente ao que vamos instalar depois.
É preciso que se entenda que durante o desenvolvimento de qualquer
aplicativo de software devem ser realizados muitos testes, pois o
ambiente de produção não é o mesmo no qual os usuários instalarão o
software. Assim, é preciso fazer testes, tanto nesse ambiente de
produção local primeiro, como nos ambientes de produção, antes de
liberar o que foi desenvolvido.
O que acontece quando pensamos em Smart Devices? A situação é mais ou
menos a mesma, já que, embora possamos realizar os testes em forma
local com emuladores dos distintos dispositivos, eles não refletem
completamente qual será a funcionalidade real em cada sistema
operacional móvel, nem como será a experiência do usuário.
Hoje, podemos aproveitar que muitas empresas disponibilizam o serviço
de poder hospedar aplicativos na nuvem, em servidores com
características idênticas aos que utilizaremos na produção e os mesmos
gerenciadores de banco de dados, para gerar um ambiente 100% idêntico ao
que teremos na produção e, nele, submeter nossos aplicativos a testes
mais exaustivos com o fim de evitar as enfadonhas provas de “ambiente”,
quando vamos levá-las à produção.
Ter o aplicativo na nuvem nos dá mobilidade e a possibilidade de
incluir usuários remotos no processo de prototipação, por não ter o
aplicativo na nossa máquina ou um servidor local com um acesso muito
limitado. Dessa forma, conseguimos uma maior interação com o usuário
final.
No caso dos Smart Devices, essa alternativa facilita ainda mais a
prototipação, porque, com a nuvem, podemos realizar todos os testes nos
dispositivos reais. Atualmente, a grande quantidade de dispositivos
móveis que existe no mercado, com distintas características e sistemas
operacionais, faz com que isso seja extremamente útil para que os
aplicativos cumpram 100% com a funcionalidade e com as características
próprias de cada dispositivo, melhorando significativamente a
experiência dos usuários.
Entre as empresas mais populares que fornecem serviços corporativos
de hospedagem na nuvem estão Amazon Elastic Computer Cloud (Amazon EC2) e
Microsoft Windows Azzure. Com esse tipo de serviços, temos disponível
tudo o que precisamos para realizar os testes: servidor web e servidor
do banco de dados em função do serviço e configuração que desejarmos e
contratarmos.
Diante da diversidade de dispositivos que encontramos no mercado,
também podemos encontrar um usuário tester em um amigo que acaba de
comprar seu Smart Devices de última geração de que não dispomos em nosso
laboratório, ou em um que tem aquele aparelho tão antigo que já
tínhamos nos esquecido de que existia, mas que ainda é válido no
mercado.
Uma vez que se tem o espaço na nuvem, a única coisa que se deve fazer
é publicar o aplicativo nela. Não se pode esquecer, ao contratar o
serviço, que o espaço contratado no servidor deve contar com segurança
sobre os objetos e banco de dados, de modo que ninguém que não esteja
autorizado por nós possa acessar nossos dados e aplicativos.
Essa é uma forma simples e de baixo custo para realizar uma prototipação 100% efetiva de nosso aplicativo.
*** Artigo de Aníbal Gonda
|
Desenvolvendo um bookmarklet que será executado em dispositivos
iOS? Você provavelmente está procurando uma forma de testá-lo que não
inclui o termo “iCloud”.
A boa notícia é que você pode adicionar seus próprios bookmarks
personalizados e bookmarklets à lista estática do Simulador de bookmarks
do iOS para o testes.
A má é que isso não é nenhum mamão com açúcar…
A boa notícia depois da má é que não é muito trabalhoso e eu vou te ensinar como fazer!
Isso se aplica ao XCode 4.4.1 no Mac OS X 10.8.1.
1) Encontre o plist
A Lista de Propriedades dos bookmarks está dentro do pacote Xcode.
Dispare um terminal e execute este comando para navegar para o seu
diretório:
cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/Applications/MobileSafari.app
Uma vez nesse diretório, execute:
ls -l *Bookmarks*
Você verá vários arquivos, e um deles é chamado de StaticBookmarks.plist.

Esse é o nosso cara.
2) Obter permissão
O Xcode é de propriedade do usuário root do seu sistema, então você não pode editar o arquivo ainda. Idealmente, você poderia apenas fazer um sudo open StaticBookmarks.plist, mas isso não funciona mais. Acho que o novo versionamento de arquivos em Lion/Mountain Lion quebra isso.
Outro meio para atingir o mesmo fim é tomar posse do diretório MobileSafari.app e seus arquivos, assim:
sudo chown -R `whoami` ../MobileSafari.app
Isso não é o ideal, mas funciona bem o bastante. Há uma boa chance de
que as futuras atualizações do Xcode irão definir a propriedade de
volta a root, mas é mais provável que irão substituir diretamente o StaticBookmarks.plist – nesse caso, você está de volta ao princípio de qualquer jeito.
3) Edite no Xcode
Agora que você possui o arquivo e seu próprio diretório, o Xcode permitirá que você o edite. Abra-o no Xcode desta forma:
open StaticBookmarks.plist
Você deverá ver algo mais ou menos assim:

Propriedade List Editor.
Cada item dentro da chave “Root” é um bookmark. Para adicionar o seu
próprio, basta clicar no botão + ao lado da chave “Root” e adicionar um
item novo do dicionário. Ele deve ter duas chaves de string, uma para o
título do bookmark, e uma para o seu conteúdo.
Quando estiver tudo pronto, adicione o seu próprio bookmark (let). Deve ficar mais ou menos assim:
Push Pop é um bookmarklet pequeno no qual estou trabalhando.
4) Mãos à obra
Inicie o iOS Simulator e você deverá ver seu novo bookmark lá na lista com os outros!

***
Texto original disponível em http://blog.jerodsanto.net/2012/08/adding-your-own-bookmarks-and-bookmarklets-to-the-ios-simulators-mobile-safari/
|
Há muito tempo se fala da tendência do mobile commerce, e que o
mobile dominará o cenário da Internet e do ecommerce mais cedo ou mais
tarde. A realidade é que muito foi falado até então e pouco foi visto ou
feito neste sentido. Por isso, sempre que me deparo com alguma notícia
alarmando o mobile, fico com um pé atrás. Dito isso, minha curiosidade
se despertou para este mundo quando, no final do ano de 2011, vi a
notícia no jornal Estado de São Paulo
que celulares e tablets haviam sido um dos presentes mais dados no
Natal do ano anterior. Resolvi, então, investigar um pouco deste
universo e aqui vão minhas conclusões.
Primeiramente, procurei sobre a definição formal do que é mobile
commerce e encontrei o seguinte: m-commerce é qualquer atividade
conduzida através de uma rede sem fio de comunicação ou um aparelho
móvel que leva a uma transação comercial. Bem, visto isto, um aumento
por si só do volume de vendas de celulares ou mesmo tablets não levaria a
uma maior participação das vendas através de aparelhos móveis no
comércio eletronico. Precisaríamos de mais três fatores: incremento das
vendas de smartphones, pois apenas eles têm possibilidade de acessar a
Internet com um browser que garanta a qualidade do acesso, barateamento
do custo de acesso via mobile e melhora da conexão, para que realmente
mais pessoas possam se conectar e finalmente sites adaptados para a
navegação móvel em uma tela não maior do que 2 polegadas surgirão.
A primeira destas afirmações diz que a venda de smartphones deveria ser maior, o que de fato aconteceu, segundo uma pesquisa do IDC divulgada pelo portal G1 da Globo.
No ano de 2012 devem ser vendidos por volta de 16 milhões de celulares
com alta capacidade de processamento, o que representa um incremento de
73% em relação ao ano de 2011. Isto significa que as pessoas têm a
possibilidade real de acessar sites através da Internet móvel com estes
aparelhos, mas para isso elas precisam ter um acesso barato, rápido e
confiável, o que leva a segunda das afirmações.
E mais uma vez parece que o mundo realmente está conspirando a favor do mobile… Em uma matéria publicada pelo Portal de Tecnologia do UOL,
em março de 2012, o valor médio para acesso à Internet pelo celular
atualmente varia de aproximadamente R$ 0,33 a 0,50 por dia, sendo que na
maior parte dos casos os clientes só usam o que pagam. Além disso, as 4
principais operadoras oferecem velocidades de 1 Mbps, o que é mais que
suficiente para o acesso à Internet através de redes sem fio. Outro
fator positivo e que geralmente não entra nestes cálculos é a difusão do
acesso ao wi-fi gratuito, o que infelizmente não possui material de
pesquisa a respeito.
Com isso, para que m-commerce pudesse acontecer, bastaria que os
varejistas virtuais desenvolvessem aplicativos para telas pequenas e
adaptadas aos sistemas operacionais dominantes como o IOS e o Android,
ou mesmo versões de seus sites adaptados para os browsers destes
aparelhos. Para validar esta afirmativa, pesquisei nos dez maiores sites
de e-commerce – em volume de acessos -, segundo o alexa.com, e acessei de meu smartphone cada um deles. De todos, apenas a Netshoes oferecia uma boa navegação e um site realmente adaptado para o browser de meu celular.

Isto me deixou bastante desanimado. Todos os indicadores apontando
para o desenvolvimento do mobile commerce e os varejistas virtuais
aparentemente sem nenhuma iniciativa de atender as necessidades de seus
consumidores. Pensei, então, que isto poderia acontecer, pois, mesmo com
o incremento no volume de smartphones e o baratemaento e a melhora dos
acessos, as pessoas continuassem não acessando, e finalmente comprando
através dos celulares. Resolvi me voltar para a base de clientes da eNext
que, desde a sua fundação em 2008, desenvolveu mais de 50 projetos de
comércio eletrônico e possui uma amostra significativa dos varejistas
virtuais. Eu busquei, através do Google Analytics, analisar o perfil dos
acessos e de compra dos usuários através dos computadores e compará-la
com o mesmo perfil através do mobile e os resultados comprovaram minhas
indagações.
O crescimento da participação de aparelhos móveis no volume total de
acessos que no ano de 2011 foi de 1.26% passou para 5.58% de janeiro a
julho de 2012 – um crescimento de 4.4 vezes! O mais surpreendente ainda
estava por vir: os usuários que acessam os sites analisados através de
celulares ou tablets compram mais que usuários que acessam através de
PCs. E o crescimento foi ainda mais significativo, pois em 2011 eles
representavam 1.54% e em 2012 passaram a representar 7.14% das compras
totais destes varejistas, um aumento de 4.6 vezes. Se levarmos em
consideração que nenhum destes clientes analisados possui aplicativo ou
mesmo uma versão para aparelhos com telas pequenas esse resultado é
ainda mais impressionante:

Finalmente, se levarmos em consideração que o faturamento total no ano de 2012 esta projetado para R$ 24 bilhões, segundo previsão da ACSP,
podemos esperar que aproximadamente R$ 2 bilhões destas transações
deverão acontecer através do m-commerce – um numero que por si só já
mostra que as compras através de aparelhos móveis não é mais uma
tendência e sim uma realidade. *** Artigo de Gabriel Lima
|
O nome pode até parecer meio psicodélico e fora do nosso contexto
informatizado, mas a “introspection” - ou melhor dizendo, instrospecção -
é a capacidade de obtermos informações ou cadeias de objetos
relacionados dentro de um grupo. Hoje iremos ver como isso funciona no
iOS. Normalmente, esse tipo de ação é utilizada para ler, manipular ou
até mesmo desalocar o objeto nesses eventos da programação.
Vou relacionar abaixo uma lista de métodos documentos pela Apple Developer Program:
- -(BOOL)isKindOfClass:classType
Is the object a member of that class or a subclass?
- -(BOOL)isMemberOfClass:classType
Is the object a member of that class?
- -(BOOL)respondsToSelector:aSelector
Does an object (class or instance) respond to the selector’s method?
- +(BOOL)instancesRespondToSelector:aSelector
Do instances of the class respond to the selector’s method?
- +(BOOL)isSubclassOfClass:classType
Is this class a subclass of the specified class?
- -(id)performSelector:aSelector
Ask the class to perform the method specified by the selector, returning whatever the method is intended to return.
- -(id)performSelector:aSelector withObject:someObject
Performs the selector, passing in someObject as the first (and
hopefully only) argument, returning whatever the method is designed to
return.
- -(id)performSelector:aSelector withObject:someObject withObject:anotherObject
Perform the selector, passing in the two arguments in that order to
the (assumed) two parameters defined by the selector, returning whatever
the method is designed to return.
Figura. 01 – iOs Developer Library – Cocoa Core Competencies
Irei exemplificar algumas formas de visualizar todo esse processo
maluco de introspecção. Vou demonstrar utilizando o “Label” e o “Button”
em nosso projeto de exemplo.
Figura. 02 - Tela de criação do App
Iremos criar um simples App para entendermos o funcionamento desse processo.
 Figura. 03 - Detalhes para gerar App
O nome do produto e o company identifier ficam a seu critério. Eu
selecionei a família de dispositivo iPhone e estou utilizando Storyboard
e ARC. Para aqueles que ainda não se familiarizaram com o Storyboard,
em um próximo artigo aprofundarei mais o tema. Depois de criado o
projeto, vamos ao que interessa!
Iremos adicionar em nossa interface uma View a mais, quatro botões e
cinco label’s para que possamos entender a ideia. Abaixo, um
“screenshot” de como irá ficar nossa tela no App:
Figura. 04 - Tela de nosso protótipo
Depois de montado todo o visual de nosso App, vamos partir para a codificação e ligação dos botões criados.
Figura. 05 - Tela do protótipo pronta
Em nosso arquivo “ViewController.h” temos os seguintes dados:
@interface ViewController : UIViewController
- (IBAction)btn01:(UIButton *)sender;
- (IBAction)btn02:(UIButton *)sender;
- (IBAction)btn03:(UIButton *)sender;
- (IBAction)btn04:(UIButton *)sender;
@end
São declarados todos os botões que estamos utilizando, para utilização na ligações, conforme imagem anterior de interface.
No arquivo “ViewController.m” teremos os seguintes métodos implementados:
@interface ViewController ()
@end
@implementation ViewController
- (IBAction)btn01:(UIButton *)sender
{
for (UIView *aView in self.view.subviews) {
if ([aView isMemberOfClass:[UILabel class]]) {
aView.backgroundColor = [UIColor redColor];
}
}
}
- (IBAction)btn02:(UIButton *)sender
{
for (UIView *aView in self.view.subviews) {
if ([aView isKindOfClass:[UIView class]]) {
aView.backgroundColor = [UIColor blueColor];
}
}
}
- (IBAction)btn03:(UIButton *)sender
{
for (id aView in self.view.subviews) {
if ([aView canPerformAction:@selector(setText:) withSender:sender]) {
[aView setText:@"Introspection iOS"];
[aView setBackgroundColor:[UIColor blueColor]];
[aView setTextColor:[UIColor whiteColor]];
}
}
}
- (IBAction)btn04:(UIButton *)sender
{
for (UIView *aView in self.view.subviews) {
if ([aView isMemberOfClass:[UIView class]]) {
for (UILabel *aLabel in aView.subviews) {
aLabel.backgroundColor = [UIColor greenColor];
}
}
}
}
Depois de declarados os métodos no arquivo .H, basta efetuar as ligações e iniciar os testes, como iremos ver logo abaixo:
Figura. 06 - Tela de ligação do objeto
Figura. 07 - Tela de ligação, escolhendo tipo de ação no botão
Iniciando o processo de testes, veremos que cada botão irá efetuar
ações diferentes para os objetos relacionados em tela. Esse processo só é
possível devido à utilização da introspecção. O processo que utilizamos
torna possível a manipulação dos objetos ali integrados. Em nossos
dia-a-dia, isso melhora a nossa forma de manipular objetos que estão
sendo utilizados em tempo de execução.
O Core Foundation permite uma variedade de introspecção,
principalmente para fins de depuração e manipulação. Veja com mais
detalhes nas documentações em “Apple Developer Program”.
Espero ter contribuído um pouco mais com o aprendizado de vocês.
Como disse anteriormente, iremos abordar um pouco mais sobre
“StoryBoard” no próximo artigo. Até lá e obrigado!
Referências:
*** Artigo de Mauro Thiago da Silva
|
O uso de dispositivos móveis vem crescendo cada vez mais dentro das
corporações e pesquisas mostram que esse crescimento cria um enorme
desafio para a segurança das empresas devido à sensibilidade dos dados
confidenciais. O passo inicial é criar uma estratégia dentro do ambiente
de trabalho com políticas adequadas e procedimentos tecnológicos.
Abaixo, seguem 7 dicas para as empresas poderem garantir menos perdas e maior segurança.
- Desenvolver estratégia empresarial para segurança móvel: não
para limitar a utilização dos dispositivos, mas para aceitar que eles
são um modo de vida. Eles aumentam a eficiência dos funcionários, tal
como a flexibilidade e a velocidade na implantação de novos aplicativos.
- Realizar uma auditoria: para determinar onde notebooks e outros
dispositivos móveis são utilizados dentro da empresa. Uma auditoria
ajuda a entender o nível de risco e as tecnologias que limitam o acesso
ou a transferência de informações confidenciais.
- Classificação dos funcionários de dados sensíveis: eles podem ser
classificados da seguinte forma - dados regulamentados (cartões de
crédito, dados de saúde), não-regulamentados (histórico de compras,
navegação), dados dos funcionários e não-regulamentados confidenciais de
negócios (IP, financeiro).
- Criar política global: ela deve abordar riscos associados a cada
dispositivo e os procedimentos de segurança que devem ser seguidos.
- Estabelecer práticas de monitoramento rigoroso e implementar
tecnologias de base: para assegurar que as políticas e as diretrizes
sejam cumpridas.
- Desenvolver a prática de desligar as configurações de segurança,
ou “jailbreaking”: pesquisas mostram que os funcionários desligam os
recursos de segurança de seus dispositivos móveis, causando problemas
para a segurança das informações.
- Estabelecer responsabilidades organizacionais: as empresas têm a
responsabilidade de determinar políticas, procedimentos e tecnologias
necessárias para a segurança dos dispositivos móveis, e os funcionários
devem estar cientes de suas responsabilidades e da importância do uso
responsável dos dispositivos.
É importante que as políticas de segurança sejam seguidas e que as
empresas tenham certeza de que os mecanismos estão no lugar para
detectar as falhas e punir os funcionários negligentes ou maliciosos. Os
colaboradores têm que entender que eles também são responsáveis pela
segurança dos dados. *** Artigo de Antonio Mocelim
|
Conceitos, tecnologias e ferramentas com foco em mobilidade,
originalmente desenvolvidos para atender a demanda do mercado B2C, vêm
sendo analisadas e utilizadas também pelo segmento corporativo para
atender suas demandas internas B2B e B2E. Isso é devido à massificação
da mídia especializada sobre o tema, em que mobilidade agora representa
números na escala dos milhões: milhões de usuários, milhões de
equipamentos, milhões de aplicações. Por isso a pergunta: aplicações com
foco no B2C e B2B/B2E possuem as mesmas características e finalidade,
compartilhando então a mesma abordagem tecnológica?
É neste momento, em que o mercado da tecnologia de mobilidade está
extremamente aquecido e abarrotado com ferramentas que permitem maior
facilidade e velocidade em criar aplicações, que se faz necessária a
separação da estratégia tecnológica destinada ao consumidor final (B2C),
daquela que se destinaria a atender os processos de negócio de uma
corporação (B2B e B2E). Devemos atender usuários corporativos da mesma
maneira que atendemos o consumidor final? Em todos os aspectos?
Tecnologias e conceitos como WebOS, HTML5, 3G, 4G, Small Apps e Apps
Stores atendem efetivamente muitas das necessidades e demandas do
consumidor final e também alguns processos B2B e B2E. Mas não é
verdadeira a afirmação de que essas tecnologias e conceitos são a
resposta para todas as questões. Ainda não! Principalmente se o foco não
é o “consumidor final”.
O investimento em ferramentas que permitam um desenvolvimento de
software mais rápido e portável para quase todos os sistemas
operacionais móveis (iOS, Android, Windows Phone, entre outros),
utilizando cada vez mais desenvolvimento “clicar e arrastar”, é um
desejo antigo da indústria que passa a ser atendido na atualidade por
meio dos chamados frameworks de mobilidade (Corona SDK, Appcelerator,
Rhomobile, SUP, JQuery, entre outros).
Mas isso tem o seu preço: sistemas generalistas não terão a mesma
eficiência dos sistemas especialistas. Principalmente quando falamos de
frameworks de desenvolvimento.
Aproveitando a afirmação de Chris Anderson em seu livro A Cauda Longa
(The Long Tail) de que existe uma nova dinâmica no mercado, de maneira
que as empresas têm que estar preparadas para a fragmentação desse
mercado, pode-se dizer que o fenômeno chamado mobilidade fragmentou a
indústria do software. Essa fragmentação deve ser vista como algo
extremamente positivo, pois criaram-se vários nichos de softwares em um
curtíssimo período de tempo e surgiram novos ecossistemas de negócio com
demandas específicas de desenvolvimento de software especializado.
As Apps Stores estão ficando abarrotadas de aplicativos justamente
devido a essa facilidade. Mas, para funcionarem, é necessário que o
usuário esteja conectado a algum tipo de rede de dados, Wi-Fi ou 3G.
Mesmo que apenas algumas dezenas de informações sejam necessárias, sem
essa conectividade o usuário não terá o que precisa. A maioria dessas
aplicações é desenvolvida por meio dos frameworks de desenvolvimento
rápido, citados anteriormente.
O fato de termos o 3G e de estarmos nos preparando para o 4G, quer
dizer apenas que onde houver acesso à rede de dados das operadoras
teremos alguma conectividade, mas não quer dizer que a rede de dados
será onipresente ou eficiente. Para isso, ainda vamos esperar alguns
anos (quem se lembra da promessa do Wimax? O seu 3G de hoje funciona com
100% da velocidade 100% do tempo? Aliás, o 3G funciona 100% como
prometido e em todo lugar?).
Para alguns usuários, principalmente os corporativos, não ter a
informação crítica naquele exato momento pode significar a perda de um
negócio, um prejuízo ou atraso em um processo, por exemplo. Portanto,
para esses usuários, utilizar aplicativos que dependam de redes de dados
sempre é um risco alto. É aí que entra a importância de aplicações que
possam armazenar, localmente, as informações indispensáveis, dando
acesso a elas mesmo quando não há conectividade. Característica essa que
geralmente não é atendida por boa parte das soluções existentes nas
lojas de aplicativos.
Não entendam isso como: “morra online, vida longa ao offline”. Não é
isso. Afinal, o ideal é sempre o equilíbrio: soluções híbridas. Apenas
precisamos ter o cuidado de entender a dinâmica do “como” e do “que”
realmente precisamos no decorrer do dia (informações, imagens, vídeos,
regras de negócio etc.) e do seu impacto se não estiver lá com você, a
fim de determinarmos melhor qual a abordagem tecnológica mais adequada:
maior, menor ou nenhuma dependência de conectividade. E, aí sim, partir
para a adoção das ferramentas e dos frameworks adequados à sua realidade
e não cair na imposição de campanhas de marketing ou mídia, que
utilizam como modelo apenas a realidade do consumidor final, para quem,
nem sempre, não ter a informação naquele momento não é crítico. *** Artigo de Júlio Fábio Chagas.
|