2013/09/07

Entrevista a Francisco Franco - Criador do franco.Kernel

O Francisco Franco é o criador do franco.Kernel para Android um dos projectos mais populares no XDA, e que se caracteriza por "espremer" o máximo desempenho dos equipamentos com inúmeras optimizações; para além de disponibilizar também acesso a coisas que habitualmente estão inacessíveis (como modificar os ajustes de cor do ecrã do Nexus 4). É também português, mas o seu talento já foi notado lá fora, tendo dado um salto até Silicon Valley, de onde regressou recentemente. Hoje, vamos ficar a conhecê-lo um pouco melhor. :)





AadM - Olá Francisco, obrigado pela tua disponibilidade para responderes a algumas perguntas. Para começar, diz-nos quem és, e o que fazes actualmente?

FF - Olá e obrigado pelo contacto - então o meu nome é Francisco Franco, tenho 23 anos e vivo na linha de Cascais. Actualmente prossigo a minha actividade independente de programador para Android.


AadM -  Sendo responsável por um dos mais famosos kernel na comunidade Android, conta-nos como foi o teu percurso no mundo da programação: quando foi a primeira vez que sentiste o "bichinho" de mexer nos bits e bytes de um computador?

FF - Bem eu desde muito novo, para aí 3 ou 4 anos idade e já crashava o Windows 3.1 porque os discos eram muito pequenos e não tinha espaço suficiente para instalar mais jogos. Então acho que desde aí que me interesso por computadores. Ao longo do tempo fui me interessando cada vez mais, e com 13/14 anos fiz um pequeno jogo no browser com PHP e MySQL e passava os meus dias a programar isso mais HTML e CSS.

Uns anos mais tarde entrei na faculdade no curso de Tecnologias de Informação e Comunicação na FCUL e tive três cadeiras que gostei muito, programação 1 onde aprendemos a programar em C, Arquitectura de Computadores onde desenvolvemos competências ao nível de linguagem binária (zeros e uns), e Sistemas Operativos onde abordámos pela primeira vez o que é um Kernel. Ao longo deste tempo aprendemos a mexer com Linux e eu mais um amigo meu recompilámos umas Kernels para o Ubuntu para vermos o que acontecia, mas a coisa não correu assim muito bem para mim e o meu pc nem arrancava.

Bem depois entre o primeiro e o segundo semestre comprei um Android e ele era tão fraquinho que eu achei que tinha de haver forma de o meter mais rápido. Entretanto fui perdendo interesse pela faculdade, não sei se por não gostar das cadeiras de segundo semestre se por alguma preguiça, ou mesmo desleixo, o facto é que acabei por parar com a faculdade no ano seguinte no final do primeiro semestre do 2º ano.

Eu nem era um bom programador confesso, em C dava uns toques, Java não ligava nenhuma nas aulas. Recuando então um bocadinho fui fazendo uns scripts em bash para o meu Android e lá consegui descobrir algumas formas de lhe aumentar a velocidade e performance, tanto a nível de tweaks no VirtualMemory management do Kernel, tanto em aumentar a velocidade de I/O mudando a forma como o dispositivo montava as partições, ou mesmo particionando as partições com tamanhos de blocos e de nodes diferentes para melhorar a performance. Mas havia um limite em termos de melhorias através de scripts, por isso decidi pegar nas sources da Kernel do dispositivo e comecei a brincar. Lancei o meu Kernel no xda-developers.com em Março de 2011 e acabei por ir ganhando alguma popularidade. As pessoas que gostavam enviavam-me doações e eu acabei por mais tarde comprar um Nexus S com essas doações; e depois foi sempre a subir. Mais tarde compraram-me um Galaxy Nexus angariando dinheiro para mim, depois decidi que era altura de aprender um pouco de Java e criei a minha app franco.Kernel updater (free version) para gerir os meus Kernels com uma UI gráfica. Foi a primeira aplicação do género a aparecer na Play Store. A coisa correu muito bem e pronto cá estou a desenvolver para 4 aparelhos diferentes. Em breve o novo Nexus 7 e no final do ano será também o novo Nexus 5 (se se chamar assim claro).


AadM - E como foi a tua transição dos computadores para os smartphones e para a plataforma Android?

FF - Muito simples, a base do Ubuntu é o Kernel do Linux, um Android usa a mesma base logo é praticamente tudo igual.


AadM - O que te levou a aventurar-te no mundo dos Kernels, o componente mais crítico dos sistemas operativos e que é responsável pelo funcionamento de tudo?

