15 Dec 2008

Am I alone there? JavaFX media playback problem

The wait is over. Let the wait for next version begin! 

As said in This Ain't Yours' Dad's Java podcast good folks at Sun worked very hard to get 1.0 out. Now they have lot's of feedback (good and bad, but hearing in Java Posse #221 people cheering JavaFX and Joe Nuxoll's warm word about it at Devoxx conf shows that Sun's done good job).

For me JavaFX isn't painless experience - and I am not talking from developer perspective - I haven't yet coded any JavaFX - when I tried to run any JavaFX sample involving media all I got was java.exe crash. At first I thought it was problem with my system so tried to reinstall everything what could be fault: DirectX, SP3, codecs. No luck. So I filled bug report at JavaFX issue tracker with id RT-2530.

Surprisingly I haven't yet seen any votes or have found similar stories. Some people were getting UnsupportedMediaExceptions, but no crashes apart from vague "it's crashing firefox".  If you have similar problems to mine please vote! You should first register which is free and easy.

21 Nov 2008

Waiting for JavaFX

Last year's October I was looking at AIR and Java weight - I just checked deployment issues - the size of the download needed to get the platform. The other one is resource consumption and I think both AIR and Java have kind of the same, huge memory consumption (thwirl takes about 45 MB), and to both hardware accelerated graphic is comming so CPU will be relieved.

So I just touched the surface of the platform succes factor. I mentioned also if the platform wants to succeed in the consumer world uber cool apps is a must. They have to be slick and sexy. As is Milpa :) which gives it enough credit to make people wait for Java's cold starts. Seriously there are apps worth downloading JRE - Azureus, Limewire, Spark, BlogBridge, Freemind, but none of them can compete with slickness factor of Kuler, Buzzword, ADC Desktop or Nickleodon's Jigsaw Puzzle Game or BlackBookSafe. You might find some nice looking Java app in Bruce Eckels' post's comments (nice thread btw) and in Swing Sightings (which is death btw?). Java seriously needs some marketing love for RIA or FRCA (filthy rich clients apps).

I like the way Adobe markets AIR (apart from cool name ;)) - for developers it is a little shift (from Flash, Flex or html/css/ajax) and for consumers lots of nice looking, polished, useful and net connected apps developed by known companies (AOL Xdrive Desktop Lite, eBay Desktop). Of course being an AIR app doesn't ensure being a great one, but the ones I've seen are all good looking (probably more designers were involved). I wonder what apps will we see when JavaFX emerges from development. Will there be any great companies involved (think eBay, NYT, AOL)? We will know soon.

One company for sure is developing its product using JavaFX - Malden Labs.

24 Aug 2008

Some shiny spark from the Sun

As you can see I haven't written anything for some time. Well I've certainly read a few bits of information, opinions and rants... Forming some opinions which I hope to share. Someday.

Today, or tonight rather, reading of some post of Sun's employee (he is blogging on blogs.sun.com) made me sit to write once again. First of I've noticed his post about free midlet games. Free as in steal! I come from a country where when I say I don't play cracked games the eyes of people hearing this are huge as saucers of astonishment, but I am sure many of those people would be as astonished seeing this kind of post on the blog on the corporate server. I don't think that this makes any good for Sun. I am not sure if same goes for shameless FUD spreading about Android. At least I hope nobody is believing uncertain and doubtful in the post about problems surrounding Android adoption - such as any new (or not so new too) technology on Earth!

What really saddens me is that those posts apeared on the java mobile and embedded community site. I've find it quite unfortunate that such a low value posts can find their way to such a prominent place.

24 May 2008

7 years old bug nimbly squashed?

When I've read that 24th build of Java 6 update 10 (aka Consumer JRE) is out I decided to see how will Tonic look in Nimbus Look and Feel. I checked it few time earlier and it didn't look good - at first try I couldn't even run Tonic under Nimbus, second time it was better, but not good enough - internal frames' icons were to big and combo boxes were to small. But one thing remained the same.

Could anyone tell me if this Nimbus' look of text pane (it is all black in other lafs) is a solution to Background attribute in JTextPane is not resolved to the parent style bug?

