Planet maemo: category "feed:01c9bb92c8cdc7e3a5fc627f123acc22"

Gustavo Barbieri

Evas UV Mapping and WebKit-EFL

2009-11-04 12:12 UTC  by  Gustavo Barbieri
0
0

One of the most requested feature for Evas was rotation and other transformations. These are no more, Rasterman just did generic UV Mapping support, enabling rotation, perspective, 3d-simulation and more.

As usual he wrote a fast software engine to make this available on non-3d accelerated, next should come OpenGL and OpenGL-ES as some big players in the industry are now funding his work in both software and GL-ES support, as well as ARM NEON optimizations.

As ProFUSION is also being funded to work on WebKit-EFL, I thought I could demo our work using new rotation support, and the result is quite good:

As you can see, there are still bugs… actually this video was first meant to report a bug with mapping code, but raster is already fixing it.

As soon as I have time I’ll try to update EFL for N900 and try out the new expedite tests, they include 3d cubes, coverflow and more. Hopefully by the time OpenGL-ES will be ready and then we can compare software and hardware performance on this amazing hardware.

All in all, this semester is being quite busy for EFL hackers. Fast OpenGL-ES, UV Mapping, WebKit and soon-to-be-release Edje Editor were all done, with much more to come. Stay tuned!

Categories: C
Gustavo Barbieri

Ecore-GLib main loop integration

2009-10-01 04:57 UTC  by  Gustavo Barbieri
0
0

It’s done: http://trac.enlightenment.org/e/changeset/42825

This was a often requested feature by friends, ProFUSION clients and people that want to use the large amount of GLib-based libraries with EFL applications.

To avoid impacting each other, the suggested way is to have each main loop in its own thread, communicating these using pipes. This is used by Emotion’s GStreamer plugin, lots of projects inside ProFUSION or for our clients. But sometimes this is not easy to do (Adobe Flash plugin for WebKit-EFL) or maybe we just want to do an experiment until native efl version is available (for example, EUPnP is still in early stages, while GUPnP is rock solid).

This enables (or makes it easier) using nice projects from EFL applications, to name a couple of personal interest:

  • Rygel: Rygel is a collection of DLNA (UPnP AV) services (devices in UPnP speak).
  • GUPnP: object-oriented (GObject) open source framework for creating UPnP devices and control points.
  • PulseAudio: sound server. Although it is possible to write your own main loop support for pulse, it’s much easier to use glib’s until someone writes ecore_pulseaudio.
  • Moblin Mojito: ocial data server which will fetch data from the “social web”, such as your friend’s blog posts and photos, upcoming events, recently played tracks, and pending eBay auctions. It also provides a service to update your status on web services which support it, such as MySpace and Twitter.
  • Google Gadgets: similar to E17 gadman, provides sandboxed widgets. It allows storing basic data and network I/O, so there are forecasts, stock options and rss feeds. It would be nice to have a native port (we’re working on it), but meanwhile using GTK’s infrastructure would help.
Categories: C
Gustavo Barbieri

Memphis on real hardware: Nokia N810

2009-08-07 01:50 UTC  by  Gustavo Barbieri
0
0

This is a followup of my previous post, but now running on Nokia Internet Tablet N810 with Maemo. We interleaved it with parts of screen casts so you can note it’s very close to the desktop edition, even animated video thumbnails works fine:

We even managed to convince Mariana to do the initial talk!

Categories: Free Software
Gustavo Barbieri

Memphis in car entertainment preview

2009-07-31 00:06 UTC  by  Gustavo Barbieri
0
0

Over the last months ProFUSION worked hard on building Memphis, an in car entertainment system. Now we can finally publish the first preview of it, it is real and runs on couple of hardware we will demo later, including Nokia N810 (OMAP 2420) and Freescale iMX27, iMX31 and iMX35 with displays ranging from 4 to 7 inches, from 640×480 to 800×480.

