Welcome

Celso Martinho This Blog is about technology, programming, entrepreneurship, innovation, and the Internet. I write for myself, my friends and people with these common interests. Posts are in Portuguese and English, according to the subject or my mood.

16 July 2011 ~ 21 Comments

Ensaio sobre Portugal, parte 3, Sucesso

Independentemente da profissão e do percurso das pessoas eu tenho por princípio nutrir uma grande admiração por todos aqueles que conseguem alcançar o sucesso profissional em Portugal. Estas pessoas têm que ser excepcionais a muitos níveis: não só na sua área de especialidade, mas também na determinação, resistência e na garra que têm que ter para conseguirem ultrapassar tantas barreiras.

Cheguei à conclusão que Portugal é um dos raros países do mundo que consegue condenar o fracasso e o sucesso ao mesmo tempo, o que é obra. O fracasso é culturalmente marcante e o sucesso é politicamente penalizado. De uma forma ou de outra o indivíduo que sair dos padrões da aceitação económica ou social predominantes deste país vai sempre levar no pêlo.

Passo a explicar.

“Falhar é humano” não é frase que se ouça muito por terras lusitanas, a não ser, claro seja, quando é proferida por falhados. Um gajo bem sucedido não é aquele que durante a sua vida acertou mais vezes do que errou. Não. Aos olhos desta aldeia de 10 milhões de vizinhos coscuvilheiros de descendência latina o tipo será essencialmente um incompetente que só fez asneiras.

E até vou mais longe. A raiz do nosso problema é que somos mesquinhos, estamos habituados e acomodados a sermos pequenos e pobres e parece que não temos grande vontade de o deixar de ser. E quando assim é, espezinhar os outros passa a ser um desporto, uma defesa natural, uma especialmente cobarde diga-se, contra a hipótese remota de “um dos nossos” vir a ser alguém. Estigmatizar quem falha e amaldiçoar quem vence é como que uma forma de prevenção para garantir um padrão social de tranquilidade colectiva. E convenhamos, nós gostamos de padrões e gostamos de estabilidade, mesmo que o padrão seja péssimo e que a tranquilidade o proteja. E o resto, meus amigos, na minha opinião deriva disto.

E depois, este tipo de socialismo político que insiste em penalizar o sucesso como solução para todos os nossos problemas não tem futuro nenhum. E isto é um barrete que bem pode ser enfiado por qualquer um dos partidos que já tenha estado no poder durante a memória da minha geração, incluindo os da dita ala direita da assembleia.

Não haja confusão, não se trata de ser contra o estado de bem-estar social nem contra o princípio basilar de que para este garantir a saúde, a educação, os subsídios de desemprego e a segurança social, os ricos contribuam mais  para ajudar os mais desfavorecidos. Até aqui tudo bem, gosto. Mas esta noção perfeitamente romântica que nos persegue há décadas de que podemos subsidiar todos os problemas de um país ineficiente à custa do sucesso daqueles que o conseguem alcançar, com isto não posso concordar nunca.

Qual é afinal o incentivo e a proposta que temos para dar aos nossos jovens promissores em Portugal? Trabalhem muito mas não demasiado, só o suficiente para não saírem do padrão? A sério? É com esta ambição e motivação política que vamos evitar a avalanche de fuga de talento que se avizinha nos próximos anos face ao que está prestes a acontecer com a nossa economia? Não me parece.

Para alcançar, respeitar e saborear o sucesso, Portugal precisa urgentemente (também) de uma cultura de falhanço.

Como é que podemos falar tanto de empreendedorismo e de inovação quando o sistema está todo ele montado para conduzir os jovens empresários por percursos lineares. Ser empreendedor significa tudo menos linearidade ou padrões: significa sonhar, arriscar, falhar e tentar de novo, e fazer disto um processo iterativo como um fim para alcançar os objectivos, e ser muito rápido quando o é necessário, não se coaduna nem com leis conservadoras nem com um sistema político-cultural que, tirando jogadores e treinadores de futebol, dispensa sucesso profissional em excesso.

As partes boas? Calma, lá chegarei.

 

Antes, Parte 1, Parte 2 – Iedologia

A seguir: Parte 4, O fado.

 

11 June 2011 ~ 12 Comments

Ensaio sobre Portugal, parte 2, Ideologia

