Open Infotainment Navigation Demo

8 03 2012

After month of work here is again a short insight in my current open infotainment prototype. Many work has happened under the hood and hard to visualize. The GUI statemachine concept has been much improved.

The application theme is based on the default Elementary theme. There is an internal design specification that also fits to a future media player and phone application.

Current navigation features are:

  • Show live car position on map read from gpsd
  • Draw map with libosmscout cairo renderer while driving
  • Move map around with joystick control
  • Calculate route with libosmscout from current car position to defined targets
  • Show live GPS position data
  • Emulate driving with gpsfake

Next navigation development target is to have a target destination input screen (country/city/street).

The prototype has already defined an interface for media and phone control, but not yet a really working implementation. I’ll implement a demo, but offer everyone to take over these applications.

Until now I didn’t publish any source code except the statemachine framework ( I plan to release the source code in future if the basic software architecture is more stable. But if you really like the idea and want to participate please write me an E-Mail.

Please note that shown video has some edits regarding route calculation time. The route calculation takes some seconds more, but I cut them away. Just in the spirit of the current iPhone4 advertising. :-)


New E17 module eooorg in E-SVN

11 07 2010

A solution for all people bugged by a long startup. This module preloads a process and holds in in the memory. So all documents are opened really fast. It only comes with the cost of some memory consumation.

It’s only needed to load the module to activate it. Placing it on the shelf is not needed for the feature. But later some options and easy application starters may be available from the icon. So it doesn’t hurt to place it in a shelf.

Available in E-SVN trunk/E-MODULES-EXTRA/eooorg.

Check out as anonymous:

svn co

EdjePlayer 0.1

25 01 2009

While working with Edje I found the need to have a little application that is able to load a specific group from a edj file. For that reason I wrote EdjePlayer. It’s a simple command line application this is also perfect to run from within a graphical file manager.

Usage: edje_player [OPTION...]
  -g, --group=STRING      The Edje group to display (default: 'main').
  -e, --engine=STRING     The Evas engine type (use environment variable
                          $ECORE_EVAS_ENGINE if not set).
  -b, --borderless        Display window without border.
  -s, --sticky            Display window sticky.
  -p, --shaped            Display window shaped.
  -a, --alpha             Display window with alpha channel (needs composite
  -t, --title=STRING      Define the window title string.
  -l, --list-engines      List all available engines.
  -r, --list-groups       List all available groups in the Edje file.
  -v, --version           show version

Help options:
  -?, --help              Show this help message
  --usage                 Display brief usage message

If you name a group in your edj file “main” then no other command line switches are needed.

It’s possible to set some values in the Edje file data block to control the behaviour of EdjePlayer. These values are supported until now:

alpha: bool
borderless: bool
shaped: bool
sticky: bool
title: string

bool: “TRUE”, “true”, “FALSE”, “false”, “0”, “1”

You’ll find some usefull examples here.

I’ve the vision to move EdjePlayer to something like a FlashPlayer. It seems  Edgar has a nice API for accessing the outer world. In the next version I’ll see if a shared work is possible.

EdjePlayer is available from E SVN.

  svn co

E17 composite managers

9 08 2008

First I created a wiki entry about E17 compatible composite managers. But people told me it doesn’t belong into the official wiki as it has no support at the moment. So I insert it into my Blog to save the links.

There’re several X composite managers that work with E17. This article explains some composite manager that work with E17. See the article Compositing window manager on wikipedia for a formal description.

Xcompmgr is a simple composite window manager, capable of rendering drop shadows and, with the use of the transset utility, primitive window transparency. Designed solely as a proof-of-concept, xcompmgr is a lightweight alternative to Compiz Fusion and similar composite managers.

Because it does not replace any existing window manager, it is an ideal solution for E17 users seeking a more elegant desktop. It’s packaged for the most distributions and easy to install. It runs out of the box with E17, but had some problems. For example the gnome-terminal had no window border.

This composite manager is implemented as module for E17. It’s available in CVS (e_modules/bling). The script installs this module by default. So it’s easy to install. Bling looks not bad, but compared to other composite manager it feels really slow. The source code looks not really extensible.

The Bang composite manager is available here.

The Ecomorph composite manager is available here.

The Egloo composite manager is available here. Update: Egloo host seems to be down. If someone knows what happened to it, please leave a note.

dbus-c++ and Ecore integration

2 08 2008

I think Dbus is a great way to communicate between desktop applications. Currently I need it in my OISP (Open Infotainment Service Provider) prototype. This needs a Dbus binding that integrates with Ecore. There’s the e_dbus in the Enlightenment CVS, but it doesn’t fit into my C++ design with eflpp.

Because of that reason I started to enhance the existing, dbus-c++ library with a Ecore integration. I would like to give back my modifications into the GIT repo on, but the maintainer didn’t apply my patches until now. I think it’s because he’s busy with other activities.

So I started a new GIT repo on

Don’t forget to add –enable-ecore as configure parameter to enable the Ecore integration. There’s a new ecore example application beside the source.

I would be happy to get some feedback or help with dbus-c++.

A GUI dispatcher for asynchronous updates with Ecore

24 01 2008

First time I tried to get some data from a asynchronous source in an Edje application it was really hard to find out how to do it. For that reason I wrote two interfaces (C and C++) that helps to ease that task and are flexible enough for most cases. The C version has no other dependencies and the C++ version has only libsigc++ as dependency (beside Ecore of course). The licence is BSD. Have fun with it.

Here is the C version:

Here is the C++ version (not depend on the C version!)

Read the rest of this entry »

E17 – Window manipulation and focus configuration nightmare

30 12 2007

This is a usability analysis of the E17 window manipulation and focus configuration settings. I use E17 since it’s available in CVS some years ago. And I’m still confused by the nightmare of some configuration options. The image below shows some open configuration dialogs. Some settings are marked with red numbers. At some point in this text I reference to this numbers.


Read the rest of this entry »