The product is based on free software Canola2 platform, which we support as well. While some parts of it were made available over these months, including our optimized thumbnailer “Ethumb”, some parts will be available later, under the same license. It’s not an issue as you’re unlikely to get it from Volkswagen and running it BMW, what matter for clients is the product as a whole, not just software interface.

Work done so far is not just a face lift of Canola, it goes deeply in optimizations, platform roots and changes plugins as well. The roadmap includes fast UPnP server and control point, as well as GPS/maps and other car useful services.

Theme is just a demo, we call it “ProFUSION theme” as we use our own colors and font. Clients will get an unique look and feel as well as custom changes, such as integrating with real panel keys, text to speech and voice recognition systems.

Read more at http://profusion.mobi/node/17.

Categories: Free Software
Gustavo Barbieri

Enlightenment getting ready to rock!

2009-04-16 00:03 UTC  by  Gustavo Barbieri
0
0

Not 1.0 release yet, but moving towards it!

Last week I started a discussion with some packagers so we could get ride of lots of outdated and unmaintained repositories as well as updating the maintained repositories so they get improvements from SVN HEAD and also help testing our code.

This was interesting, first packagers did not know each other (even various Ubuntu/E17 package maintainers) so the first task was to get them to talk and settle differences.

Then they complained about trunk often being unstable and hard to get a consistent snapshot to package. While this is true, I also complained about their interaction, or lack of, with developers to know how to build and we agreed that having a public schedule with period to stabilize code base followed by development snapshots could help. So I did propose one monthly plan that people liked, being this weekend (Thursday April 16th) the first freeze followed by a development snapshot on Monday.

The result is turning to be better than what I imagined: all packagers are now united and talking to developers, we set up http://packages.enlightenment.org/ to release packages until they go into mainline distros and we increased SVN commits, with lots of motivated people fixing problems here and there, cutting rough edges and making experience better and better. Now let’s hope during this bug fix weekend we manage to get rock solid EFL and E17 so we can release packages to spread use of our technologies.

Having more people to know and test Enlightenment and its technologies is very important. We’re getting our Release Plan done and expect to release E17 and EFL 1.0 this year. Our project got really interesting Google Summer of Code applications covering Netbook, Browser and other areas were we can rock. But we could use more press releases and marketing, people still don’t know that Enlightenment Technologies power products from phones to home automation systems to mobile media centers and even digital tv set-top boxes around the world!

PS: expect Debian/Ubuntu/SuSE packages for Canola, Enna and other nice applications on top of EFL afterwards. Thanks to all developers and packagers to make it happen!

Categories: C
Gustavo Barbieri

PyCON USA and Canola2

2009-03-28 15:33 UTC  by  Gustavo Barbieri
0
0

So here I am at Chicago attending at PyCON USA where I’ll present how Python enabled the development of mobile media center (Canola2) in record time. So far it’s being an amazing conference, lots of interesting talks but more MacOS-X than I’d like to see in a conference about a free software technology (at least we seem to have more Linux than Windows).

As for freedom, free software, mobile media centers and specially Canola2: as announced previously at Maemo community, Canola2 is now opensource (GPLv3)! That’s amazing news, specially to me as I have Canola2 as my baby and would like to have more people involved into its development. It’s not just a great end-user software, it’s an amazing Python platform where you can build all kind of rich user interface.

As you might know, ProFUSION is working with INdT to improve Canola2 and we plan to keep supporting it, starting with some instructions and scripts, see our post for more details. As we want to build a community around it, don’t miss the mailing list and our IRC channel #canola at irc.freenode.net.

Categories: Free Software
Gustavo Barbieri

Presenting at PyCon US ‘09

2009-01-22 14:12 UTC  by  Gustavo Barbieri
0
0

Now that the list is published I can announce that my talk was approved and I’ll present at PyCon US 2009!

My talk Python enabling mobile media centers will tell you all how Python made it possible to finish Canola2 in record time and how it does not suck performance wise in mobile devices as the Nokia N800, N810 and it is even acceptable on 770! I’ll quickly cover how painful development of first version in C was, how we profiled, tools we used to write Python-EFL bindings and more.

