Development
SyncML: an introduction, its potential, its problems
Users of PIM (Personal Information Manager) software, such as Evolution, Kontact, or Chandler, tend to accumulate more information than just email. Typically, this is data such as notes, tasks, calendars and contacts, collectively known as "personal information". Keeping all of this information synchronized between the desktop, mobile devices and the web is difficult, but the SyncML standard may be able to help.
SyncML (Synchronization Markup Language) is a standard for synchronizing information. SyncML allows different kinds of devices (cell phones, portable music players, desktops, etc.) to synchronize various contact and scheduling information so that each device is kept up to date. It can also synchronize with a web service so that a forgotten phone number, for example, could be retrieved at an internet café.
SyncML is currently maintained by the OMA (Open Mobile Alliance) under the official name OMA-DS (Data Synchronization). The specification is available free of charge.
Usually there is a SyncML server, which provides a central master copy of a user's personal information. All of the user's SyncML clients will then synchronize against this central server. This central server communicates using the platform-independent SyncML standard. This avoids the combinatorial explosion of every device having to know how to talk to every other device in a device-specific custom format.
For selecting a SyncML server, the options are either to use a pre-existing public SyncML server, which is typically less effort, or to set up a SyncML server for private use. Two examples of popular public SyncML servers are ScheduleWorld and MyFunambol beta. ScheduleWorld is based on Funambol, but forked from the GPL-licensed version quite a while ago, with no code being contributed back. Since then, its author has invested a lot of work into improving it, and in the process, rewriting the contact and calendar support from scratch. These aspects are what ScheduleWorld deserves praise for, but because the code changes are kept private it has to be considered a closed-source non-distributable server.
Alternatively, there are open-source SyncML servers for users who prefer to set up their own local SyncML servers, such as Funambol, or for a complete list, see the Wikipedia article. For Funambol, the software does not seem to have been packaged by many distributions, and is surprisingly large at 170 MB for a distribution-independent .bin file, which includes its own installation of Tomcat. Deploying Funambol as part of an existing Tomcat installation is not recommended and is unsupported.
There are also open-source SyncML connectors available for connecting Linux PIMs to SyncML servers. Examples include SyncEvolution, and its user-friendly Genesis-Sync panel applet. For users wanting a quick HOWTO, this message on the Evolution mailing list outlines how to synchronize Evolution on Ubuntu with a Nokia N-series or E-series phone, using a public SyncML server.
The benefits of SyncML are that it has the potential to do for personal information what IMAP does for email; that is, make it live "in the cloud," and be remotely accessible, modifiable, and synchronized between a wide variety of devices. The idea of being able to view and modify personal information anywhere on multiple devices or on the web, and have it all synchronized together, with an update made on any one device replicated to all the others, is quite compelling.
A further strength of SyncML is that many cell phones, including all Nokia N-series and E-series phones, most Sony Ericsson phones, and most Motorola phones, have built-in SyncML clients - which means there is no need to install extra software on these phones to synchronize personal information. Add-on software is available for most other phones, including BlackBerry and Windows Mobile - see the ScheduleWorld wiki for example configuration information.
A final strength is that all of the SyncML clients can have a local cache of information, so that even when the Internet is not available users can still access and update their data. Two-way syncing then ensures that those updates will be propagated at the next synchronization.
Some of the weaknesses of SyncML are partially traceable back to its early adopters - namely, a consortium of various cell phone manufacturers. The protocol itself is data format agnostic. So for all but the simplest uses, like verbatim copying, the client and server need to agree on a common format for items. Due to its history, this format is often vCard 2.1 and vCalendar 1.0. The more capable iCalendar 2.0 format used by all desktop PIMs is often not or only partially supported.
A good SyncML server takes the capabilities and quirks of its clients into account when exchanging data with them. For example, a photo associated with a contact can be preserved when receiving an update of that contact from a client which cannot store photos. Less capable servers themselves drop some information because their internal data model is more limited than that of the clients they exchange data with. Client implementations can be poor, including crashes when sent something unexpected.
Further weaknesses are that most of the syncing interfaces seem to assume there is exactly one contacts folder, one calendar, one notes folder, and one tasks folder. This one-folder-only assumption makes sense on a cell phone, but it does not hold for a desktop PIM. For example, it is quite common to have multiple tasks folders and multiple calendars - so this assumption means that not everything is being replicated, which reduces the power of synchronization.
In addition, support for SyncML is not yet built into PIMs, in the same way that IMAP comes "as standard" in email clients. However, even having it integrated into a single PIM would be very useful for people who wanted the same data seamlessly synchronized between a laptop and a desktop, or a work machine and a home machine, and who ran the same PIM at both ends. The most desirable though would be to have complete synchronization between different PIMs.
A final weakness is that most SyncML User-Interfaces require the user to manually initiate the two-way sync with the server. Instead, it would be easier for the user if there was a set-and-forget option, where the SyncML client would sync only when it needed to; namely when either when the server push-notified the client of pending changes that it had not yet received, or when the client uploaded changes in the background made by the user on that device as the user made them.
In summary, it is currently possible to synchronize personal information between a mobile phone and PIM software using open-source with SyncML, and it currently works quite well, albeit with some limitations. However, SyncML or a successor to it, has the potential to be so much more powerful; it could be the next logical step beyond IMAP by providing seamless automatic synchronization of all personal information between multiple PIM clients. This would enable users to easily access and update all of their personal information, wherever they were, irrespective of whether there was Internet-access or not. There is certainly hope for further developments in this area.
The author gratefully thanks Patrick Ohly, the author of SyncEvolution, for his invaluable assistance in writing this article.
System Applications
Database Software
Firebird 2.1.2 released
Version 2.1.2 of the Firebird DBMS is available, see the release notes for more information.MySQL Community Server 5.1.33 has been released
Version 5.1.33 of MySQL Community Server has been announced. "MySQL 5.1.33 is recommended for use on production systems. Users running AIX 5.2 should be aware that this platform will be EOL'd from 30th April 2009, therefore 5.1.33 is likely to be the penultimate 5.1 release for AIX 5.2."
PostgreSQL Weekly News
The April 5, 2009 edition of the PostgreSQL Weekly News is online with the latest PostgreSQL DBMS articles and resources.sqlparse 0.1.0 released
Version 0.1.0 of sqlparse has been announced. "sqlparse is a non-validating SQL parser module for Python. The module provides functions for splitting, formatting and parsing SQL statements. This is the first public release of this module. It's still buggy, but it works at least for the most common tasks when dealing with SQL statements."
Filesystem Utilities
initramfs-tools stable release 0.93.2 released
Stable release 0.93.2 of initramfs-tools has been released. "initramfs-tools is a generic initramfs generation tool. latest stable adds fb fixes and a behaviour change for update-initramfs -u to work against newest initramfs instead of following maybe outdated /initrd.img symlink."
Interoperability
Two new Samba releases
Two new releases of Samba have been announced: Samba 3.2.10 Maintenance Release includes bug fixes and Samba 3.3.3 also includes bug fixes.
Networking Tools
iptables 1.4.3.2 announced
Version 1.4.3.2 of iptables has been announced. "The netfilter coreteam presents: iptables version 1.4.3.2 the iptables release for the 2.6.29 kernel. This version includes accumulated bugfixes for the previous release from Jan Engelhardt and Peter Volkov."
Web Site Development
nginx 0.6.36 released
Version 0.6.36 of the nginx HTTP server and mail proxy server has been announced. See the CHANGES document for release details.OpenExpert: 0.4.3 Release (SourceForge)
Version 0.4.3 of OpenExpert has been announced. "OpenExpert. Web based and Easy to Use Expert System. This release includes the addition of a Client ID (or name) when printing the results of an interview. Also a number of small bug fixes are included in the release. It is recommended that all OpenExpert users upgrade to this version."
Miscellaneous
rsyslog: 3.20.5 released (SourceForge)
Stable version 3.20.5 of rsyslog has been announced. "A syslogd supporting on-demand disk buffering, TCP, writing to databases, configurable output formats, high-precision timestamps, filtering on any syslog message part, on-the-wire message compression, and the ability to convert text files to syslog. rsyslog 3.20.5, a member of the v3-stable branch, has been released today. This is a bug-fixing released that also comes with slightly enhanced documentation. Most importantly, a bug in RainerScript number conversion and two potential segfaults have been fixed."
Desktop Applications
Audio Applications
bs2b foobar2000 plugin: 3.0.0 released. (SourceForge)
Version 3.0.0 of bs2b foobar2000 plugin has been announced. "The Bauer stereophonic-to-binaural DSP (bs2b) library and plugins is designed to improve headphone listening of stereo audio records. Recommended for headphone prolonged listening to disable superstereo fatigue without essential distortions. bs2b foobar2000 plugin 3.0.0 released. * libbs2b 3.0.0 with much more settings are used."
Gnac: 0.2.0 is out (SourceForge)
Version 0.2.0 of Gnac has been announced. "Gnac (GNome Audio Converter) is an easy to use audio conversion program. It is designed to be useful but pain-free for the end user. It provides easy audio files conversion between all GStreamer supported audio formats. The Gnac Team is proud to announce a new version of Gnac! This version add many new features and fixes."
libfishsound 0.9.2 released
Version 0.9.2 of libfishsound has been announced, it includes security and bug fixes. "libfishsound provides a simple programming interface for decoding and encoding audio data using Xiph.org codecs (FLAC, Speex and Vorbis)."
New linux audio plugins announced
A number of audio effect plugins for Linux and JACK are available at http://www.linuxdsp.co.uk.Practical Music Search: 0.40.5 released (SourceForge)
Version 0.40.5 of Practical Music Search has been announced. "Practical Music Search is a ncurses-based MPD (Music Player Daemon) client with a broad set of features and configuration options. The client adds much functionality to MPD and is aimed primarily towards power users. This is a relatively new piece of software, but it's getting fairly stable."
Data Visualization
rrdtool 1.3.7 released
Version 1.3.7 of rrdtool, a plotting package for time-series data, has been announced. "Users of versions 1.3.0 and 1.3.1 should upgrade since these releases contain a serious data corruption bug triggerd by running rrdtool update with multiple values in one go."
scikits.timeseries 0.91.0 released
Version 0.91.0 of scikits.timeseries, the initial release, has been announced. "The scikits.timeseries module provides classes and functions for manipulating, reporting, and plotting time series of various frequencies. The focus is on convenient data access and manipulation while leveraging the existing mathematical functionality in numpy and scipy."
ZGRViewer: 0.8.2 released (SourceForge)
Version 0.8.2 of ZGRViewer has been announced. "ZVTM is a Zoomable (2.5D) User Interface toolkit implemented in Java, designed to ease the task of creating complex visual editors in which large amounts of objects have to be displayed, or which contain complex geometrical shapes that need to be animate. ZGRViewer is a 2.5D graph visualizer implemented in Java and based upon the Zoomable Visual Transformation Machine. ZGRViewer can now be run both as a standalone application or as an applet."
Desktop Environments
A GNOME 3.0 plan
Vincent Untz has posted a lengthy proposal for a plan that would see a GNOME 3.0 release happening around the same time as the GNOME 2.30 release - about one year from now, in other words. The core of 3.0 would be the GNOME Shell and GNOME Zeitgeist projects, but there is more to it than that. "There's one obvious question related to those potential changes: what will happen to the old way of doing things? For example, will we still make the GNOME Panel available if, for some reason, people are not immediately happy with GNOME Shell? There's no obvious answer to this, and this will have to be discussed."
Planning for GNOME 3.0 (GnomeDesktop)
GnomeDesktop looks at GNOME 3.0 plans. "Because of lack of excitement. Because of lack of vision. Slowly, a plan started to emerge. It evolved, changed, was trimmed a bit, made more solid. We started discussing with a few more people, got more feedback. And then, at GUADEC, the Release Team proposed an initial plan to the community that would lead the project to GNOME 3.0. Quite some time passed; actually, too much time passed because too many people were busy with other things. But it's never too late to do the right thing, so let's really be serious about GNOME 3.0 now!"
GNOME Software Announcements
The following new GNOME software has been announced this week:- Glade 3.6.1 (bug fixes and translation work)
- GNOME Nettool 2.26.1 (bug fixes and translation work)
- GParted 0.4.4 (new features and bug fix)
- GtkImageView 1.6.4 (unspecified)
- Hitori 0.2.2 (bug fixes, code cleanup and translation work)
- moserial 2.26.0 (new features)
- Nemiver 0.6.6 (new features and bug fixes)
- PyGtkImageView 1.2.0 (unspecified)
- Vala 0.7.0 (build changes)
KDE Software Announcements
The following new KDE software has been announced this week:- 2ManDVD 0.7.5 (bug fixes and translation work)
- 2ManDVD 0.7.6 (new features, bug fixes and translation work)
- 2ManDVD - German language files 0.7.5 (translation work)
- Bilbo Blogger 0.9 (unspecified)
- cb2Bib 1.2.2 (new feature and bug fix)
- Image Commander 1.0 (unspecified)
- Image Commander 1.1 (new features and bug fixes)
- K Menu Gnome 0.9.3 (new features and code cleanup)
- KPorts 0.8.1 (new features and bug fixes)
- KTorrent 3.2.1 (bug fixes)
- PeaZip 2.6.beta (new features)
- QtiPlot 0.9.7.6 (new features and bug fixes)
- Qtractor 0.4.1 (new features and bug fixes)
- Qaduzer 0.5.1 (unspecified)
- VariCAD 2009 1.03 (new features)
- Zhu3D 4.2.0 (bug fixes and code cleanup)
KDE 4.2.2 released
Version 4.2.2 of KDE has been announced. "The KDE Community today announced the immediate availability of "Cano", (a.k.a KDE 4.2.2), another bugfix and maintenance update for the latest generation of the most advanced and powerful free desktop. Cano is a monthly update to KDE 4.2." See the change log for more information.
Xorg Software Announcements
The following new Xorg software has been announced this week:- libdrm 2.4.6 (new features, bug fixes and code cleanup)
- libX11 1.2.1 (new features, bug fixes and code cleanup)
- xf86-video-ati 6.12.2 (new features, bug fixes and code cleanup)
- xf86-video-nv 2.1.13 (new features, bug fixes and documentation work)
- xinput 1.4.1 (bug fixes)
- xpyb 1.1 (new features and code cleanup)
Electronics
gEDA/gaf 1.5.2-20090328 released
Unstable/development snapshot 1.5.2-20090328 of gEDA/gaf, a collection of electronic design tools, has been announced. "NOTE: This unstable snapshot should _not_ be packaged into distributions. This request is being reviewed and might change, stay tuned..."
Financial Applications
SQL-Ledger 2.8.24 released
Version 2.8.24 of SQL-Ledger, a web-based double entry accounting/ERP system, has been announced. Changes include: "1. Version 2.8.24 2. added reminders; keep track of level 3. added customernumber variable for generating document control numbers 4. additional option to calculate check digits according to modulo 10 and 11"
Graphics
PyOpenGL Release 3.0.0
Version 3.0.0 of PyOpenGL has been announced. "PyOpenGL is the traditional OpenGL binding for the Python language (Python 2.x series). This release is the first major release of the package in more than 4 years. PyOpenGL 3.x is a complete rewrite of the PyOpenGL project which attempts to retain compatibility with the original PyOpenGL 2.x API while providing support for many more data-formats and extensions than were wrapped by the previous code-base."
Mapping Software
eWorld: 0.8.1 released (SourceForge)
Version 0.8.1 of eWorld has been announced. "eWorld is a framework to import mapping data from providers, such as OpenStreetMap.org (OSM), visualize it, edit and enrich it with events or annotational attributes and pass it to traffic simulators, such as SUMO or VanetMobiSim. we are proud to announce the release of eWorld 0.8.1. This release contains one major new feature as well as fixes for many of the bugs reported by all of you. The new feature allows visualizing statistical data directly on the corresponding network map by altering street colors and widths. We are very curious to find out what you think of it."
Medical Applications
camba: 2.3.0 released (SourceForge)
Version 2.3.0 of camba has been announced. "CamBA is a Linux package for statistical analysis, by script/GUI, of neuroimaging data (fMRI/sMRI), developed at the Brain Mapping Unit, University of Cambridge. Non-parametric permutation-based statistics. Input images: 4D NiFTI files, output: HTML/PNG. After nearly one year, the latest version of CamBA, version 2.3.0 is released. For the majority of users this is simply a fine-tuning release of CamBA. However, for those more adventurous there are new programs, such as RETROICOR that are implemented for experiment/testing."
Multimedia
Elisa Media Center 0.5.35 released
Version 0.5.35 of Elisa Media Center has been announced. "New features include the ability to manually re-organize TV shows, movies and unclassified videos, and consistent font sizes throughout the UI. This release is a "heavy" release, meaning a windows installer is available for download on our website and ubuntu packages (for hardy and intrepid) in our PPA."
Music Applications
PianoBooster 0.6.2 released
Version 0.6.2 of PianoBooster has been announced. "The most interesting and innovative thing in this release are timing markers which drawn in real-time as you play on the piano keyboard. They appear as white crosses that are drawn over each note and they show if you are playing ahead or behind the beat."
TuxGuitar-1.1 has been released (SourceForge)
Version 1.1 of TuxGuitar has been announced. "TuxGuitar is a multitrack guitar tablature editor and player written in Java-SWT, It can open GuitarPro, PowerTab and TablEdit files. This release does not contain many visible changes. It's actually a code structure rewrite, changes that are need to face the challenge of 2.0".
Virtual MIDI Piano Keyboard 0.2.4
Version 0.2.4 of Virtual MIDI Piano Keyboard has been announced. "This is a maintenance release, mainly for cleanup and a few new features. Thanks to Serdar Soytetir for the Turkish translation. Virtual MIDI Piano Keyboard is a MIDI event generator and receiver."
Office Applications
pyspread 0.0.11 released
Version 0.0.11 of pyspread has been announced, it adds new features and bug fixes. "Pyspread is a cross-platform spreadsheet application that is based on and written in the programming language Python. Pyspread provides an arbitrary size, three-dimensional grid for spreadsheet calculations. Each grid cell accepts a Python expression. Therefore, no spreadsheet specific language has to be learned. Python modules are usable from the spreadsheet table without external scripts."
Office Suites
KOffice 2.0 rc 1 released (KDEDot)
KDEDot has announced the release of KOffice 2.0 rc 1. "Today, the KOffice team has released the first, and hopefully the only, release candidate for KOffice 2.0, bringing more than three years of work to a temporary conclusion. Compared to Beta 7, this release candidate brings a multitude of bug fixes and not a single new feature, as it should be!"
Science
PXL: 2.1.2 released (SourceForge)
Version 2.1.2 of PXL has been announced. "The Physics eXtension Library (PXL) is a C++ toolkit for fourvector analysis and hypothesis evolution in high energy physics data analysis. New tag. Includes major restructuring from 2.0 to 2.1, and some fixes compared to versions 2.1.0 and 2.1.1."
Miscellaneous
iFolder Project releases version 3.7.2
Novell has announced version 3.7.2 of iFolder. "The iFolder project, a Novell-sponsored open source initiative that simplifies synchronizing files across multiple systems and enables users to securely access and share files with other users, today announced its first open source release since 2007. Available immediately, users and developers can download iFolder 3.7.2 client and server packages and source code. The latest release adds several features, including support for new platforms, additional security options, improved handling of file conflicts, and capabilities for merging files. In addition to an updated project Website, Novell has put in place a community development plan to ensure that iFolder becomes and remains a vital open source project."
Languages and Tools
Caml
Caml Weekly News
The April 7, 2009 edition of the Caml Weekly News is out with new articles about the Caml language.
Java
IcedTea7 1.9.1 released
Version 1.9.1 of IcedTea7, a harness for build source code from OpenJDK6, has been announced. "We are pleased to announce a new minor release of IcedTea[7], containing a number of security updates".
Python
Numpy 1.3.0 released
Version 1.3.0 of Numpy has been announced. "This minor includes numerous bug fixes, official python 2.6 support, and several new features such as generalized ufuncs."
Pyro 3.9 released
Version 3.9 of Pyro has been announced. "Pyro is a an advanced and powerful Distributed Object Technology system written entirely in Python, that is designed to be very easy to use. Highlights of this release are: - improved compatibility with Jython, - fixed a deadlock bug in the name server proxy, - fixed mobile code problem with dependent modules, - manual improvements - script tool improvements"
Python 2.6.2 candidate 1 released
Version 2.6.2 candidate 1 of Python has been announced. "This release contains dozens of bug fixes since Python 2.6.1. Please see the NEWS file for a detailed list of changes. Barring unforeseen problems, Python 2.6.2 final will be released within a few days."
Python-URL! - weekly Python news and links
The April 3, 2009 edition of the Python-URL! is online with a new collection of Python article links.Python-URL! - weekly Python news and links
The April 8, 2009 edition of the Python-URL! is online with a new collection of Python article links.
Tcl/Tk
Tcl-URL! - weekly Tcl news and links
The April 1, 2009 edition of the Tcl-URL! is online with new Tcl/Tk articles and resources.Tcl-URL! - weekly Tcl news and links
The April 8, 2009 edition of the Tcl-URL! is online with new Tcl/Tk articles and resources.
IDEs
eric4 4.3.2 announced
Version 4.3.2 of eric4 is out with bug fixes. "Eric4 is a Python IDE written using PyQt4 and QScintilla2. It has integrated project management capabilities, it gives you an unlimited number of editors, an integrated Python shell, an integrated debugger, integrated interfaces to Subversion and CVS, an integrated refactoring browser, integrated unittest and much more."
YARI: v0.7.2 released (SourceForge)
Version 0.7.2 of YARI has been announced. "YARI is a comprehensive tool suite to debug, spy, spider, inspect and navigate Eclipse based application GUIs (Workbench or RCP). YARI got an upgraded version of the expression evaluator for ISources constants. Paintings of the workbench widgets can now be undone using the "undo paint" command."
Test Suites
STAF: V3.3.3 and STAX V3.3.6 are now available (SourceForge)
Version 3.3.3 of STAF and version 3.3.6 of STAX have been announced. "The Software Testing Automation Framework (STAF) is a framework designed to improve the level of reuse and automation in test cases and test environments. The goal of STAF is to provide a complete end-to-end automation solution for testers. These new releases contain new features, bug fixes, and documentation updates."
Version Control
GIT 1.6.2.2 released
Version 1.6.2.2 of the GIT distributed version control system has been announced. Changes include: "Mostly documentation updates with a few bugfixes."
Miscellaneous
GNU patch: upcoming stable release
An alpha release of GNU patch 2.5.9 is available. "The code should be feature complete for the next stable release with only a few minor bugfixes left in the queue. This is your chance to report more bugs that still need to be addressed. Please expect the next stable release to happen in about a month's time."
SimPy 2.0.1 released
Version 2.0.1 of SimPy has been announced, it includes bug fixes. "SimPy is a process-based discrete-event simulation language based on standard Python and released under the GNU LGPL. It provides the modeller with components of a simulation model. These include processes, for active components like customers, messages, and vehicles, and resources, for passive components that form limited capacity congestion points like servers,"
Page editor: Forrest Cook
Next page:
Linux in the news>>
