<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>Mobits - Blog</title>
  <id>tag:www.mobits.com.br,2010:mephisto/blog</id>
  <generator uri="http://mephistoblog.com" version="0.8.0">Mephisto Drax</generator>
  <link href="http://www.mobits.com.br/feed/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://www.mobits.com.br/blog" rel="alternate" type="text/html"/>
  <updated>2010-03-11T16:55:16Z</updated>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Hildi</name>
    </author>
    <id>tag:www.mobits.com.br,2010-03-11:362</id>
    <published>2010-03-11T13:51:00Z</published>
    <updated>2010-03-11T16:55:16Z</updated>
    <category term="Blog"/>
    <category term="Not&#237;cias"/>
    <category term="cine mobits"/>
    <category term="promo&#231;&#227;o"/>
    <link href="http://www.mobits.com.br/2010/3/11/cine-mobits-e-kinoplex-te-levam-ao-cinema-2" rel="alternate" type="text/html"/>
    <title>Cine Mobits e Kinoplex te levam ao cinema!</title>
<summary type="html">&lt;p&gt;O Cine Mobits em parceria com o Kinoplex irá sortear 10 pares de ingressos!&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;O Cine Mobits em parceria com o Kinoplex irá sortear 10 pares de ingressos!&lt;/p&gt;
&lt;p&gt;Para mais informações, acesse: &lt;a href=&quot;http://www.cinemobits.com.br/promocoes&quot;&gt;http://www.cinemobits.com.br/promocoes&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
&lt;img title=&quot;promoção Cine Mobits e Kinoplex&quot; src=&quot;http://www.mobits.com.br/assets/2010/3/11/promoCinema.png&quot; alt=&quot;promoção Cine Mobits e Kinoplex&quot; /&gt;
&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Karin</name>
    </author>
    <id>tag:www.mobits.com.br,2010-03-10:360</id>
    <published>2010-03-10T17:07:00Z</published>
    <updated>2010-03-10T17:39:25Z</updated>
    <category term="Blog"/>
    <category term="c++"/>
    <category term="iphone sdk"/>
    <category term="objective-c"/>
    <link href="http://www.mobits.com.br/2010/3/10/podemos-usar-c-com-objective-c" rel="alternate" type="text/html"/>
    <title>Podemos usar C++ com Objective-C?</title>
<content type="html">
            &lt;p&gt;Acredite, podemos sim! E como descobri isso? Durante esta semana, no desenvolvimento de um projeto, precisávamos de um algoritmo que convertesse uma imagem colorida em preto e branco. Após algumas pesquisas, encontramos &lt;a href=&quot;http://code.google.com/p/simple-iphone-image-processing/&quot;&gt;o algoritmo do Chris Greening&lt;/a&gt;, porém o mesmo estava em C++. Pesquisando mais ainda, vimos que o compilador de Objective-C permite misturar C++ e Objective-C, porém com algumas ressalvas.&lt;/p&gt;

