LWN.net Logo

Development

KDE 4 gets more Hot New Stuff

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.

[Get Hot New Stuff]

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

Firebird sub-release 2.0.1

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)

PostgreSQL Weekly News

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

BusyBox 1.5.0 released

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

Samba 3.0.25 pre 2 released

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

Metasploit Framework 3.0 released

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

Announcing Django 0.96

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)

Plone 3.0-beta1 is out

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)

Silva 1.6 Final released

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

CLAM 1.0 released

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)

Vamp audio analysis plugin API 1.0 released

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

GNOME Software Announcements

The following new GNOME software has been announced this week: You can find more new GNOME software releases at gnomefiles.org.

Comments (none posted)

KDE Software Announcements

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)

The Road to KDE 4: Updates and Addenda (KDE.News)

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)

Xorg Software Announcements

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

ASCO 0.4.6 released

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)

Covered 0.5 released

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)

Layout editor 20070319 announced

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)

Mirth 1.4 Released (LinuxMedNews)

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

Ember 0.4.3 released

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

Dia v. 0.96 released (GnomeDesktop)

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

Urwid 0.9.8 announced

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

Canorus 0.2.5 is out

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)

GMIDImonitor 3.2 released

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

Qtpfsgui 1.8.3 released

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

Swfdec 0.4.3 released

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

Gran Paradiso Alpha 3 Released (MozillaZine)

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

Croquet SDK 1.0 Released

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

Caml Weekly News

The March 27, 2007 edition of the Caml Weekly News is out with new Caml language articles.

Full Story (comments: none)

Perl

Weekly Perl 6 mailing list summary (O'Reilly)

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

Shed Skin Optimizing Python-to-C++ Compiler 0.0.21

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)

Python-URL! - weekly Python news and links

The March 22, 2007 edition of the Python-URL! is online with a new collection of Python article links.

Full Story (comments: none)

Ruby

Ruby Weekly News

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

Tcl-URL! - weekly Tcl news and links

The March 27, 2007 edition of the Tcl-URL! is online with new Tcl/Tk articles and resources.

Full Story (comments: none)

XML

The Future of XSLT 2.0 (O'Reilly)

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

Pydev 1.3.1 Released

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

PHP OpenID 1.2.2 released

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>>

Copyright © 2007, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds