" /> Dreams of a Rarebit Fiend: September 2004 Archives

« August 2004 | Main | October 2004 »

September 24, 2004

Make Some Noise!

As with many things that "lots of people say", the adage that Java is not or cannot be successful on the desktop is bullshit. Don't believe me? Take a gander at the top ten most downloaded programs on download.com in any given week. LimeWire is always in the top ten and usually in the top five. Azureus used to accompany it in the top ten but the version that was being distributed over there had had adware added to it by a third party so Azureus now recommends everyone get it from SourceForge instead. What's that I hear you say? A couple of titles in the top ten most downloaded applications doesn't make a desktop presence. Well, you know, you are right!

That's why Sun's decision to acquire the rights to the Watson software on Mac to make a Java version of it made for another app that could easily reach the top ten or twenty. But according to this weblog entry and this one here from another person who was working on it, that might not become available. Arrrgggh!

Fine. I'm no idiot. Sun has to prioritize and we know they can't do everything. They have to pick and choose what is the highest priority. But if they can't find the time to do this one themselves, ASK FOR HELP! Open source the thing and get some help finishing it. It has the potential to be another top twenty program when .NET has, well, none...

So, if what I'm saying has some resonance with you. If it makes sense. Talk about it. Write about it in your weblogs. Make enough noise to get some brief attention from Sun to the idea of giving it out for further development rather than letting it rot on a shelf.

September 12, 2004

Java Comic Readers Begin To Appear

To my way of thinking, Java is a natural for building a comic book reader. It's just viewing images and lots of people are going to want to do the same thing and use the same viewer on multiple platforms. So I started working on one a while back called FourColor. I got it to a point where you can actually read .CBZ and .CBR comic book files with it and in some ways (but only some) I like it better than CDisplay or Comical but I never released the code. I think it's definitely time to do so even if I don't do much more work on it for a while. Three other Java based readers have appeared in as many weeks and maybe someone so inspired can put bits and pieces of the four available together to come up with one really great reader.

Asparagino's Comic Viewer | java-gnome viewer for zipped comic scans is a little different because it uses GNOME for its UI. Apparently Swing wasn't good enough for something that only has a handful of controls on the screen, it was much better to pick a GUI that had limited availability.

Jomic is neat and despite the suggestion that you need Mac OS X on the front page (another person apparently missing the whole "cross platform" part of Java) I was able to run it successfully on Linux. I've not yet tried it on Windows though. It's nice that it handles two pages at once, it's not so nice that you have to do the installation by hand and that you have to install Java Advanced Imaging (JAI) just to run it.

CBViewer tries to outdo Jomic in strange requirements by requiring the not yet released Java 5 rather than the plain old mainstream Java everybody is likely to have on their machines. It supposedly works with Java 2 as well but after downloading it and trying it, it seems clear to me that you would have to recompile it to get it to work with Java 2. The provided binaries were compiled under Java 5.

I have no idea why you need either JAI or Java 5 for simply loading some JPG images and displaying them. FourColor seems to do just fine now without that. What all of these readers suffer from is a common problem that pretty much any Java program is going to face. The stupid, proprietary .RAR format has been used to compress many many comics. That's where the R comes from in .CBR files, .CBZ files use .ZIP compression. Because there is no library to handle .RAR files directly under Java, you have to have the UNRAR command installed in your path whether you run Linux, Windows, or Mac OS X for FourColor to work. How Jomic avoids the need for UNRAR on Mac OS X is something I haven't looked into yet. It's this requirement that keeps FourColor from being all it can be. Otherwise, it's simple Java Web Start installation would make it one of the simplest ways to get read a comic book file.

Anyway, since I haven't filled in anything on my project page for FourColor yet, here is a plain old .ZIP file with the source code for FourColor. Don't imagine that just because I have criticisms of the other three Java comic readers that that means I think mine is perfect. Far from it, just click the "more" link to read about what I think is wrong with FourColor and a multitude of features I think it needs to become a better reader. If you'd like to give it a quick try here is a Java Web Start link to try out the latest version.

