Re: How not to release software

September 8th, 2009 - Severin

This is a response to the three comments on the How not to release software post. I originally intended to write this as a comment, but as more as the text grew, the more I thought about turning it into a stand-alone post:

Thanks alot everyone for the kind words. :-)

It’s probably not right to say that LottaNZB is my very own project since Sander is the original author and is still part of the development and also pays the bills for lottanzb.org (big thanks to him for this). Being involved in several other interesting programming projects (mostly Android-based) he hasn’t been contributing to the code base for a while. I really hope that I didn’t scare him away because of my tendency to rewrite code over and over again, may be because I’m an aesthet both when it comes to code and UI design.

This leads me to history of me and Linux. It started when I switched from Windows Vista to Ubuntu 8.04 Alpha 2 about one and a half year ago. I never looked back. The free software community has turned out to be the world I was looking for and didn’t know of for years! A world of openness, collaboration, sharing and friendship. After I started to work on LottaNZB as a complete beginner to Linux programming, my knowledge about the whole Linux ecosystem grew as LottaNZB as an application got more professional… and vice versa. And it even greatly improved my English. :-D

It’s great to see that people appreciate ones work and it’s a terrific feeling to see people contributing translations, filing bug reports, writing patches and sharing their ideas about new features with us.

I’m afraid that after some investigation, I figured out that getting LottaNZB 0.5 to work on GTK < 2.16-based systems like Ubuntu 8.04 and 8.10 would in fact mean to revert the migration from the deprecated libglade to GTKBuilder. I know that there are quite some LottaNZB users who would have loved to run the version of LottaNZB 0.5 on such systems but I must say that it’s probably not worth the effort. LottaNZB 0.4.1 turned out to be a quite stable release and comes with most of the features LottaNZB 0.5 has to offer. Because of that, I changed the download pages accordingly. I really hope that you understand this decision. This might even provide you with a reason to upgrade the system. ;-)

SABnzbd is definitely a nice piece of software with lots of potential. I really look forward to the day when we’ll be able to announce the release of the first version of LottaNZB based on SABnzbd, but there’s still a long way to go. While the new backend has mostly been written already, what’s left to be done is the UI and all the glue code that’s necessary to keep everything together. What I have in mind is to turn LottaNZB into an application that is as powerful as SABnzbd’s web interface, but with less clutter and the clean and welcoming GNOME/GTK look I love so much.

Thanks again for all your support. It’s a pleasure to write software for you. :-)

How not to release software

September 7th, 2009 - Severin

I generally tend to be nervous when releasing a new major version of LottaNZB and I always ask myself if we really catched all nasty bugs or if I’m going to wake up with my inbox full of bug reports. This time, I was pretty confident that everything went reasonably well, considering that I hadn’t added any new features for several months and only focused on making the software to run as smoothly as possible. We even had a public beta test this time, which helped to track down a few bugs I weren’t aware of before.

I should’ve known better. Soon after the release, Marcel de Vries reported that he was unable to launch LottaNZB 0.5 on a fresh installation of Ubuntu 9.04 due to missing directories. A fix was quickly developed and scheduled to be included in LottaNZB 0.5.1. Things got serious when dasbooter reported that it wasn’t possible to launch LottaNZB 0.5 on a machine with GTK 2.12 (may be Ubuntu 8.04).

I confirmed this issue after having set up a virtual machine running Ubuntu 8.04. The problem is that the migration from the deprecated libglade to GTKBuilder didn’t went as smoothly as I expected. While Ubuntu 8.04 comes with support for GTKBuilder (GTK 2.12), the support isn’t as complete as I expected it to be. For GTK 2.14 the problem is the same.

The release announcement has been changed quickly as well as the download page so that people running older distributions don’t end up with an installation of LottaNZB that simply won’t start. People how experience this problem are asked to remove LottaNZB 0.5 and go back to 0.4.1. They’ll probably need to reconfigure LottaNZB.

Where do we go from here? It’s clear that the lion’s share of all LottaNZB user tend to use the latest version of their distribution. Since it’s not even been a year since the release of GTK 2.14 (Ubuntu 8.10) and the fact that Ubuntu 8.04 is an LTS version, it’s clear that it would be desirable to have support for those versions. If it’s possible to get back the support for LottaNZB 0.5 for those versions using a reasonable amount of work, it should be done. LottaNZB 0.6 on the other hand will definitely depend on GTK 2.16.