Um homem que não acredita em nada, sem ideias, é uma pessoa sem rumo que pouco poderá fazer por si e que muito menos fará pelos outros. Os jovens deviam ter a ambição de serem pessoas cheias de crenças, mas ao invés constato que a tendência passa muito pelo inverso: as grandes preocupações da actualidade são a consensualidade, a aceitação, o estatuto. Deixem-se dizer-vos o que é que eu penso de pessoas consensuais: são desinteressantes, tipicamente nunca fizeram nada de jeito na vida e aborrecem-me muito, dão-me literalmente sono.

Para os mais novos fica aqui uma observação que tiro da vida, em jeito de conselho. As pessoas mais inteligentes que eu conheço fazem-se rodear por com quem mais discutem e de quem mais discordam em questões de fundo, tanto pessoal como profissionalmente. Mais rapidamente respeitam alguém de quem discordam veementemente do que alguém que se limita a concordar passivamente com eles. Peço-vos encarecidamente que não sejam consensuais nem tenham nunca essa meta na vossa vida, questionem tudo e todos, encham-se de convicções e lutem por elas, sejam corajosos.

Não sei bem como chegámos aqui mas entristece-me esta passividade generalizada em que vivemos e este certo défice de certezas e de ideias a que assisto. Perdoem-me a generalização, detesto fazê-lo e sei que não faltam excepções, felizmente conheço muitas, mas serve para ilustrar a teoria de que há indiscutivelmente uma crise ideológica nas gerações mais novas em Portugal.

Quando é que nas últimas décadas os pais se esqueceram de ensinar aos filhos que a vida ia ser difícil, que os deveres estão à frente dos direitos e que a educação, o trabalho, o espírito crítico, pensar, a paixão e a curiosidade são um milhão de vezes mais importantes do que o conforto ou a aceitação social? De onde é que apareceu este proteccionismo parental extremo que não faz mais do que colocar os seus descendentes numa permanente zona de conforto ilusória e que mais não os prepara para o futuro do que uma prisão domiciliária? Desde quando é que a independência, no seu sentido mais lato, deixou de ser uma das maiores ambições dos jovens?

Vivemos para satisfações imediatas. É tudo cuidadosamente orquestrado e desenhado para maximizar o prazer pelo tempo. Construímos um mundo cheio de opções, cheio de entretenimento, cheio de facilidades e recursos de lazer e de prazer em que o Santo Graal, mesmo que inconscientemente, é colocar-nos a todos num estado de permanente felicidade. Mas não há tal coisa, o “volte-face” evidente é que é que estamos a destruir o “Yin e o Yang“. Não é possível percebermos a felicidade sem sermos infelizes tal como não possível termos ocasiões de genuína satisfação, chamo-lhes momentos ZX Spectrum, sem trabalho nem sofrimento.

E é por isso que hoje, talvez mais do que nunca, a educação e os valores que transmitimos aos nossos filhos são tão importantes. São mais importantes do que eram na altura dos nossos pais porque o risco é muito maior. O menosprezo destes princípios é, na minha humilde opinião, a origem de muitos males modernos pois resulta num vazio ideológico grande que consequentemente leva ao desinteresse, à falta de curiosidade e de foco, à desvalorização do esforço, e ao inevitável falhanço dos jovens como pessoas adultas. Haverá coisa mais deprimente do que ver uma turma de alunos do ensino secundário completamente alheia e desinteressada por tudo e por todos? E no entanto é uma imagem que me é transmitida vezes sem conta por bons professores, daqueles que têm vocação e que gostam do que fazem e que se esforçam por marcar a diferença. Dá que pensar.

Não se assustem, isto vai melhorar. Faz tudo parte de um raciocínio para chegar às partes boas.

Antes: Parte 1.

A seguir:  Parte 3, Sucesso.

07 June 2011 ~ 6 Comments

Ensaio sobre Portugal, parte 1

Entre tempos livres e pensamentos que me ocorrem, ando há umas semanas a rabiscar uns textos sobre este Portugal aonde habitamos. Fi-lo para minha própria referência, porque gosto e porque acho que a escrita é um excelente instrumento de preservação do que nos vai na alma durante vários contextos da nossa vida.

Decidi que vou partilhar este ensaio neste blog por dois motivos. Primeiro porque a ocasião é propícia pois vivemos tempos de contestação e de reflexão como há muito não me recordo, e segundo tenho um genuíno interesse em provocar reacções a algumas destas ideias e pode ser que consiga obter algumas, espero que sim.

