For all its components, KOffice (and KDE) lack a database modeler. Applications such as the open source DBDesigner render visual representations to help users maintain their expansive databases. Lima is targeting his implementation at KDE and Qt 4, which have tools and optimizations well suited for such modeling. His work will consist of developing the underlying logic for mapping the database, a KDE interface for the program, and a plugin architecture to offer extensibility and future support for diverse databases.
Mentor Jaroslaw Staniek has suggested that Lima focus his efforts on improving existing software such as Umbello or Staniek's own Kexi. A final decision has not yet been made, but Lima reported to me that: "I analyzed the Umbrello support to ER diagrams... my conclusion is that Umbrello is for UML and not for database design, nor has it the functionality to handle databases. Making a tool specialized to handle databases give me much more freedom that I do not have in a UML editor." For the moment, Lima can be expected to continue developing his independent project: "So... against the majority, but respecting the opinion of the majority, I'll continue to develop the project." Code already exists in the KDE SVN repository and Lima hopes for a stable version within two months. Staniek maintains that due to the short time frame for development (one season), his code is more likely to be integrated into an existing application.
Lima is a student at the Universidade Federal de Campina Grande in Brazil, noted for its focus on technology and computer science. He began his project before the Summer of Code, and had intended to continue it with or without support from either Google or KDE. He is the creator of KNetStats, part of the kdeextragear module, and several other unpublished projects developed with the KDE framework. When asked when his project might be finished, Lima offered a wise philosophy of software development: "a finished version... never! Finished applications are applications that no one uses, it's like asking what's the final version of KDE ;-)"
Today's mobile phones present problems for desktop users similar to those that PDAs once did: there are several different access protocols and no unified way to get data on to all of them. The Kandy and KitchenSync Kontact components are addressing synchronization of calendars, address books, and other information with mobile phones, but users still may want direct access to their mobile phone's filesystem.
Currently, users must figure out which of several protocols their phone uses and pray that it is one of those which KDE has support for. Like other directory protocols, mobile phones can be accessed through KIO-Slaves by any KDE application. KIO-Slaves exist for everything from network file-sharing protocols like NTFS, Samba, FTP, and even HTTP, to specialized slaves that format man pages and audio CDs for easy browsing. KIO-Slaves can already be used with some Bluetooth phones, but those with other models may need to use Gammu, moto4lin, or SieFS. Przylucki will try to unify all these protocols, and ones that don't currently work with Linux, into a single "mobile://" KIO-slave.
Przylucki will work with two mentors on her project. Marco Gulino, creator of related application KMobileTools, should be invaluable in helping with protocol support. KMobileTools already works with a few dozen phones, and has a user friendly interface for checking voice and text messages, addresses, and phone status. Stephen Kulow was among the original KDE developers and remains an integral part of the core team. His work in SVN maintenance, mailing list moderation, and code porting leaves his footprint on nearly ever part of KDE.
SeeByTouch is an evolved form of the virtual tactile display developed at the University of Heidelberg, which allows blind users to "feel" images via a matrix of braille-cells. The project's hardware and software were open-sourced in 2004, and have since been further developed by Rieger. He presented SeeByTouch at the Unix Accessibility Forum in 2004. His modern SeeByTouch device weighs under a kilogram, is collapsable to the size of a book, and is affordable. Rieger also notes educational uses for the tool, such as letting children feel graphs to better understand them.
Accessibility continues to receive strong focus from both KDE and Qt developers. There is an established KDE Accessibility team which works to keep all applications in the desktop usable by those with impaired vision, hearing, and dexterity who may not be able to read text, hear audible alerts, or operate a mouse as other users would. To that end, both separate applications and integrated features have been developed for KDE and Qt. Mentor Olaf Jan Schmidt is a longstanding member of both the KDE Usability and Accessibility teams. Integrating SeeByTouch in KDE will involve creating a KControl configuration module for the system, making it available to all KDE applications as a KPart, and improving language support.
Rieger, a student at the Universität Mannheim in Germany, is the ideal student for a SeeByTouch integration project, having been heavily involved with the technology for several years. Though many people's efforts were harnessed in the evolution of SeeByTouch, he is the only registered developer on the project's SourceForge site (founded in February, 2004), where software source code and hardware schematics are available. He has ported SeeByTouch to seven different languages, fourteen different operating systems, and added important features such as zooming. Rieger reported to me that he has familiarized himself with KDE development and that he is on track to meet Season of KDE project deadlines.
In his Summer of Code application, Rodriguez describes poppler, the PDF rendering library used in KPDF and the forthcoming Okular (due for release as part of KDE 4), and laments that both of these overlying applications lag in rendering patterns within PDFs due to a deficiency in poppler. Rodriguez intends to mend poppler according to Adobe's PDF specification (PDF) (section 4.6) in order to optimize its rendering of patterns.
Rodriguez outlines a four step process for completing his project: researching, hacking poppler, hacking okular and KPDF for compatibility, and then testing. Rodriguez reported to me that he has more or less finished his research and begun experimenting with the poppler code. He suspects that he may have the project finished as early as August, though no developer could be expected to promise such haste. Project mentor Albert Astals, KPDF maintainer, reminds me that Rodriguez's work will not strictly be in aid of KDE, but also other applications which rely on poppler such as evince.
As a member of the KDE Spanish translation team and a computer science major at Universitat Politècnica de Catalunya in Barcelona, Rodriguez has experience with both KDE and general software development. Rodriguez notes a possible reason for the rejection of his Summer of Code application, "I had to prepare my application in just a couple of hours because I was getting on a plane the next morning", and goes on to praise the Season of KDE for giving him an opportunity to become involved with KDE development. "I was thinking of getting involved in my beloved KDE project this summer since I've got some free time to spend. Getting support from them in the form of Albert Astals is a plus."
Hugo Parente Lima chose not to build upon the KDE UML modeler Umbrello for his database modeler project, but Sánchez opted to do the exact opposite. UML is an open specification for modeling systems created in 1997 and now in version 2.0, widely used in business, engineering, and software design. UML models can be visualized as diagrams to help modelers organize and understand very complex systems. Wikipedia has an example diagram displaying the thirteen possible types of UML diagrams in their respective categories. Umbrello is a respected competitor in the UML modeler field, but Sánchez looks to improve upon it by adding support for automatic field ordering
Adding a field sorting feature involves more complex tasks than one might expect. Sánchez must first look over Umbrello's code and decide where and how his addition will fit, something made easier by Umbrello's UML model of it's source classes. Sánchez's feature must be very flexible so that users may order their fields by regexp, common parameters, or any other criteria that may arise. His Season of KDE page discusses the complexities of this and arrives at the following solution: a dialog-based frontend to configure the most common uses of a custom-designed scripting language, which can be edited directly if necessary. Sánchez also plans to provide both user and developer documentation for his code, including UML diagrams.
When I spoke with Sánchez, a student at the Computer Science School at the University of Oviedo in Spain, he had begun designing the syntax for his scripting language. He is hoping for a usable version in October and a completed, user-friendly version in November. Sánchez has experience in bug-fixing with Umbrello and is already working on KDE GUI development for a school project. His work should help to improve KDE's already robust suite of developer tools, and make the desktop even more attractive to business users.
In his Season of KDE page, Sandell describes "Push content" as content routinely downloaded from a remote server and presented to the user as a communique - specifically email, Usenet posts, and newsfeed updates. All this content is fundamentally the same: a message. KDE currently manages each of them in separate and redundant applications (KMail for email, KNode for Usenet, and Akregator for newsfeeds). Sandell planned to use KMail as a base for combining the three push content readers because it has support for multiple accounts, although time constraints have forced him to leave newsfeed support for another time.
Such integration is not an entirely new concept. Projects outside of KDE, such as Mozilla Thunderbird already support all three communication formats, and KDE personal information management (PIM) frontend Kontact already offers access to KDE's three push content applications from one interface via KParts. An improved KMail is nonetheless necessary, as Sandell explains, "Because of the similarity in functionality between KMail, KNode, and Akregator, it makes sense to merge them into a single application. Kontact does this somewhat inadequately by allowing the user to quickly switch back and forth between the three applications' respective KParts, but this is disorienting and also results in an inconsistent user interface."
Sandell will begin by increasing KDE modularity by creating a KTrader service type to allow KMail, and other KDE applications, to access account data. Users will then be able to create separate KMail accounts for Usenet and Mail, whose content will be stored in separate locations. Only minor UI changes to KMail will be necessary to support the new content types, and code from KNode will be used to implement the new protocols. Sandell's code will be built against KDE 4, making use of new Qt 4 interface technologies and the KDE PIM storage solution Akonadi.
When I contacted Sandell he had yet to begin work on the project, citing a new job working on database software as the hold up. Nonetheless, he expects to have the project done on time now that he is settled in at his new position. He will be aided by experience developing an improved icon selection dialog and a resources KIO-slave for KDE. Sandell will be graduating from Appalachian State University in August. Mentoring him will be KMail developer Till Adam, who has worked with the project since 2003.
Unix users have been using Wine to run Windows programs for years, and it has proved an excellent tool for easing Windows switchers into Linux-based operating systems. Unfortunately, Wine configuration and use has always proved a barrier for inexperienced users - one of the largest audiences for the software. Several distributions have done their own Wine integration, but David Sansome intends to add support for Wine into KDE itself, to benefit users of all distributions. Visit Sansome's project proposal for very detailed information about himself, his goals, and Wine as it stands now.
Wine integration consists chiefly of two things: a KControl module for Wine configuration and KDE-wide support for recognizing and launching Windows executables. The KControl module will allow users to configure Wine settings such as the pseudo "Program Files" directory for installed applications and mapped storage drives. Hopefully, many of these options will be automatically configured using information from KDE technologies like Solid and basic assumptions about KDE users. Support for Windows executables will require specifying a MIME type that defaults to opening EXE files with Wine, a KFileMetaInfo plugin to let KDE applications recognize meta information stored in EXEs such as version number, improvements to Konqueror so that it displays Windows program icons, and Konqueror context menu entries for per-application configuration of Windows programs. Sansome expects working code for all of these tasks in just a few weeks, with intense testing to follow.
Sansome's project will involve patching and developing plugins for several different KDE applications and libraries, and making sure that each part of his project is of high enough quality to be accepted into KDE and contribute towards complete integration. Fortunately, Sansome has extensive experience with KDE development, integration, and Windows support. He is the creator of the widely-popular Gtk-Qt theme engine which visually integrates Gnome and Gtk applications with KDE, has ported several Windows screensavers that are now included with KDE, and has written code for the Qt frontend to Autopackage. Mentor Kevin Krammer is also an experienced Qt and KDE developer. The pair's work will no doubt ease Linux migration for users in years to come.
As instant messaging becomes more and more entwined with multimedia, via voice and video communication, KDE is eager to make the use of these features easy for its users. Reverse engineering of closed AOL, Yahoo, and Microsoft protocols to support their networks has proved rather difficult, but using existing KDE technologies to support A/V hardware ought to be rather simple. Segato is working to combine Kopete, the KDE universal instant messenger, with Phonon, KDE 4's universal multimedia framework API.
Segato will be focusing on the new Jingle plugin for Kopete, which is an extension to the open Jabber IM protocol. Jingle adds A/V communication support to Jabber, a protocol used by Kopete since 2002. Phonon is the new multimedia API for KDE 4, which will give all KDE applications easy access to A/V input and output hardware via any of a number of existing multimedia frameworks. In order to add Jingle support to Kopete, Segato will need to implement a Jingle plugin (or improve the existing Jabber plugin) for Kopete, add configuration to the Kopete A/V settings module, and improve any deficiencies in the still-evolving Phonon.
Despite experience with C++ and Qt coding, Segato will find help from mentors Kretz and Rogers invaluable. Kretz is the designer of Phonon, first released only a few months ago. Kretz will surely be watching Segato's work carefully, as his brainchild is put to the test in one of its first application uses. Rogers is the lead developer of Kopete as well as the OSCAR (AIM/ICQ) plugin maintainer.
As a major improvement to an existing and widely used application, K3b Lite is perhaps the Season of KDE's most visible project. K3b, "The CD and DVD Kreator", is among KDE's most revered applications, often compared favorably to commercial competitors in terms of both power and ease of use. It is undeniable, however, that some inexperienced users may find the K3b interface daunting. The Lite project aims to create a wizard interface that will guide users step-by-step through selecting a disc type (audio, data, etc.), selecting files, and burning the disc. The wizard will be integrated into K3b itself so that users may switch back and forth between the advanced and simplified interfaces.
Stefanovic's mockup of the wizard is the most descriptive possible summary of the project. His placeholder design is not very pretty, but at the project's end one can expect the sort of attractive graphics K3b is known for. The wizard not only directs the user as to the steps in burning a disc, but also has plenty of help text along the way to explain foreign terms like "mixed mode". Unless significant changes are made to the mockup, it will be necessary to use the main interface for video disc (VCD, eMovix) burning which may entail advanced K3b tasks such as video encoding. It will also be necessary to drop back to the K3b interface for other tasks or options that should not be presented to inexperienced users, like hardware setup and CD/DVD ripping. Stefanovic promises extensive developer and user documentation of the wizard.
Mentor Sebastian Trueg is K3b's lead developer and maintainer, one of the Season organizers, and a growing influence in the KDE project as a whole. Stefanovic, a student at the The Faculty of Mathematics, University of Belgrade Computer Science Department, has a demanding task in familiarizing himself in libk3b, but Trueg can lend his intimate understanding.
Knotes is a venerable application which has found an important place in KDE as a component of Kontact, the KDE PIM suite. Yang's application to support hierarchical notes and relationships in KNotes was passed over by Google, but there was enough encouragement among Kontact users and developers for him to revive the project in the Season of KDE.
In order to modernize KNotes, support for categorization and organization of notes will be added. The simplest way to do this is to simply allow users to tag notes as "Personal", "Business", etc., or any combination thereof. A potential hurdle is Palm synchronization, which may limit the possible number of categories to sixteen, and rule out features such as sub-categories. Yang, a Materials Processing and Control student at Huazhong University in China, plans to make the categories accessible via a menu and configurable via a separate dialog. He speculates that the three months the Season of KDE offers him will be more than enough time, although he must balance the project with an internship at Oak Pacific in Beijing.
Both Yang and Mentor Michael Brade, KNotes maintainer, described progress on the project to me as favorable. Yang expects a usable version in early September. Some work will be necessary to finish porting KNotes to KDE 4, since it was decided that Yang would focus on the upcoming platform, but both agreed that the project will likely be completed on time and the Code will be accepted into KDE in November. Brade offered to mentor three Summer of Code projects, all of which were not accepted. Yang's is the only of the three active in the Season of KDE.
These students have taken a unique path to becoming KDE developers, but the road is open to all. Anyone with some spare time will be welcomed into the fold at KDE, whether as a developer, artist, writer, tester, or simply a user. Visit the How to Help page for general information on joining the team. If you're considering writing code, you'll find plenty of documentation designed for those at any skill level. If you're anxious to begin hacking, try solving a few Junior Job bug reports targeted at new KDE developers. If you'd like a more casual position, try submitting some of your work for peer review at KDE-Apps or KDE-Look. If you have some OpenGL experience, donate it to the new compositing engine for KWin.
One would have to wait a few months to find out, but I doubt that any of the Season of KDE participants will end their projects in poor spirits - not a given, considering that they recently lost out on $4,500. They have all found kind and knowledgeable mentors and an easy to use, advanced, and professional development environment forged by the hundreds of KDE contributors that came before them. They might not all finish their projects before the season's end, not all of their code will be accepted into KDE, and not all of them will stick with open source or KDE programming, but it's hard to find any negatives when young people are being accepted into a charitable community and encouraged to learn.
Clusters and GridsI am a professional project manager and cybernetician. I have been studying TUNES (http://www.tunes.org/) for several years, and have come up with a project plan to accomplish it. I am running it past you to see what you think, but honestly, I will work on it whether you want to cooperate or not, as is my freedom with free software. However, I would be happier if you joined me."
Database SoftwareThis is a bugfix release for the current production release family."
Device DriversThis release represents the start of a long term effort by Intel to work with the X.org and Mesa communities to continuously improve and enhance the drivers. While these drivers represent significant work at both Tungsten Graphics and Intel, as our first release of this code, they're still in need of significant testing, tuning and bug fixing before they'll be ready for production use."
InteroperabilitySamba has been released. "The Samba Team is pleased to announce the general availability of Samba 3.0.23b. This is the latest stable release of Samba. This is the version that production Samba servers should be running for all current bug-fixes. Please read the changes in the Release Notes for details on new features and difference in behavior from previous releases."
LDAP Softwarelooks at LDAP, the Lightweight Directory Access Protocol, on O'Reilly. "If you've been struggling to understand what LDAP is and how it can be useful to you without picking up a 1,000-page tome, look no further. LDAP is great for some problems, pretty good for some others, and completely inappropriate for yet another batch of problems. In this first part of a series on understanding just what LDAP is, I hope I can help make LDAP easier to deal with by explaining, in English, what LDAP is and what it is good at. After that, looking at the data and writing code will be much easier."
Web Site DevelopmentThe Midgard Project has released the first beta release version for the upcoming 1.8 stable branch of the Midgard Open Source Content Management System. Midgard's 1.8 branch focus on improved stability for Midgard2 technology preview features introduced in 1.7 branch. First beta release is fully customizable and installable release adressed for developers and users who want to use Midgard environment on testing and even semi-production servers." Mod_python, the Apache Python integration suite, is out. The Changes from Version 3.2.8 document details what's new in this version.
Audio ApplicationseSpeak, a text to speech application (recently covered here on LWN.net), is out. Changes include new SSML (Speak Synthesis Markup Language) support, Afrikaans language support, more preliminary work on several new languages, improvements to the English languages variants, and more. Hopefully this will be the last LADSPA flavoured release of these plugins as they are now nearly all working in LV2. I will be concentrating any further improvments on the LV2 versions, and only backporting major bugfixes."
CADThe thirty-fourth release builds on the graphics improvements from the previous release. A number of small optimizations again reduce unneeded screen redraws, and a variety of redraw issues have been corrected. The newest PythonCAD release is the first release using Cairo graphics routines for entity drawing. If the Cairo routines are not available on the system then the existing GDK routines will be used, so only people running PythonCAD on recent PyGTK/GTK+ releases will see the change. The latest release includes the new ability to rotate objects around an arbitrary point in addition to the entity display improvements. Finally, a variety of other bug fixes and code improvements are included in the release."
Calendar SoftwareChanges (to pcal) include support for new languages (Danish, Dutch, Polish, and Romanian), improved compilation in certain Cygwin and Solaris environments, various bug fixes, and other minor improvements." ""
Desktop Environmentsproposed 1.0 version of the desktop entry specification has been posted. This document describes how .desktop files are to be formatted for use by both the GNOME and KDE systems. A lot of issues have been addressed, but it is not clear that the security concerns (covered on LWN last April) have been dealt with. The latest stable release of GNOME is here: GNOME 2.14.3! This is the final release in a series of point releases for the 2.14 branch. Come and see all the bug fixing, all the new translations and all the updated documentation brought to you by the wonderful team of GNOME contributors! While development is blazing ahead on the Gnome 2.15/2.16 road, with 2.16.0 not far around the corner, work on the stable branch has continued to make it even more solid." We are pleased to announce the release of GARNOME 2.14.3. This release incorporates the GNOME 2.14.3 Desktop and Developer Platform (the final release in the stable 2.14 series), fine-tuned and updated with love by the GARNOME Team. As usual it includes updates and fixes after the official GNOME freeze, together with a host of third-party GNOME packages, Bindings and the Mono(tm) Platform -- this release irons out yet-more bugs, hopefully adds yet-more stability and ships with the latest and greatest stable releases." covers the latest module decisions for GNOME 2.16. "Elijah Newren wrote: "The release team has completed its second meeting to try to finish the new module decisions. And, after all the long threads on d-d-l (mailing list) and the many discussions amongst ourselves trying to determine community consensus, we finally have the decisions..."" See the development list discussion for details. The libgnomeprint and libgnomeprintui modules are now marked as upcoming deprecatings in the desktop release suite. We hope to get them out of the suite as soon as possible, and 2.18.0 sounds like a nice deadline :-)"
Fonts and ImagesLibertine Open Fonts Project continues with the release of version 2.1.0. "Letters and fonts have two charakteristics: On the one hand they are basic elements of communication and fundament of our culture, on the other hand they are cultural goods and artcraft. You are able to see just the first aspect, but when it comes to software you'll see copyrights and patents even on the most elementary fonts. Therefore we want to give you an alternative: This is why we founded The Libertine Open Fonts Project." (Thanks to Philipp Poll.)
GamesPolyform Puzzler project. "Polyform Puzzler is a software toolkit for exploring & solving polyform puzzles, like Pentominoes and Soma Cubes. It consists of a set of front-end applications for specific polyform puzzles and a Python library that does the heavy lifting. New polyforms and new puzzles can easily be defined and added." has been announced. "This is a new release of StepMania, a music/rhythm game. The player presses different buttons in time to the music and to note patterns that scroll across the screen. Features 3D graphics, visualizations, support for gamepads/dance pads, a step recording mode, and more!"
GraphicsDANCE, the Dynamic Animation and Control Environment, has been announced. DANCE is a plug-in based software package for physics-based character animation. "ODE simulation with control is now very stable and can run in real time. Several other enhancements such as collisions through capsules, props, and user interface improvements. It is recommended to update your DANCE sof[t]ware to this version."
GUI Packageshas been announced. "This is the first version in the new 2.7 series. Please notice that this series is called "development" and not "stable" solely because compatibility is not assured among between different 2.7 series versions but there are no known issues with the stability of the programs using this version."
Mail Clientshas been announced. "Mozilla Thunderbird 220.127.116.11 was made available for download late last week. Much like the release of Mozilla Firefox 18.104.22.168, this is a minor update to improve stability and security. More information is available in the Mozilla Thunderbird 22.214.171.124 Release Notes with the Thunderbird 126.96.36.199 section of the known vulnerabilities page detailing the security issues fixed in this version." has been released. "Lead Mozilla Thunderbird developer Scott MacGregor writes in with news of the release of Mozilla Thunderbird 2 Alpha 1: "The Thunderbird 2 Alpha is now available. This alpha release is intended for developers and testers. It is focused on collecting feedback for several new features including: message tags, folder views, a new Windows installer, and a new mail alert notification. See the Thunderbird 2 Alpha Release Notes or the discussion thread for more information. Thunderbird 2 is scheduled for release late fall 2006.""
Web Browsersrelease notes for more information. has been announced. "Version 1.0.3 of SeaMonkey, the community-driven replacement for the Mozilla Application Suite, is now available for download. This release includes security and stability improvements and fixes a bug introduced in SeaMonkey 1.0.2 that sometimes stopped the Location Bar from working when switching tabs. In terms of some of the issues addressed, this update can be considered to be equivalent to Mozilla Firefox 188.8.131.52 and Mozilla Thunderbird 184.108.40.206."
SeaMonkey 1.0.4 followed, it fixes a bug introduced in version 1.0.3.
Languages and Tools
PHPPHP, the PHP Hypertext Processor, is out. "This release combines small number of bug fixes and resolves a number of security issues." See the change log for more details.
Pythonhas been announced. "This is an beta release. It is not suitable for production use. It is being released to solicit feedback and hopefully discover bugs, as well as allowing you to determine how changes in 2.5 might impact you. In particular, note that changes to improve Python's support of 64 bit systems mean that some C extension modules may very well break. This post has some pointers to more information for C extension authors. There's been over 50 fixes made since the second beta. This large number of changes meant we felt more comfortable cutting a third beta release, rather than charging ahead to the release candidate. Python 2.5 is now in feature freeze mode."
RubyRuby Weekly News looks at the latest discussions on the ruby-talk mailing list and comp.lang.ruby newsgroup.
Page editor: Forrest Cook
Next page: Linux in the news>>
Copyright © 2006, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds