Meiga 0.4.0 “end of the year” release

I didn’t want to finish the year without devoting some time to Meiga, so I took advantage of Christmas holidays and prepared a new release with some long awaited features that make it a more serious tool:

  • Dynamic port change
  • SSL support
  • Persistent settings storage
  • Password protection

Latest information, including the source code, install instructions and previous versions can be found in the project website: http://meiga.igalia.com

Happy new year!

Meiga 0.3.3 released

The two main features of this new 0.3.3 release of Meiga are the new redirection support for FON routers (Fonera v1) and memory optimizations for large files, so serving a video file of 1GB won’t eat up all your memory.

Apart from that, some bugs have been solved, the autotools config has been updated (thanks to Javier Jardón), a startup notification has been added (thanks to Rajeesh K Nambiar) and the file size is now passed to the browser, so you’re going to have now a decent progress bar.

As always, you can download it from http://meiga.igalia.com.

Meiga 0.3.2 released

This new release doesn’t use GtkBuilder anymore, so the GUI problems caused by incompatibilities between GtkBuilder versions shouldn’t be noticed now.

Files are now iterated instead of being mapped into memory. This makes Meiga a little bit slower but allows execution on low memory machines, as suggested by Steven.

Meiga now also works in Karmic. Just use the Jaunty packages and they will work fine. You can get it from http://meiga.igalia.com.

Meiga 0.3.1 (Halloween edition) released

This weekend I’ve taken advantage of our hackfest sessions at Igalia winter summit and have prepared a new “Halloween” version of Meiga.

The new version solves the bug pointed by xvi82 and ensures that Meiga compiles properly on Ubuntu Karmic (but no Karmic packages are provided yet). In addition, it has improved HTML headers to show a page title and set the proper character encoding. It also has a pending/total transfer counter, so you will know when you can safely exit Meiga without breaking any download.

Meiga can be downloaded from http://meiga.igalia.com.

Meiga 0.3.0 released

After some inactivity time, I’ve started to devote time to Meiga again and developed a set of new cool features, apart of solving some bugs. The result is this new 0.3.0 release.

The most significant new feature is the support for multiple forwarding backends. Now the user can choose not only UPnP, as before, but also SSH forwarding or no forwarding at all (direct connection). What the new SSH forwarding backend does is to connect to a central SSH server and forward the Meiga serving port on it. This way, all the users in the remote SSH server or having direct connection to it, can access to the forwarded port. This connectivity for users having direct visibility of the server is only possible if it’s allowed by the SSH server configuration, though.

The second new feature is the addition of “Share on Meiga…” context menus for Nautilus and Konqueror. That way you don’t have to bother about finding the right folder path in the file selector. For improved security, this context menu will only work if Meiga is already running. No share will ever be served without the user noticing it by seeing the Meiga icon shown in the system tray.

The rest of the changes are minor fixes or collateral changes needed to implement the main ones.

I hope you to enjoy this new version. As always, it’s available for download from: http://meiga.igalia.com

Guadec 2009 conclusions

This has been a very intense week at Gran Canaria Desktop Summit. I’m very glad about the good reception that Meiga talk had among the Gadec-ES public. Now it’s time for taking advantage of all this work and update the Meiga website with the slides prepared for the talk. I’m sure that anyone wanting to contribute or to understand the project will find valuable information on them.

But not everything has been about explaining our work. I’ve learnt a lot of new things and found new ideas to improve Meiga in the future. I’m not going to talk here about the rest of the talks given by Igalia people. You can read about that on the planet. I prefer to focus on some of the other most interesting talks I’ve attended to:

  • Profiling and Optimizing D-Bus APIs (Will Thompson): Will showcased a graphical profiling tool that shows that D-BUS can be a slow protocol when there is a high amount of calls. One alternative to speed up things is to expose methods to do vectorized calls, performing multiple queries and getting multiple results at once, instead of doing N consecutive calls.
  • Sipping Mojitos and thinking RESTful thoughts (Rob Bradford): Rob spoke about Mojito, an interesting library to access remote REST web services in a convenient way.
  • I can has aliens too? Client side windows in Gtk+ (Alexander Larsson): Alex and his workgroup are making the effort to collapse some X-Window windows into a single big one managed by the client. This reduces flicker and has interesting applications for offscreen rendering.
  • Thinking Outside The Box (Bringing the Network back into GNOME) (John Palmieri): Apart from being a good guitar player, John reflected about some interesting ways for the desktop apps to interact with online services. It’d been nice to integrate the Meiga ideas of “offering directly from the desktop” instead of relying on central services, as he exposed.
  • Vala: Compiler for the GObject type system (Jürg Billeter): The Vala author showed the language I’m in love with. Apart from the already known features, I could see the new asynchronous programming features, which implement coroutines in some way. This concept is a very interesting tool to do clean asynchronous programming and could solve one of the problems I found in Meiga when coding a serie of asynchronous action. My alternative was to code a programmable step interpreter.
  • The Hynerian Empire and beyond (Zeeshan Ali): Zeeshan showed us the features of Rygel, a UPnP media server for Gnome.
  • Let’s make GNOME a collaborative desktop (Guillaume Desmottes): People is using Telepathy (XMPP) to exchange not only messages, video and audio, but also files and using the framework for other kind of communication/sharing uses between applications.
  • Personal Media Networks with Coherence and Telepathy D-Tubes (Philippe Normand): This guy demonstrated Coherence, a framework that is able to link two UPnP networks (eg: two homes) by using one of the UPnP devices in each network as a proxy. This proxy would forward the UPnP messages encapsulating them into DBUS calls and transmitting them over the Internet using D-Tubes, a networked implementation of DBUS. This D-Tubes technology also appeared in other talks and seems to be very interesting.
  • How to play libnice-ly with your NAT (Youness Alaoui): This guy explained how libnice uses NAT punching to make NAT traversal possible for UDP packets. They are currently trying to make it work for TCP also, which would be of immediate application on Meiga. Anyway, in that talk I knew about the existence of TURN servers that play the role of a central communication point as a last resort when direct visibility isn’t available between the peers.

Meiga 0.2.1 released

This is a minor release that includes a couple of bug fixes that will make Meiga to properly work on Fedora systems and also to work with those routers exposing a WANPPPConnection by UPnP instead of a WANIPConnection.

As always, you can download it from http://meiga.igalia.com. This time a new package for Ubuntu Jaunty on amd64 is also available for users having that architecture.