23
Canola: More than a Media Player Eduardo Lima (Etrunko) 10 o  FISL June 24th, 2009

Canola: More than a Media Player

Embed Size (px)

DESCRIPTION

Presentatin at 10th Forum Internacional de Software Livre (FISL) in Porto Alegre, Brazil in the 24th of June, 2009

Citation preview

Page 1: Canola: More than a Media Player

Canola:More than a Media Player

Eduardo Lima (Etrunko)10o FISLJune 24th, 2009

Page 2: Canola: More than a Media Player

Hi!Nice to meet you. My name is Eduardo Lima.

Page 3: Canola: More than a Media Player

You can call me Etrunko

•Work for INdT

•Contributing software for Maemo since 2005

•Currently maintaining EFL port for Maemo

•And Canola, of course ;)

Page 4: Canola: More than a Media Player

Instituto Nokia de Tecnologia - INdT•Non profit

•R&D for Mobile

•Manaus

•Brasília

•Recife

•São Paulo

•http://indt.org.br

Page 5: Canola: More than a Media Player

openBossa•

•The INdT Open Source Stream

•Recife and Manaus

•Some projects:•GNOME ports for Maemo•Python for Maemo•Canola•Carman•Mamona•Qt, EFL, BlueZ, gstreamer, …

•http://openbossa.org

Page 6: Canola: More than a Media Player

Coming back to the subject

Page 7: Canola: More than a Media Player

Maemo??? WTF!?!?

•Created by Nokia

•Launched in 2005

•Based on Debian

•Powers the Internet Tablet Devices

•Soon in a phone near you???

Page 8: Canola: More than a Media Player

Here is what it looks like

Page 9: Canola: More than a Media Player

Motivation for creating Canola

•Play all our Media•Locally stored•Shared in the network (Avahi/UPnP)

•Intuitive User Interface

•Finger oriented

•Bling!

Page 10: Canola: More than a Media Player

I Present You Canola 1

• http://openbossa.indt.org/canola1

Page 11: Canola: More than a Media Player

Implementation details

•Written in C•OO (Gobject)•Introspection•Callbacks•Manual reference couting

•SDL for graphics•Direct pixel access•Very low level drawing primitives•No scene management

•Web interface used for configuration

Page 12: Canola: More than a Media Player

New Requirements

•Even more visual effects

•Even more features

•Web aware

•Extensible

•Short deadline

Page 13: Canola: More than a Media Player

Our pretty baby

• http://openbossa.indt.org/canola2

Page 14: Canola: More than a Media Player

Demo time

Page 15: Canola: More than a Media Player

Implementation details

•Python

•Enlightenment Foundation Libraries (E17)•Evas, Ecore, Edje, E_Dbus•Bindings written in Cython

•Plugin Architecture + MVC Design Pattern

•Download manager

•Media scanner

•Media engine

Page 16: Canola: More than a Media Player

Code

•Free software•GPLv3 with additional clause

•http://code.openbossa.org•Git \o/

Page 17: Canola: More than a Media Player

“The copyright holders grant you an additional permission under Section 7 of

the GNU General Public License, version 3, exempting you from the requirement in

Section 6 of the GNU General Public License, version 3, to accompany

Corresponding Source with Installation Information for the Program or any work

based on the Program. You are still required to comply with all other Section 6

requirements to provide Corresponding Source.”

Page 18: Canola: More than a Media Player

Aditional Plugins

•Youtube

•Last.fm (need to port to Libre.fm)

•UPnP

•Tuning•Album cover download•Video thumbnails•Feed handler

Page 19: Canola: More than a Media Player

Google Summer of Code

•Picasa – Andrei Mirestean

•Remember the milk – Andrey Popelo

•Bittorrent – Lauri Võsandi

•Twitter/Twitpic – Kasun Herath

•IM – Thiago Borges Abdnur

Page 20: Canola: More than a Media Player

The Future

•Integration with next Maemo device•Tracker•MAFW•Packages

•Edit media metadata details

•Better UPnP support (Brisa? GUPnP?)

•Webkit

•Ubuntu?

Page 21: Canola: More than a Media Player

After this presentation

•Today 3:00 PM @ Room 40A•Enlightenment Foundation Libraries (EFL)•

•Today 5:00 PM @ Room 41F•OpenEmbedded/Mamona•

•Tomorrow 5:00 PM @ Room 41F•Python Bindings with Cython•

•Friday 1:00 PM @ Room 40A•BeagleBoard•

Page 23: Canola: More than a Media Player

Thank you!(meet me at Qt booth)