I’m afraid I can’t give you a date when and if the LottaNZB 0.5.x series will support GTK 2.14 (or even GTK 2.12).

What is left to be said is that I’m sorry for the troubles that this release might have caused for some LottaNZB users. There’s a positive side to the whole episode: I definitely learned alot and it tought me to avoid such things in the future, by testing ones code more extensively and on more platforms.

LottaNZB 0.5 released

September 5th, 2009 - Severin

The wait is finally over. Six months after the release of LottaNZB 0.4.1, I’m proud to announce LottaNZB 0.5! Let’s have a look at all the awesome new stuff in this version.

Plug-in support in LottaNZB 0.5Plug-ins

We want to keep the default user interface as clean as possible, while making it easy for you to activate extra functionality if you need it. In LottaNZB 0.5, we turned both the categorization and Newzbin support into plug-ins. You can also hide the LottaNZB icon from the notification area if you want to.

More GNOME-ish

We want LottaNZB to look and behave exactly like the other GNOME applications you love! LottaNZB 0.5 instantly applies changes to the preferences. There’s no need to press a “Save” button anymore.

What took you so long?

There are some issues that should have been tackled much sooner. It’s now possible to open the preferences window also if LottaNZB is connected to another computer and makes it possible for you to change the bandwidth limit. You can finally enqueue NZB files over the network! Have you ever wondered why NZB files just vanish as soon as you add them to LottaNZB? Now you can choose whether you’d like to keep them or not.

Hail GNOME 3.0

GNOME 3.0 is on the horizon and some technologies are being replaced by new and better ones. This is why we migrated from the deprecated libglade to GTKBuilder. Unfortunately LottaNZB 0.5 only runs on distributions not older than half a year (those that come with GTK 2.16). For example, if you use Ubuntu 8.04 or 8.10, please don’t upgrade to LottaNZB 0.5 or go back to LottaNZB 0.4.1 if you’ve already done so.

The configuration has been moved from ~/.lottanzb to ~/.config/lottanzb, making it easier for you to take all your desktop configuration with you, including LottaNZB’s.

Consider your days counted, bugs!

As always, several bugs have been fixed thanks to reports by various LottaNZB users! A special thanks to those brave people who have participated in the successful public beta test.

Thanks go out to all who have contributed to this release in some way, no matter if by contributing code, reporting bugs or translating the application to all kind of languages. We will probably release LottaNZB 0.5.1 few weeks after this release, giving LottaNZB users (you!) the time to update the translations and report bugs we haven’t catched during the public beta.

The LottaNZB 0.5.x series will probably be the last one that’s based on HellaNZB. You might want to read more about what we have in mind for LottaNZB 0.6.

Now go to the download section and get it while it’s hot!

UPDATE: Marcel de Vries reported a bug which causes NZB files not to be associated with LottaNZB during the installation on Ubuntu. I just uploaded new Ubuntu packages (built by Launchpad instead of my computer), which are available at the download page or the LottaNZB PPA. Instead of a single Ubuntu package, we now have a package for each Ubuntu version. Please note that you will be told (erroneously) that the new package is in fact older than the installed one. This is not the case. If you want to use the new Ubuntu package, you will need to remove the installed one first.

LottaNZB 0.5 Beta released

August 24th, 2009 - Severin

It’s been a long time since the last release of LottaNZB and many things have happened since January 2009. LottaNZB has been uploaded to Debian and Ubuntu, we introduced a fresh new design for this homepage and finally wrote about the major changes planned for LottaNZB 0.6. We also promised to release LottaNZB 0.5 soon, which we’ve been working on mostly in winter and spring. Due to exams and other work and because I’ve already been working on LottaNZB 0.6, LottaNZB 0.5 waited for a long time to be released. During the past days I’ve done some final polishing and can tell you that it’s really close to a release, finally.

