March 7, 2005

Make your Windows desktop apps open source

Author: Dmitri Popov

Even if you have good reasons for sticking with Windows, you can still keep your desktop applications open source., the GIMP, Gaim, and Mozilla Firefox and Thunderbird are all pretty obvious choices when it comes to software most of us use on a daily basis. There are, however, quite a few other useful applications that can help you to deal with the daily grind.

Backup and antivirus software

Good antivirus and backup software are essential elements of trouble-free daily computing. ClamWin and Abakt can help you to keep your computer free from viruses and your data safe from disasters.

Actually, ClamWin isn't a standalone antivirus application, but a Windows interface to ClamAV -- an antivirus software originally developed for Linux. Don't let ClamWin's barebones appearance fool you. Its simple interface offers useful features that makes ClamWin a viable alternative to the commercial packages.

Using ClamWin's Preferences panel, you can decide how to handle infected and suspicious files (remove them immediately or place them in a quarantine folder), configure and schedule scans and updates (which will ensure that ClamWin's virus database updates automatically when new viruses are found), and define filters that include or exclude particular file types. ClamWin can scan for viruses not only in the files and archives (it supports RAR, zip, gzip, bzip2, and tar archives) but also in email attachments and macros in Word documents. ClamWin also integrates nicely into Windows Explorer, so you can access it via context menus. Lastly, if you use Outlook, you can also get a ClamWin add-in to it.

ClamWin has a couple of shortcomings. Notably, it doesn't include a resident shield that scans the programs when they are loading in memory. And although ClamWin includes an Outlook add-in, you can't set it up to scan incoming and outgoing mails with other email clients.

Backing up your data is only slightly more appealing than watching paint dry, but Abakt can help you to make the task a bit more tolerable. Using Abakt you can create one or several backup profiles and configure the properties for each of them. You can decide what kind of compression the backup profile should use (Abakt supports both zip and 7z formats), and define file filters that include or exclude files from the backup. Abakt allows you to choose between full, differential, incremental, and inverse backup types, and you can also set Abakt to split the resulting backup archive by size and protect it with a password.

Although Abakt doesn't include a scheduling feature, it can run from the command line with a number of parameters. This means that you can easily automate the backup process using a batch file and Windows' Scheduled Tasks feature. Simply create a file with the following command (the actual path and the backup profile name depend on where the Abakt application and the backup profile are stored) using Notepad:

"C:\Program Files\Abakt\Abakt.exe" -b -x -m "C:\Application Data\Abakt\Profiles\AbaktBackup.abp"

Save the file with .bat extension. From the Start menu, choose All Programs > Accessories > System Tools > Scheduled Tasks. Double-click on Add Scheduled Task, and use the Scheduled Task Wizard to a new task that will run the batch file.

Keep in mind, though, that Abakt is designed as a personal backup application, and as such it lacks some of the advanced features of its commercial counterparts. Crucially, it can't verify backups and it doesn't allow you to backup data over network or to removable media. You can, however, use packet-writing software such as InCD (it bundled with many CD and DVD burners) to overcome the latter shortcoming. You can also backup files using mounted network folders.

Compression software

Windows XP allows you to perform basic features with zip archives. If you need a more flexible tool, try 7-Zip, which can manage not only zip archives but also CAB, RAR, ARJ, gzip, bzip2, Z, tar, cpio, RPM, and deb. You can use 7-Zip to create archives in its native 7z format, which offers a significantly better compression ratio compared with the old good zip format. The format allows you to create self-extracting files, so other users don't need 7-Zip to be able to unpack them. Since 7-Zip integrates with the Windows shell, you can access its commands via context menus. 7-Zip's clean interface allows you to work with archives with minimum fuss, and there is also a command-line version for advanced users.

Notepad replacements

Notepad is one of the simplest yet most useful tools in the Windows arsenal. However, if you find yourself using Notepad for more than just basic tasks, then you should consider replacing it with something more powerful -- Notepad2, for example, which is more than a Notepad replacement. If you work with code, you will appreciate Notepad2's syntax highlighting, which supports HTML, JavaScript, PHP, C/C++, C#, Java, and Pascal, among other languages. You can use Notepad2's drag-and-drop functionality to edit text. Editing keyboard shortcuts make the whole editing process more efficient. The application even includes such an unusual feature as rectangular selection. Since Notepad2 supports some regular expressions, you can use it to perform advanced search and replace operations. It also supports Unicode, UTF-8, Unix, and Mac text files.

Notepad++ also offers syntax highlighting, regular expressions, and drag-and-drop functionality. It adds a couple of other features, such as a tabbed interface (which allows you to quickly switch between multiple documents), multi-view mode (useful for viewing to documents side-by-side), and text zoom. Using Notepad++ you can add bookmarks to a long document.

