February 21, 2009

tweetbox.org

My TweetBox project hasn't seen much of my attention in these last few weeks. I have only done a few minor tweaks here and there. I am still struggling with performance issues. I have tried to speeds things up by moving some JavaFX code that was juggling blocks of memory to Java. I also replaced all my Vectors with HashSets to make looking up and sorting objects faster. According to the Netbeans Profiler, those measures have defintely improved things (it made some hotspots disappear), but the user experience is still the same: sluggishness.

I have also spread the retrieval of tweets from the Twitter API during start-up such that it no longer loads several streams in parallel, but one stream at a time. That did have a noticable effect. The application has become more responsive because of that.

You can see for yourself in the development version.

O, by the way, I have bought a domain name for my project: tweetbox.org. It is so cheap to do that these days.

8 comments:

Markus Kohler said...

Hi Mark,
I'm trying to run Tweetbox from the command line.

I got as far as
Exception in thread "main" java.lang.NoSuchMethodError: javafx.scene.paint.Linea
rGradient$Intf.get$javafx$scene$paint$LinearGradient$startX()Lcom/sun/javafx/run
time/location/DoubleVariable;

Regards,
Markus

Mark Nankman said...

Why would you want to do that Markus?

From the exception you are getting I would say that TweetBox can't find the JavaFX runtime libraries.

What command did you enter?

Markus Kohler said...

java -Djava.ext.dirs="C:\Program Files\JavaFX\
javafx-sdk1.1\lib\desktop\;C:\Program Files\JavaFX\javafx-sdk1.1\lib\shared" -cl
asspath lib\JFXtras-0.1.1b.jar;lib\twitter4j-1.1.2.jar;TweetBox.jar tweetbox.ui.
TweetBoxWidget

Markus Kohler said...

P.S I'm trying this, because I want to find out why it feels sluggish.

Mark Nankman said...

Hi MArkus,

I notice you are using a rather old version of TweetBox. I am nowadays at version 0.1.16 and I use JFXtras version 0.3 and Twitter4J 1.1.5.

The latest version of TweetBox is compiled with JavaFX 1.1 and runs a lot faster than before.

But I appreciate that you want to find out why it feels sluggish. I have put quite some energy in improving speed by endlessly profiling the application and scraping bits of here and there. Each time the app gets more responsive.

Have you considered joining the project?

Markus Kohler said...

Hi Mark,
ok I will try the newer version. I tried to run the older version against JavaFX 1.1. I guess that's the problem.

Yes I might join the project in case I find some time to submit patches. But I will only join after you have changed the default colour scheme ;)

Mark Nankman said...

What, don't you like the color scheme?

Well, I have been experimenting with other schemes, but I am currently focusing on stability, speed and functionality.

Let's turn this around: why don't you download the sources and see if you can compile it and run it locally on your machine. Then have a look at the package: tweetbox.ui.style and see if you can improve things. There already is an experimental theme named "BlackAndBlue.fx". You can make that one the default scheme by changing Style.fx

And depending on the result, I just might be convinced of admitting you to the project. ;-)

Markus Kohler said...

:)

Already check ed out the sources, and installing NB JavaFX edition