I hereby announce a public beta test for the upcoming release of LottaNZB 0.5! All the new features of LottaNZB 0.5 are already there. Among them is the support for plug-ins, the possibility to enqueue files over the network and a couple of UI improvements. Additionally, from a technical point of view, LottaNZB has been made ready for future versions of GNOME by porting it from libglade to GTKBuilder. And of course several bugs have been fixed thanks to reports by various LottaNZB users. The release announcement of the final version will contain some more information about what’s new along with some shiny screenshots.

The reason for this beta test is that we’d like to catch bugs we might have missed as well as give you the opportunity to update the translation of the application!

We only provide the source package as well as the package for Debian/Ubuntu. Packages for Fedora will be created once the final version of LottaNZB 0.5 is released.

We really look forward to your feedback in the form of comments and bug reports. Contributions to the translation are also highly appreciated. If no major bugs show up, the final version of LottaNZB 0.5 will be released in a few days.

Thanks for your patience!

UPDATE: I just uploaded a new LottaNZB beta version (0.4.96) which fixes a severe bug reported by Frank Zwart which caused LottaNZB to crash on startup when installed using the Ubuntu/Debian package. Also a minor preferences UI issue has been fixed. The above links now point to the updated files.

Preview: LottaNZB Mobile for Android

July 5th, 2009 - Sander

When I started the LottaNZB project a couple of years ago, it was basically because I didn’t really like working from the command line at that time. Since HellaNZB was lacking a graphical user interface, I decided to create one for myself. When I considered LottaNZB to be good enough for my personal usages, I thought that other people might benefit from it as well.

The project I’m going to tell you about in this post came from the same need: Android was lacking a nice client which interacts with LottaNZB. As you might have guessed from the title of this blog post, LottaNZB mobile is a work-in-progress app for Android. It is a remote front-end to either a running HellaNZB daemon, or a running LottaNZB process (which launches the HellaNZB daemon).

The application supports pausing and removing downloads and it allows for rearranging of the download queue. Adding nzb-files sometimes works and sometimes doesn’t, but well, as I said, it’s a work in progress. :-)

More »

New Fedora packages

June 16th, 2009 - Severin

The Fedora packages for LottaNZB on this website never had a high quality due to the fact that I didn’t know much about RPM packaging and personally didn’t use Fedora. Whenever a new version of LottaNZB was released, I fired up VirtualBox and launched the virtual Fedora 9 installation in order to build the RPM package and give it a quick try (which was overall quite annoying). There were several problems: For instance, it wasn’t possible to install the LottaNZB package on the recently released Fedora 11. Additionally, the Fedora download page asked users to grab the HellaNZB and unrar package and install it. I didn’t even notice that the newest version of HellaNZB has been part of Fedora’s repositories for quite a while and unrar packages can be found in the RPMFusion repositories.

I’m happy to announce that the situation is going to be much better starting today! In collaboration with PabloTwo and leigh123linux, two awesome guys on the Fedora Forum, a proper SPEC file was created for LottaNZB, which is used to build RPM packages from source tarballs. Next, I learned about Koji, a Fedora service similar to Ubuntu’s PPA feature that makes it possible to build RPMs for different versions of Fedora on their servers. It turned out to be incredibly easy to use! I also created a Fedora-specific patch for LottaNZB that makes sure that LottaNZB plays nicely with the HellaNZB package shipped with Fedora. This package doesn’t depend on unrar, which means that the automatic extraction of downloads is not enabled by default.

Using Koji, I created one LottaNZB package for Fedora 9, one for Fedora 10 and one for the latest release, Fedora 11.

Get the one that fits you from the Fedora download page now and tell me if it works for you!

Packagers of other RPM-based distributions are recommended to use the SPEC file that can be found in LottaNZB’s code repository. It probably won’t require much changes to adapt it to your distribution!

Thoughts about the future of LottaNZB

June 14th, 2009 - Severin

In 2007, LottaNZB started as a nice little project with great ambitions. With joined forces of numerous contributors, it made fast progress in the following year, with the goal of providing the most easy and convenient way of downloading files from the Usenet for Linux desktops.

For a long time, LottaNZB’s backend, HellaNZB, served us well as the piece of software that did the actual work for our graphical application. However, to our regret, the project hadn’t been maintained since the time LottaNZB was initially born. First, this wasn’t that severe, but we spent more and more time thinking about how to overcome and work around the limitations of HellaNZB’s capabilities, especially the ones of its API. The HellaNZB developers didn’t really express interest in continuing the development of HellaNZB, mostly due to the lack of time. Additionally, with the release of Python 2.6 and Python 3.0, we’re entering a new age of Python that requires developers to update their applications.

