JFXStudio small is the new big , challenge submission

| Thursday, October 1, 2009
It is amazing what you can do in 30 lines of JavaFX script , although a command line version of following program just goes 2 line but that uses an external command which itself weighs several MB, this is complete JavaFX application which uses no external program, few things I learn from it .

  • 30 lines is lot more than what you need
  • 3000 characters is lot less than it sounds,
  • JavaFX script it very efficient than Java in terms of these circumstances here
  • media support is not yet good enough
and for the application , alarm sound it produces is really annoying.
here is the screenshot of running application
click on image to http://profile.iiita.ac.in/IIT2006117/clockAlarm/Clock.jnlp run application



and attached is the link to netbeans project.


We got elephant out, now what to expect in JavaFX 1.3/1.5(post-marina)

| Friday, July 3, 2009
            The title is inspired from Jim Weaver's post on JavaFX, I here present what's new we get in Marina(JavaFX 1.2) and what should be there in next iteration, but first some background.
I followed JavaFX from it's version 1.0, heard the news here and there about it got a little exited ,tried using Jim Weaver's book somewhere in mid-2008 but dropped because the text is obscure and the technology has come a long way, after that Sun promoted it as a great RIA tech(I don't know time before because I was not following it) and with it's version 1.0 it was good but not great , a promising technology but lack of component still does not make it much worthy,
                  I got pretty excited about this language because of this . here's also pic, I probably a, not a good gamer and my scores reflect that
They promised of providing components in a later iteration, then comes version 1.1 , the big thing was Mobile support but not something which make someone like me with a short attention span to get very excited, but I drilled the language syntax(the JavaFX script language ) because of this entry (Thanks Mr. Weiqi Gaofor that)and had a few custome application component up and running for quite a some time just for learning purposes, the platform was not much stable (at least  the smarter ones say and I observed here and there) but it still provides a smaller learning curve, and that was really great, I heard the complaints from the community about having to learn another language, but I am just a student and probably will like to stay like this because now I had not to worry about these things , I am free to choose whatever I want to learn and I did it, maybe those people were justified or maybe not but I am not in a position, neither did I have the credibility to pass judgement .
I even started some fun project in the beginning just for learning, here is one of them and as a matter of fact it is currently compiling well with JavaFX 1.2 installed but was made in 1.1 era
         TennisFX -here is the pic it i what it shows here nothing functional when I shelved it knwing it'll require lot of game mathematics and I don't know some stuff which I was not good at the time.
           Then the date of JavaONE approach, I like these things(although I don't understand much) and have over 3GB worth of tech talks downloaded in my system through Parleys and tried my luck with 'Dude where's my pass' contest (I must say my video was embarrasing , I was wearing Vest and it didn't look good , that and some unworthy voice acting to press content into stipulated 30seconds contributed to my demise), and as expected I got bumped but, that was fun, tried my hand in JavaFX programming contest, this is my application as it look the night before the submission date( sorry I couldn't pass the screenshot because it needs to be updated to JavaFX 1.2), I could not submit because of some media component bug at the last minute(or I must say last 4 hours, and was totally my fault) but it was a great experience (the idea was huge but I lacked the resources, time, and most importantly experience required but that's another story, ), 3days after we got the Marina release(JavaFX 1.2 was codenamed Marina)
Marina release was great, it bridged the huge gap, provided a leap in terms of components, Caspian was great and layouts(although JFXtras is doing great in that department, but it good to have a great thing out of the box) let me give you a feel of what they did and what should be next.
1.Project Caspian – I didn't know it is a separate project or what but it really is great, it is the name of Look and feel we get out of box, it look lean and attractive and provided a better alternative then what we have in Swing(In the attractiveness department, I didn't know much about stability), if it is good enough in technical terms I suggest it to be included in Swing but, just a request , you're free to ignore, I didn't mind and Swing have very good L&F available like Substance and others, so that is covered up.
        I am farely content with this one.
2.The component set – it is much better then perhaps having nothing(that's what we had in version 1.1 , that TextBox thing was not properly documented), a fairly good list including Progressbar , button, scrollbar(it is a welcome addtion, it's a paint to implement it yourself) and other traditional ones.
What it lacks is a good component to provide Data representation, Joshua Marinacci showed a lazy list version of data representation so we're expecting something on the line in next version, listview will suffice till then , also if some receptive one are hearing there is a problem with hyperlink control launching browser , that's a fundamental thing if you're talking about hyperlink, however we get a pretty rich control set in terms of 0.1 version increase.
3.RSS support
It came up early and came up good, ask a beginner like me who again with lack of much experience delved into lines of Rome Library(it is good but not beginner freindly), I don't care if this is inspired by Rome or what but this brings in very good support I must say in terms of out of the box functionality.
I have nothing to complain about here because it is more that what I(or I must say almost anybody else ) expected.
4.Charting support
This release bring out Charting support , good first hand approach , some said it is inspired by JfreeChart, I had used JfreeChart for a while and it simply didn't matter, Charting support is always welcome, due to it's impact for business users it deserves special treatment.
This is another good thing, just evolve it more.
5, Runtime improvement
This is the huge thing (or I must say only thing because Project Caspian bring on a huge change into paradigm) if JavaFX had to be a success in Desktop and browser and they're slowly approaching that persona. But.....
I have a huge request, I didn't if you guys are right person to ask for it but please let the plugin load asynchronously in the browser, I don't want my browser to hang each time I load a web page with Java content, this is more of a generic request but can hinder JavaFX acceptance for browser.
Java have a myriad of persistence option available(try the book by IBM guys if you want to have deeper look) and this iteration of JavaFX support this with introduction of persistence storage mechanism in JavaFX, works great for small things and a nice improvement.
We need a supported embedded database technology, I know we have Derby or JavaDB(although they're one and the same thing almost) but something more smaller, may be DerbyLite in the line of SQLlite with less functionality( a smaller support base in terms of SQL language) or why go relational, get something in the line of Bigtable, call it smalltable and just make it small.
And for what should be(or maybe) done in later iteration of JavaFX(besides those requested above), just requesting if someone is hearing
1. Lose that security dialog box, others did it , I know that fulfills Java's Security sandbox feature but hinders User's experience which is a much larger thing if you're on RIA track, get a compromise,
2. Allow lazy loading of application, let us choose our custom screen while application is loading , that spinning java logo is good but it looks monotonous after some time.
3. Include building a game viral tutorial in JavaFX, with distribution system as zembly(another great technology, pardon me if I am not using proper term) and inclusion of project darkstar into the landscape.
4. Provide a remoting API, (get inspiration of project flamingo and Cairngorm-fx), I think Stephen Chin said here ( read the comments ) that it is in the to-do list of JFXtras , so maybe we'll get it by year end.
5. Provide more open event like the nice thing Mr. Joshua Marinacci are doing in JFXstudio website, it is great, you had JavaFX challenge but I think this release deserve a JavaFX challnge 2.0.

Using Netbeans with local Subversion repository

| Wednesday, June 24, 2009
In this post I'll document how to use netbeans with your local subversion repository, if you want to know how to set-up subversion in ubuntu and a local repository head to this post

If you don't mind sharing your project to the world, you can use the integrated Kenai plugin feature of netbeans 6.7 (this feature is not yet available in lower versions) which comes with several features including (but not limited) to using Bug-tracking features, collaboration etc., from withing the IDE, that said , fire up you netbeans IDE (wait for some time to let it settle down, it has some issues if you start meddling in the beginning) and select project which you want want to include in Subversion repository, right click and select Versioning>Subversion and click on it

 
Click on what is specified in the link
A window will appear

 
Add path of local svn repo(mine is "/home/vaibhav/svnrepo")
click on next , the following window will appear
Note: if your repo is remote(but is a svn repo) then provide relevant information , in the URL.

 
add whatever you like in the big box, it is the description of you first check in(in a way)
and click next
following window will appear

 
This is the list of all what is to be imported in the local repo , click finish, and your repo is code is checked-in , Now you've everything set-up  update commit or do whatever with your code.

WidgetFX contest Announced

| Saturday, June 13, 2009

Here is the link for contest page

In short it is a contest sponsored by widgetFX platform with Appress books, we have to create an app(only boundation is it should run on Windows Vista under JRE 1.6u13 ) and there are books to be won (published by Apress), for more details fillow the link given, submission ends on July 31 so we have plenty of time.

These type of contest really promote platform learning, WidgetFX platform is a platform which uses JavaFX as development platform , you just have to do few modifications in your original application, screw the details , if you know JavaFX you are good to go, steveonjava blog even have a calendar app tutorial to get you started(although it is for version JavaFX 1.1), same blog also enlists a migration guide from JavaFX 1.1 to JavaFX 1.2.

JFXtras 0.5 core beta released: compatible with JavaFX 1.2

| Thursday, June 11, 2009
JFXtras group- the open source javafx library providing added functionality to javafx has announced the availability of JFXtras 0.5 core beta , which make it compatible to javaFX 1.2 here is the link

JavaFX 1.2 released, what's new, a complete package by package review

| Sunday, May 31, 2009
Update : This post is now useless, A much informative article has been posted in javafx.com website, here is the link



I have to leave today for a all night journey, 2 hours before that James Weaver blog post become available pointing, that Sun has made available javafx 1.2 , so I pointed my browser to javafx.com and was greeted with this page when I click download button on home page



I selected the third option as suggested by Jim, and following page appears


this page shows option of Javafx1.2 for download never , I downloaded it (in first attempt I downloaded prodduction suite which is 23 mb , but then I got 45Mb installer of SDK), and installed it few changes I observer in installation

  • production suite have both illustrator CS3, CS4 and Photoshop CS3,CS4 plugins
  • javafx is installed in a separate path in c:/program files/javafx
since I have limited time(I have a train to catch for a pilgrimage in less then an hour and journey is itself 11 hours long) I quickly browse through API docs and few changes I observe the following additions, since I am in a hurry I am only listing class additions

  • No addition in javafx.animation package
  • same goes for javafx.animation.transition package
  • In javafx.async package old classes are rem,oved and 3 new classes namely, JavaTaskBase to provide running classes in thread outside EDT, RunnableFuture(the name explains it all), and Task class which a way of starting, stopping and tracking code that does not run on the JavaFX event dispatch thread(straight from the docs).
  • a new javafx.data package which has 2 classes Converter(incidentally it have fromString() and toString() method) and a Pair class which defines a simple name value variables
  • This is the big one, there is a whole package(and 3 of them ) for managing feed(RSS and Atom) javafx.data.feed defines the base classes for javafx.feed.data.rss pacakges and javafx.data.feed.atom packages and they provide both RSS and atom functionality
  • No surprises in javafx.data.pull and javafx.data.xml package (this is not an in-depth view)
  • a new package javafx.date.DateTime which provides support for proleptic Gregorian calendar (the pure Gregorian calendar with no Julian-Gregorian transition).
  • A new SwingUtils class in javafx.ext.swing package which have a new function toFXImage() to convert bufferedimage to fx image
  • A new FXDNode class which is a revamped UIStub class which has backgroundloading support
  • Many new classes in javafx.geometry package HPos, VPos(for positioning and alignment) and Insets class and BOunds and BoundingBox class
  • A new class URLConverter in javafx.io.http package which support string to URL conversion among other functionality
  • Another Big one for me in terms for funtionality a local javafx.io package containing Resource and Storage classes for local persistence
  • nothing new in javafx.reflect and javafx.lang
  • a new class javafx.scene.Parent
  • 3 new javafx.scene.chart, javafx.scene.chart, javafx.scene.chart.data for data needs, this is something which is much requested functionality for every RIA platform
  • A whole new set of controls
  • Behavior
  • Button
  • ButtonBase
  • CheckBox
  • Control
  • Hyperlink
  • Keystroke
  • Label
  • Labeled
  • ListView
  • OverrunStyle
  • ProgressBar
  • ProgressIndicator
  • RadioButton
  • ScrollBar
  • Skin
  • Slider
  • TextBox
  • TextInputControl
  • ToggleButton
  • ToggleGroup

  • A new BoxBlur effect in javafx.scene.effect

  • A revamped javafx.scene.input package with 4 additional class , not much in terms of functionality
  • A new Panel class in javafx.scene.layout to define new level of view, with additional layouts namely , Stack, Tile,Flow
  • nothing new in next few packages
  • An Alert class to show alerts in javafx.stage and a Screen class for accessing screen properties
  • 2 new classes in javafx.util package Math(A straight funcitionality import for java.lang.Math) nad Properties (utility class for storing name value pairs)
now I have to leave, my mom is screaming at me to get ready , less than 5 minutes left

Zembly and my shameless attempt to get a free T-shirt

| Friday, May 15, 2009
I love free stuff, everyone loves them if they are not worthless, I came across this contest several days ago, but since I was busy(yeah I am undergrad, and we have those cute little things called Exams) so now is the time, my exams are over and since the contest is over at 2:29 PM IST so now is the only time I can do this (less than 12 hrs left and I have a Project presentation in the meantime , my Semester project nothing fancy except it is in javafx ) .
I explored this platform a little while back before the contest, I can give proof so that you know I am not bullshitting here's the proof from Google

yeah the date is May 1, and swear to god I didn't even think about the contest(but I knew about, and deep down this thought might be lurking around my consciousness)

so I tried to use it a little while back(seriously this time before there was an announcement contest) , there is a lot of stuff going on about cloud computing and I seriously wanted to check it out here is some facts to prove that
  • I read Sun blogs about cloud computing,
  • I picked up cloud computing this semester(but college scrapped it off the curriculum without any reason)
  • I checked mozilla bespin just because it looks cool and have that cloud computing buzzword and it looks really cool with that dark interface
Now some fact you can use against me
  • I did not really understand what cloud computing really is.
  • I have some idea but not any concrete definition because everybody is so vague about it, you read one thing somewhere and next thing just contradicts it
so here goes my adventure with zembly

I am a Java guy, so the interface they provide with HTML and CSS and JavaScript is not really cool with me, it si really cool by the way but I am not just into JavaScript and stuff, that repels me somehow , I have a book about it and stuff which was a year ago and I read it , I know what's going on if I see the code but there ends my familiarity I haven't written any code except if you say retrieving time falls into that category, here it goes

When I log inside zembly I came to know that I created 2 widgets inside it , this stuff I really liked in it, you can get any kind of widget, explore it, read , learn and edit the source code , this is like the more simplified version of open-source, you can like just made a copy of a project and edit it as your own, however for those who are not that much open(or are just practical, as they think) can go for a pro-account which is free for about 6 months and you can make your project private.

As they say inthe announcement today, zembly will be free with standard options for like forever(as much as I like to believe it, it is free for now that counts, and the next 6 months) , I may not have developed any application in zembly I have somehow experimented with it and by some way have gained something about java-script, on the front of other stuff, in the meantime I came across a blog which suggest that I can develop in JavaFX and you remember the proof I gave in the beginning by google , that was real and I pasted that post on May 1 but my exams also started that very same day so I didn't get much chance to explore,
Some confession : I really started this blog to get into that contest and have a branded T-Shirt but I must confess I really enjoyed, it I wasn't sure I can go this much longer but I did write more than my other some serious posts, and I came to conclusion that I will definitely explore it more once JavaFX contest is over, yeah definitely. and other thing I like these technologies and in future I will write more about them
another note : zembly wiki now has a link to get you ready for javafx development , so you (and I )will not have to wander.

update 1:just seconds after this post some dude complained about this entry on dzone, I don't know the reason, but seriously those guys are really fast
disclaimer: I don't really think anyone should be reading this, because these are all my personal view, and if someone find it somewhat offended , seriously I am sorry for that, at the time of starting this article , I was just trying to relieve my exam tension,hence the awkward title, but as I wrote I kind of immersed and believe it or not, this post took around 1.hr 3:30 AM to (do the calculation youself) IST and I really enjoyed it , I don't mean to offend anyone, it's just fun to write.
update2: dzone seems to lock this post, , seems like it contradicts with their quality control or something, never mind I'll definitely make sure next time I will keep check with that before submitting. I mean I will not submit these type of article there