O texto é um bocado longo e por isso decidi parti-lo às postas. De outra forma seria intragável e provavelmente enfadonho, infelizmente não me parece que eu tenha o dom de quem consegue agarrar o leitor ao blog pelas sábias e mágicas palavras. Por outro lado eu tenho este hábito antigo de arrumar as minhas ideias em caixas e estruturar o meu raciocínio quando escrevo, como se de um programa de computador se tratasse, e portanto já tenho tudo preparado para debitar isto em lotes, melhor assim.

O que se segue deixa-me com uma ligeira sensação de nudez porque não me sai naturalmente, sou tímido e introspectivo de personalidade e não é habitual extravasar muito para além das minhas facetas profissionais ou das minhas áreas de conforto nativas.

Sobre mim

Tenho 38 anos e nasci e cresci longe das grandes cidades num sítio que poucos conhecerão e que se dá pelo nome de Sangalhos, talvez mais conhecido pelos tempos gloriosos do ciclismo e do basquetebol, terra das caves vinícolas e do leitão da bairrada. Os meus avós foram lá ter, os meus pais nasceram e cresceram lá e o mesmo nos aconteceu, a mim e ao meu irmão, os meus tios e primos e outras ramificações da nossa árvore genealógica. Digamos só que o nosso apelido não passa despercebido na pequena e pacata, mas grande, vila de Sangalhos.

Nunca houveram nem grandes tragédias nem grandes novelas na nossa família, sinto-me privilegiado por ter crescido rodeado por todos os meus avós, primos e tios e bons amigos na infância, num ambiente estável, com estrutura, cheio de vitalidade, e com fortes laços de família e de amizade. Até mesmo muito tarde eu não conseguia sequer conceber conceitos como o divórcio, a separação ou a própria morte. Acostumei-me aos grandes almoços que nos reuniam a todos, às vindimas, à romaria de porta em porta indiscritível que era (e é) a Páscoa na nossa terra, ao Natal e à missa do galo, à matança do porco em casa dos meus avós, aos jogos de basquete do SDC ao fim de semana, a brincar e a jogar livre na rua com os meus amigos, e a ir a pé para a escola.

Fui educado com muita liberdade mas também com um forte sentido de responsabilidade e os meus pais conseguiram-me ensinar desde muito cedo, com mestria e com um tacto invejável, que nada me ia cair do céu durante a vida se eu não lutasse por isso e o merecesse. Ensinaram-me a ser honesto mas ambicioso, a não desistir, a ter garra, e que é possível alcançar quase tudo na vida se realmente nos empenharmos. Levei com todos os puxões de orelhas, castigos, elogios e recompensas que mereci. Como lhes agradeço por tudo.

Há muitos episódios da minha educação que me marcaram e me transmitiram alguns dos valores que me moldaram como adulto e dos quais não me esqueço com facilidade. Vou só mencionar dois para efeitos de ilustração do que pretendo dizer mais tarde:

Por volta dos 11 anos eu descobri com bastante intensidade e determinação que os computadores e tecnologia iam de alguma forma fazer parte do que eu queria fazer na vida. E ainda nem sequer tinha um computador. A obsessão com que eu acampava às 8 da manhã todos os Sábados e Domingos à porta da única pessoa lá do sítio que possuía um Z81, amigo dos meus pais, colocar-me-ia rapidamente num consultório de psicologia infantil pelas normas de hoje, confiem em mim. Os meus pais perceberam imediatamente a vocação mas não se deslumbraram em presentes. Eu tive que perceber que ia ter que lutar por ter o que queria. Só me foi oferecido o meu primeiro computador, um magnifico ZX Spectrum 48K, depois de muitas poupanças e de me esfolar em trabalhos nas férias do verão, e de ter boas notas no liceu. A satisfação com que eu abri o embrulho nesse Natal foi tal que me lembro desse preciso momento como se tivesse acontecido ontem. Mais sobre isto à frente.