We initially thought that we could revive the HellaNZB project by providing patches and implementing new features. The problem is that diving in to another applications code always takes a long time and that some changes LottaNZB would really benefit from would probably require quite an amount of work. Additionally, we, the core developers of LottaNZB, don’t have much knowledge about networking stuff, that might be required to fix the inherently broken bandwidth throttling. A simple patch fixing Python 2.6 deprecation warnings that was submitted to the HellaNZB developers wasn’t applied to the code-base.

Being one of the core developers of LottaNZB I started to realize that developing a third-party application for a dead and more and more broken project is kind of frustrating. What I knew for sure is that I don’t want LottaNZB to die because as an NZB grabber, it’s a quite unique and valuable application with its simple and tidy user interface.

In the past year, other NZB grabbers gained more and more attention, notably SABnzbd, while HellaNZB presumably didn’t attract many new users. Especially SABnzbd, which is a NZB grabber with a browser interface, is being developed at an incredible pace and has a large active community. During the past months, I saw this project as a competitor and disliked that they had that many downloads. But during a conversation with a LottaNZB user from Portugal named VuDu, the following idea came up:

What if LottaNZB was ported to SABnzbd?

I felt guilty when I first thought about this, but the longer I think about it, the more reasonable it appears to me. The upcoming SABnzbd 0.5 offers an API that offers much more information and methods than HellaNZB’s one. Surprisingly, there are still no GTK applications based on SABnzbd, except for a tiny tray applet for the GNOME desktop. This means that LottaNZB would definitely fill a gap because personally, I prefer a shiny and well-integrated GTK application over a web interface in my browser of choice while it still leaves the possibility of accessing it from a remote location. SABnzbd runs equally well on Windows, Linux and Mac OS X. Because of the project’s large user base, we would probably even attract more users than we do now.

Such a transition would require quite an amount of changes in LottaNZB’s code, but overall it wouldn’t be necessary to make much changes to the GUI and rewriting the invisible parts of LottaNZB can also be seen as an opportunity to make it much better than before thanks to the things we’ve learned about it in the past.

I got in touch with the lead developers of SABnzbd a while ago. Telling them about the potential future of LottaNZB, they expressed interest and told me that they would be eager to help us with the transition.

In the past days, I’ve been working closely together with Shypike, a very friendly and collaborative SABnzbd developer, and provided him with a couple of fixes for SABnzb’s API, which soon after showed up in SABnzbd’s codebase. Collaboration between application and team boundaries: A crucial element in the world of Free Software everyone profits from and that motivates people to create amazing software!

Suppose we make this migration, there are couple of goals we would intend to achieve: Firstly, the migration from HellaNZB to SABnzbd should be as painless as possible for every LottaNZB user, that’s why we will provide an automatic import of configuration data. Ideally, user shouldn’t even notice that LottaNZB uses a different backend. Next, with the new version, it should be possible to do everything that was possible in past version of LottaNZB, which the same or an improved friendly graphical user interface.

In the past weeks, I’ve been working on code that can handle SABnzbd configuration data and is able to import existing HellaNZB configuration files. Next, I’ve started to implement the new backend, which aims to be much more modular and extensible and to make the UI more responsive. But there are still lots of things to do.

We will definitely release LottaNZB 0.5 in the near future, which will be based on HellaNZB and contain the cool stuff we’ve been working on since January. You may find a preview of this version on this blog soon as well as a post about what cool piece of software Sander has been working on in the past weeks! Stay tuned!

And of course, we would like to know from you, the LottaNZB users, what you think about the whole thing!

Ubuntu PPA now available

March 29th, 2009 - Severin

I created a PPA (Personal Package Archive) for LottaNZB quite a while ago, but never announced it publicly on this site nor mentioned it on the download page.

A PPA is a software repository like the official ones you get your software from when you use Ubuntu or Debian. Using Launchpad.net, every person or team can create such a PPA and upload signed software to it. The cool thing about this is that users can add the PPA to the software sources and afterwards, new versions of LottaNZB will show up in the update manager like everything else. This makes it easy for you to always use the latest version of LottaNZB. Ubuntu 9.10 will be the first Ubuntu version to have LottaNZB in its official software repository, but this version will not often be updated, while our PPA will.