FF - Eu sempre fui uma pessoa que gosta de pegar em algo e melhorar o que já foi feito, um Kernel não é excepção e acaba por ser emocionante programarmos algo que pode afectar tanto num dispositivo destes. São resultados práticos, seja a nível de melhoria de bateria ou melhoria de performance, vê-se e sente-se nas mãos. Quando a coisa corre bem é muito gratificante para mim. E gosto também de aprender, e ao fim de dois anos a mexer em Kernels todos os dias aprendo uma coisa nova, especialmente rotinas de código mais antigas que foram desenvolvidas por programadores de grandes empresas, e é desafiante poder olhar para uma driver e perceber o que realmente se está lá a passar.


AadM -  Sem querer ferir susceptibilidades, porque achas que uma empresa como o Google, com todos os recursos e talentos que têm ao seu dispor, não é capaz de "afinar" o Kernel do Android da maneira que tu próprio tens feito?

FF - A Google e os outros OEMs não se preocupam com os 5% a mais de performance nem com aqueles últimos bytes que podem vir a ganhar, eles só querem meter os dispositivos a funcionar com o melhor trabalho possível. E justificar um ganho de performance de 5 ou 10% é uma tarefa complicada e envolve muitos testes, muitos números... não é simples. Desde que a plataforma funcione eles não querem saber de mais nada.


AadM - E de forma relacionada, o que achas das empresas que modificam o interface do Android, e que nalguns casos até introduzem vulnerabilidades de segurança no sistema?

FF - Acho um atentado contra a plataforma. A interface stock do Android é a melhor experiência possível. Introduzindo modificações só faz com que os processos de actualizações demorem mais tempo, é por isso que estas empresas demoram por vezes 6 meses a a actualizar do Android 4.1 para o 4.2 por exemplo.


AadM - Fugindo um pouco à tecnologia e regressando a ti. Estando actualmente nos EUA, que tal tem sido a experiência de ter saído de Portugal?

FF - Neste momento já estou de volta a Portugal mas sim estive a trabalhar sete meses na Califórnia em Sillicon Valley. Acho que foi a melhor experiência de vida que já tive e todos devíamos passar por algo semelhante. É uma zona de qualidade, pessoas muito simpáticas, muito sol, trabalha-se bem e com um bom espírito, ganha-se bem para o trabalho que se faz e acima de tudo, aprende-se muito.


AadM - Quais são os teus planos para o futuro?

FF - Voltei para Portugal, mas o meu futuro não passa, certamente, por ficar cá. Estou cá por escolha minha pois o meu trabalho na empresa onde estive terminou, mas tive outras propostas, muito aliciantes até, mas dou muito valor ao meu tempo e aos meus projectos pessoais e cá tenho toda a liberdade para os pôr em marcha. Quando decidir que é hora de voltar para os USA voltarei sem qualquer problema e de muito bom grado pois as oportunidades lá são outras.


AadM -  Voltando ao franco.Kernel, lidar com uma comunidade numerosa nem sempre é fácil. Como tem sido a experiência relativamente ao feedback dos utilizadores (e certamente os incontáveis casos de "isto funciona no meu Android? preciso de root?" etc. etc?)

FF - É muito díficil. Quanto mais popular se é neste mundo do Android mais solicitações vêm para o nosso lado, e isso acaba por acontecer comigo. Tive que desactivar as mensagens privadas no XDA developers, pois era impossível continuar a receber 30 mensagens diárias com perguntas que se respondem com uma pequena search. Tenho várias comunidades, vários sites e várias formas das pessoas me contactarem, seja nos meus threads no XDA, como no G+, no Twitter, nas comunidades do G+ ou mesmo por e-mail.

Desde que as perguntas sejam pertinentes e inteligentes eu respondo sempre. Perguntas do género "funciona no meu telemóvel" ou "como fazer X porque sou noob e não tenho tempo para ler" são logo ignoradas, ou mesmo reports de um crash se não tiver um log eu nem me dou ao trabalho de tentar ajudar. Tenho muito que fazer e se não seleccionar não faço mais nada o dia todo senão dar "apoio ao cliente". Mas gosto muito de estar em contacto com os users, e sou capaz de ser o developer no XDA que tem mais contacto com as pessoas que usam as coisas que desenvolvo, acaba por não ser à toa que sou o developer com mais "thanks" no site :)


AadM - Pensas que haverá sempre coisas a melhorar no franco.Kernel; ou achas possível que um dia se chegue a um ponto em que se diga: "pronto, está tudo optimizado ao máximo; não há nem mais um byte que se possa mexer que possa melhorar as suas prestações". 