Anyway, Nimbus looks good and is shaping nicely although I've noticed there is a 1 pixel shift between button and combo box in the UI on the screenshot (if you think I am silly to mention 1 pixel shift, you should read from someone more respected - JGoodies creator's presentation (slides 46-53)). Surely there will be a lot of work done by Java 6 update 10 final release.

15 May 2008

Not a BigMistake

I am not a native English speaker so I for sure make a lot of and a little more mistakes. I just wanted to say that spelling errors can happen to everyone. Even if he is really paying attention. I think that spotting this kind of bugs is hard because our brain is compensating a lot of things. For example there is hypothesis it is smart enough to get the meaning of the word even if letters aren't exactly on theirs places. And you can test it yourself - Raeidng scarblmed wodrs.

While looking for a that link I've found something more scientific - article about conditions influencing reading rates. Long overall, but there is "Conclusion" paragraph.

So there it is directly from developers.sun.com

9 May 2008

Harsh truth?

This a cite from a /.

"The fact that its a crappy feature makes me think it must have originated with a developer.

Developers and User Interfaces don't tend to get along well; you need to go out on the street and grab a couple of people wearing matching outfits and get them to draw your UI on a napkin or something."

Of course it is more funny then true, isn't it?

This was comment to story about Pidgin being forked because of developers didn't wanted to bend to user needs. It was all about flexibility of the Pidgin. The controversial feature wasn't allowed to be turned off.

By the way, do you imagine Apple's designers bending to users' needs?

16 Apr 2008

Enabling software assembling

Some time ago I wandered through Google results pages seeking for 'better sourceforge' (well, actually I was looking for 'sourceforge sucks'). I knew about Google open source hosting, JavaForge, Launchpad and several others, but I was looking for more mostly of curiosity. It was worthwhile - I've found Assembla. Nice place with very good free offering: they are giving 500MB for you space which might include wiki, svn, mercurial or git repository, assembla's or trac issue tracking software and some other useful tools enabling you to exchange ideas, knowledge and code easily. 

I like Assembla's team aim for introducing new and constantly improving tools (when I've stumbled at Assembla for the first time they offered only svn hosting, now there are mercurial and git to choose) and they constantly improve their own Tickets issue tracker

Assembla isn't a charity driven venture (but it is ad free site, not counting their offerings of course) - they have commercial hosting and service offering as well. If you want you can also write up nice profile; list all your skills and achievements and whatnot - Assembla enables staff or job finding also. 

Hopefully you will find Assembla useful. I have to say that I was surprised that there are so many people providing hosting for open source projects. I was even more surprised to see that one company from Poland was offering it. It is good to see that open source is getting support from all over the world :).  

23 Feb 2008

Pulp entertainment with a smell of Java

For some time I've been visiting one website to kill some time. I'd like to share with you my impressions about Milpa.

It is a logic game. Quite addictive, not only for me - after the game you can see your placing on the high score list. I guess scores are kept for one day. When my play is weak I get to around 1000, so there is quite a lot of people playing Milpa everyday. No wonder! Art is nice and simple, so are sounds and animation. Game play is equally good.

If you tried the game you should probably know it is a Java applet. Of course I am not the first who wanted to share his experience about Milpa. Very addictive browser game is a better title for writing about it, that's for sure. One thing that struck me when I read linked web log entry was that its author thought it was Flash game. And not even one mention it loads too long, or puts browser into freeze.

Author of the game, David Brackeen created pulpcore open source framework, which Milpa is founded on. Pulpcore news feed indicates there are some people involved in making it better. Maybe you'll find it worthwhile to check it?

Cheers and don't give the skull a chance to eat your vegetables ;)!

20 Feb 2008

Once upon a time

Long time ago I started analysing Jin/Tonic gui. My good will to do it lasted only for a week and was enough to provide simple analysis for first time dialog and login panel. Not too much, but here and now is more. This time I will ponder one of the two most used ui elements in any graphical client for chess server - console.