Calendar software

Even if you are not a busy professional, you might still need to keep tabs on your appointments, TV programs, and anniversaries. Though only 780KB in size, Rainlendar is an ingenious desktop calendar utility that supports recurring events. You can assign different categories (or profiles) such as work, trip, or home to each event. On every startup Rainlendar displays a reminder containing events scheduled for the current date. If you use Outlook, you can configure Rainlendar to display appointments from it. You can also install a Rainlendar server (available for Windows and Linux), and synchronise calendars between several clients.

There are, however, situations where you need something more powerful than Rainlendar. Sunbird, the Mozilla calendar program, was originally developed as an extension for Firefox and Thunderbird, but is now as a standalone application. Sunbird provides day, week, multiweek, and month views, and it can handle multiple calendars, recurring events, alarms, and email notifications. Using Sunbird you can also subscribe to iCal-compatible calendars and publish your own calendars online.

File transfer

BitTorrent is becoming an increasingly popular way of distributing software, and to be able to work with torrent files you need a BitTorrent client. There are plenty of BitTorrent clients to choose from, but if you are looking for a no-nonsense application with a simple and unobtrusive interface, then BitTorrent++ is just the ticket.

Although BitTorrent and other P2P technologies have taken the world by storm, they haven't replaced the good old FTP. FileZilla is a no-nonsense FTP client, which will most probably cover all your FTP needs. It allows you to upload and download files via drag-and-drop, while its built-in host manager keeps records of the servers you contact most. FileZilla also supports resuming of aborted downloads and works with firewalls and proxies.

If you need something more secure than FTP, try WinSCP, a powerful and user-friendly SFTP client that supports SSH.

RSS software

Reading material from RSS feeds is not only a nice pastime, but also an effective way to keep yourself up-to-date without spending too much time visiting numerous Web sites. RSSOwl is an RSS reader that has a lot going for it. It's written in Java, so it can run on Windows, Linux, and Mac OS X, it has a nice lightweight interface, and it's a breeze to use. You can easily import and export existing feeds in OPML format, you can configure the preferences of each feed individually, and you can let RSSOwl find RSS feeds for you by scanning an opened Web page. For RSS power users there is also a good search feature, which allows you to search the feeds using sophisticated search criteria. You can easily email a news article directly from within RSSOwl, and create your own RSS files called subscriptions. RSSOwl also has a unique feature that allows you to save feeds as nicely formatted PDF, RTF, and HTML documents. You can minimise RSSOwl to the System Tray on Windows, where it sits quietly and notifies you when fresh news articles arrive.

Music and video software

Many desktops include a music and video player. There are quite a few such open source applications. If you have a huge music collection, then you should probably start your search with wxMusik. Despite its simplistic interface, wxMusik is a powerful music player. Thanks to an embedded SQL database you can use wxMusik to organise and search through thousands of music files. The application supports fuzzy searches, making it easier to find music files without knowing their exact titles. Powerful batch and auto-tagging features allow you to easily sort your music collection (wxMusik can read and write tags in APE v1 and v2, ID3 v1 and v2, FLAC, and Ogg formats). The player also allows you to create dynamic playlists, which automatically categorise your music files into, for example, 100 most skipped songs, possible double entries, most played songs, and so on. You can, of course, also create static playlists via drag-and-drop. With the Audio DJ feature you can use wxMusik as a jukebox, and since wxMusik can play Icecast and Shoutcast streams, you can also use it to listen to Net radio stations. wxMusik doesn't include a CD ripper, but if you need one, you can try musikCube, It originated from the same project as wxMusik, which explains some striking similarities between the two applications.

VideoLAN is software that allows you do more than just listen to music and watch DVDs. Started as a student project, VideoLAN is capable not only of handling a wide range of formats, but also streaming content on a local network. The VLC media player's user interface isn't exactly eye candy (it does support skins, though), but it allows you to both play and stream music and films without too much hassle.

A (Lite)Step further

Using open source software you can replace not only most of the software on your Windows desktop, but also the desktop itself. To do this you need a Windows shell replacement. One of the most popular shell replacements is LiteStep. Using its modules and themes you can build a fully customised desktop environment.

The easiest way to get started with LiteStep is to download the LiteStep Windows Installer, and install the package. Once you have become familiar with LiteStep, you can start experimenting with customising it. LiteStep is configured and controlled via a text configuration file called step.rc. Although the syntax of step.rc is not very difficult, you might need some help to come to grips with its commands. Official documentation and tutorials will provide you with enough information to get the most out of LiteStep.

Final word

Moving to Linux is not always an option, but using open source software for Windows you can do the next best thing, and keep your Windows desktop free of commercial software.

Dmitri Popov is a freelance writer whose articles have appeared in Russian, British, and Danish computer magazines.

Click Here!