Com 19 anos eu já vivia fora de casa dos meus pais. Estudava na Universidade em Aveiro e trabalhava em part-time numa loja de computadores aonde geria uma BBS e ajudava a coordenar e evangelizar o negócio da representação e venda de Commodore Amigas, uma marca de computadores pessoais emergente no início da década de 90. Com este dinheiro e com a ajuda dos meus pais eu conseguia alugar um quarto e viver em Aveiro com uma independência invejável que os meus colegas de curso não tinham. Por esta altura desenvolvi uma nova paixão: a das telecomunicações. Do radio amadorismo às BBS e ao X.25, em breve eu daria por mim a fazer Blueboxing numa base regular. Para encurtar esta história, que prometo dará um texto um dia, fui finalmente apanhado pela Policia Judiciaria. Nesse inesquecível dia bateram-me à porta de madrugada, confiscaram-me todo o meu equipamento informático, levaram-me para a esquadra, interrogaram-me e invadiram a empresa aonde eu trabalhava, para espanto e indignação dos meus chefes, à procura de mais provas.

Poucas semanas mais tarde eu seria constituído arguido naquele que viria a ser um dos primeiros casos de crime por fraude informática em Portugal, um particularmente mediático e insólito para a época que vivíamos. Os pais dos meus amigos parceiros no crime reagiram de formas diversas, uns contrataram advogados, outros proibiram os filhos de voltar a mexer em computadores, outros ameaçaram-nos de os tirar da Universidade, e outros tudo ao mesmo tempo. Os meus, surpreendentemente, e daí a marca, não fizeram absolutamente nada. Não me repreenderam, não alinharam em histerias, não tentaram resolver nada. A minha vida continuou como se nada tivesse acontecido e eu limitei-me a assistir às consequências que o episódio teve nas vidas dos meus amigos. Não é que fossem insensíveis, ou que não reagissem de outra forma se o caso fosse muito mais grave, mas havia nesse tempo uma mensagem muito mais importante para me transmitir: eu era crescido, sabia o que andava a fazer, sabia perfeitamente distingir o bem do mal, não era um jovem baralhado, e até prova em contrário teria que lidar com a responsabilidade das consequências dos meu actos.

Um ou dois anos mais tarde, eu e mais 5 colegas criámos o SAPO no Centro de Computação da Universidade de Aveiro. Se anteriormente a reacção dos meus pais tivesse sido metade daquelas a que os meus amigos se sujeitaram, talvez a história da minha vida hoje fosse outra, uma completamente diferente.

A seguir, daqui a uns dias, a parte 2: Ideologia.

 

23 April 2011 ~ 13 Comments

Muito à frente!

Dava-se o ano de 1986, mais coisa menos coisa, contas feitas de cabeça, tinha eu uns 14 anos e passava na rádio um programa de características muito invulgares que me agarrava à aparelhagem de som dos meus pais numa obsessão semanal digna de um caso de estudo sobre doenças adolescentes.

Todas as semanas, ao Sábado ou ao Domingo à noite, não consigo precisar, passava numa rádio nacional um concurso dedicado aos amantes do famigerado e popular ZX Spectrum. Durante alguns minutos o locutor calava-se e na sua vez ouvia-se o ruído estridente de um programa de ZX Spectrum a passar nas ondas radiofónicas do país. Sim, esta barulheira era o que qualquer ouvinte teria que suportar se sintonizasse a estação nesse momento.

O objectivo era simples: o ouvinte gravava a emissão numa cassete, que depois carregava no seu ZX Spectrum. Lá dentro estava um simples programa em BASIC. Esse programa continha um erro e o ouvinte programador amador teria que o identificar e ligar para um número de telefone previamente comunicado na emissão. O primeiro a ligar e a acertar ganhava o prémio. Eu saquei 3 prémios à custa disto. Um deles foi o famoso cartapácio The Complete Spectrum ROM Disassembly, que devorei, claro.

Este programa era genial. Há mais de 20 anos fazia-se na rádio em Portugal o primeiro programa de difusão digital interactivo quando hoje ainda se fala de interactividade entre a TV/Radio e a Internet como uma grande inovação. Respeito.

Agora, faz-me muita confusão que não encontre uma única referência online a este acontecimento e não consigo descansar. Eu sei que não sonhei com isto porque tenho provas irrefutáveis, sei também que a rádio era nacional porque me recordo de ligar para um número em Lisboa, sei que era FM e que o programa não durou muito tempo, vá-se lá saber porquê. Há referências aos concursos de ZX Spectrum no Zig Zag ao Domingo à tarde na televisão, bem como ao Ponto por Ponto com o Raúl Durão e o Paulo Dimas, mas sobre este épico acontecimento é que nada.