For my beloved Brazilian friends, I plan to present it (or a similar talk) at Bossa Conference ‘09 and possible present it in Portuguese at PyCon-Brazil later this year.

Categories: C
Gustavo Barbieri

Surpise: Qt goes LGPL

2009-01-14 13:27 UTC  by  Gustavo Barbieri
0
0

Wow! Making it stronger WOW to let you all know how I did feel when I received the excellent news: Qt 4.5 will be LGPL 2.1 (see official here).

I still remember myself talking to Mark Shuttleworth about possibility of Qt going LGPL and I was saying that it would never become LGPL since it was an excellent thing for Nokia, keeping adversaries away.

It turned out that I was wrong… “never say never!” they say. Nokia is seems so confident, or Motorola so non-intimidating, that it believes that doing the right thing and moving its product license to more commercial friendly will bring more developers and thus more applications.

Mark was wondering about

Categories: C
Gustavo Barbieri

netbooks

2009-01-08 00:03 UTC  by  Gustavo Barbieri
0
0

I like them and I see why they’re the next big thing in hardware. They fit a nice spot, possible a better one than mobile internet devices/internet tablets: while they’re not as portable, they have a bigger screen, (almost) usable keyboard, more powerful cpu and bigger memory.

For geeks like me I guess it can easily replace laptops: I mostly use terminal with ssh + screen to our server, e17 as window manager (very light and fast), emacs for anything that requires me to edit, icecream/distcc to compile. Of course Firefox still don’t play well with memory and cpu, but I still have hope this bloat will go away some day. Since these netbooks have VGA port, we can easily simulate dockstations with usb keyboard+mouse and a bigger monitor. Long battery lifes are also a great thing to me. I still want to get one, but maybe I’ll wait one with ARM cpu (hopefully even longer battery life) and possible 3g as well, then let’s see if I can forget about my laptop as I did with my desktop some years ago.

But this post is also meant to highlight that non-geeks also like them! I was walking at a Brazilian mall the other day and spotted more than once some old women (the less tech-lovers out there) pointing eeepcs and saying they’d love to have those: they’re white, they’re small, “they’re soooooo cute” in their own words. Needless to say men of all ages and younger girls like these kind of toy too.

In my opinion Netbooks area is where Linux can gain great market share. Actually the market is still very small, but growing fast and Linux is there from beginning. Netbooks are not restricted to x86, so Linux can show its flexibility running on ARM and MIPS, areas where standard Windows does not play. Applications are not the same, or expected to be the same, people are not demanding heavyweight office applications, but they do demand excellent internet experience, and Firefox/Webkit technologies (not the apps!) do great there. Pidgin (libpurple or Telepathy) and other tools will help there, as well as our great multimedia platforms with MPlayer, Xine, GStreamer, VLC…

Another great thing about netbooks is that they’re cheap. Even in Brazil where everything imported is overtaxed, they’re acceptable. So people are willing to get one without fear of wasting too much money on something.

And  let’s remember we’re talking about a new product! So it’s more expensive than what it will be in few months, you don’t see internet addicts using it at the mall and here in Brazil you see no advertisement about them, expect more buzz when this happen. It’s a exciting technology, stay tuned!

Categories: Free Software
Gustavo Barbieri

Webkit-EFL interface prototype

2008-12-22 16:04 UTC  by  Gustavo Barbieri
0
0

After INdT guys released Webkit-EFL port last week some E hackers started to work an user interface on top of it, with Raoul creating a prototype called “ewww”.

I joined the hacking by creating my git repository with patches on top of Raoul’s, refactored some bits and made two smart objects: one for the scrolled webview and another with controls. Graphics and layout should be read from EDC descriptions and it looks like this:

ewww ui prototype

ewww ui prototype

