Grilo: Integrating Multimedia Content in Applications (ELCE 2010)

19
static void _f_do_barnacle_install_properties(GObjectClass *gobject_class) { GParamSpec *pspec; /* Party code attribute */ pspec = g_param_spec_uint64 (F_DO_BARNACLE_CODE, "Barnacle code.", "Barnacle code", 0, G_MAXUINT64, G_MAXUINT64 /* default value */, G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_PRIVATE); g_object_class_install_property (gobject_class, F_DO_BARNACLE_PROP_CODE, Embedded Linux Conference Europe Cambridge, October 2010 Iago Toral Quiroga [email protected] GRILO Integrating multimedia content in applications

description

By Iago Toral Quiroga. Multimedia has grown to be a major component in modern life. Technology has evolved remarkably and nowadays people have access to embedded and mobile devices that pack an incredible computing power, being able to playback audio and even high definition video for hours. But multimedia has also grown on the Internet, with lots of sites specializing in offering different kinds of multimedia content that people are used to consume every day: watching videos on Youtube or Vimeo, listening to music from services like LastFM or Jamendo, listening to the radio on the Internet,... not to speak of the growth of home networks offering multimedia content through the use of UPnP. As if this wasn't enough, smartphones are gaining more and more momentum and in little time they will be common place just as laptops are today, these small gadgets come with incredible multimedia and connectivity capabilities that allow users to enjoy all this content almost anywhere in the world at any moment. However, from a user perspective, accessing and enjoying all this content is not an easy task yet: it is all scattered throughout many different services, many of them available only through the use of a web browser (not very convenient in general but even less in devices with small screens) or the use of specific applications for specific services (not very convenient either, since users end up having many different applications to do the same thing in the end: browse, search and locate multimedia content they are interested in). To solve this we created Grilo, a project that tries to provide a single, high level API for application developers that hides all the complexity related to dealing with all these heterogeneous content providers. Grilo eases remarkably the development of multimedia applications that try to integrate multimedia content from various sources, which in the end, enables multimedia application developers to create more integrated solutions that lead to a better user experience.

Transcript of Grilo: Integrating Multimedia Content in Applications (ELCE 2010)

Page 1: Grilo: Integrating Multimedia Content in Applications (ELCE 2010)

static void_f_do_barnacle_install_properties(GObjectClass

*gobject_class){

GParamSpec *pspec;

/* Party code attribute */ pspec = g_param_spec_uint64

(F_DO_BARNACLE_CODE, "Barnacle code.", "Barnacle code",

0, G_MAXUINT64,

G_MAXUINT64 /* default value */,

G_PARAM_READABLE | G_PARAM_WRITABLE |

G_PARAM_PRIVATE);

g_object_class_install_property (gobject_class,

F_DO_BARNACLE_PROP_CODE,

Embedded Linux Conference Europe

Cambridge, October 2010

Iago Toral [email protected]

GRILOIntegrating multimedia content in applications

Page 2: Grilo: Integrating Multimedia Content in Applications (ELCE 2010)

Index

➔ Media Integration

➔ Overview of Grilo

➔ Demo

➔ Grilo for application developers

➔ Grilo for backend developers

Page 3: Grilo: Integrating Multimedia Content in Applications (ELCE 2010)

Media Integration

Page 4: Grilo: Integrating Multimedia Content in Applications (ELCE 2010)

Media Integration: services

Page 5: Grilo: Integrating Multimedia Content in Applications (ELCE 2010)

Media Integration: hardware

Page 6: Grilo: Integrating Multimedia Content in Applications (ELCE 2010)

Media Integration: Present

➔ What are the challenges?➔ Homogeneous, integrated user experience.➔ Easy to use.➔ Service scalability.➔ Decrease development and maintenance effort.

Page 7: Grilo: Integrating Multimedia Content in Applications (ELCE 2010)

Media Integration: Present

➔ What are the problems?➔ Lots of heteregeneous services.➔ Lots of APIs and protocols.➔ Lots of technologies.

Page 8: Grilo: Integrating Multimedia Content in Applications (ELCE 2010)

Media Integration: Present

➔ What are we doing now?➔ Individual makers developing in-house solutions.➔ Not efficient.➔ Slow development.➔ Not scalable.➔ Expensive maintenance.

Page 9: Grilo: Integrating Multimedia Content in Applications (ELCE 2010)

Media Integration: Future

➔ What can we do about this?➔ Platform level solution for accessing media content.➔ Stop reinventing the wheel, start reusing code.➔ A place where interested actors can collaborate.

Page 10: Grilo: Integrating Multimedia Content in Applications (ELCE 2010)

Media Integration: Future

➔ What are the benefits?➔ Reduce and share maintenance effort.➔ Focus on added value.➔ Faster development.➔ Scalability.

Page 11: Grilo: Integrating Multimedia Content in Applications (ELCE 2010)

Grilo: Overview

Page 12: Grilo: Integrating Multimedia Content in Applications (ELCE 2010)

Grilo: Overview

➔ A framework for easing access to multimedia content.

➔ Application developers want to browse / search content from many services...

➔ ...but they don't want to know how they work internally (APIs, protocols, technologies, limitations, ...)

➔ Single API to access media content, hiding differences among media providers.

➔ Application developers write their solution once and it will work for any service supported in Grilo.

Page 13: Grilo: Integrating Multimedia Content in Applications (ELCE 2010)

Grilo: Overview

Page 14: Grilo: Integrating Multimedia Content in Applications (ELCE 2010)

Demo

Page 15: Grilo: Integrating Multimedia Content in Applications (ELCE 2010)

Grilo for application developers

Page 16: Grilo: Integrating Multimedia Content in Applications (ELCE 2010)

Grilo for plugin developers

Page 17: Grilo: Integrating Multimedia Content in Applications (ELCE 2010)

Resources➔ Wiki:

➔ http://live.gnome.org/Grilo

➔ Git repositories:

➔ git://git.gnome.org/grilo

➔ git://git.gnome.org/grilo-plugins

➔ IRC:

➔ grilo @ GIMPNet

➔ Mailing list:

➔ http://mail.gnome.org/mailman/listinfo/grilo-list

➔ Bugzilla:

➔ http://bugzilla.gnome.org

● Category: Other, Product: grilo

Page 18: Grilo: Integrating Multimedia Content in Applications (ELCE 2010)

Image Credits➔ Easy button: Jason Gulledge, www.flickr.com

➔ http://www.flickr.com/photos/ramdac/373881476➔ Dead end: AJC1, www.flickr.com

➔ http://www.flickr.com/photos/ajc1/3019611194➔ Collaboration: thinkpublic, www.flickr.com

➔ http://www.flickr.com/photos/thinkpublic/3042777307/sizes/m/in/photostream

➔ Headache: www.freeclipartnow.com

➔ http://www.freeclipartnow.com/science/medicine/people/headache.jpg.html

➔ Thumbs up: Stefano Valle, www.freedigitalphotos.net

➔ http://www.freedigitalphotos.net/images/Gestures_g185-Two_Hands_Thumbs_Up_p20593.html

Page 19: Grilo: Integrating Multimedia Content in Applications (ELCE 2010)

?