If you’re interested, here’s how you can use LottaNZB’s PPA:

  1. To add the PPA to the sources your machine can get software from, run the following in the Terminal.
    source /etc/lsb-release
    echo "deb http://ppa.launchpad.net/lottanzb/ppa/ubuntu $DISTRIB_CODENAME main" | sudo tee /etc/apt/sources.list.d/lottanzb-ppa.list
  2. The packages in the PPA are signed to ensure that you don’t get malicious software. You need to do the following so that your computer knows how to verify the validity of the packages:
    sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 93A5BC72
  3. Now you can update the software sources and install LottaNZB using
    sudo apt-get update
    sudo apt-get install lottanzb

That’s it! Of course all of the above steps could be done graphically using the Synaptic package management that can be found in the system menu, but it would have taken much more time.

New and fresh homepage design

March 29th, 2009 - Severin

Those who have visited this website in the past have probably noticed that lottanzb.org has been redesigned once more. This is already the second time in the history of lottanzb.org. We think that the new website looks much cleaner and offers a few new things we really missed in the past. Let me present you the most important changes!

The old website was based on Joomla, while the new one is powered by WordPress. I really love the simplicity of the WordPress administration environment. It makes creating blog posts and customizing the appearance of the website so much easier. The new theme was initially one made for Drupal, but we ported it to WordPress. You might have noticed that the appearance of the homepage is mainly inspired by GNOME Do’s homepage, which I personally think is a awesome piece of software.

The development blog posts and the release announcements are not separated from each other anymore and the coolest thing about it is that it’s now possible for everyone to write comments. Using the old version of lottanzb.org, we had a one-way communication and people had to use Launchpad.net in order to get in contact with us. In an Open Source project, I don’t consider this a good idea. So, what this means is that we look forward to your comments and thoughts about things we post in the news section. Of course, you’re still encouraged to use the Launchpad.net project page if you would like to report a bug or create a blueprint for a nice idea you just had.

Next, the Google Ads are gone (at least for the moment). With the amount of people visiting lottanzb.org, you can’t really expect to get rich thanks to Google Ads and they really clutter a clean and simple homepage like the one we have now.

The download page now looks a tidier as well! Unfortunately, it’s still not possible to read LottaNZB’s documentation in the Help section. Right now, we use Docbook XML for LottaNZB’s documentation. We might make the switch to restructuredText in the future, but there are more important things to do right now.

So, I guess this is it! We really hope you like the new design.

PS: *AD* The Watchmen movie is awesome! :-)

UPDATE: Don’t forget to update your RSS feed link to http://www.lottanzb.org/feed/!

LottaNZB has been uploaded to Debian

March 7th, 2009 - Severin

About two months ago, I wrote about LottaNZB being sponsered by a helpful Debian developer and that it had been added to Debian’s NEW queue. When I checked my inbox a few moments ago, I found a bunch of messages I’ve been waiting for a long time. Version 0.4.0-1 of your package ‘lottanzb’ has just been uploaded to Debian. I’m not sure what the purpose of the NEW queue is but it doesn’t matter anymore. Starting today, Debian users should be able to install it by simply typing “sudo apt-get install lottanzb”, at least if the unstable repository is used. Thanks to everyone who has contributed to this project and allowed us to get this far!

Some of you might know that the Feature Freeze for Ubuntu 9.04 (which is going to be a great release!) has already taken effect quite some time ago. Unfortunately, this means that LottaNZB won’t be part of Ubuntu 9.04′s repositories. The good news is that LottaNZB will automatically be imported as soon as Jaunty has been released, so Ubuntu Karmic Koala will definitely ship with LottaNZB.

LottaNZB’s development didn’t stand still in the past two months. We’ve implemented quite a few cool things we will probably present you in a future blog post. We don’t know yet when the next major version of LottaNZB is going to be released. If you know something cool that could be added to LottaNZB, don’t hesitate to create a blueprint on our Launchpad.net project page! You can also see there what we’ve planned for future releases.

Have a nice weekend!