Console is the place to start a chat or a game. You can issue several commands to server from it and get info about server, channels, players and games. You can read news and messages in it, watch shout and tourney annoucments; all in one place. It is what user sees second most to game window.

So as you can see the ui has two states... I used JSplitPane to create a hiddable JPanel with controls that let specify the exact type of new console. The ability of creating and using multiple consoles is one of the strongest features of Tonic, yet I managed to make in a way that it might a source for confusion and frustration.

Straight to the action.


  1. Ui is simple - 7 controls is not that many.
  2. One font for ui elements (text pane doesn't count, because this control's font type is controlled by user)
  3. There are no unnecessary borders.
  4. Scroll bar is there all the time and safe user from seeing any layout modification when scroll bar would have to be shown.


  1. There is something I haven't told you - I decided that gui persists between Tonic runs. This is the first source of confusion - if you don't remember in what state did you left console you will be puzzled why new console panel is not showing.
  2. The way I made it ui of top panel is not always showing all of its contents - when you resize some of the controls might be out of sight.
  3. I used combobox where I should have used a list. There are only about 10 choices for the type of console. User can easily grasp that kind of number and there is simple way to show it all in a list. No need for forcing on user one extra click.
  4. Clear console button is in bad place - because of its placement user has to be extra precise and cautious when resizing the console window and there is now safety net for this operation.
And on the ui analysis front I've found a blog entry about AccuRev ui worth reading.

One thing I want to do before next release is changing console's ui so it is less confusing and click hungry. I hope I will do better this time. Cheers!

18 Jan 2008

Are bugs interesting?

When I checked this weblog traffic day before yesterday I saw a big spike of visit. It is because of a comment I left on recent weblog entry about using Java Help asking whether hideous ui bug in Java Help had been resolved. So it apears that bugs are interesting. One more proof for that is a bug about wording in the dialog taken from IntelliJ IDEA's Jira.

I think I'll hunt for some more useful bugs... To be exact - it is not a bug that is useful of course ;)!

14 Jan 2008

Just couldn't resist, mate.

From time to time I read a tutorial trying to educate myself on programming, which is just my hobby so I'd like it to be nice and easy. I've read some java tutorials, skimmed through some C++' ones lately, seen some Scala's, Python's and so on. I am not calling myself an expert on that, I am far from that. I am just a average human.

I am trying to push myself through one of tutorials on ActionScript 3. It's name is ActionScript 3.0 for developers and designers – Part 1: Creating a preloader. I've just wonder whether that's me or there is actually something wrong with this article. I hesitated a little, but couldn't resist to write about it so you may judge it yourself.

First thing, Jamie Kosoy is using code convention that makes my hair go gray. Below is the sample.

private function _onProgressBarComplete($evt:Event = null):void
_isLoadComplete = true;

progress_mc.removeEventListener(Event.ENTER_FRAME,_onProgressEnterFrame); _animateOut();
private function _animateOut():void
addEventListener(AnimationEvent.ANIMATE_OUT, _onPreloaderOut,false,0,true);
I am almost sure this is not the recommended style for ActionScript 3. What the heck is with those $ and _ ?! Are those really that useful to understand code? You know what? When I read this source code I wondered whether those might some special variables, I had to check AS docs to clear it is just a convention. One thing it leads to is to ask useless question: what do those character mean? You have to be pretty sure that there will be questions about tertiary operator as well, and this _animateOut() function call on the of the line!

And the flow of article kills me of. Instead of going from start of program it goes the other way. You see on method there, another here. I know Jamie is senior developer and probably most of developers will understand this cliploader he is presenting. Including myself, but it is hard to read it this way.

Concluding I think this article should be revised to my liking! :))) That is:
  • make all the special characters from variables go away (this would let me concentrate on the problem tackled in the article and not on wondering what those underscores and dollar sings might mean),
  • rewrite the article so that it goes from top to bottom (this would present it the way source code is read - from application start. For this very clipLoader I would start from the code that actually loads the content and would drill down to details of passing the event to the timeline objects).
I am sure I will learn a lot from the article, but this could be even better experience for me. And how do you think?