This screenshot shows no scrollbars, but they exist on the right and bottom sides, they’re indicators only and will fade away after 1 second they’re displayed (usually by movements). Movements can be done by keyboard, mouse wheel or panning (drag on an “blank” area). Progress bar is under location text, like Safari. You can notice some details like smooth shadow on the viewport.

It is still very preliminary, Webkit-EFL needs lots of interfaces exposed and some bugs fixed, but we hope this can serve as a testbed for development and gather requirements. After some more work we’ll move it into E’s SVN under PROTO, but the name should change to something else since not everybody likes ewww. The good thing is that many people have ideas with regard to browser UI for embedded systems, raster wants to implement it as a little dragable icon that expands into full contros. I want to have each browser tab as a separate process and reparent its X window to a master process window/tab manager, much like Google Chrome. Let’s see how it works out in real use.

For those which would like to test:

    # if you don't have webkit-efl port, check it out: WARNING: this is HUGE!
    git clone git://code.staikos.net/webkit
    cd webkit
    git checkout origin/kenneth/efl-port
    ./autogen.sh –with-port=efl --enable-web-workers=no
    make all install

    # checkout my ewww:
    git clone git://git.profusion.mobi/users/gustavo/ewww.git
    cd ewww
    ./autogen.sh && make all install

EDIT: ewww repository missed “.git” extension.

EDIT.2: to get ewww you need git clone instead of git checkout.

Categories: C
Gustavo Barbieri

ELC-E 2008 was great!

2008-11-13 23:06 UTC  by  Gustavo Barbieri
0
0

Back from The Netherlands after an amazing Embedded Linux Conference (ELC-E 2008) at Ede and then some good days at Amsterdam.

Damien Hirst: For The Love of God

Damien Hirst: For The Love of God

I really liked ELC-E, talked with lots of guys, my presentation was good as well (I hope so! let’s wait for the videos), you can see the slides at: http://palestras.gustavobarbieri.com.br/efl/elce2008/Rich_GUI_without_pain.pdf

After the main conference we had an extra UPnP/DLNA conference, it was really small, but interesting nonetheless.

Then I traveled to Amsterdam, it was my first time there and I really enjoyed the city, the people, the beer… and the museums, of course. There I could see the awesome piece that shows in this post called “For The Love of God”.

Categories: Free Software
Gustavo Barbieri

work and pleasure

2008-11-01 00:48 UTC  by  Gustavo Barbieri
0
0

Today I finished integrating some cool code into Evas: box and table. These utility smart objects are now in Evas for good, we can stop replicating those in many projects and people who just want to use them and not a full featured toolkit like ETK or EWL are now free. More importantly: we can now expose these in Edje, making all layout elements dependent on theme, not having to rely on SWALLOW slots!

The integrated code is very flexible, it make use of the recently introduced “size hints” and also postpone heavy calculations to pre-render time with calculate smart callback. Table has three modes: regular, homogeneous based on table size and homogeneous based on largest minimum item size. Box, since it just represent a sequence of items, is more extensible and allows you to specify a layout function, we provide some like vertical, horizontal, stack, homogeneous based on box, homogeneous based on the largest minimum item size, etc… but you can easily write your “snake layout” and use it. If you need more option details than “size hints”, you can extend the class and implement options_* virtuals.

These code were integrated by me, but not totally written. Gustavo Lima, from ProFUSION, wrote the box for their sequence_box.c (it was relicensed to E’s BSD with permission) and Rasterman wrote table for his elementary “toolkit for mobiles” els_table.c.

On the pleasure and work side, I’ll fly to The Netherlands next Tuesday so I can attend ELC-E 2008 where I’ll present a talk about Rich Graphical User Interfaces on mobile systems, covering Evas, Edje and the new kids on the block Elementary and Guarana.

Last but not least, due trip and other stuff to do I’ll not be able to integrate table and box into Edje soon. If you always wanted to help E17 and EFL, now it’s your chance! :-) See my mail to the list and start hacking, I can reply to you by mail and IRC (when I’m online). We will also need Python bindings for those, so patches to python-evas and python-edje are also welcome!

Categories: C