March 27, 2007
This article was contributed by Nathan Sanders
Since KDE 3.3 was released in 2004, KDE applications have used the
KDELibs
library
KNewStuff
to implement a simple interface for
downloading and installing content from a centralized server. Its successor, KNewStuff 2 (KNS 2), is gearing up to give KDE 4 users new options for uninstalling content, content synchronization, the ability to rate content directly from the application interface, a dramatically faster interface, and more. KNewStuff 2
will be compliant with the FreeDesktop.org
GetHotNewStuff specification
(GHNS), developed as a cross-desktop standard
based on the original KNewStuff design.
Like its predecessor, KNS 2 will act as a sort of per-application package management system for content. HotNewStuff content differs by application, ranging from visual themes for
Amarok
to object position data for
KStars.
In KDE 3, Hot New
Stuff can be installed in participating applications via a KNS 1 dialog which lists content by user rating scores, download rate, or release date.
Arguably the most noticeable improvement to KNS will be the content data caching
feature, which should make the interface significantly faster. Content data primarily consists of preview pictures and metadata such as the name, description,
and rating of each content item. In KDE 3, the user must wait for this content
data to download before the KNS dialog appears. The KNS 2 dialog will open immediately with cached data and update the cache transparently in the background.
The interface will be updated with new data as it arrives - though KNS' exact protocol for updating its interface based on this data will not be finalized until the KDE 4
Usability and Accessibility Review
period from May 8th to June 1st.
KNS 2 will introduce Desktop Exchange
Service (DXS) support. KNS 1 presents content items in lists sorted by highest rating, most downloads, or release date. The ratings it uses come from user ratings made through web-interfaces such as
KDE-Look.org.
By using DXS, content providers will be able to integrate this rating system directly into applications by using a CGI-like script. If application developers support DXS, users will be able to upload content ratings and
even leave text comments without having to open a web browser. Additionally, DXS integration will add support for content searching by keyword and allow users to "subscribe" to content and be notified of updates.
Content management will also be greatly improved in KNS 2. It will keep a record
of content files and files extracted from content archives. KNS 1 is not capable of uninstalling content, but KNS 2 will be able to do so by simply referring
to its record of installed files and deleting any associated with a content item. Like version one, KNS 2 will be able to recognize when content has been updated. Although KNS 2 is not capable of automatically downloading updated content,
it will indicate to the user that the update is available.
KNS 2's content management features will also resolve some distribution issues that occur with KNS 1. In the event that an application ships with some content
data already installed, KNS 1 is not able to detect it and will indicate to the
user that it is not installed. Moreover, it cannot indicate to the user whether
or not this content is the latest version or not. KNS 2 will recognize these content packages and treat them like any other content it has installed.
In addition to being able to upgrade installed content through the KNS 2 interface, KDE 4 users will be able to automatically synchronize some content over the
Internet or a private network. Content providers can offer automatic synchronization by listing references to files on a network rather than the files themselves. When the application attempts to access this quasi-installed content, it will have to fetch it from the server using KIO rather than a local directory. In this way, the content will always appear up to date to the user.
KOrganizer is among those applications that will benefit greatly from synchronization functionality. Users may
use KNS 2 to install public calendar listings, for instance, holidays or company events which will then appear alongside the users' own calendar entries in KOrganizer. If KNS 2 installs these calendars as remote links rather than local content, users will be kept aware of newly added events or other calendar changes.
KNewStuff2 will be included in KDELibs for KDE 4. Lead developer Josef Spillner
is already well into the coding of KNS 2. He quips, "There is already more code for it than what its predecessor had, although more might not always be better." He is currently working to integrate KNewStuff with the SVN development version of KDELibs 4, marking the implementation of basic downloading and uploading
functionality. Spillner plans to release a new developer tutorial soon.
Spillner believes the
developer tutorial for KNS 1, which walked KDE 3 application developers through implementing GHNS functionality, was partly responsible for his library's fairly wide adoption. KDE 3 applications such as Korganizer,
Kopete, SuperKaramba, Amarok, and many KDE Edutainment applications such as KStars all use KNS to deliver
content such as interface themes and templates to users.
There is reason to believe that KDE 4 applications will adopt KNS on a wider scale than was seen in KDE 3. Spillner notes that several common hesitations that
prevented application developers from adding KNS support in KDE 3 have been fixed. He writes, "The inelastic installation methods turned out to be the obstacle
which probably prevented more apps from using it." KNS 2's uninstallation functionality should eliminate this obstacle. Moreover, he believes that developers
will not have to write as much code to integrate KNS, as "simple configuration
files" have replaced what previously required lines of code, in many places.
KNewStuff2 also retains two features from its predecessor that perhaps saw less
use than they deserved: data verification and uploading. Since KDE 3.4, the
KNewStuffSecure class has allowed application developers to implement md5 hash and
gpg signature checks for Hot New Stuff. Unfortunately, this class is currently
separate from the original KNewStuff. By integrating these verification features into KNS 2, it may prove more visible and popular among developers. KNS 1 is
capable of handling user uploading without requiring a web interface, though there has been almost no implementation outside a few of Spillner's own games. KNS 2 will also support uploading, and may switch from using the FTP protocol to the more secure
WebDAV.
HotStuff server administrators could then allow users to register to upload content or do so anonymously.
For KDE 4, Spillner is also removing what is perhaps the greatest barrier to KNS
integration: server requirements. KNewStuff must get its content from a server
running HotStuff. For KDE
3 applications, this often meant that application developers needed to build and
maintain their own HotStuff server. Shortly, however, KDE will begin to offer
a general HotStuff server and a web interface at data.kde.org. The
Oregon State University
Open Source Lab
has agreed to host
the server on a Xen box alongside the KDE news site,
The Dot.
Spillner still encourages developers to run their own HotStuff servers, but general distribution points such as data.kde.org and KDE-Look.org will be available for those developers who do not want to burden themselves.
Spillner is setting his sights on KDE Games and KOffice integration for KNS 2.
Many KDE Games applications already implement KNS, but Spillner would like to see adoption throughout the entire Games module. At least one of KOffice's many components, the database manager
Kexi,
already uses KNS. Spillner sees the remainder of KOffice as another excellent opportunity for KNS growth: "In organizations, there is often
a need for keeping templates up to date regarding the corporate design,
contact data and so on. KNewStuff could be of great use here."
Organizations could host a GHNS server for employees and synchronize
templates among them using KNS 2's remote content synchronization feature.
The GHNS specification is broadly defined by the "idea of collaborative work" statement posted on its website: "Free desktops empower their users to work together over the internet, and share their ideas, artwork, scripts and files. The missions of GHNS is to provide the necessary infrastructure on the client, the server and the protocols in between." More specifically, the specification outlines the
GHNS standard
for distributing and centralizing data.
The GHNS project has developed or inspired both server-side and
client-side implementations of this standard. Client-side GHNS software
includes KNS and the
SDLNewStuff
Python library for games. Additional client implementations include
the incomplete
Get Hot New Stuff for Java and the unmaintained
GNOME Art. Spillner notes that the SDLNewStuff library has had
significant adoption among game designers for sharing content such as
level designs and themes. He writes, "In Chess, for example, fiddly game
positions are exchanged in the standard
PGN format. Using KNewStuff or other GHNS client libraries, those can easily be retrieved from within the game."
Server-side GHNS software consists of the HotStuff web interface and backend scripts, as well as the DXS service. Major content providers supporting the GHNS specification include KDE-look.org and
KDE-apps.org. Spillner credits KDE-look.org's historical support for KNewStuff as
prompting the standardization of GHNS.
As with most FreeDesktop.org-endorsed specifications, Spillner intends
for GHNS to have a cross-desktop appeal. In areas where desktop content overlaps, such as wallpapers - where nearly any desktop can use the same data files, the benefits of cross-desktop GHNS compatibility is obvious. With the lapse of GNOME Art,
KDE has become - once again - the only desktop which has significant support for
GHNS. Spillner would like this to change in the coming months. In his words,
"My main focus right now is on development, but advocacy will certainly become more important again once KNewStuff2 is in a state where we can show off with it and trigger proponents of other desktops to rival it."
Development on KNS 2's content management dialog has only just begun. Spillner will be designing the interface in collaboration with
KDE Usability experts.
Spillner plans for the interface to be very customizable by application developers. As an example, he describes an interface for dynamically listing content in menus, like
Live Bookmarks.
Spillner will give a comprehensive presentation on KNewStuff 2 at the
Akademy 2007
conference in Glasgow, Scotland June 30th to July 8th.
Comments (4 posted)
System Applications
Database Software
Sub-release 2.0.1 of the Firebird DBMS has been
announced.
"
This is the first sub-release since the 2.0 release in November, 2006. It adds no new features (those are coming in v.2.1) but provides a large number of bug-fixes and a few improvements. It is highly recommended that v.2.0 installations be upgraded to get the benefits of these."
Comments (none posted)
The March 25, 2007 edition of the PostgreSQL Weekly News
is online with the latest PostgreSQL DBMS articles and resources.
Full Story (comments: none)
Embedded Systems
Unstable version 1.5.0 of
BusyBox,
a collection of command line utilities for embedded systems, is out
with a lot of new features.
"
Since this is a x.x.0 release, it probably does not deserve "stable" label. Please help making 1.5.1 stable by testing 1.5.0."
Comments (none posted)
Interoperability
Version 3.0.25 pre2 of Samba has been announced.
"
This is the second preview release of the Samba 3.0.25 code base
and is provided for testing only. This release is *not* intended
for production servers. There has been a substantial amount
of development since the 3.0.23/3.0.24 series of stable releases.
We would like to ask the Samba community for help in testing
these changes as we work towards the next significant production
upgrade Samba 3.0 release."
Full Story (comments: none)
Security
Version 3.0 of the Metasploit Framework, a development platform for
creating security tools and exploits, is available.
"
Version 3.0 contains 177
exploits, 104 payloads, 17 encoders, and 3 nop modules. Additionally,
30 auxiliary modules are included that perform a wide range of tasks,
including host discovery, protocol fuzzing, and denial of service testing."
Full Story (comments: none)
Web Site Development
Version 0.96 of the Django web development platform
has been announced.
"
The primary goal for 0.96 was a cleanup and stabilization of the features introduced in 0.95. The
release notes cover the few backwards-incompatible changes, but for most people the upgrade process should be simple.
One particular change affects users of MySQL on older servers: If you get an error about Django requiring a newer version of MySQLdb, you'll need to either upgrade MySQLdb to 1.2.1p2 or later, or switch your DATABASE_ENGINE setting to "mysql_old"."
Comments (none posted)
Version 3.0-beta1 of the Plone web development platform has been released.
"
With this
release the Plone 3.0 tree is now feature complete: all new features are
included this release. Some are optional and not enabled by default
(iterate staging, OpenID authentication, the new NuPlone skin)."
Full Story (comments: none)
Version 1.6 of Silva has been released.
"
Infrae has released version 1.6 of the Silva content
management system. This release brings a range of improvements and
several key new features, such as automatic PDF and Word file fulltext
indexing, Atom/RSS feeds from containers, ‘classic’ list-based menu
rendering, and additions to the documentation. Performance has been
significantly improved by changing how containers are published and
optimizing calls to the metadata service."
Full Story (comments: none)
Desktop Applications
Audio Applications
Version 1.0 of
CLAM, a software framework for
research and application development in the audio and music domains, is out.
"
We are very happy to announce the CLAM 1.0 "Berlin" release while
having splendid views of the Alps in the flight to Berlin for the
Linux Audio Conference.
This release is indeed a major milestone for the project and it
opens a door to the development of exciting new features, so keep
tuned! Apart of these big changes expect also bug fixes (yes 1.0
have bugs) as we move on."
Full Story (comments: none)
Version 1.0 of the Vamp Plugin API and software developers kit
has been announced.
"
Vamp is a plugin API for audio analysis and feature extraction
plugins written in C or C++. Its SDK features an easy-to-use set of
C++ classes for plugin and host developers, a reference host
implementation, example plugins, and documentation. It is supported
across Linux, OS/X and Windows. The Vamp plugin API is also used by the
Sonic Visualiser audio visualisation and analysis application."
Full Story (comments: none)
Desktop Environments
The following new GNOME software has been announced this week:
You can find more new GNOME software releases at
gnomefiles.org.
Comments (none posted)
The following new KDE software has been announced this week:
You can find more new KDE software releases at
kde-apps.org.
Comments (none posted)
Troy Unrau
looks at
changes to KRunner, logout screens, Dolphin,
KDE job progress improvements, okular, Kalzium and KOffice in his
Road to KDE 4 series.
"
Well, so far I've published a dozen articles about KDE 4 over the last 12 weeks. A lot of content has been covered, but there is rapid progress still being made on those topics. So, in no particular order, this week's issue deals with addenda and updates to the last 12 articles, so that you can see some of the rapid progress happening as KDE races forward."
Comments (none posted)
The following new Xorg software has been announced this week:
More information can be found on the
X.Org Foundation wiki.
Comments (none posted)
Electronics
Version 0.4.6 of
ASCO,
a Spice circuit analyzer, is out.
"
Changes since ASCO 0.4.5:
* Improvements in the RF module functionality.
* Include support for logarithmic search space for the existing variables.
* Code refinements and bug fixes.
The dormant code for the RF module has been revised. Some new functionalities have been added. Corrections to compile in win32 and better work with Qucs simulator are included."
Comments (none posted)
Stable release 0.5 of Covered, a Verilog code coverage analyzer,
is available.
"
This is a new major release of Covered, containing many new features, enhancements, and general improvements to the 0.4.x stable release."
Comments (none posted)
Release 20070319 of
Layout editor, An integrated circuit MEMS layout editor,
has been announced on the
Open Collector site.
"
Beside a lot of bugfixes the new version supports multiply undo's and more fill styles."
Comments (none posted)
LinuxMedNews has
announced
the release of Mirth 1.4.
"
The Mirth project
is announcing the release of Mirth 1.4, with HL7 v3, X12 (HIPAA X12N), EDI (UN/EDIFACT) and XML message support. Mirth 1.4 includes over 60 bug fixes, improvements and features, as well as a new, powerful development and mapping environment."
Comments (none posted)
Games
The WorldForge game project
has announced
the release of Ember 0.4.3.
"
Ember is a 3d client for the WorldForge project. It uses the Ogre 3d graphics library for presentation and CEGUI for its GUI system.
This release includes the new libwfut library for media updates, removing the need for an external java updater. It also adds a lot of bug fixes."
Comments (none posted)
Graphics
Version 0.96 of Dia, a diagramming tool,
has been announced.
"
This version introduces import and export of Visio VDX files, improves the font rendering, adds a sheet of BPMN objects, and has numerous other fixes and improvements.
Visio VDX interoperability has been added by Ian Redfern. It is still in a beta stage, but should help those in diverse environments or who want to migrate away from Visio. The font width issues that have plagued Dia the last several releases should now be fixed, both for zooming and for printing."
Comments (none posted)
GUI Packages
Version 0.9.8 of Urwid, a command line user interface package, is out.
"
This release improves Urwid's performance by 70% to 450% (reducing
running time by 41% to 82%) for some benchmarks. New base classes
have been introduced for widgets, canvases and list walkers. Some bugs
have been fixed. Python 2.2 or later is now required."
Full Story (comments: none)
Music Applications
Version 0.2.5 of Canorus has been announced.
"
Canorus development team is happy to announce the new release of Canorus
- a free cross-platform music score editor, version 0.2.5. The release
took lots of effort from core developers, various contributors, testers
and translators. This release mostly brought huge under the hood
changes. Among others, the most notible features are the new GUI and
LilyPond support."
Full Story (comments: none)
Version 3.2 of GMIDImonitor, a GTK+ application that shows MIDI events,
is out.
"
New in this release:
* Fix bug causing stalled midi events after burst followed by silence
* Decode jack midi reset message (by Edward Tomasz Napierala)
* Add some instructions about using GMIDImonitor."
Full Story (comments: none)
Digital Photography
Stable version 1.8.3
Qtpfsgui
is out with one new feature, bug fixes and improved documentation.
"
Qtpfsgui is a Qt4 graphical user interface that provides a workflow for HDR imaging."
Comments (none posted)
Video Applications
The swfdec 0.4.3 release is out. This is the version of swfdec contains
the updates that make it able to play videos from YouTube. "
Swfdec still is development software, but has also followed a rigid
no-crashes-allowed policy. I believe it's stable enough now to be
installed as a default plugin for people that can live with occasional
crashes of their browser."
Full Story (comments: 2)
Web Browsers
MozillaZine
has announced the release of Gran Paradiso Alpha 3.
"
Gran Paradiso Alpha 3, an early developer milestone aimed at testers and web application developers, has been released. This is the third milestone on the path to Gecko 1.9. As mentioned earlier, Gran Paradiso is the project codename for Firefox 3. This milestone includes support for Animated PNG (APNG) images and several backend changes for layout, rendering and web applications support."
Comments (none posted)
Miscellaneous
Version 1.0 of the Croquet software development kit has been
released. "
The kit provides developers with a flexible tool to create virtual spaces with built-in networked telephony and a 'late-binding object-oriented' programming language that allows multiple users to jointly create, animate or modify 3-D objects and dynamic simulations. Developers can also import and share resources, such as 2-D web applications or multimedia content, from their own systems. Working together across multiple locations, they can change simulations while they are running and work together to create new applications -- all in real time." The software can be downloaded from
the Croquet Consortium site.
Comments (none posted)
Languages and Tools
Caml
The March 27, 2007 edition of the Caml Weekly News
is out with new Caml language articles.
Full Story (comments: none)
Perl
The March 21, 2007 edition of the
Weekly Perl 6 mailing list summary is out with coverage of the latest
Perl 6 developments.
Comments (none posted)
Python
Version 0.0.21 of Shed Skin Optimizing Python-to-C++ Compiler has been
announced.
"
I have just
released 0.0.21, which comes with the following changes:
-important type inference fix/cleanup
-support for 'bisect', 'collections.deque' and 'string.maketrans'
-improved 'copy' support
-support for 'try, else' construction
-some optimizations ('dict[..] += ..', "''.join(sorted(str))")
-several minor bug fixes".
Full Story (comments: none)
The March 22, 2007 edition of the Python-URL! is online with
a new collection of Python article links.
Full Story (comments: none)
Ruby
This week's edition of the
Ruby Weekly News looks at pulling text from XML documents,
interactive help in irb, an upcoming regional conference in North Carolina
and more.
Comments (none posted)
Tcl/Tk
The March 27, 2007 edition of the Tcl-URL! is online with new
Tcl/Tk articles and resources.
Full Story (comments: none)
XML
Kurt Cagle
discusses XSLT 2.0 on O'Reilly.
"
Kurt Cagle provides some compelling arguments for the importance of XSLT 2.0 in XML applications as we move forward."
Comments (none posted)
IDEs
Version 1.3.1 of Pydev and and Pydev Extensions are out with many new
features.
"
PyDev is a plugin that enables users to use Eclipse for Python and Jython
development -- making Eclipse a first class Python IDE -- It comes with many
goodies such as code completion, syntax highlighting, syntax analysis,
refactor, debug and many others."
Full Story (comments: none)
Libraries
Version 1.2.2 of the JanRain PHP OpenID library is out with
bug fixes and optimizations.
Full Story (comments: none)
Page editor: Forrest Cook
Next page: Linux in the news>>