&lt;p&gt;Para conseguir compilar código C++, o seu arquivo &quot;.m&quot; precisa ter a extensão &quot;.mm&quot;. Mas &lt;strong&gt;atenção&lt;/strong&gt;: os arquivos que tiverem tanto código C++ quanto Objective -C precisam também ter a extensão &quot;.mm&quot;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Observação&lt;/strong&gt;: uma vez que seu código compile C++, código em C não é mais compilado. Para resolver esta questão, basta usar &lt;strong&gt;&lt;em&gt;extern&lt;/em&gt;&lt;/strong&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;extern &quot;C&quot; {  #import &quot;ImageUtils.h&quot; }
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Aqui vai um &quot;Alo Mundo&quot; que mistura tanto C++ quanto Objective-C como exemplo. Para testar, você pode colar o exemplo no main.mm. &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;#import &amp;lt;Foundation/Foundation.h&amp;gt; 

class AloMundo { 
    private: 
        id saudacao; 

    public: 
        AloMundo() { 
            saudacao = @&quot;Alô, mundo!&quot;; 
        } 

        AloMundo(const char* texto) { 
            saudacao = [[NSString alloc] initWithUTF8String:texto]; 
        } 

        void imprimir()  { 
            printf(&quot;%s\n&quot;, [saudacao UTF8String]); 
        } 
};
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;A classe &lt;strong&gt;AloMundo&lt;/strong&gt; acima é em C++, porém se utiliza de código em Objective-C. Ela simplesmente tem a função de imprimir a saudação.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;@interface Saudacao: NSObject { 
        AloMundo *aloMundo; 
}

- (id)init; 
- (void)dealloc; 
- (void)saudar; 
- (void)saudar:(AloMundo *)saudacao; 

@end 

@implementation Saudacao
- (id)init { 
    if (self = [super init])
        aloMundo = new AloMundo(); 

    return self; 
}

- (void)dealloc { 
    delete aloMundo; 
    [super dealloc]; 
} 

- (void)saudar { 
    aloMundo-&amp;gt;imprimir(); 
} 

- (void)saudar:(AloMundo *)saudacao{ 
    saudacao-&amp;gt;imprimir(); 
} 

@end
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Já neste código acima, temos a classe &lt;strong&gt;Saudacao&lt;/strong&gt; em Objective-C. Aqui também há código em C++, como podemos observar no &lt;strong&gt;init&lt;/strong&gt;, que instancia a classe &lt;strong&gt;AloMundo&lt;/strong&gt;.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;int main() { 
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 

    // Objective-C
    Saudacao *saudacao = [[Saudacao alloc] init]; 
    [saudacao saudar];                          // ------&amp;gt; Alô, mundo! 

    // C++
    AloMundo *aloMundo = new AloMundo(&quot;Hello, world!&quot;); 
    [saudacao saudar:aloMundo];       // ------&amp;gt; Hello, world! 

    delete aloMundo; 
    [saudacao release]; 
    [pool release]; 

    return 0; 
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;No &lt;em&gt;main&lt;/em&gt;, percebemos as duas formas de chamar o método de imprimir a saudação. &lt;strong&gt;Atenção&lt;/strong&gt; para a forma de trabalhar com a memória. Em Objective-C, utilizamos &lt;strong&gt;alloc&lt;/strong&gt; e &lt;strong&gt;release&lt;/strong&gt;. Já em C++, &lt;strong&gt;new&lt;/strong&gt; e &lt;strong&gt;delete&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Como mencionei acima, combinar as duas linguagens tem ressalvas, então tenha como premissas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;não é possível usar a sintaxe Objective-C para chamar um objeto C++;&lt;/li&gt;
&lt;li&gt;não é possível adicionar construtores ou &lt;em&gt;destrutores&lt;/em&gt; em Objective-C;&lt;/li&gt;
&lt;li&gt;cuidado com as palavras reservadas de cada linguagem;&lt;/li&gt;
&lt;li&gt;uma classe C++ não pode herdar de uma classe em Objective-C e vice-versa;&lt;/li&gt;
&lt;li&gt;cada linguagem cuida de suas exceções, ou seja, uma exceção lançada em C++ não pode ser tratada em Objective-C e vice-versa.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Eu acredito que saber que podemos combinar as duas linguagens facilitará a vida de muitos desenvolvedores, pois já existem vários algoritmos prontos em C++ que são bastante úteis e não precisarão mais serem &quot;traduzidos&quot; para Objective-C.&lt;/p&gt;

&lt;p&gt;Até mais!&lt;/p&gt;

&lt;p&gt;Leia também:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2009/11/30/uipickerview-circular-gambiarra-oficial-da-apple&quot;&gt;UIPickerView circular - &quot;Gambiarra oficial&quot; da Apple&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2009/10/8/dica-de-como-obter-o-numero-do-iphone-por-um-aplicativo&quot;&gt;Dica: como obter o número do iPhone através de um aplicativo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Afonso Junior</name>
    </author>
    <id>tag:www.mobits.com.br,2010-03-02:356</id>
    <published>2010-03-02T14:30:00Z</published>
    <updated>2010-03-02T14:24:32Z</updated>
    <category term="Blog"/>
    <category term="iphone sdk"/>
    <category term="testes"/>
    <category term="xcode"/>
    <link href="http://www.mobits.com.br/2010/3/2/testes-no-iphone-usando-o-framework-padrao-do-xcode" rel="alternate" type="text/html"/>
    <title>Testes no iPhone - Usando o framework padr&#227;o do Xcode</title>
<content type="html">
            &lt;p&gt;O &lt;a href=&quot;http://www.mobits.com.br/2009/1/9/testes-no-iphone&quot;&gt;post do Felipe sobre testes em iPhone&lt;/a&gt;, escrito em janeiro do ano passado, serviu como parâmetro para vários projetos nossos aqui na &lt;a href=&quot;http://www.mobits.com.br&quot;&gt;Mobits&lt;/a&gt;. Só depois de um bom tempo utilizando o &lt;a href=&quot;http://code.google.com/p/google-toolbox-for-mac/wiki/iPhoneUnitTesting&quot;&gt;&lt;em&gt;framework&lt;/em&gt; do Google&lt;/a&gt;, descobrimos lendo posts do &lt;a href=&quot;http://cocoawithlove.com/&quot;&gt;Matt Gallagher no Cocoa with love&lt;/a&gt; que o &lt;em&gt;framework&lt;/em&gt; nativo do &lt;a href=&quot;http://developer.apple.com/tools/xcode/&quot;&gt;Xcode&lt;/a&gt; estava disponível para projetos em iPhone.&lt;/p&gt;

&lt;p&gt;Pesquisando na &lt;em&gt;internet&lt;/em&gt;, decidimos implementar um projeto utilizando o &lt;em&gt;framework&lt;/em&gt; padrão. Este post visa mostrar como configurar seu projeto para iPhone usando o &lt;em&gt;framework&lt;/em&gt; nativo e compará-lo com o &lt;a href=&quot;http://code.google.com/p/google-toolbox-for-mac/wiki/iPhoneUnitTesting&quot;&gt;GTM&lt;/a&gt;. Por enquanto, estamos lidando apenas com &lt;a href=&quot;http://pt.wikipedia.org/wiki/Teste_unitário&quot;&gt;teste unitários&lt;/a&gt;. Em um post futuro comentamos sobre &lt;a href=&quot;http://pt.wikipedia.org/wiki/Mock_Object&quot;&gt;Mock&lt;/a&gt; e como adicioná-lo ao seu projeto. &lt;/p&gt;

&lt;h1&gt;Configuração&lt;/h1&gt;

&lt;p&gt;Uma vez criado o projeto, você deve criar um novo &lt;em&gt;target&lt;/em&gt; para o projeto. Clique com o botão direito em &lt;strong&gt;&lt;em&gt;Target &gt; Add &gt; New Target...&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Adicionando novo target&quot; src=&quot;http://www.mobits.com.br/assets/2010/3/1/01-newTarget.png&quot; alt=&quot;Adicionando novo target&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Como &lt;em&gt;template&lt;/em&gt;, escolha &lt;strong&gt;&lt;em&gt;Unit Test Bundle&lt;/em&gt;&lt;/strong&gt;. Escolha um nome para o &lt;em&gt;target&lt;/em&gt; (sugestão: &lt;strong&gt;Testes Unitarios&lt;/strong&gt;) e clique em &lt;strong&gt;&lt;em&gt;Finish&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Agora, arraste o &lt;em&gt;target&lt;/em&gt; original para dentro do target de teste, para criar dependência (forçar o aplicativo a dar &lt;em&gt;build&lt;/em&gt; no projeto antes de executar os testes). Após fazer isso, o &lt;em&gt;target&lt;/em&gt; deve ficar assim:&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Targets aninhados&quot; src=&quot;http://www.mobits.com.br/assets/2010/3/1/05-target.png&quot; alt=&quot;Targets aninhados&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Pronto! Com isso você já tem o suficiente para rodar seus testes. Mas pode ser que você queira algo a mais, então vamos ao próximo passo que pode ser muito útil nos seus testes.&lt;/p&gt;

&lt;h1&gt;Debug&lt;/h1&gt;

&lt;p&gt;Esta foi a parte mais complicada de fazer funcionar. Depois de muitas indas e vindas em diversos sites, conseguimos configurar o &lt;em&gt;debug&lt;/em&gt; (funcionando com &lt;em&gt;breakpoint&lt;/em&gt;). Assim você pode correr passo-a-passo as linhas de código dos seus testes caso precise. Vale ressaltar que o &lt;em&gt;debug&lt;/em&gt; não funciona caso tenha ocorrido erro de compilação, mas funciona perfeitamente em caso de falhas ocorridas nos testes.&lt;/p&gt;

&lt;p&gt;Mas vamos ao que interessa: primeiro, crie um executável para o projeto (&lt;strong&gt;&lt;em&gt;Project &gt; New Custom Executable...&lt;/em&gt;&lt;/strong&gt;).&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Criando executável&quot; src=&quot;http://www.mobits.com.br/assets/2010/3/1/06-executable.png&quot; alt=&quot;Criando executável&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Na janela que se abre, escolha o nome do executável. Ele deverá executar o &lt;strong&gt;&lt;em&gt;otest&lt;/em&gt;&lt;/strong&gt;, um programa de termnal que serve para depurar o código das classes em Objective-C. Ele deve ser específico para o SDK do iPhone que você utiliza no projeto. Para saber onde ele está e qual versão você deve utilizar, vá no terminal e digite:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;find /Developer -name otest
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Eu obtive os seguintes resultados:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/Developer/usr/bin/otest
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.2.sdk/Developer/usr/bin/otest
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.sdk/Developer/usr/bin/otest
/Developer/Tools/otest
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Que fique bem claro que o último não serve para projetos em iPhone. No nosso caso, usamos o segundo (3.1.2). Clique em &lt;strong&gt;&lt;em&gt;Finish&lt;/em&gt;&lt;/strong&gt;. Agora precisamos configurar os argumentos do executável na janela que aparece. A imagem abaixo mostra como eles devem ser configurados:&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Parâmetros do executável&quot; src=&quot;http://www.mobits.com.br/assets/2010/3/1/07-parametros.png&quot; alt=&quot;Parâmetros do executável&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Na seção dos argumentos, você deve obedecer a ordem em que eles estão escritos. O segundo argumento deve ser o nome do produto gerado pelo &lt;em&gt;target&lt;/em&gt; de testes que você utiliza (veja no grupo &lt;strong&gt;&lt;em&gt;Products&lt;/em&gt;&lt;/strong&gt;). Na seção de variáveis, utilize os seguintes valores:&lt;/p&gt;

&lt;table&gt;
    &lt;tr&gt;
        &lt;th&gt;Variável&lt;/th&gt; &lt;th&gt;Valor&lt;/th&gt;
    &lt;/tr&gt;
    &lt;tr class=&quot;row-a&quot;&gt;
        &lt;td&gt;DYLD_LIBRARY_PATH&lt;/td&gt;
        &lt;td&gt;${BUILD_PRODUCTS_DIR}:${DYLD_LIBRARY_PATH}&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class=&quot;row-b&quot;&gt;
        &lt;td&gt;DYLD_FRAMEWORK_PATH&lt;/td&gt;
 &lt;td&gt;&quot;${BUILD_PRODUCTS_DIR}:${DEVELOPER_LIBRARY_DIR}/Frameworks:&lt;br /&gt;${DYLD_FRAMEWORK_PATH}&quot;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class=&quot;row-a&quot;&gt;
        &lt;td&gt;DYLD_NEW_LOCAL_SHARED_REGIONS&lt;/td&gt;
        &lt;td&gt;YES&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class=&quot;row-b&quot;&gt;
        &lt;td&gt;CFFIXED_USER_HOME&lt;/td&gt;
        &lt;td&gt;&quot;${HOME}/Library/Application Support/iPhone Simulator/User&quot;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class=&quot;row-a&quot;&gt;
        &lt;td&gt;IPHONE_SIMULATOR_ROOT&lt;/td&gt;
        &lt;td&gt;$SDKROOT&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class=&quot;row-b&quot;&gt;
        &lt;td&gt;DYLD_NO_FIX_PREBINDING&lt;/td&gt;
       &lt;td&gt;YES&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class=&quot;row-a&quot;&gt;
        &lt;td&gt;DYLD_ROOT_PATH&lt;/td&gt; &lt;td&gt;/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/&lt;br /&gt;iPhoneSimulator3.1.2.sdk&lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;Cuidado com a última variável: ela deve ser a mesma versão do SDK utilizado com o &lt;strong&gt;&lt;em&gt;otest&lt;/em&gt;&lt;/strong&gt;. Feito isso, você já possui a configuração necessária para &lt;em&gt;&quot;debugar&quot;&lt;/em&gt; seus testes. Tudo que você precisa fazer é configurar o executável como o padrão (&lt;strong&gt;&lt;em&gt;Project &gt; Set Active Executable&lt;/em&gt;&lt;/strong&gt;). Marque os &lt;em&gt;breakpoints&lt;/em&gt; que achar necessário e execute com &quot;&lt;strong&gt;&lt;em&gt;Build and Debug&lt;/em&gt;&lt;/strong&gt;&quot;.&lt;/p&gt;

&lt;h1&gt;Comparações&lt;/h1&gt;

&lt;p&gt;Com o &lt;em&gt;framework&lt;/em&gt; configurado e com vários casos de teste já implementados, fica inevitável a comparação entre o framework padrão e o GTM. Algumas diferenças são notadas logo de cara.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Menos métodos de teste&lt;/strong&gt;: foi um susto ao ver que o &lt;em&gt;framework&lt;/em&gt; padrão não tinha o &lt;em&gt;STAssertEqualStrings&lt;/em&gt;. Mas nada que assustasse muito: o &lt;em&gt;STAssertEqualObjects&lt;/em&gt; servia para o mesmo propósito. No final das contas, não houve nenhum teste que não conseguimos fazer por não existir método para tal.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Bundle&lt;/em&gt;&lt;/strong&gt;: Isso é ponto positivo para o GTM. Para acessar arquivos no ambiente padrão você não utiliza o &lt;em&gt;[NSBundle mainBundle]&lt;/em&gt;. Para fazer funcionar, tivemos que configurar no &lt;em&gt;target&lt;/em&gt; (na aba &lt;em&gt;Properties&lt;/em&gt;, no campo &lt;em&gt;Identifier&lt;/em&gt;) um identificador que pudesse ser referenciado no código. Se, por exemplo, você colocar lá um identificador &lt;strong&gt;&quot;com.mobits.caricas.tests&quot;&lt;/strong&gt;, basta chamar o &lt;em&gt;bundle&lt;/em&gt; identificado por essa &lt;em&gt;string&lt;/em&gt;: &lt;strong&gt;[NSBundle bundleWithIdentifier:@&quot;com.mobits.caricas.tests&quot;]&lt;/strong&gt;. É óbvio que isso nos causou alguns problemas nos testes, principalmente nos casos em que no &lt;em&gt;target&lt;/em&gt; do aplicativo eu tinha que rodar em um &lt;em&gt;bundle&lt;/em&gt; e no &lt;em&gt;target&lt;/em&gt; de testes eu tinha que rodar em outro. A solução foi utilizar diretivas de pré-compilação.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Build Results&lt;/strong&gt;: nisso o &lt;em&gt;framework&lt;/em&gt; padrão ganha de lavada do GTM. Enquanto neste os erros aparecem todos duplicados, e listados diretamente na lista dos resultados do &lt;em&gt;build&lt;/em&gt;, naquele aparece bem organizado, cada erro apontado hierarquicamente dentro do seu específico caso de teste. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img title=&quot;Exibição de erros no GTM&quot; src=&quot;http://www.mobits.com.br/assets/2010/3/1/09-errosGTM.png&quot; alt=&quot;Exibição de erros no GTM&quot; /&gt;&lt;br /&gt;
&lt;i&gt;Exibição dos erros no GTM: duplicado&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Exibição dos erros no framework padrão: visão hierárquica dos testes&quot; src=&quot;http://www.mobits.com.br/assets/2010/3/1/10-errosDefault.png&quot; alt=&quot;Exibição dos erros no framework padrão: visão hierárquica dos testes&quot; /&gt;&lt;br /&gt;
&lt;i&gt;Exibição dos erros no framework padrão: visão hierárquica dos testes&lt;/i&gt;&lt;/p&gt;

&lt;h1&gt;Conclusão&lt;/h1&gt;

&lt;p&gt;Por ser mais simples de configurar, por exibir melhor os erros dos testes e por não ter certas mandingas que o GTM tem (não poder rodar os testes com o iPhone Simulator aberto, por exemplo), a escolha é o &lt;em&gt;framework&lt;/em&gt; padrão do Xcode. Os métodos a mais de teste do GTM não foram um diferencial tão grande que pesasse em favor dele, mas talvez aqueles que o utilizam e desejam migrar vão ter alguns problemas de adaptação, mas nada que seja o fim do mundo.&lt;/p&gt;

&lt;p&gt;Em um post futuro eu comento outra parte importante nos testes, a técnica de &lt;em&gt;Mock Objects&lt;/em&gt;, como configurá-lo e como utilizá-lo em seus testes. Ah, e se você encontrou algum erro ao tentar configurar o ambiente, adiciona um comentário aqui, pode ser que já tenhamos passado por isso e saibamos como solucionar.&lt;/p&gt;

&lt;p&gt;Grande abraço!&lt;/p&gt;

&lt;p&gt;Leia também&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2009/1/9/testes-no-iphone&quot;&gt;Testes no iPhone&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2010/1/15/testes-de-interface-no-iphone-sdk-com-o-uirecorder&quot;&gt;Testes de interface no iPhone SDK com o UIRecorder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2009/11/30/uipickerview-circular-gambiarra-oficial-da-apple&quot;&gt;UIPickerView circular - &quot;Gambiarra oficial&quot; da Apple&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Quintana</name>
    </author>
    <id>tag:www.mobits.com.br,2010-02-23:351</id>
    <published>2010-02-23T18:49:00Z</published>
    <updated>2010-03-08T18:57:06Z</updated>
    <category term="Blog"/>
    <category term="corporativo"/>
    <category term="windows mobile"/>
    <link href="http://www.mobits.com.br/2010/2/23/mobits-desenvolve-sistema-para-consulta-de-informacoes-de-veiculos-e-condutores-em-windows-mobile" rel="alternate" type="text/html"/>
    <title>Mobits desenvolve sistema para consulta de informa&#231;&#245;es de condutores e ve&#237;culos em Windows Mobile</title>
<content type="html">
            &lt;p&gt;A Mobits acabou de desenvolver um aplicativo que consulta e armazena informações de veículos e condutores em conjunto com a &lt;a href=&quot;http://www.kognitus.com.br/&quot;&gt;Kognitus&lt;/a&gt;, empresa &lt;a href=&quot;http://www.incubadora.coppe.ufrj.br&quot;&gt;incubada na COPPE/UFRJ&lt;/a&gt;. O aplicativo exibe também as restrições dos veículos e condutores, como excesso de pontos na carteira de habilitação, IPVA não pago, etc. Além disso, auxilia os fiscais de trânsito exibindo as ações que devem ser tomadas para cada tipo de restrição encontrada, guardando essas consultas com a posição GPS e foto para futuras auditorias. &lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Tela de login&quot; src=&quot;http://www.mobits.com.br/assets/2010/2/8/TelaLogin.png&quot; height=&quot;360&quot; alt=&quot;Tela de login&quot; width=&quot;236&quot; /&gt;  &lt;img title=&quot;Consulta de condutores&quot; src=&quot;http://www.mobits.com.br/assets/2010/2/8/TelaDadosCondutor.png&quot; height=&quot;360&quot; alt=&quot;Consulta de condutores&quot; width=&quot;236&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Para consultar os veículos, o aplicativo é dotado de um módulo de reconhecimento de placas, capaz de identificá-las tirando uma foto, sem a necessidade de digitação.&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Captura de placa&quot; src=&quot;http://www.mobits.com.br/assets/2010/2/8/TelaCaptura.png&quot; height=&quot;360&quot; alt=&quot;Captura de placa&quot; width=&quot;236&quot; /&gt;&lt;/p&gt;

&lt;p&gt;O módulo de reconhecimento de placas foi desenvolvido pela &lt;a href=&quot;http://www.kognitus.com.br/&quot;&gt;Kognitus&lt;/a&gt; com tecnologia própria. Coube à Mobits o desenvolvimento do aplicativo mobile e do servidor web de comunicação, este último desenvolvido em &lt;a&gt;Ruby on Rails&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;O aplicativo foi financiado pela &lt;a href=&quot;http://www.faperj.br/&quot;&gt;FAPERJ&lt;/a&gt; e futuramente será apresentado para órgãos como o &lt;a href=&quot;http://www.detran.rj.gov.br/&quot;&gt;DETRAN&lt;/a&gt;.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Quintana</name>
    </author>
    <id>tag:www.mobits.com.br,2010-02-19:353</id>
    <published>2010-02-19T17:41:00Z</published>
    <updated>2010-02-19T17:45:40Z</updated>
    <category term="Blog"/>
    <category term="loja de aplicativos"/>
    <category term="plataformas m&#243;veis"/>
    <category term="windows mobile"/>
    <category term="windows phone"/>
    <link href="http://www.mobits.com.br/2010/2/19/o-que-os-desenvolvedores-devem-esperar-do-novo-windows-phone-7" rel="alternate" type="text/html"/>
    <title>O que os desenvolvedores devem esperar do novo Windows Phone 7</title>
<content type="html">
            &lt;p&gt;Com o lançamento do &lt;a href=&quot;http://www.windowsphone7series.com/&quot;&gt;Windows Phone 7&lt;/a&gt;, a Microsoft resolveu romper com o passado descontinuando o antigo &lt;a href=&quot;http://www.microsoft.com/windowsmobile/pt-br/default.mspx&quot;&gt;Windows Mobile&lt;/a&gt;. Ainda não se sabe sobre como serão as funcionalidades finais do novo sistema, mas as minhas maiores dúvidas são: como será a plataforma de desenvolvimento? Será que o novo sistema rodará os aplicativos de &lt;a href=&quot;http://www.microsoft.com/windowsmobile/pt-br/default.mspx&quot;&gt;Windows Mobile&lt;/a&gt;? Se não, como migrá-los?&lt;/p&gt;

&lt;p&gt;O que sabemos é que o Kernel do novo sistema é o Windows CE 6.0, uma evolução do Kernel do &lt;a href=&quot;http://www.microsoft.com/windowsmobile/pt-br/default.mspx&quot;&gt;Windows Mobile&lt;/a&gt; que usava o Windows CE 5.0. O que mudou muito foi a interface, que foi totalmente remodelada para ficar mais &lt;i&gt;finger-friendly&lt;/i&gt; e parecida com a do &lt;a href=&quot;http://www.zune.net/zuneHD&quot;&gt;Zune HD&lt;/a&gt; para fazer frente com a interface do iPhone e demais concorrentes. Além disso ela também não poderá ser mais customizada por cada fabricante ou operadora.&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Windows Phone 7&quot; src=&quot;http://www.mobits.com.br/assets/2010/2/18/windowsphone-everything-top-1.jpg&quot; height=&quot;304&quot; alt=&quot;Windows Phone 7&quot; width=&quot;480&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Sobre os aplicativos do &lt;a href=&quot;http://www.windowsphone7series.com/&quot;&gt;Windows Phone&lt;/a&gt;, a Microsoft deixou claro que os detalhes só seriam revelados futuramente. Contudo ela já revelou que os jogos poderão ter integração com a plataforma do &lt;a href=&quot;http://www.xbox.com/en-US/LIVE/&quot;&gt;Xbox LIVE&lt;/a&gt; e que o sistema terá um &lt;a href=&quot;http://marketplace.windowsphone.com/&quot;&gt;Marketplace&lt;/a&gt;, que pelo layout pareceu mais parecido com o do &lt;a href=&quot;http://www.zune.net/zuneHD&quot;&gt;Zune&lt;/a&gt; do que com o &lt;a href=&quot;http://marketplace.windowsphone.com/&quot;&gt;Marketplace&lt;/a&gt; do &lt;a href=&quot;http://www.microsoft.com/windowsmobile/pt-br/default.mspx&quot;&gt;Windows Mobile&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Segundo rumores do &lt;a href=&quot;http://www.engadget.com/&quot;&gt;Engadget&lt;/a&gt; a nova plataforma não deverá rodar os antigos aplicativos diretamente, nem deve permitir atualização dos antigos dispositivos &lt;a href=&quot;http://www.microsoft.com/windowsmobile/pt-br/default.mspx&quot;&gt;Windows Mobile&lt;/a&gt; para o novo sistema, o que é muito ruim para os desenvolvedores que terão que migrar o seus aplicativos para a nova plataforma e para os usuários finais. É realmente um novo sistema..&lt;/p&gt;

&lt;p&gt;Os desenvolvedores já estão especulando sobre a plataforma de aplicativos e ferramentas. A expectativa é que o novo sistema seja baseado em 3 tipos de plataformas já existentes da Microsoft - o &lt;a href=&quot;http://silverlight.net/&quot;&gt;Silverlight&lt;/a&gt; para interfaces gráficas ricas, animações, etc; o &lt;a href=&quot;http://www.xna.com/&quot;&gt;XNA&lt;/a&gt; para desenvolvimentos de jogos, como no &lt;a href=&quot;http://www.zune.net/zuneHD&quot;&gt;Zune&lt;/a&gt; e o Compact Framework usado no &lt;a href=&quot;http://www.microsoft.com/windowsmobile/pt-br/default.mspx&quot;&gt;Windows Mobile&lt;/a&gt; para aplicações com formulário e componentes visuais diversos. Outra suposição é que as restrições do sistema para chamadas de APIs privadas aumentarão bastante, impedindo que os aplicativos tenham acesso direto a diversos recursos como tinham no sistema antigo. A plataforma de desenvolvimento deve ser o &lt;a href=&quot;http://www.microsoft.com/visualstudio/pt-br/products/2010/default.mspx&quot;&gt;Visual Studio 2010&lt;/a&gt; em conjunto com o &lt;a href=&quot;http://www.microsoft.com/expression/&quot;&gt;Express Blend&lt;/a&gt; e o Windows Phone &lt;i&gt;emulator&lt;/i&gt; a ser revelado.&lt;/p&gt;

&lt;p&gt;Todas as dúvidas, contudo, só serão esclarecidas mesmo no &lt;a href=&quot;http://www.microsoft.com/events/mix/default.aspx&quot;&gt;evento MIX10&lt;/a&gt;, de 15 a 17 de março, onde a Microsoft ficou de revelar mais detalhes para a comunidade de desenvolvedores.&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;MIX 2010&quot; src=&quot;http://www.mobits.com.br/assets/2010/2/18/MIX10_24DC1222.png&quot; alt=&quot;MIX 2010&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Só nos resta aguardar pelas notícias e torcer para que a Microsoft, desta vez, desenvolva um sistema que não seja descontinuado e permita que, tanto os aparelhos quanto os aplicativos antigos, possam ser migrados sem muito custo para as versões subseqüentes.&lt;/p&gt;

&lt;p&gt;Leia também:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2010/1/13/interfaces-mais-atraentes-no-windows-mobile&quot;&gt;Interfaces mais atraentes no Windows Mobile&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2009/7/15/mobits-desenvolve-aplicativo-em-windows-mobile-para-petrobras&quot;&gt;Mobits desenvolve mais um aplicativo em Windows Mobile&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2009/12/9/agendamento-de-programas-em-windows-mobile&quot;&gt;Agendamento de programas em Windows Mobile&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Karin</name>
    </author>
    <id>tag:www.mobits.com.br,2010-02-03:350</id>
    <published>2010-02-03T12:39:00Z</published>
    <updated>2010-02-03T15:50:11Z</updated>
    <category term="Blog"/>
    <category term="app store"/>
    <category term="cinemobits"/>
    <category term="mobits button soccer"/>
    <link href="http://www.mobits.com.br/2010/2/3/formas-de-promover-seu-aplicativo-na-app-store" rel="alternate" type="text/html"/>
    <title>Formas de promover seu aplicativo na App Store</title>
<content type="html">
            &lt;p&gt;Estava lendo o artigo do &lt;a href=&quot;http://www.blogdoiphone.com/&quot;&gt;Blog do iPhone&lt;/a&gt; sobre um &lt;a href=&quot;http://www.blogdoiphone.com/2010/01/estudo-analisa-estrategias-para-promover-aplicativos-da-app-store/&quot;&gt;estudo de caso da empresa FaberNovel&lt;/a&gt; que analisou as estratégias para promover aplicativos da App Store, baseado em sua experiência no assunto. A partir desse estudo, resolvi fazer um estudo de caso dos nossos produtos, para saber se as ações que eles destacaram realmente fazem diferença na hora de promover seu aplicativo.&lt;/p&gt;

&lt;h3&gt;Versão Lite&lt;/h3&gt;

&lt;p&gt;Infelizmente não posso dizer sobre esta estratégia, já que não a adotamos para o &lt;a href=&quot;http://www.mobitsbuttonsoccer.com/pt&quot;&gt;Mobits Button Soccer&lt;/a&gt;. Mas o que eu posso destacar é que no caso do &lt;a href=&quot;http://www.cinemobits.com.br/&quot;&gt;Cine Mobits&lt;/a&gt;, por ser um produto gratuito, ele possui propaganda - o que ocorre com a maioria dos aplicativos gratuitos - e por causa disso, já recebemos &lt;em&gt;feedback&lt;/em&gt; de usuários que preferem pagar uma vez pelo aplicativo para não ter a chateação das propagandas. Fica aí a dica!&lt;/p&gt;

&lt;h3&gt;Promoção de preço&lt;/h3&gt;

&lt;p&gt;Eu acredito que promoção seja uma tática em qualquer negócio para alavancar as vendas. No caso da App Store não é diferente. Digo a vocês que em todas as vezes que nos utilizamos desse artifício tivemos um retorno considerável. É claro que é bom fazer quando suas vendas estão bem baixas, mas, no nosso caso, a promoção do &lt;a href=&quot;http://www.mobitsbuttonsoccer.com/pt&quot;&gt;Mobits Button Soccer&lt;/a&gt; foi numa data especial para o futebol, o jogo Brasil vs Argentina (as duas primeiras seleções da primeira versão do jogo). Aproveitar datas importantes que tem a ver com o seu aplicativo também é uma boa estratégia!&lt;/p&gt;

&lt;h3&gt;Divulgação&lt;/h3&gt;

&lt;p&gt;Sem divulgação não vamos a lugar nenhum. Sendo assim, posso dizer a vocês que foi fundamental para tornarmos os nossos produtos conhecidos. Ambos possuem &lt;em&gt;hotsite&lt;/em&gt;, twitter (&lt;a href=&quot;http://twitter.com/cinemobits&quot;&gt;cinemobits&lt;/a&gt; e &lt;a href=&quot;http://twitter.com/futeboldebotao&quot;&gt;futeboldebotao&lt;/a&gt;) e orkut (&lt;a href=&quot;http://www.orkut.com.br/Main#Community?cmm=87642252&quot;&gt;Cine Mobits&lt;/a&gt; e &lt;a href=&quot;http://www.orkut.com.br/Main#Community?cmm=93460155&quot;&gt;Mobits Button Soccer&lt;/a&gt;), além da divulgação em vários blogs. No caso do &lt;a href=&quot;http://www.cinemobits.com.br/&quot;&gt;Cine Mobits&lt;/a&gt;, por ser gratuito, isso ajudou bastante na sua divulgação, pois as pessoas não tem medo de experimentar o gratuito. Se não gostar, simplesmente param de usar. Já com relação ao &lt;a href=&quot;http://www.mobitsbuttonsoccer.com/pt&quot;&gt;Mobits Button Soccer&lt;/a&gt;, nem todos pagam para ver. Então procuramos divulgá-lo em vários blogs nacionais e internacionais com &lt;em&gt;promocodes&lt;/em&gt;, pois a pessoa que ganha e gosta ajuda a propagar o produto.&lt;/p&gt;

&lt;h3&gt;Comportamento dos Usuários&lt;/h3&gt;

&lt;p&gt;Mas isso ajuda em que? É simples! Quando você sabe que seus usuários utilizam mais seu aplicativo nos finais de semana, caso do &lt;a href=&quot;http://www.cinemobits.com.br/&quot;&gt;Cine Mobits&lt;/a&gt;, promoções podem ser mais eficazes! Saber o comportamento de seus clientes ajuda e muito como trabalhar a sua estratégia de manter e aumentar o número de seus usuários.&lt;/p&gt;

&lt;h3&gt;&lt;em&gt;Feedback&lt;/em&gt;&lt;/h3&gt;

&lt;p&gt;Um dos nossos valores é &lt;em&gt;feedback&lt;/em&gt;. E por quê? Porque sem ele não sabemos exatamente o que realmente é importante para os nossos clientes. Tanto as novas versões do &lt;a href=&quot;http://www.cinemobits.com.br/&quot;&gt;Cine Mobits&lt;/a&gt; quanto do &lt;a href=&quot;http://www.mobitsbuttonsoccer.com/pt&quot;&gt;Mobits Button Soccer&lt;/a&gt; foram desenvolvidas com base no &lt;em&gt;feedback&lt;/em&gt; dos nossos usuários. E isso ajuda bastante a promover os produtos, pois eles ficam satisfeitos e recomendam para os amigos. O segredo é se utilizar do marketing boca a boca! &lt;/p&gt;

&lt;p&gt;Quando lançamos novas versões, fica claro que há um aumento do número de novos downloads. O mais curioso, no nosso caso, é que quando há uma nova versão, por exemplo, do &lt;a href=&quot;http://www.mobitsbuttonsoccer.com/pt&quot;&gt;Mobits Button Soccer&lt;/a&gt;, além do aumento do seu número de downloads, o &lt;a href=&quot;http://www.cinemobits.com.br/&quot;&gt;Cine Mobits&lt;/a&gt; também é mais baixado. Acho que isso acontece porque a pessoa acaba querendo conhecer todos os produtos da empresa. Mas isso só se ela gostou de algum deles, né?!&lt;/p&gt;

&lt;h3&gt;Então...&lt;/h3&gt;

&lt;p&gt;Todas essas ações que destaquei acima ajudam a fazer com que seu aplicativo fiquem bem no &lt;em&gt;ranking&lt;/em&gt; da App Store. E isso é muito importante, pois muitas pessoas baixam aplicativos que estão no &lt;strong&gt;Top 25&lt;/strong&gt;. Logo não ignore o &lt;em&gt;ranking&lt;/em&gt;!&lt;/p&gt;

&lt;p&gt;Acredito que possa haver outras estratégias para promover aplicativos na App Store, então conte pra gente aqui!&lt;/p&gt;

&lt;p&gt;Leia também:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2009/5/24/dez-mandamentos-para-obter-a-licenca-de-desenvolvedor-da-apple&quot;&gt;Os 10 mandamentos para obter a licença de desenvolvedor da Apple e publicar na App Store&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Felipe Barreto</name>
    </author>
    <id>tag:www.mobits.com.br,2010-02-01:349</id>
    <published>2010-02-01T13:35:00Z</published>
    <updated>2010-02-01T13:41:22Z</updated>
    <category term="Blog"/>
    <category term="app store"/>
    <category term="apple"/>
    <category term="ipad"/>
    <link href="http://www.mobits.com.br/2010/2/1/ipad-lancado-o-que-os-desenvolvedores-podem-esperar" rel="alternate" type="text/html"/>
    <title>iPad lan&#231;ado. O que os desenvolvedores podem esperar?</title>
<content type="html">
            &lt;p&gt;No meio de euforia e decepções, o &lt;a href=&quot;http://www.apple.com/br/ipad/&quot;&gt;iPad&lt;/a&gt; já foi considerado desde uma &lt;a href=&quot;http://economics.com.au/?p=5030&quot;&gt;revolução&lt;/a&gt; a simplesmente um &lt;a href=&quot;http://oglobo.globo.com/tecnologia/mat/2010/01/28/ipad-ipod-de-itu-915725497.asp&quot;&gt;&quot;iPod de Itu&quot;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;O fato é que, tratando-se de &lt;a href=&quot;http://www.apple.com/br&quot;&gt;Apple&lt;/a&gt;, tudo é possível daqui pra frente: o &lt;a href=&quot;http://www.apple.com/br/ipad/&quot;&gt;iPad&lt;/a&gt; pode mostrar-se o mais novo &quot;gadget-que-você-não-pode-viver-sem&quot;, por ser leve, prático e rápido; ou ainda provar ser apenas um trambolho que ficou no meio do caminho entre um netbook e um celular, mas ainda sim ser um sucesso só pelo fato de ter uma maçã gravada no verso.&lt;/p&gt;

&lt;h3&gt;E o que os desenvolvedores atuais para iPhone podem fazer?&lt;/h3&gt;

&lt;p&gt;
  &lt;img title=&quot;iPad. O que os desenvolvedores podem esperar?&quot; src=&quot;http://www.mobits.com.br/assets/2010/2/1/iPad_question.jpg&quot; alt=&quot;iPad. O que os desenvolvedores podem esperar?&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;A Apple foi bem inteligente em concentrar esforços para manter a compatiilidade do &lt;a href=&quot;http://www.apple.com/br/ipad/&quot;&gt;iPad&lt;/a&gt; com as Apps pré-existentes de modo que elas possam ser executadas em dois modos: &lt;strong&gt;Resolução original&lt;/strong&gt;, ou seja, a App vai aparecer em 320x480 como um mini-game na tela do &lt;a href=&quot;http://www.apple.com/br/ipad/&quot;&gt;iPad&lt;/a&gt;; ou em &lt;strong&gt;Tamanho dobrado&lt;/strong&gt; para se adaptar melhor a tela de 1024x768 (com o risco que prejudicar a qualidade das imagens).&lt;/p&gt;

&lt;p&gt;Além disso, boa parte dos &lt;a href=&quot;http://www.apple.com/br/ipad/specs/&quot;&gt;recursos&lt;/a&gt; foi mantida como &lt;strong&gt;acelerômetro&lt;/strong&gt;, &lt;strong&gt;bússula&lt;/strong&gt;, &lt;strong&gt;wi-fi&lt;/strong&gt;, &lt;strong&gt;bluetooth&lt;/strong&gt;, &lt;strong&gt;microfone&lt;/strong&gt;, &lt;strong&gt;caixas de som&lt;/strong&gt; e &lt;strong&gt;GPS&lt;/strong&gt; (esta última somente no modelo 3G).&lt;/p&gt;

&lt;p&gt;Sendo assim, restam duas alternativas para nós, desenvolvedores:&lt;/p&gt;

&lt;h3&gt;1. Fazer nada&lt;/h3&gt;

&lt;p&gt;Sim, nada. Podemos esperar o barco mostrar que vai tomar alguma direção realmente interessante e ecomizar tempo e dinheiro. De uma forma ou de outra, &lt;a href=&quot;http://www.cinemobits.com.br&quot; title=&quot;Cine Mobits&quot;&gt;nossas&lt;/a&gt; &lt;a href=&quot;http://www.mobitsbuttonsoccer.com&quot; title=&quot;Mobits Button Soccer&quot;&gt;Apps&lt;/a&gt; já são &quot;compatíveis&quot; com o &lt;a href=&quot;http://www.apple.com/br/ipad/&quot;&gt;iPad&lt;/a&gt;. &lt;/p&gt;

&lt;h3&gt;2. Investir&lt;/h3&gt;

&lt;p&gt;Por outro lado, podemos acreditar que o Tio Jobs e Cia. acertaram mais uma vez e correr para chegar na frente na nova leva de Apps que se tornarão viáveis simplesmente pelo fato de poderem explorar uma tela maior.&lt;/p&gt;

&lt;p&gt;Se optar pelo segundo caminho, eis alguns pontos que devem ser observados.&lt;/p&gt;

&lt;h4&gt;Compatibilidade&lt;/h4&gt;

&lt;p&gt;Como dito, nós podemos desenvolver Apps para iPhone e contar com o &lt;strong&gt;modo de compatibilidade&lt;/strong&gt; disponível no iPad, mas temos mais 2 opções: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Apps exclusivas para iPad&lt;/strong&gt;: utilizando os novos recursos visuais bem como o tamanho da nova tela, podemos fazer Apps que rodem somente no iPad;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Apps &quot;Universais&quot;&lt;/strong&gt;:  Serão Apps preparadas para identificar cada dispositivo e apresentar a interface coerentemente. &quot;Universal&quot; foi o termo escolhido pela própria Apple - e faz sentido se você considerar que o universo cabe dentro de uma maçã :D&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Layout&lt;/h4&gt;

&lt;p&gt;Com o iPad, poderemos colocar muito mais informação em uma mesma tela. Com isso, uma mesma App poderia ter 5 telas quando executada no iPhone, mas apenas 2 quando executada no iPad. Caberá a nós decidir quando usar essa estratégia.&lt;/p&gt;

&lt;h4&gt;Multitouch&lt;/h4&gt;

&lt;p&gt;No iPhone, é comum explorarmos 2 ou até 3 toques simultâneos na tela, mas no iPad, mais uma vez devido a sua tela maior, poderíamos explorar 4 ou 5 toques (ou até mais, afinal a maioria dos usuários tem 10 dedos e mais algumas partes do corpo disponíveis :D).&lt;/p&gt;

&lt;h4&gt;Diferenças de hardware&lt;/h4&gt;

&lt;p&gt;Esta não é exatamente nova, uma vez que modelos de iPhone e iPods Touch já apresentam diferenças como GPS, câmera, bluetooh, etc. O lance é fazer nossas aplicações tratarem com elegância as deficiências de cada aparelho evitando que a App feche na cara do usuário e oferecendo alternativas aos recursos ausentes.&lt;/p&gt;

&lt;h3&gt;Paciência, estudo e criatividade&lt;/h3&gt;

&lt;p&gt;Embora os novos recursos visuais vão requerer de nós mais aprendizado e novas preocupações, se soubermos explorá-los, poderemos criar verdadeiras inovações na área de aplicações para dispositivos móveis. Espero que não apenas a Mobits, mas todas as iniciativas brasileiras consigam responder a altura caso o iPad venha a revolucionar o mercado como o iPhone fez e convoque os desenvolvedores a criar soluções realmente interessantes.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Quintana</name>
    </author>
    <id>tag:www.mobits.com.br,2010-01-15:343</id>
    <published>2010-01-15T14:30:00Z</published>
    <updated>2010-01-15T14:34:00Z</updated>
    <category term="Blog"/>
    <category term="iphone sdk"/>
    <category term="tdd"/>
    <category term="teste de interface"/>
    <link href="http://www.mobits.com.br/2010/1/15/testes-de-interface-no-iphone-sdk-com-o-uirecorder" rel="alternate" type="text/html"/>
    <title>Testes de interface no iPhone SDK com o UIRecorder</title>
<content type="html">
            &lt;p&gt;Muitos desenvolvedores ainda não conhecem o grande poder da ferramenta &lt;em&gt;Instruments&lt;/em&gt;, uma das três disponíveis no &lt;a href=&quot;http://developer.apple.com/&quot;&gt;Kit de desenvolvimento do iPhone&lt;/a&gt;. Recentemente eu descobri que ela além de medir o desempenho de aplicações, uso de memória e tudo mais, também pode nos auxiliar nos testes de interface.&lt;/p&gt;

&lt;p&gt;Já mostramos aqui, no nosso blog, a ferramenta open source &lt;a href=&quot;http://www.mobits.com.br/2009/3/3/teste-automatico-de-interface-para-suas-apps&quot;&gt;Bromine&lt;/a&gt;, desenvolvida por nosso colaborador Felipe Barreto, com auxílio de &lt;a href=&quot;http://cocoawithlove.com/&quot;&gt;Matt Gallagher&lt;/a&gt;. Com o &lt;a href=&quot;http://www.mobits.com.br/2009/3/3/teste-automatico-de-interface-para-suas-apps&quot;&gt;Bromine&lt;/a&gt; é possível criar testes que simulam a interação com diversos elementos do iPhone (como tabelas, botões, etc) e verificar o resultado dessas interações. Contudo, como é possível testar interfaces mais complexas, como a de jogos, onde não existem botões, tabelas ou &lt;em&gt;labels&lt;/em&gt;? Para isso, temos que ir no simulador e fazer os testes na mão mesmo. E se esses testes forem complicados de se reproduzir? Então usamos o &lt;em&gt;UIRecorder&lt;/em&gt;!&lt;/p&gt;

&lt;p&gt;O &lt;em&gt;UIRecorder&lt;/em&gt; nada mais é do que um gravador e reprodutor das interações que você faz no &lt;em&gt;iPhone Simulator&lt;/em&gt;. Primeiro, você deve abrir o &lt;em&gt;iPhone Simulator&lt;/em&gt; e o &lt;em&gt;Instruments&lt;/em&gt; e escolher o &lt;em&gt;UIRecorder&lt;/em&gt;:&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;UIRecorder&quot; src=&quot;http://www.mobits.com.br/assets/2010/1/13/Picture_3.png&quot; alt=&quot;UIRecorder&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Dentro do &lt;em&gt;UIRecorder&lt;/em&gt;, vá em &quot;Attach to Process&quot; e escolha o processo do &lt;em&gt;iPhone Simulator&lt;/em&gt;. Com isso ele ficará vinculado ao &lt;em&gt;iPhone Simulator&lt;/em&gt; e estará pronto para salvar as suas interações. Abaixo, existe um vídeo mostrando o funcionamento da ferramenta:&lt;/p&gt;

&lt;p&gt;&amp;lt;object height=&quot;300&quot; width=&quot;400&quot;&gt;&amp;lt;param /&gt;&amp;lt;param /&gt;&amp;lt;param /&gt;&amp;lt;embed src=&quot;http://vimeo.com/moogaloop.swf?clip_id=6934052&amp;amp;amp;server=vimeo.com&amp;amp;amp;show_title=1&amp;amp;amp;show_byline=1&amp;amp;amp;show_portrait=0&amp;amp;amp;color=&amp;amp;amp;fullscreen=1&quot; height=&quot;300&quot; width=&quot;400&quot;&gt;&amp;lt;/embed&gt;&amp;lt;/object&gt;&lt;/p&gt;

&lt;p&gt;Um bom exemplo é o aplicativo &lt;a href=&quot;http://www.mobitsbuttonsoccer.com/pt&quot;&gt;Mobits Button Soccer&lt;/a&gt;, onde a interação com os botões é complicada de simular com outras ferramentas e de reproduzir. Com o &lt;em&gt;UIRecorder&lt;/em&gt; eu posso gravar os testes, modificar o código e depois reproduzí-lo para ver se tudo funciona.&lt;/p&gt;

&lt;p&gt;A única desvantagem do &lt;em&gt;UIRecorder&lt;/em&gt; é que ele não é capaz de determinar de forma automatizada se o software está funcionando ou não, como o &lt;a href=&quot;http://www.mobits.com.br/2009/3/3/teste-automatico-de-interface-para-suas-apps&quot;&gt;Bromine&lt;/a&gt; faz, mas já é uma mão na roda para quem quer reproduzir interações complexas e onde o custo de ficar olhando se elas estão corretas é pequeno.&lt;/p&gt;

&lt;p&gt;Leia também:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2009/3/3/teste-automatico-de-interface-para-suas-apps&quot;&gt;Teste automático de interface para suas Apps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2009/1/9/testes-no-iphone&quot;&gt;Testes no iPhone&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Hildi</name>
    </author>
    <id>tag:www.mobits.com.br,2010-01-13:342</id>
    <published>2010-01-13T20:40:00Z</published>
    <updated>2010-01-13T20:42:42Z</updated>
    <category term="Blog"/>
    <category term="interface"/>
    <category term="windows mobile"/>
    <link href="http://www.mobits.com.br/2010/1/13/interfaces-mais-atraentes-no-windows-mobile" rel="alternate" type="text/html"/>
    <title>Interfaces mais atraentes no Windows Mobile</title>
<content type="html">
            &lt;p&gt;Criar interfaces bonitas para &lt;a href=&quot;http://www.microsoft.com/windowsmobile/pt-br/default.mspx&quot;&gt;Windows Mobile&lt;/a&gt; é um grande desafio, já que os componentes são um tanto limitados e a API não permite, por exemplo, o uso de imagens com transparência, &lt;a href=&quot;http://www.mobits.com.br/2010/1/12/label-multi-line-em-windows-mobile-soluo-para-algo-que-deveria-ser-simples&quot;&gt;&lt;em&gt;label multi-line&lt;/em&gt;&lt;/a&gt;, ou até mesmo o efeito &lt;a href=&quot;http://www.mobits.com.br/2009/8/25/como-fazer-fundo-gradiente-no-windows-mobile&quot;&gt;gradiente como &lt;em&gt;background&lt;/em&gt;&lt;/a&gt; de algum componente. Então para fazer algo mais personalizado, é preciso criar ou modificar os componentes existentes e nem sempre isso é uma tarefa fácil.&lt;/p&gt;

&lt;p&gt;Como tempo é dinheiro, muitas vezes modificar ou criar cada componente pode levar bastante tempo. Logo, seria interessante utilizar componentes prontos para facilitar a vida. Foi assim que descobri a &lt;a href=&quot;http://www.resco.net/&quot;&gt;Resco.net&lt;/a&gt;, uma empresa lá da Eslováquia que trabalha no desenvolvimento de soluções para Windows Mobile. Além de fazer aplicações e jogos, ela também desenvolve componentes para o WinMo: o &lt;a href=&quot;http://www.resco.net/developer/mobileformstoolkit/overview.aspx&quot;&gt;Mobile Forms Toolkit&lt;/a&gt;. O &lt;em&gt;toolkit&lt;/em&gt; oferece uma série de componentes, como listas, tabelas, abas, combo-box, e muitos outros, que podem ser personalizados de diversas maneiras: troca de cores, fundo gradiente, imagens, orientação e por aí vai. Além disso, ele é totalmente integrado ao Visual Studio.&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Resco Mobile Forms Toolkit&quot; src=&quot;http://www.mobits.com.br/assets/2010/1/13/RescoToolkit.jpg&quot; alt=&quot;Resco Mobile Forms Toolkit&quot; width=&quot;500&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;A &lt;a href=&quot;http://www.resco.net/&quot;&gt;Resco&lt;/a&gt; disponibiliza uma versão &lt;em&gt;trial&lt;/em&gt; que dura 30 dias. Para ter a versão paga, é preciso assinar um de seus planos. A licença é anual e cobre futuras atualizações, novos componentes e suporte. Para ver as singularidades e preços de cada plano, veja &lt;a href=&quot;http://www.resco.net/developer/mobileformstoolkit/pricing.aspx&quot;&gt;aqui&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Aqui na Mobits, baixamos a versão &lt;em&gt;trial&lt;/em&gt; e podemos dizer que a ferramenta cumpre muito bem o que promete. Vale muito a pena! :)&lt;/p&gt;

&lt;p&gt;Ah! Se você conhece alguma outra ferramenta semelhante, comente! &lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Afonso Junior</name>
    </author>
    <id>tag:www.mobits.com.br,2010-01-12:340</id>
    <published>2010-01-12T16:06:00Z</published>
    <updated>2010-01-12T16:27:42Z</updated>
    <category term="Blog"/>
    <category term="label"/>
    <category term="windows mobile"/>
    <link href="http://www.mobits.com.br/2010/1/12/label-multi-line-em-windows-mobile-soluo-para-algo-que-deveria-ser-simples" rel="alternate" type="text/html"/>
    <title>Label multi-line em Windows Mobile: solu&#231;&#227;o para algo que deveria ser simples</title>
<content type="html">
            &lt;p&gt;Quem já programou para &lt;a href=&quot;http://www.apple.com/iphone/&quot;&gt;iPhone&lt;/a&gt; conhece as facilidades que o &lt;a href=&quot;http://developer.apple.com/tools/interfacebuilder.html&quot;&gt;Interface Builder&lt;/a&gt; fornece para fazer as suas telas. Para quem tem a árdua missão de elaborar as mesmas interfaces para &lt;a href=&quot;http://www.mobits.com.br/tags/windows%20mobile&quot;&gt;Windows Mobile&lt;/a&gt;, não vai encontrar todas essas facilidades, o que pode prejudicar e muito o desenvolvimento e, consequentemente, a experiência do usuário.&lt;/p&gt;

&lt;p&gt;Para exemplificar o que digo, mostro a vocês um problema que tive em Windows Mobile, que na teoria deveria ser bem fácil resolver: uma &lt;em&gt;label&lt;/em&gt; que pode receber conteúdo dinâmico (acontece toda hora) e que o seu &lt;em&gt;container&lt;/em&gt; deve ser redimensionado de acordo com esse conteúdo; se ele tiver que ter duas linhas, que aumente o seu tamanho para comportar duas. Se tiver três, que aumente mais um pouco.&lt;/p&gt;

&lt;p&gt;Isso deveria ser tranquilo, certo? Errado. Ao pesquisar sobre como fazer isso, até descobri que há como fazer em C#, utilizando o método &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.drawing.graphics.measurestring.aspx&quot;&gt;Graphics.MeasureString&lt;/a&gt;; porém, como muitas funcionalidades que a gente acha fuçando no &lt;a href=&quot;http://www.google.com.br&quot;&gt;Google&lt;/a&gt;, essa é mais uma que não está disponível para o &lt;em&gt;Compact Framework&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Com o desânimo já batendo à porta, achamos em um dos últimos links procurados um &lt;a href=&quot;http://www.mobilepractices.com/2007/12/multi-line-graphicsmeasurestring.html&quot;&gt;site na Argentina&lt;/a&gt; de um desenvolvedor que implementou uma classe para tratar disso em Windows Mobile. Como sempre, pegamos a implementação dele, incorporamos ao nosso código, e colocamos de maneira mais fácil de ser utilizada.&lt;/p&gt;

&lt;p&gt;Primeiro, baixe &lt;a href=&quot;http://www.mobits.com.br/assets/2010/1/8/CFMeasureString.cs&quot;&gt;esse arquivo&lt;/a&gt;, que contém a definição da classe que iremos utilizar. Ela contém o código que faz toda a mágica. Chamo a atenção para o seguinte método:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;internal static int GetLabelSize(Label label, Graphics graphics) {
    return CFMeasureString.MeasureString(graphics, label.Text, label.ClientRectangle, false).Height;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Com ele, basta você passar a &lt;em&gt;label&lt;/em&gt; que você deseja saber a altura (&lt;em&gt;height&lt;/em&gt;), usando o seguinte código:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;minhaLabel.Height = CFMeasureString.GetLabelSize(minhaLabel, CreateGraphics());
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;O método &lt;em&gt;CreateGraphics()&lt;/em&gt; é interno a um &lt;em&gt;Form&lt;/em&gt;, de forma que a utilização da linha acima deve ser feita preferencialmente no formulário. Convém dizer que o &lt;em&gt;GetLabelSize&lt;/em&gt; não funciona com todas as implementações de &lt;em&gt;Label&lt;/em&gt;, como, por exemplo, o &lt;a href=&quot;http://www.mobits.com.br/2009/7/30/label-transparente-em-windows-mobile&quot;&gt;&lt;em&gt;transparent label&lt;/em&gt;&lt;/a&gt;. Mas já quebra o maior galho :P.&lt;/p&gt;

&lt;p&gt;Leia também:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2009/8/5/programando-para-windows-mobiles-usando-mvc-e-delegates&quot;&gt;Programando para Windows Mobile usando MVC e Delegates - Parte 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2009/9/24/programando-para-windows-mobile-usando-mvc-e-delegates-parte-2&quot;&gt;Programando para Windows Mobile usando MVC e Delegates - Parte 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2009/7/30/label-transparente-em-windows-mobile&quot;&gt;Label transparente em Windows Mobile&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Felipe Barreto</name>
    </author>
    <id>tag:www.mobits.com.br,2010-01-08:329</id>
    <published>2010-01-08T16:52:00Z</published>
    <updated>2010-01-08T16:53:15Z</updated>
    <category term="Blog"/>
    <category term="interface"/>
    <category term="iphone sdk"/>
    <category term="xib"/>
    <link href="http://www.mobits.com.br/2010/1/8/desenhando-fragmentos-de-interface-no-interface-builder" rel="alternate" type="text/html"/>
    <title>Desenhando fragmentos de interface no Interface Builder</title>
<content type="html">
            &lt;p&gt;Quem já começou a desenvolver suas apps para iPhone deve ter passado pelo &lt;a href=&quot;http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhone101/Articles/05_ConfiguringView.html&quot; title=&quot;Tutorial da Apple para criaçao da sua primeira App&quot;&gt;processo padrão de criar interfaces no Interface Builder&lt;/a&gt;: cria o arquivo &lt;em&gt;XIB&lt;/em&gt;, vincula-o à &lt;em&gt;view&lt;/em&gt; de algum &lt;em&gt;controller&lt;/em&gt; e carrega este último com o método &lt;em&gt;- [UIViewController initWithNibName:(NSString *)n bundle:(NSBundle *)b]&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Contudo, podem existir casos onde você queira definir apenas um pedaço da interface para ser utilizado diversas vezes por um mesmo &lt;em&gt;controller&lt;/em&gt; ou por diversos &lt;em&gt;controllers&lt;/em&gt; diferentes. Nestes casos, aparece um novo método:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;// Em NSBundle
- (NSArray *)loadNibNamed:(NSString *)name owner:(id)owner options:(NSDictionary *)options
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Usado da maneira mais simples, este método retornará um &lt;em&gt;array&lt;/em&gt; das &lt;em&gt;views&lt;/em&gt; definidas na &lt;strong&gt;raiz&lt;/strong&gt; de um determinado &lt;em&gt;XIB&lt;/em&gt;. &lt;/p&gt;

&lt;p&gt;Vamos ao exemplo. &lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Exemplo de Arquivo XIB&quot; src=&quot;http://www.mobits.com.br/assets/2010/1/4/Screen_shot_2010-01-04_at_14.37.44.png&quot; alt=&quot;Exemplo de Arquivo XIB&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Ao carregar o &lt;em&gt;XIB&lt;/em&gt; acima com o seguinte código:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;NSArray *views = [[NSBundle mainBundle] loadNibNamed:@&quot;Fragmentos&quot; owner:nil options:nil];
UIView *cabecalho = [views objectAtIndex:0];
UIView *rodape = [views objectAtIndex:1];
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;o &lt;em&gt;array&lt;/em&gt; obtido conterá somente as &lt;em&gt;views&lt;/em&gt; &lt;strong&gt;Cabecalho&lt;/strong&gt; e &lt;strong&gt;Rodape&lt;/strong&gt;, pois são as que estão no nível mais alto. As outras &lt;em&gt;views&lt;/em&gt; serão naturalmente carregadas, pois são &lt;em&gt;subviews&lt;/em&gt; das principais.&lt;/p&gt;

&lt;p&gt;Depois de incluir suas novas &lt;em&gt;views&lt;/em&gt; na sua tela, o resultado final poderá ser algo como:&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Tela com fragmentos de interface&quot; src=&quot;http://www.mobits.com.br/assets/2010/1/8/Screen_shot_2010-01-08_at_11.54.png&quot; alt=&quot;Tela com fragmentos de interface&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Você ainda pode definir um objeto de uma classe que você tenha criado como &lt;em&gt;owner&lt;/em&gt; do &lt;em&gt;XIB&lt;/em&gt;. Desta maneira, poderá utilizar os recursos de ligação dinâmica que o Interface Builder fornece para ligar os elementos visuais às propriedades &lt;em&gt;IBOutlet&lt;/em&gt; da sua classe. Para isso, basta definir a classe do seu objeto no &lt;strong&gt;File's Owner&lt;/strong&gt; do arquivo &lt;em&gt;XIB&lt;/em&gt;, configurar as ligações e carregá-lo com o comando &lt;em&gt;NSArray *views = [[NSBundle mainBundle] loadNibNamed:@&quot;Fragmentos&quot; owner:&lt;strong&gt;meuObjeto&lt;/strong&gt; options:nil];&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;Desempenho&lt;/h3&gt;

&lt;p&gt;Apesar de facilitar muito no desenho de interfaces complexas, o carregamento dos &lt;em&gt;XIB&lt;/em&gt; é naturalmente mais lento que a criação de &lt;em&gt;views&lt;/em&gt; via código puro, portanto, em situações onde o &lt;em&gt;XIB&lt;/em&gt; tenha de ser carregado diversas vezes em um curto espaço de tempo, deve-se avaliar o impacto sobre a performance. Um caso comum seria criar um &lt;em&gt;XIB&lt;/em&gt; para definir a aparência da &lt;strong&gt;célula&lt;/strong&gt; de uma tabela. Eu venho utilizando esse recurso constantemente nos novos projetos, mas tenho que ficar atento a tudo que posso fazer para compensar o carregamento lento como, principalmente, o reaproveitamento de células já carregadas.&lt;/p&gt;

&lt;p&gt;Como falei acima, venho utilizando este recurso sempre que possível nos projetos e tenho aumentado muito a produtividade na criação de interfaces. Se tiver alguma dúvida sobre o funcionamento, fique a vontade para pedir ajuda.&lt;/p&gt;

&lt;p&gt;Leia também:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2009/11/24/desenhando-interfaces-para-iphone&quot;&gt;Desenhando interfaces para iPhone&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2009/4/30/saiba-como-customizar-sua-uitableview-2&quot;&gt;Saiba como customizar sua UITableView&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2009/11/30/uipickerview-circular-gambiarra-oficial-da-apple&quot;&gt;UIPickerView circular - &quot;Gambiarra oficial&quot; da Apple&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Karin</name>
    </author>
    <id>tag:www.mobits.com.br,2010-01-06:332</id>
    <published>2010-01-06T20:19:00Z</published>
    <updated>2010-01-07T15:26:51Z</updated>
    <category term="Blog"/>
    <category term="apple"/>
    <category term="google"/>
    <category term="iphone"/>
    <category term="nexus one"/>
    <link href="http://www.mobits.com.br/2010/1/6/nexus-one-versus-iphone" rel="alternate" type="text/html"/>
    <title>Nexus One versus iPhone</title>
<content type="html">
            &lt;p&gt;&lt;img title=&quot;Nexus One versus iPhone&quot; src=&quot;http://www.mobits.com.br/assets/2010/1/6/nexusvsiphone.jpg&quot; alt=&quot;Nexus One versus iPhone&quot; width=&quot;400&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;O tão aguardado lançamento do celular &quot;da Google&quot;, &lt;a href=&quot;nexus&quot;&gt;Nexus One&lt;/a&gt;, foi ontem (05/01). Infelizmente o aparelho não está disponível para o Brasil (e ainda não tem previsão), somente para Estados Unidos, Inglaterra, Cingapura e Hong Kong.&lt;/p&gt;

&lt;p&gt;A &lt;a href=&quot;http://www.google.com.br/&quot;&gt;Google&lt;/a&gt; realmente entrou no mercado móvel para competir com a &lt;a href=&quot;http://www.nokia.com.br/&quot;&gt;Nokia&lt;/a&gt; e a &lt;a href=&quot;http://www.apple.com.br/&quot;&gt;Apple&lt;/a&gt; e já traz na bagagem o seu sistema operacional &lt;a href=&quot;http://www.android.com/&quot;&gt;Android&lt;/a&gt; e o reconhecimento da sua marca. Mas por que &lt;em&gt;celular &quot;da Google&quot;&lt;/em&gt;? Porque ela não fabricou sozinha o aparelho, que utiliza tecnologia da &lt;a href=&quot;http://www.htc.com/&quot;&gt;HTC&lt;/a&gt;, grande fabricante de celulares.&lt;/p&gt;

&lt;p&gt;Como muitos estão dizendo que o principal alvo da &lt;a href=&quot;http://www.google.com.br/&quot;&gt;Google&lt;/a&gt; é a &lt;a href=&quot;http://www.apple.com.br/&quot;&gt;Apple&lt;/a&gt;, então compararemos as principais especificações técnicas de seus aparelhos para termos uma noção do que cada um proporciona para seu usuário final.&lt;/p&gt;

&lt;table&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;th&gt;Nexus One&lt;/th&gt;
    &lt;th&gt;iPhone&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr class=&quot;row-a&quot;&gt;
    &lt;th&gt;Altura&lt;/th&gt;
    &lt;td&gt;119 mm&lt;/td&gt;
    &lt;td&gt;115,5 mm&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr class=&quot;row-b&quot;&gt;
    &lt;th&gt;Largura&lt;/th&gt;
    &lt;td&gt;59,8 mm&lt;/td&gt;
    &lt;td&gt;62,1 mm&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr class=&quot;row-a&quot;&gt;
    &lt;th&gt;Profundidade&lt;/th&gt;
    &lt;td&gt;11,5 mm&lt;/td&gt;
    &lt;td&gt;12,3 mm&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr class=&quot;row-b&quot;&gt;
    &lt;th&gt;Display&lt;/th&gt;
    &lt;td&gt;800x480 pixels / touchscreen&lt;/td&gt;
    &lt;td&gt;480x320 pixels / multi-touch&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr class=&quot;row-a&quot;&gt;
    &lt;th&gt;Foto&lt;/th&gt;
    &lt;td&gt;5 megapixels com flash&lt;/td&gt;
    &lt;td&gt;3 megapixels&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr class=&quot;row-b&quot;&gt;
    &lt;th&gt;Vídeo&lt;/th&gt;
    &lt;td&gt;possui&lt;/td&gt;
    &lt;td&gt;a partir do 3GS&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr class=&quot;row-a&quot;&gt;
    &lt;th&gt;Conexões&lt;/th&gt;
    &lt;td&gt;EDGE / GSM / Wi-Fi / Bluetooth&lt;/td&gt;
    &lt;td&gt;EDGE / GSM / Wi-Fi / Bluetooth&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr class=&quot;row-b&quot;&gt;
    &lt;th&gt;Recarregamento&lt;/th&gt;
    &lt;td&gt;tradicional e USB&lt;/td&gt;
    &lt;td&gt;tradicional e USB&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr class=&quot;row-a&quot;&gt;
    &lt;th&gt;Tempo em fala&lt;/th&gt;
    &lt;td&gt;7 horas&lt;/td&gt;
    &lt;td&gt;5 horas&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr class=&quot;row-b&quot;&gt;
    &lt;th&gt;Tempo em standby&lt;/th&gt;
    &lt;td&gt;250 horas&lt;/td&gt;
    &lt;td&gt;300 horas&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr class=&quot;row-a&quot;&gt;
    &lt;th&gt;Tempo em vídeo&lt;/th&gt;
    &lt;td&gt;7 horas&lt;/td&gt;
    &lt;td&gt;10 horas&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr class=&quot;row-b&quot;&gt;
    &lt;th&gt;Tempo em áudio&lt;/th&gt;
    &lt;td&gt;20 horas&lt;/td&gt;
    &lt;td&gt;30 horas&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr class=&quot;row-a&quot;&gt;
    &lt;th&gt;Sistema operacional&lt;/th&gt;
    &lt;td&gt;Android Mobile Technology Platform 2.1 (Eclair)&lt;/td&gt;
    &lt;td&gt;iPhone OS v3.1.2&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr class=&quot;row-b&quot;&gt;
    &lt;th&gt;Memória&lt;/th&gt;
    &lt;td&gt;1 GB e cartão SD de 4 GB (expansível até 32 GB)&lt;/td&gt;
    &lt;td&gt; 8, 16 ou 32 GB - não possui cartão&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr class=&quot;row-a&quot;&gt;
    &lt;th&gt;Localização&lt;/th&gt;
    &lt;td&gt;GPS / Bússola e Acelerômetro / Wi-Fi / Rede telefônica&lt;/td&gt;
    &lt;td&gt;GPS / Bússola (a partir do 3GS) e Acelerômetro / Wi-Fi / Rede telefônica&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr class=&quot;row-b&quot;&gt;
    &lt;th&gt;&lt;i&gt;Market place&lt;/i&gt;&lt;/th&gt;
    &lt;td&gt;&lt;a href=&quot;http://www.android.com/market/&quot;&gt;&lt;i&gt;Android Market&lt;/i&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;td&gt;&lt;a href=&quot;http://www.apple.com/br/iphone/iphone-3gs/app-store.html&quot;&gt;&lt;i&gt;App Store&lt;/i&gt;&lt;/a&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr class=&quot;row-a&quot;&gt;
    &lt;th&gt;Site&lt;/th&gt;
    &lt;td&gt;&lt;a href=&quot;http://www.google.com/phone/static/en_US-nexusone_tech_specs.html&quot;&gt;Especificações do Nexus One&lt;/a&gt;&lt;/td&gt;
    &lt;td&gt;&lt;a href=&quot;http://www.apple.com/iphone/specs.html&quot;&gt;Especificações do iPhone&lt;/a&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;De acordo com o quadro, podemos observar que ambos apresentam características bem parecidas. Destaque para a resolução da tela e a câmera que são melhores no &lt;a href=&quot;http://www.google.com/phone/&quot;&gt;Nexus One&lt;/a&gt;. Já a preocupação que a Apple tem com a bateria do &lt;a href=&quot;http://www.apple.com/br/iphone/&quot;&gt;iPhone&lt;/a&gt; pode ser vista acima, pois na comparação com o aparelho da &lt;a href=&quot;http://www.google.com.br/&quot;&gt;Google&lt;/a&gt; observamos melhor desempenho.&lt;/p&gt;

&lt;p&gt;Mas não estamos aqui para falar do &lt;a href=&quot;http://www.apple.com/br/iphone/&quot;&gt;iPhone&lt;/a&gt; e sim do &lt;a href=&quot;http://www.google.com/phone/&quot;&gt;Nexus One&lt;/a&gt;. Além das especificações técnicas destacadas, o aparelho traz uma série de funcionalidades. São elas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;integração com o &lt;a href=&quot;http://www.google.com.br/&quot;&gt;Google&lt;/a&gt;, podendo fazer qualquer busca desejável;&lt;/li&gt;
&lt;li&gt;integração com o &lt;a href=&quot;http://maps.google.com.br/&quot;&gt;Google Maps&lt;/a&gt;, que auxilia na navegação;&lt;/li&gt;
&lt;li&gt;integração com o &lt;a href=&quot;http://mail.google.com/&quot;&gt;Gmail&lt;/a&gt;, para poder visualizar seus e-mails;&lt;/li&gt;
&lt;li&gt;integração com o &lt;a href=&quot;http://picasa.google.com.br/&quot;&gt;Picasa&lt;/a&gt;, para visualizar seus álbuns;&lt;/li&gt;
&lt;li&gt;integração com o &lt;a href=&quot;http://www.youtube.com/&quot;&gt;YouTube&lt;/a&gt;, enviando vídeos gravados no próprio aparelho;&lt;/li&gt;
&lt;li&gt;integração com a lista de contatos do &lt;a href=&quot;http://www.facebook.com/&quot;&gt;Facebook&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;entrada de texto com teclado acionável por voz;&lt;/li&gt;
&lt;li&gt;customização da tela inicial e descanso de tela;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;widgets&lt;/em&gt;;&lt;/li&gt;
&lt;li&gt;câmera com flash, zoom digital, efeitos;&lt;/li&gt;
&lt;li&gt;leitura das mensagens do correio de voz.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;É pessoal, não sei se a &lt;a href=&quot;http://www.google.com.br/&quot;&gt;Google&lt;/a&gt; conseguirá ser páreo para a &lt;a href=&quot;http://www.apple.com.br/&quot;&gt;Apple&lt;/a&gt;, porém ela está entrando com força no mercado móvel com o &lt;a href=&quot;http://www.google.com/phone/&quot;&gt;Nexus One&lt;/a&gt;, que traz a vantagem de ser integrado com vários serviços da própria &lt;a href=&quot;http://www.google.com.br/&quot;&gt;Google&lt;/a&gt;, que nós hoje não conseguimos viver sem. E esse é o foco da &lt;a href=&quot;http://www.google.com.br/&quot;&gt;Google&lt;/a&gt; com o &lt;a href=&quot;http://www.google.com/phone/&quot;&gt;Nexus One&lt;/a&gt;, usuários que precisam da Internet o tempo todo e à mão!&lt;/p&gt;

&lt;p&gt;Vamos ver como o mercado responde a essa novidade e se a &lt;a href=&quot;http://www.apple.com.br/&quot;&gt;Apple&lt;/a&gt; responderá com alguma novidade. A gente se vê!&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Karin</name>
    </author>
    <id>tag:www.mobits.com.br,2010-01-06:317</id>
    <published>2010-01-06T15:09:00Z</published>
    <updated>2010-01-06T15:19:03Z</updated>
    <category term="Blog"/>
    <category term="apple"/>
    <category term="brasil"/>
    <link href="http://www.mobits.com.br/2010/1/6/5-motivos-para-no-comprar-na-apple-brasil" rel="alternate" type="text/html"/>
    <title>O que fazer quando comprar na Apple Brasil</title>
<content type="html">
            &lt;p&gt;Olá pessoal,&lt;/p&gt;

&lt;p&gt;infelizmente estou aqui para escrever um post para relatar um problema que tivemos com a loja da &lt;a href=&quot;http://store.apple.com/br?afid=p219|GOBR&amp;amp;amp;cid=OAS-BR-KWG&quot;&gt;Apple Brasil&lt;/a&gt;. Como tivemos problemas no processo de compra para pessoa jurídica, escreverei aqui o que fazer quando adquirir produtos da Apple Brasil e, assim, evitar que você passe pela mesma situação que passamos.&lt;/p&gt;

&lt;h3&gt;Não comprar por telefone&lt;/h3&gt;

&lt;p&gt;Acredito que esse tenha sido o nosso principal erro. Segundo o site, ganharíamos desconto fazendo a compra por telefone e desistimos da compra pela Internet. E por que tivemos problema? Porque o cadastro dos dados para a compra não é feito por você e sim por um atendente, que mal treinado, pode errar seu cadastro e provocar um grande estrago. E foi o que ocorreu. Ao invés do atendente fazer a compra para pessoa jurídica, o que foi solicitado e confirmado diversas vezes, ele fez em nome de um dos sócios, ou seja, pessoa física. E o pior, acabamos fazendo o pagamento sem perceber o erro e, posteriormente, descobrimos que era tarde demais!&lt;/p&gt;

&lt;h3&gt;Pensar bem antes de desistir da compra&lt;/h3&gt;

&lt;p&gt;Após descobrir o erro, verificamos com a nossa contabilidade que não seria possível ficar com o produto, que tinha como sacado na nota uma pessoa física e não jurídica (como deveria ser)! Então, tivemos que ligar para a Apple Brasil para poder cancelar o pedido. Aí começou o nosso grande tormento, pois não foi somente uma vez que ligamos, mas várias vezes e telefonemas loooooooooooooongos!&lt;/p&gt;

&lt;h3&gt;Ter paciência&lt;/h3&gt;

&lt;p&gt;Mas para que? Porque acredite, você passará muito tempo no telefone descobrindo que os atendentes da Apple Brasil não foram treinados igualmente, pois cada um sabe coisas diferentes com relação ao mesmo assunto. Várias vezes tivemos que fazer diferentes telefonemas para tentar resolver a mesma questão: cancelamento da compra! O mais &quot;legal&quot; era que depois de ficar horas no telefone, muitas vezes a ligação caía e a gente tinha que ligar e falar novamente tudo que já tinha sido falado em outra ligação, pois eles não tem número de protocolo, acredita?!&lt;/p&gt;

&lt;h3&gt;Ligar mais de uma vez&lt;/h3&gt;

&lt;p&gt;Essa dica é bem útil, pois depois de várias ligações, descobrimos que alguns atendentes diziam que a gente é que deveria enviar o produto de volta para a Apple Brasil, mas outros diziam que o produto seria buscado no lugar da entrega por uma transportadora sem nenhum ônus, ou seja, quando você quiser resolver seu problema e aquele antendente não está conseguindo, desligue e ligue novamente. :P&lt;/p&gt;

&lt;h3&gt;Não acreditar nos e-mails enviados pela Apple Brasil&lt;/h3&gt;

&lt;p&gt;É isso mesmo! Vários e-mails foram enviados pela Apple Brasil, porém nenhum foi cumprido. Desde o prazo de entrega até e-mail de confirmação de devolução de produto que não foi devolvido. Só de e-mails confirmando o pagamento e informando a data de entrega recebemos 3!!! E, sem surpresa, cada um com uma data diferente. Menos supresa ainda foi receber o produto na somente  última das datas informadas.&lt;/p&gt;

&lt;h3&gt;Conclusão&lt;/h3&gt;

&lt;p&gt;O que tiramos disso tudo? Que não valeu a pena ter corrido atrás de um desconto, pois, no fim das contas, a gente acabou ganhando foi um grande transtorno, que levou bastante tempo da gente!&lt;/p&gt;

&lt;p&gt;No final da história, cancelamos o pedido depois de muito sacrifício e compramos o mesmo produto em outra loja, que acabou sendo mais barato e a entrega bem mais rápida, porque na Apple Brasil o prazo de entrega é de até 20 dias!&lt;/p&gt;

&lt;p&gt;E pensam que acabou? Não! Até hoje (06/01) não recebemos o dinheiro de volta e várias ligações já foram feitas para tentar resolver este outro problema.&lt;/p&gt;

&lt;p&gt;É isso aí! Esperem as cenas dos próximos capítulos!&lt;/p&gt;

&lt;p&gt;Leia também:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2009/5/24/dez-mandamentos-para-obter-a-licenca-de-desenvolvedor-da-apple&quot;&gt;Os 10 mandamentos para obter a licença de desenvolvedor da Apple e publicar na App Store&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Quintana</name>
    </author>
    <id>tag:www.mobits.com.br,2009-12-30:327</id>
    <published>2009-12-30T13:37:00Z</published>
    <updated>2010-01-06T19:34:17Z</updated>
    <category term="Blog"/>
    <category term="Not&#237;cias"/>
    <category term="app store"/>
    <category term="cinemobits"/>
    <category term="iphone"/>
    <link href="http://www.mobits.com.br/2009/12/30/cine-mobits-eleito-terceiro-melhor-aplicativo-de-2009" rel="alternate" type="text/html"/>
    <title>Cine Mobits eleito terceiro melhor aplicativo de 2009</title>
<summary type="html">&lt;p&gt;Saiba mais sobre a votação e as estatísticas do Cine Mobits.&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;Saiba mais sobre a votação e as estatísticas do Cine Mobits.&lt;/p&gt;
&lt;p&gt;O &lt;a href=&quot;http://www.cinemobits.com.br/&quot;&gt;Cine Mobits&lt;/a&gt; ficou em 3° lugar na &lt;a href=&quot;http://www.blogdoiphone.com/2009/12/top-dez-brasil-confira-a-lista-dos-aplicativos-brasileiros-mais-apreciados-pelos-leitores/&quot;&gt;votação do melhor aplicativo brasileiro para iPhone/iPod Touch de 2009&lt;/a&gt;. A &lt;a href=&quot;http://www.blogdoiphone.com/2009/12/top-dez-brasil-confira-a-lista-dos-aplicativos-brasileiros-mais-apreciados-pelos-leitores/&quot;&gt;votação&lt;/a&gt; contou com mais de 2 mil leitores do &lt;a href=&quot;http://www.blogdoiphone.com/&quot;&gt;Blog do iPhone&lt;/a&gt;, e o &lt;a href=&quot;http://www.cinemobits.com.br/&quot;&gt;Cine&lt;/a&gt; ficou atrás apenas do &lt;a href=&quot;http://itunes.apple.com/app/id328199137?mt=8&quot;&gt;Tom Tom Brasil&lt;/a&gt; e do &lt;a href=&quot;http://itunes.apple.com/app/id289554226?mt=8&quot;&gt;Brasileirão 2009&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.blogdoiphone.com/2009/12/top-dez-brasil-confira-a-lista-dos-aplicativos-brasileiros-mais-apreciados-pelos-leitores/&quot;&gt;&lt;img title=&quot;Acessos ao Cine Mobits&quot; src=&quot;http://www.mobits.com.br/assets/2009/12/30/cine3.png&quot; alt=&quot;Acessos ao Cine Mobits&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nesses 8 meses desde que o &lt;a href=&quot;http://www.cinemobits.com.br/&quot;&gt;Cine Mobits&lt;/a&gt; foi lançado na &lt;a href=&quot;http://www.apple.com/iphone/apps-for-iphone/&quot;&gt;App Store&lt;/a&gt;, ele já foi baixado por &lt;b&gt;22.374&lt;/b&gt; pessoas (sem contar as atualizações). Só pra comparar, a sua versão em &lt;a href=&quot;http://java.sun.com/javame/index.jsp&quot;&gt;Java&lt;/a&gt;, que existe desde julho de 2008, foi baixada pouco mais de 14 mil vezes. Os acessos mensais ao app também mostram o maior uso do aplicativo para iPhone, com mais de 100 mil acessos por mês, conforme o gráfico abaixo:&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Acessos ao Cine Mobits&quot; src=&quot;http://www.mobits.com.br/assets/2009/12/30/cine.jpg&quot; alt=&quot;Acessos ao Cine Mobits&quot; /&gt;&lt;/p&gt;

&lt;p&gt;O &lt;a href=&quot;http://www.cinemobits.com.br/&quot;&gt;Cine Mobits&lt;/a&gt; é acessado por todo o país, mas como mostra o gráfico abaixo de dezembro, as cidades mais consultadas são São Paulo e Rio de Janeiro:&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Acessos ao Cine Mobits&quot; src=&quot;http://www.mobits.com.br/assets/2009/12/30/cine2.png&quot; alt=&quot;Acessos ao Cine Mobits&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Em 2010 a Mobits tem diversos planos para o &lt;a href=&quot;http://www.cinemobits.com.br/&quot;&gt;Cine&lt;/a&gt;, entre eles criar uma versão para &lt;a href=&quot;http://www.android.com/&quot;&gt;Android&lt;/a&gt;. Para saber mais sobre o App e também novidades do cinema, acompanhe o &lt;a href=&quot;http://www.twitter.com/cinemobits&quot;&gt;Cine Mobits no twitter&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Leia também:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2009/10/20/atualizacao-do-cine-mobits-no-ar&quot;&gt;Atualização do Cine Mobits no ar!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2009/7/1/hotsite-do-cine-mobits-entre-os-25-mais&quot;&gt;Hotsite Cine Mobits entre os 25 mais!&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Hildi</name>
    </author>
    <id>tag:www.mobits.com.br,2009-12-18:319</id>
    <published>2009-12-18T21:20:00Z</published>
    <updated>2010-01-06T19:38:35Z</updated>
    <category term="Blog"/>
    <category term="mobile"/>
    <category term="sustentabilidade"/>
    <link href="http://www.mobits.com.br/2009/12/18/como-o-mundo-mobile-pode-ajudar-o-meio-ambiente" rel="alternate" type="text/html"/>
    <title>Como o mundo Mobile pode ajudar o meio ambiente?</title>
<content type="html">
            &lt;p&gt;Um assunto que anda muito em pauta é a questão da sustentabilidade: como explorar os recursos naturais ou não do nosso planeta, evitando ao máximo prejudicar o equilíbrio do meio ambiente? Paralelo a isso, temos um aumento do mercado &lt;em&gt;mobile&lt;/em&gt; em todo o mundo. Então, como esse mundo &lt;em&gt;mobile&lt;/em&gt; pode nos auxiliar a sermos mais sustentáveis?&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Orange Power Bump&quot; src=&quot;http://www.mobits.com.br/assets/2009/12/18/pump-1.jpg&quot; alt=&quot;Orange Power Bump&quot; width=&quot;400&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Existem diversas pesquisas e iniciativas nesse sentido. Por exemplo, a operadora de celulares &lt;a href=&quot;http://www.orange.com/en_EN/&quot;&gt;Orange&lt;/a&gt; apresentou uma forma sustentável de recarregar a bateria dos celulares. Trata-se de uma bomba, como aquelas de encher pneus de bicicleta, que após 1 minuto de bombeamento com o pé é capaz de recarregar até 5 minutos da bateria. Ideal para usuários que estejam localizados em lugares sem energia elétrica. Mais detalhes você pode conferir &lt;a href=&quot;http://www.mobileadvertisingbrasil.com.br/2009/06/orange-power-pump/#more-2428&quot;&gt;aqui&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Bicicleta sustentável da MIT&quot; src=&quot;http://www.mobits.com.br/assets/2009/12/18/bicicleta.png&quot; alt=&quot;Bicicleta sustentável da MIT&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Outra iniciativa bem legal foi apresentada a pouco tempo pela &lt;a href=&quot;http://web.mit.edu/&quot;&gt;MIT&lt;/a&gt; (Massachusetts Institute of Technology): uma bicicleta que possui como principal objetivo calcular níveis de poluição do ar. Mas o que isso tem a ver com &lt;em&gt;mobile&lt;/em&gt;? Acoplado ao guidon da bicicleta encontra-se um iPhone que armazena e se comunica via Bluetooth com os canais que captam os níveis de poluição do ar. Além disso, também exibe informações GPS. Para saber mais, veja &lt;a href=&quot;http://epocanegocios.globo.com/Revista/Common/0,,EMI111150-16382,00-BICICLETA+CALCULA+NIVEIS+DE+POLUICAO+DISTANCIA+E+VELOCIDADE.html&quot;&gt;aqui&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;É muito bom ver que existem iniciativas sustentáveis também no mundo da mobilidade. Acredito que muitas coisas legais estão por vir e se tornarão parte do nosso cotidiano! =)&lt;/p&gt;
          </content>  </entry>
</feed>
