Thanks for this bulletin, seriously.  I just joined the list, and while I understand the importance of an "agnostic" framework, I was having difficulty comprehending your goals.<div><br></div><div>Regards from Canada, John<br>
<br><div class="gmail_quote">On Fri, Jan 4, 2013 at 8:55 AM, Norman Feske <span dir="ltr"><<a href="mailto:norman.feske@...1..." target="_blank">norman.feske@...1...</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello and happy New Year everybody,<br>
<br>
the advent of 2013 is a good opportunity to make up our minds about<br>
Genode's road map for this year. But before I will start with explaining<br>
my preferences, I'd like to outline my thoughts about the last year's<br>
road map.<br>
<br>
In 2012, we labeled our activities as "Eating our own dog food". Our<br>
goal was to bring Genode into a shape that makes it usable as working<br>
environment for conducting Genode development. On our road-map website<br>
(<a href="http://genode.org/about/road-map" target="_blank">http://genode.org/about/road-map</a>) we listed a long list of desirable<br>
goals. Looking through the list makes me proud of our achievements. Just<br>
to name a few highlights, there is the ability to build Genode on<br>
Genode, SSH, lighttpd, the new file-system infrastructure, the new DDE<br>
linux and DDE OSS. But even though the list is impressive and the pieces<br>
nicely come together, we are not quite there yet to realistically make<br>
the switch to Genode as development environment. Two major missing<br>
points are a solid UI concept that leverages Genode's unique<br>
architecture and a "real" file system. You will find those points in my<br>
suggestions for this year's road map below.<br>
<br>
Even though we missed our ambitious main goal for 2012, there is no<br>
cause for despair. There are indeed many achievements in addition to our<br>
road-map items to be proud of. The most visible addition is the thorough<br>
support for ARM-based platforms reaching from versatile express, over<br>
freescale i.MX, to OMAP4. Another amazing development is the added<br>
base-hw platform that enables Genode to be executed without a 3rd-party<br>
kernel. Furthermore, the largely revised support for the Linux base<br>
platform makes Genode fit to be used as component framework on Linux,<br>
which is a quite unexpected turn of events.<br>
<br>
So what is coming next?<br>
<br>
>From my point of view, I see four major construction sites that we<br>
should address this year: framework infrastructure, self-hosting,<br>
tooling and optimizations, and hardware support.<br>
<br>
<br>
Framework infrastructure<br>
========================<br>
<br>
The primary group of people Genode tries to cater well are developers<br>
and integrators of systems. Genode is meant as a tool box to empower<br>
those people to build real-world component-based system solutions. From<br>
this audience, we receive requests for improvements in the following areas:<br>
<br>
* Multi-processor support: On some base platforms, SMP support is<br>
  available but the framework still misses a holistic concept to<br>
  manage and configure the use of multiple CPUs.<br>
<br>
* Storage: Block-device access is a general concern. Even though we<br>
  laid the foundations for Genode's storage infrastructure, several<br>
  pieces are still missing, in particular a "real" (non-FAT) file<br>
  system, block/file/directory caching, and I/O scheduling. Without<br>
  those pieces, there is no way to achieve the application performance<br>
  that we desire.<br>
<br>
* Networking: The current TCP/IP performance using lwIP has room<br>
  for improvement. So I'd like to find a solution to bring TCP/IP<br>
  performance on Genode on par with Linux. Maybe this means to find<br>
  the bottlenecks in our lwIP port, or even going for another TCP/IP<br>
  stack?<br>
<br>
* Qt5: Now that Qt5 is officially released, we should consider to<br>
  switch from Qt4 to Qt5.<br>
<br>
* Low-latency audio: The current audio_out-session interface was<br>
  our first shot into the direction of audio processing. To enable<br>
  use cases where streaming audio and sporadic sounds must be<br>
  accommodated at the same time, we need to revise our approach.<br>
  There is already work in progress on this topic.<br>
<br>
* Cryptography<br>
  * Random numbers<br>
  * Block-device encryption<br>
<br>
Self-hosting<br>
============<br>
<br>
The second major topic is redeeming the promise stated for the past year<br>
- using Genode as a real-world OS. The following pieces are missing.<br>
Compared to the list on the old road map, this one is rather small. So I<br>
am very positive!<br>
<br>
* UI concept for pleasant working environment<br>
  * Tiled window manager<br>
  * Terminal improvements (e.g., scroll buffer)<br>
  * Noux improvements (e.g., signals)<br>
<br>
* Tools<br>
  * Git (work is already in progress)<br>
  * Mail user agent<br>
  * Instant-messaging software<br>
  * Support for 'make prepare' (e.g., SVN, wget, mawk)<br>
  * Support for run tool: expect, Qemu<br>
<br>
Tooling and optimization<br>
========================<br>
<br>
Now that Genode's work loads get ever more complex, we feel the<br>
drastically increased need to understand its inner behavior and detect<br>
possible black holes where the performance goes.<br>
<br>
When the system scenarios were rather small, printf-debugging was quite<br>
feasible. But now, with multiple instances of Noux running concurrently<br>
with several drivers, we need better tools for understanding, debugging,<br>
and tracing the system. In a component-based system like Genode, the<br>
creation of such tooling support of especially challenging because we<br>
need to walk on new grounds. In my opinion, good tooling is key to<br>
direct our efforts spent with performance optimizations. The goal should<br>
be to ultimately debunk the slow performance of microkernel-based<br>
systems as a myth.<br>
<br>
Hardware support<br>
================<br>
<br>
The attractiveness of our framework corresponds to the degree of<br>
hardware support. Since we want to make Genode more attractive, we need<br>
to continue our efforts with creating custom drivers, porting drivers,<br>
and enabling platforms. The following points are the most interesting<br>
ones from my point of view:<br>
<br>
* Intel architecture<br>
  * IOMMU support<br>
  * Improved virtualization support (Vancouver on NOVA)<br>
  * Intel wireless<br>
* ARM architecture<br>
  * Extending support for SoC platforms<br>
  * TrustZone<br>
<br>
<br>
Of course, Genode's road map for 2013 is not meant to be dictated by me.<br>
Please chime in, discuss the topics above and propose additional items.<br>
I hope that we will reach consent for the goals of this year by mid<br>
January. Then I will update the official road map on the website.<br>
<br>
Cheers<br>
Norman<br>
<br>
--<br>
Dr.-Ing. Norman Feske<br>
Genode Labs<br>
<br>
<a href="http://www.genode-labs.com" target="_blank">http://www.genode-labs.com</a> · <a href="http://genode.org" target="_blank">http://genode.org</a><br>
<br>
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden<br>
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth<br>
<br>
------------------------------------------------------------------------------<br>
Master HTML5, CSS3, <a href="http://ASP.NET" target="_blank">ASP.NET</a>, MVC, AJAX, Knockout.js, Web API and<br>
much more. Get web development skills now with LearnDevNow -<br>
350+ hours of step-by-step video tutorials by Microsoft MVPs and experts.<br>
SALE $99.99 this month only -- learn more at:<br>
<a href="http://p.sf.net/sfu/learnmore_122812" target="_blank">http://p.sf.net/sfu/learnmore_122812</a><br>
_______________________________________________<br>
Genode-main mailing list<br>
<a href="mailto:Genode-main@lists.sourceforge.net">Genode-main@...12...ceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/genode-main" target="_blank">https://lists.sourceforge.net/lists/listinfo/genode-main</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Photography and sculpture:<br><a href="http://thinan.com/john_bessa/photography" target="_blank">http://thinan.com/john_bessa/photography</a><br><br>Empathy and Emotional Communication<br>
<a href="http://en.wikiversity.org/wiki/Empathy_Model" target="_blank">http://en.wikiversity.org/wiki/Empathy_Model</a><br><a href="http://johnbessa.com/empathy" target="_blank">http://johnbessa.com/empathy</a><br><br>Technology and Education:<br>
<a href="http://thinman.com" target="_blank">http://thinman.com</a>
</div>