Ora então vamos lá testar o poder das Interwebs. Alguém sabe qual era o nome do programa, quem o fazia, e em que rádio passava?

09 April 2011 ~ 1 Comment

Talks em Maio

É bom sair de Lisboa de vez em quando e participar no que de bom se organiza fora da grande capital.

No dia 7 vou estar presente na Talks 2.0, no Porto, com o tema “Happiness and Creativity in your Work Life” aonde farei parte de um painel que falará sobre “Happy and Creative Companies”.

E no dia 14 lá estarei, na Universidade da Beira Interior, para falar na TEDxCovilhã sobre “Balões e Empreendedorismo”, apresentação que me está a dar especial gozo em preparar.

Lá nos vemos.

NewImage

Update: Slides da apresentação da Talks 2.0 aqui.

08 April 2011 ~ 3 Comments

Resultados do Inquérito sobre o Panorama Nacional Tecnológico

Cross posted a partir do Blog de Developers do SAPO.

No início do mês pedimos-vos a vossa opinião sobre um conjunto variado de questões sobre o Panorama Nacional Tecnológico.

A resposta ao nosso repto foi enorme e agradecemos-vos muito a vossa contribuição. Responderam 421 pessoas ao inquérito e o resultado, tal como esperado, foi interessante. O SAPO tem um especial interesse em compreender bem a realidade que nos rodeia no contexto da tecnologia em Portugal e o vosso feedback foi da maior utilidade

Tal como vos prometemos, ficam aqui os resultados do inquérito, já agregados e tratados.

27 March 2011 ~ 7 Comments

Spacebits, Flights 3, 4 and 5

(cross-posted from the Spacebits blog)

On the 23rd of October, the Spacebits team did something of epic proportions. Thanks to the amazing support and sponsorship of SAPO.PT, we organized an unique event and simultaneously launched 3 high altitude balloons all from one single place.

NewImage

It took us a few weeks to put everything together. We began by inviting every geek and hacker at SAPO.PT to join the team and work with us to accomplish our mission. The first two weeks were dedicated to a few sessions to explain all our learnings from Spacebits 1 and 2 flights to all our new team members. Soon after, everyone was working hard with us. We got a lot of great feedback on how to improve our payload aerodynamics, calculate the right amount of helium for each balloon, predict the crash spots, making the “todo” lists, etc. It was like having all the best city physicians, mechanics and engineers working with you. Dream team.

Read the rest of the entry and watch our video at the Spacebits Blog post.

Tags:

07 March 2011 ~ 2 Comments

Panorama Tecnológico Português

Cross posted a partir do Blog de Developers do SAPO.

“O SAPO tem na sua génese uma história de empreendedorismo ligada à tecnologia. Desde os tempos da academia e da Universidade, passando pelos frenéticos e loucos dias das “startups” e até ao contexto actual da integração numa empresa grande como a Portugal Telecom, temos no nosso código genético uma relação grande com todos aqueles que não se acomodam, que pensam de forma diferente, que arriscam, e que preferem gastar o seu tempo a perseguir ideias ao invés de se lamentarem, mesmo que a adversidade impere.

Portugal não tem sido um anfitrião irrepreensível para os seus empreendedores de base tecnológica. E embora nos últimos anos tenham surgido inúmeros e surpreendentes projectos ligados à tecnologia e à Internet, quer pela mão de pequenas “startups” quer pelos investimentos de empresas maiores, a realidade mostra que continuamos com muita dificuldade em transformar o risco em sucesso. E isto é um problema que extravasa o nosso País e que pode ser, e está a ser, também debatido no contexto da Europa.

Para motivos diversos, o SAPO está a efectuar uma introspecção sobre o panorama tecnológico português: passado recente, presente e futuro próximo. Temos as nossas próprias opiniões, algumas vincadas, mas ocorre-nos que podemos estar errados. Para tirarmos as coisas a limpo tivemos esta ideia óbvia de vos pedir a opinião. Quem melhor do que vocês, o talento nacional irreverente, para opinar sobre estas questões?

Os resultados do vosso contributo serão tornados públicos, para benefício de todos. Podem e devem divulgar este questionário, ficamos agradecidos.”

Aqui fica o questionário.

