15 Dec 2008
21 Nov 2008
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
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
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
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.
9 May 2008
16 Apr 2008
23 Feb 2008
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
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.
- Ui is simple - 7 controls is not that many.
- One font for ui elements (text pane doesn't count, because this control's font type is controlled by user)
- There are no unnecessary borders.
- Scroll bar is there all the time and safe user from seeing any layout modification when scroll bar would have to be shown.
- 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.
- 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.
- 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.
- 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.
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
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
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):voidI 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 function call on the of the line!
_isLoadComplete = true;
private function _animateOut():void
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).