Inge Wallin introduces a plugin for Qt Designer, which enables the integration of a Marble
widget in applications:
This week saw the birth of a new member of the Marble family: a plugin for Qt Designer. We have worked hard during the last week to separate the main features of Marble into a widget that can be used in other applications as well. The plugin will make the Marble widget available for everybody who uses Designer to create dialogs and widgets.
Marble is now both a widget with a Designer plugin, and an application. This way of making the core feature of an application available as a widget or a plugin is a growing trend within the KDE world. Previously, many KDE applications have been available in the form of KParts. With widgets, we can have even tighter integration, which is a very central philosophy of KDE. I would even go so far as to say that it is *the* main distinguishing factor (USP
in a salesperson's language) between KDE and the competition.
Another example of this is KSysGuard, which will also be available as a Plasmoid. Plasma creates a natural place to use these widgets. The hard limits between application, embeddable KPart, widget and Plasmoid will become blurred as time goes by, and more and more features will be available everywhere. An application is something that is focused on one use, and it is often very feature rich, but also complex. A Plasmoid or embedded widget has less features, but is simpler. Both have their uses on different parts of the desktop.
Another place where this trend of increased integration is showing up is KOffice, which uses the Flake library and plugins for the same purpose. With all types of Flake shapes available to all KOffice components, integration is at its best. I see no reason why Flakes shouldn't be able to be used in other KDE applications or even Plasmoids. I would like to encourage other application developers to think along these lines and come up with other widgets that be broken out and made available for other applications.
So, where do we imagine that the Marble widget will be used? Marble provides a way to visualize geographical data, and let the user interact with it. Possible uses are time zone selectors, weather applets, to show where other people in, say, an IRC channel are located, and so on. To cite the Marble Manifesto
(available in the source code) - "Marble is meant to become for "geo browsers" what KHTML/WebKit is for web browsers already."