17 January 2011 ~ 3 Comments

opendata.org.pt

Eu já falei neste blog de dados públicos há uns anos atrás.

No início de 2010 tive o prazer de passar uma tarde de Domingo bem passada na companhia de dois amigos, o Paulo e o Álvaro. Durante horas falámos de Portugal, dados abertos e visualizações, quer pela perspectiva tecnológica, quer social. Ali nasceu uma ideia de construir um caso prático na Internet de uma visualização dos dados estatísticos de uma área muito importante da nossa sociedade: a justiça.

Mas como eu digo sempre, falar e ter boas ideias é relativamente simples, difícil e dá trabalho é meter as mesmas em prática e pôr as mãos na massa. E foi precisamente isso que esta equipa fez no Codebits 2010.

OpenData

O projecto Justiça Open Data é desenvolvido por um grupo de cidadãos com o objectivo de ajudar a compreender melhor o estado da Justiça em Portugal. Por um lado, a contribuição centra-se na criação de elementos visuais que ajudem a compreender indicadores e estatísticas, permitindo assim uma melhor compreensão da realidade. Por outro lado, a disponibilização é facilitada via web services dos dados recolhidos.

O projecto tem merecido algum eco na comunicação social (aqui, e aqui, ou aqui, e mais aqui, por exemplo) e é muito bem merecido. Venham mais casos reais (e úteis) de visualizações de dados de Portugal como este.

Ver mais em OpenData Justiça.

Tags:

09 January 2011 ~ 17 Comments

Retrocast

Retrocast is an experiment, a proof of concept, an hack, and nothing else but this.

You may have heard of the new gaming platforms like OnLive or Meo Jogos (which the company I work for launched recently). They’re a new paradigm in what comes to gaming: you don’t need a console or an expensive PC, you’ll pay a cheap flat fee or renting cost to play the high end games, all the processing power and game rendering is done on the Datacenter and the video is streamed to your house, all in real time. All you need is a thin client to use the service which, in a simplified way, should be able to decode video and send your gamepad commands over the network to the game cloud.

Technologies like these are bleeding edge. There are many challenges related to the quality of the network, scalability, firewalls, etc, but mostly: very low latency video streaming is difficult. In order for these platforms to work, the roundtrip latency between a gamepad command (ie: you press fire) and the first video frame related to that command being rendered in your client (ie: you actually see the gun being fired) must be less than 100ms in order to “fool” the human brain and have the same real time experience that you would have with local consoles. It’s not easy, trust me.

I’m a sucker for retrogames, great and emerging technologies, experimentation and hacking. This idea of doing a poor man’s version of a streaming gaming on demand platform was ringing in my head for quite some time, so in a rainy weekend I decided to take matters with my own hands and glue this thing together.

How it works

  • It uses Quartz Composer on the (osx) server
  • It uses Open Emu (great piece of sw, btw) to run the roms
  • It uses Websockets to send the game commands, then little daemon translates the events to local UDP, which are broadcasted to quartz and catched by the network patch, which are processed by the javascript patch, which are then sent to the game emulator, as if it was a true gamepad
  • It uses a virtual camera driver, which catches the QC buffers
  • It uses a virtual sound driver
  • It uses Skype and Applescript
  • It’s fully automated, running in the corner

In detail

Open Emu

First, what is Open Emu? From the website: “Open Emu is an open source project to bring game emulation to OS X as a first class citizen, leveraging modern OS X technologies such as Cocoa, Core Animation and Quartz, and 3rd party libraries like Sparkle for auto-updating. Open Emu is based on a modular architecture, allowing for game emulators as plugins, this means Open Emu can support a host of different emulation engines and back-ends while retaining a familiar OS X native front-end.”.

I’ll translate this: Open Emu is the work of geniuses, it’s a kick-ass piece of software that basically allows you to run a full emulator inside the Quartz Composer environment, giving you full modularity and control over the video and the emulator inputs (ie: keyboard).

Quartz Composer

QC is a visual programing environment that allows you to prototype visualizations using the powerful graphical technologies of OSX, including Quartz, Core Image/Animation, OpenGL, etc. Additionally, it provides the “artist” with a rich library of patches, connectors that you can use to interface your composition with external sources. It’s pretty powerful, but for some reason it’s not well known to many.

Here’s a screenshot of the Retrocast composition running in QC with the Open Emu patch.