FF - Há sempre algo para melhorar e corrigir mas confesso que às vezes tenho de ir a caça de alguma coisa lendo código e tentando perceber se há alguma coisa que se possa optimizar.


AadM - A nível da diversidade de equipamentos e sistemas; qual te parece ser o futuro para as plataformas do Google, nomeadamente do Android e do Chrome OS. São ambas necessárias ou prevês que no futuro tenham tendência para se tornarem numa só?

FF - Eu acho que o Android e o ChromeOS vão se fundir nos próximos 12 a 24 meses. Acho que é o caminho normal tendo em conta que estamos a convergir para um mundo cada vez mais integrado.


AadM - Já agora, como encaras a concorrência: o iOS da Apple, Windows Phone, BlackBerry, assim como os futuros Firefox OS, Tizen, etc.

FF - Eu tenho um iPad e um iPhone e já usei um Windows Phone durante uns tempos para testar. Eu acho que o iOS é muito importante nem que seja para fazer concorrência à Google e ao Android. Em termos de tablets o Android tem se vindo a aproximar mas eu acho que o iOS é muito mais user friendly.

Falando de telemóveis... bem podia estar aqui o resto do dia a escrever sobre isso. Eu só consigo usar o iPhone durante 1 ou 2 meses seguidos, passado esse tempo começa-me a irritar a falta de integração e multi-tasking entre as suas apps, e o próprio flow do sistema pois tem muito pouca profundidade.

Por outro lado o Android tem um multi-tasking muito mais avançado e poderoso, e a maneira como umas apps interagem umas com as outras é mesmo muito avançado e dá prazer usar. Mas também tem coisas más, tem muitos bugs, a Google não lança betas por isso lança actualizações com bugs por todo o lado e cabe-nos a nós encontrar esses bugs e reportar-lhes e por vezes demoram algum tempo a corrigir. É muito irritante. Eu acho que as apps para Android estão a melhorar muito e dentro de 6-12 meses vão ser substancialmente mais bonitas e fáceis de usar do que as do iOS pois a Google está a apostar fortemente no design para se distinguir das outras plataformas.

Mas ainda há muitos developers que continuam a fazer apps ridículas com wakelocks (deixam os telemoveis acordados e a bateria vai-se) ou com notificações com spam etc etc. Para concluir as duas plataformas são excepcionais, cada uma tem coisas boas como coisas más e acho que se completam. A Apple tem que aprender com a Google e esta tem que aprender com a Apple. Tirando o Windows Phone todos os outros OS estão fora deste jogo na minha opinião.


AadM - Achas que será possível que a qualquer momento surja uma nova plataforma revolucionária que faça estremecer todas as plataformas existentes - ou vês o Android a dominar o mercado pelas décadas que se avizinham, tal com o a Microsoft o fez com os seus Windows?

FF - O Android vai dominar e vai continuar a crescer nos próximos 4-5 anos, e todas as outras vão continuar a diminuir em termos de quota de mercado. Não vejo ninguém com poder comercial e profissional suficientemente bom e forte para criar algo de raiz que nos faça deixar as nossas plataformas já tão enraizadas nos nossos dia-a-dia.


AadM - Falando de produtos revolucionários, qual o impacto que achas que coisas como o Google Glass terá a nível da utilização dos smartphone como os usamos hoje?

FF - Acho fantástico, mal posso esperar para ter um.


AadM - E para terminar... de que mais sentiste falta quando estiveste longe de Portugal? :)

FF - Tinha saudades da minha família, da minha namorada e dos meus amigos próximos, de resto confesso que não tinha saudades de nada.


O meu grande agradecimento ao Francisco por se ter disponibilizado a responder às nossas perguntas... e sem dúvida que continuaremos a vê-lo "por aí" sempre ligado a grandes projectos!

4 comentários:

  1. Este comentário foi removido pelo autor.

    ResponderEliminar
  2. Parabéns, a entrevista está muito boa e abordou temas muito interessantes!!!

    ResponderEliminar
  3. Parabéns Francisco,
    tens tido um trabalho brilhante e é de enaltecer o teu empenho em prol de todos is utilizadores.
    Como posso expor duvidas? Existe algum meio de contrato?

    Cumprimentos.

    ResponderEliminar
  4. Adorei a entrevista. Parabéns Francisco.
    No caso de duvidas onde posso expor o problema? Existe algum mail ou contrato?

    Cumprimentos.

    ResponderEliminar