OK, what is wrong with FourColor:

  • One of the most common ways to read a comic is with it set to page width. So the comic is scaled to as wide as the window and it is most likely too tall for the window so you end up having to scroll to read the whole page. FourColor does page width but it recalculates how big the page has to be with scroll bars after the scrollbars appear and it does it after you switch to each page even if this page's scan is exactly the same size as the last scanned page. Ugh. It looks like it's doing a little resizing dance as you view each page when you are set for page width.

  • Rather than using PageDown to move down each page and then Ctrl+N to move to the top of the next page, there needs to be a single key like space that does that automatically. It pages down until you've hit the bottom and cannot scroll any more and then it automatically moves to the next page.

  • The list of pages on the left was meant to use a list cell renderer so it would show a thumbnail of each page. It doesn't do that yet and I think it would be an excellent feature to have.

  • No ability to display facing pages. If you have a large high resolution display or a dual monitor system, facing pages works quite well. Also you sometimes want it just to see big two page panoramic spreads that the artist may have used to show something.

  • FourColor remembers the last position and size of its window. It also remembers the last directory from which you opened a comic. What it doesn't remember is the position of the splitter window, the view you want of the comic (i.e. page width, size to fit, etc.), or the last comic you had loaded and its page. I think all of that would make for a nicer startup if remembered.

  • I had started a refactoring where the underlying model had a Comic interface and there were separate classes for ZippedComic and RaredComic which would implement the nasty details of each one. That refactoring was never completed and I've really got more pressing stuff to work on. But it should be done.

  • It's not "cool". No, I know none of these comic readers are really "cool", but I think there's an idea for something which could be tried out that would make a comic reader which was both cool and more functional at the same time. By hacking together something with the Piccolo library you could try starting out showing the user all the pages in a comic at the beginning and zoom in on the cover. Then as they turn to each page (or layout of two pages) you could zoom out a little and back in to the relevant page(s). Then going to a specific page is just zooming out all the way and letting them pick the page to go to. The whole UI becomes much more consistent. Issues like showing dual pages aren't hard at all because all the pages sit beside each other in one long line. It could work and work well but it would take some work even to try out.

  • Accomodate a XML file within the comics which would not be required but which if there could be used to pair up pages in sensible fashions. Some comics have extra pages (like a small and large scan of the cover, or multiple cover scans for comics that came with several covers), others have different page orders like Japanese Manga which really need to start at the end and work backward. If there were a XML file in the comic then it could be used to hold that kind of information. For comics that don't have it, you'd have to continue to assume everything (i.e. all pages shown in alphabetical order will display the comic).

September 09, 2004

A Possible Liberal RSS Parser And A Request

I haven't tried out Rome yet as a RSS parser, I'm still using Informa to handle all my parsing in HotSheet and my new project. I've been considering it though and if they add a liberal parser like is suggested here, P@ Sunglasses I think that would be a great feature.

You know another feature that would make a nice benefit to both the Informa and Rome parsers (and anyone else who wanted to use it). An ultra-liberal RSS channel locator like that described here. Anyone needing to pull RSS could then just say, "Type in the URL of the website and I'll look for RSS feeds." Then the function could go out and find the list of one or more RSS channels associated with that site and present them to the user for subscription. It doesn't really do parsing so it would be agnostic to the RSS parsing library it was paired with.

September 05, 2004

WONDERFUL Commentary On MSN Music

These days, Apple is taking shots at Real (because Real has broken the lock on the iPod) and Real at Apple (for Apple not "opening up" the iPod to others) and now Microsoft at Apple (same rationale as Real). But it's all pretty much um, well, I won't use that word here. But it's not truthful and this article does an excellent job of pointing out just how misleading Microsoft is being on their website:
Daring Fireball: You Can Choose Any Color You Want, as Long as It's Black

At present, I love iTunes and I digitized every album Rockelle and I have into it. I plan to get an iPod sooner or later because they clearly have their act together on user interface, which is more than I can say for the RioVolt MP3 CD Player I own, or the Rio memory based player I used to own, or the Real One software I've used to play music and books on my Palm. One of the reasons I love the iTunes music store is that I can buy music and then I can use Hymn to unlock it. It is then well and truly mine. I paid for it and they can't tell me what I can do with it ever again.

Run everything you hear from all these companies through a filter:

  1. Every time someone accuses Apple of not "opening up" the iPod, call them LIARS. The iPod is plenty open to the MP3 format, which is available to everyone. The truth is that they just won't have their "digital rights management" (code words for you never owning music again) in place on the file if they sell you an MP3.
  2. Apple is not your friend either. They would love it if Hymn did not exist and they didn't have any competition in either the player or the online music sales arenas.
  3. Any time any of the companies gets righteous about you the consumer and your ability to choose, know that they are only unhappy that they don't occupy the position of Apple at the moment. And if they did hold that position, their goal would be to figure out how to squeeze every possible penny from the situation.
  4. Napster isn't Napster anymore. They are pathetic suits who purchased a logo and a name and they know and care as much about music as they care about the people who detail their cars. There is nothing indie, or authentic, or anything about them. Do not pay for their service and if your school is trying to ram it down your throat, you ram right back. They need to go out of business a second time.
  5. Ditto Wal-Mart's music download service. The quicker that fails the better.

September 02, 2004

Time For Some Praise

It isn't immediately obvious if all you look at is the released files directory but jdic: JDIC - JDesktop Integration Components is chugging steadily along. I put the very first bug in for the software, which offers various packages to make it easy to integrate browsers, display tray icons, etc. and now there must be close to a hundred issues which have been put in for it. The great thing is that they have fixed a little more than half of them.

It still won't bring up a browser inside a window for me on Linux and that's very important. But all those fixed bugs mean that it's not going to turn into another abandoned project and when it is released that we can count on support and people striving to make it into a solid library of functionality that I would argue is much needed.

Gnome 2.8 On The Horizon

I'm a big fan of GNOME rather than KDE for a Linux interface. This article discusses the changes and improvements in the next version: What's new in GNOME 2.8?

Now, interestingly enough, that's due about the same time as the next test release of Fedora Core 3. Which means that it will probably be included in the final version. I was really pretty disappointed with Fedora Core 2. I had a hard time getting a lot of things working that had worked well for me with FC1 and in fact I regretted updating after I did it. Now I'm hoping that with less new stuff in the next release that it will be more stable. It doesn't look like this GNOME release is a major overhaul, there's no major new kernel release in this version, maybe it'll be the release that has me once again loudly signing the the praises of how wonderful Linux can be.