pic1.png

Skype

You know what Skype is. What you might not know is that Skype “offers” you very low-latency video (and audio) codec settings for free because of its videoconferencing capabilities.

It got me thinking that if I could use Skype to stream the games instead of a custom streaming server, not only it could solve the low latency requirement, but it would also be a darned cool setup to show off.

Well, it turns out that I managed to do just that. Here’s how:

First, with the aid of CamTwist, I was able to run my Retrocast Quartz Composition, that is to say the video portal and the game emulation, inside a system’s recognized virtual camera. See here on how to do that.

Second, for the audio, I did pretty much the same thing, this time using Soundflower, a free inter-application Audio routing utility for OSX. With this, I was able to capture the Quartz Composition audio and have it available as a standard OSX audio input device, as if it was a Mic.

Third, the easy part: I set up Skype to use the virtual camera and the virtual sound driver as inputs and had it running under the “retrocast” nickname.

Now, automation. Whenever someone would call “retrocast” in Skype, I would need it to auto answer that call, start the video conversation, and to hangup calls on hold too. Using the Applescript dictionary browser, I found that Skype on Mac is scriptable and supports one single command, “send”,  just enough to send commands to the application using the Skype Public API, which is feature rich enough to do exactly what I need.

I had a 15 minutes Applescript class (thanks Google) and coded a loop that runs in the background and does exactly what I need.

Here’s a screenshot of Skype running.

Skype with CamTwist and Applescript

Controlling and Websockets

The hard part was done, but now I needed a way to actually input the game commands to the emulator through the network.

I’d been wanting to try out Websockets for some time, so here was my chance. I combined several technologies to achieve this: first, I coded the Javascript client, and a small HTML dashboard page, then I coded a small daemon in PHP that would listen for Websocket connections and transcode the incoming commands into something that Quartz Composer could catch locally and use.

For this last part, I used an old hack of mine: The QC Network events protocol.

Boom, the circle was closed now. I had the emulator running, sending the video and audio through Skype, and getting the game command through a Webpage, using Websockets. Rock on baby, it worked.

Also, I was amazed (still am) with the fact that overall the latency isn’t that bad and the games are actually playable. This is impressive considering that we’re emulating a game, sending its video and audio through virtual devices to the Skype application, which streams everything via the Internet to the user, and getting the gamepad commands through javascript, in a webpage, using websockets, that are read with PHP, transcoded to UDP and sent to Quartz Composer, then interpreted (using Javascript inside QC, by the way) and then finally used by the emulator. Uff.

Here’s a high level diagram of the whole thing:

pic1.png

Give it a try

Get your Skype client running and head up to this page http://retrocast.labs.sapo.pt/

Make sure you have a modern browser and read the instructions carefully.

If the line is busy, your call will be hung up, keep trying until you get a free slot. I hope this doesn’t get picked by a big blog. If it does, forget it, try the day after, I have one single Mac Mini handling one call at a time on a DSL line. I guess I could engineer this to handle several calls at once but that’s not fun and time is not abundant around here.

In case you can’t try it, here’s a video of what would happen.

Demo

Next Steps

When is the next free weekend?

No, seriously, using the QCView class and VLCKit with x264 is being worked on… maybe. We’re thinking HTML5 </video>.

Also, I’ve been thinking that you can take this concept to many other crazy ideas and have endless fun at your workplace, or at events and parties.

For instance, you can use a Kinect to control the game using OpenKinect and something like this.

Or how about using CMU Sphinx to control the gameplay using your voice?

Or you can use your iPhone4 and Skype with video to make the call, that’s fun too.

Arduinos, sensors, etc. And I’m sure you can think of other ideas.

Conclusion

You may have noticed that this project wasn’t about hard-core coding. Some coding was needed but most of all, it was about having a good idea, knowing what was needed, hacking , experimenting and glueing stuff together.

I’ll take some credit but this small project was only possible because of the great software I used. A very special mention to Open Emu which I find beautifully well designed, many thanks to Dan Winckler and the rest of team, with whom I exchanged some emails about this project, for coding this.

Also, a quick word about the demoed games. I may have owned these roms in the very distant past but I know I’m crossing the copyright line here by using them with this. It’s all about 30 seconds of fun guys, not profit, no cease and desist letters to the geek mkay?

Hope you enjoyed this post. Questions? Fire away.