Currently JavaFX Mobile is only available on Windows Mobile devices (ones that run Windows Mobile 6 or later). Although this was a reasonable start for JavaFX on the mobile side initially its biggest competitor (Flash) has made a bit of a head start. Flash is now being supported on a few major mobile platforms (Blackberry, Android, Windows Mobile). Mobile development is an area that JavaFX can excel in provided JavaFX is supported on a wide number of mobile platforms and devices.
What are Oracle's plans for JavaFX Mobile? What new capabilities are going to be added to JavaFX Mobile? No mention has been made by Oracle on when JavaFX Mobile tooling will be made available on Linux (eg emulators, libs). This is important if JavaFX is going to be supported on Android mobile devices. At JavaOne 2008 some JavaFX applications were demoed on an Android device.
So far nothing has been mentioned since on JavaFX support for Android. What is the current status on the JavaFX Mobile runtime for Android? If it is anything like the Java runtime for Windows Mobile (codenamed Captain America) it will eventually be released to the public, hopefully.
Oracle will need to announce significant plans for JavaFX Mobile that will keep its marketing on track, by making deals that will see JavaFX supported on more major mobile platforms. Without making JavaFX available on a wide range of devices Oracle is breaking JavaFX's marketing statement, “JavaFX enables developers and content creators to quickly develop interactive applications that can easily be deployed across the widest variety of client devices - from mobile devices to desktops, to next generation television devices”.
It may be necessary for Oracle to develop and support multiple JavaFX Mobile runtimes (in house) in order to accelerate the deployment of JavaFX on mobile devices. Oracle needs to put its actions, and money where its mouth is in order for JavaFX to excel in the mobile area.
01 March 2010
21 February 2010
Open Sourcing JavaFX
At the moment JavaFX has been partially open sourced with the compiler and parts of the platform API. There are some key parts like the JavaFX runtime that haven't been open sourced yet. Oracle have not mentioned what their plans are for open sourcing JavaFX. Have the open source efforts with JavaFX grounded to a halt, or is there some change with the plans that Oracle have not announced yet? From what I have been able to discover so far there isn't enough of JavaFX being open sourced (with the open source distribution) to make it useful unless the official JavaFX distribution is used.
It is surprising to see that that there isn't more of the platform API being open sourced. Many parts of the API are not encumbered with patents/copyright, and other possible legal issues. Why is there not more of the platform API being open sourced already? To make matters worse the JavaFX runtime cannot be freely distributed with a JavaFX application (eg bundled in a zip file). If a developer wishes to bundle the runtime with the application because the client doesn't have access to the Internet, then they are forced to use an alternative technology.
Somehow it is extremely silly that a developer is forced to use an alternative technology because of a licensing issue with distribution of the runtime. As a result this means that JavaFX cannot be considered to be truly open sourced since the licensing is not technology neutral. Many people have complained bitterly about the runtime bundling issue (“Allow us to distribute the JavaFX runtime binary”), which comes as no surprise since it is currently 3rd in the JavaFX Feedback forum. Which begs the question what is Oracle's attitude towards open source? How are Oracle going to resolve the licensing issue with bundling the runtime?
If Oracle are serious about furthering the efforts to open source JavaFX then they should have discussions with Google for the following reasons:
It is surprising to see that that there isn't more of the platform API being open sourced. Many parts of the API are not encumbered with patents/copyright, and other possible legal issues. Why is there not more of the platform API being open sourced already? To make matters worse the JavaFX runtime cannot be freely distributed with a JavaFX application (eg bundled in a zip file). If a developer wishes to bundle the runtime with the application because the client doesn't have access to the Internet, then they are forced to use an alternative technology.
Somehow it is extremely silly that a developer is forced to use an alternative technology because of a licensing issue with distribution of the runtime. As a result this means that JavaFX cannot be considered to be truly open sourced since the licensing is not technology neutral. Many people have complained bitterly about the runtime bundling issue (“Allow us to distribute the JavaFX runtime binary”), which comes as no surprise since it is currently 3rd in the JavaFX Feedback forum. Which begs the question what is Oracle's attitude towards open source? How are Oracle going to resolve the licensing issue with bundling the runtime?
If Oracle are serious about furthering the efforts to open source JavaFX then they should have discussions with Google for the following reasons:
- Obtain experience from Google on using a non restrictive license that promotes the use of technology (in this case JavaFX)
- Get JavaFX onto Android devices on the mobile side since this will allow JavaFX to be more easily adopted onto other mobile platforms
- Gain insights into increasing the acceptance of JavaFX with the open source community and on major open source platforms in general (eg Linux, Android)
16 February 2010
JFX Blocks (GUI) 0.2 Released
JFX Blocks (GUI) 0.2 has been released on Kenai. This is the result of the challenge I had assigned to myself, which is to create 10 JavaFX controls (non-visual/visual) within a month. I can definitely say I have met the challenge. JFX Blocks (GUI) release contains the following controls (non-visual and visual):
Do note that this release like JFX Blocks (Core) has not been tested on the mobile side. Currently the look for each control has not yet been finalised since I am trying to work out how to provide a consistent look across both mobile and desktop, if possible. Hence the controls do not have a very polished look as they are very much a work in progress.
- Anchor
- Navigator (Known as NavigatorBlock)
- Split View
- Button Bar
- Image Button
- Navigator Bar
- Slide View
- Status Bar
- Ticker
- Toolbar
Do note that this release like JFX Blocks (Core) has not been tested on the mobile side. Currently the look for each control has not yet been finalised since I am trying to work out how to provide a consistent look across both mobile and desktop, if possible. Hence the controls do not have a very polished look as they are very much a work in progress.
05 February 2010
Oracle's Intentions With JavaFX
After Oracle made announcements of their various strategies it is a good step in the right direction. Especially when they announced that they “will invest heavily in JavaFX”. However Oracle have not mentioned a single word on what they plan to do with JavaFX Script. Will some of Oracle's investment include further developing JavaFX Script?
Many people that have reviewed JavaFX have often cited JavaFX Script as one of the major strengths of the JavaFX platform. Currently Oracle have not revealed if they intend to further develop JavaFX Script, and if so what improvements will be made. If Oracle is serious about supporting JavaFX (especially in their own business) then when will they start migrating all of their Flash/Flex applications to JavaFX?
What hasn't been mentioned by Oracle is their roadmap for JavaFX. At the moment nothing concrete has been revealed about the long term plans for JavaFX so that the community knows exactly where it is heading. Hopefully under Oracle's watch they will do a good job of covering what is currently happening with JavaFX on a reasonably regular basis, which does not leave the community almost completely in the dark. Although it is understandable that Oracle have not delved too much into the details surely additional information could have been provided.
Although this may sound like a crazy idea Oracle should consider buying RIM. Not much momentum is expected with this although I could be proven wrong about it, we will have to wait and see. JavaFX needs a proper mobile hardware platform to show what it can really offer to businesses and mobile developers. If Oracle were to purchase RIM they would benefit by:
Clearly from Oracle's strategy with JavaFX they know the technology very well, and are mostly heading in the right direction with it. However Oracle need to provide safe multi-threading (concurrent programming) capabilities for JavaFX Script, and bolster the JavaFX APIs with support for a wider range of UI technologies (eg touch screens, 3D graphics). On the official Customer Feedback And Ideas For JavaFX forum these are the top ten feedback/ideas (ordered by rank):
Many people that have reviewed JavaFX have often cited JavaFX Script as one of the major strengths of the JavaFX platform. Currently Oracle have not revealed if they intend to further develop JavaFX Script, and if so what improvements will be made. If Oracle is serious about supporting JavaFX (especially in their own business) then when will they start migrating all of their Flash/Flex applications to JavaFX?
What hasn't been mentioned by Oracle is their roadmap for JavaFX. At the moment nothing concrete has been revealed about the long term plans for JavaFX so that the community knows exactly where it is heading. Hopefully under Oracle's watch they will do a good job of covering what is currently happening with JavaFX on a reasonably regular basis, which does not leave the community almost completely in the dark. Although it is understandable that Oracle have not delved too much into the details surely additional information could have been provided.
Although this may sound like a crazy idea Oracle should consider buying RIM. Not much momentum is expected with this although I could be proven wrong about it, we will have to wait and see. JavaFX needs a proper mobile hardware platform to show what it can really offer to businesses and mobile developers. If Oracle were to purchase RIM they would benefit by:
- Having a missing part that will make the solution even more complete (can provide mobile hardware – via Blackberry smart phones), unification
- Being able to provide an optimal JavaFX experience (for users) by being able to tweak the hardware to run JavaFX mobile applications very well
- Accessing additional markets that RIM are currently involved in like government, business professionals, consumers
- Being able to deliver unique mobile solutions that not only cover software but also the hardware
- The increased adoption of JavaFX on mobile platforms with providing an official mobile hardware platform where JavaFX mobile applications work very well
Clearly from Oracle's strategy with JavaFX they know the technology very well, and are mostly heading in the right direction with it. However Oracle need to provide safe multi-threading (concurrent programming) capabilities for JavaFX Script, and bolster the JavaFX APIs with support for a wider range of UI technologies (eg touch screens, 3D graphics). On the official Customer Feedback And Ideas For JavaFX forum these are the top ten feedback/ideas (ordered by rank):
- Create more native components, like form items, grids and menus
- Quick application startup
- Allow us to distribute the JavaFX runtime binary
- More JavaFX Runtime Ports, Windows Mobile/CE, Symbian, BlackBerry, Ubuntu on ARM, Chrome OS, Maemo
- Thread-safe JavaFX
- 3D support
- Multi-touch capabilities
- A full featured editor for editing Animations, UI
- Table widget with sorting, scrolling etc
- HTML renderer
29 January 2010
Three Good JavaFX Applications
Listed below are 3 good JavaFX applications that use JavaFX in interesting ways, which are worth mentioning. I have chosen these 3 applications because they put JavaFX to good use, and are likely to be used reasonably regularly (eg on a daily basis).
Indaba Console
First major example of a major application that has transitioned from Flash/Flex to JavaFX. It is used by musicians to create music tracks that are stored in the cloud (the Internet). Not many users would create music but it is still an application worth covering.
When starting the application it is reasonably quick to appear and has reasonable performance. Upon looking at the application for the first time it has a good unique look that targets its audience. One may note that there are a few custom controls that may appear in a future JavaFX release (not the same ones though).
With Indaba Console a user can:
Thought Slinger
A word processor that stands apart from other word processors by offering secure (encrypted) storage of documents in the cloud, and comprehensive collaboration features (eg instant messaging and documents reviews). Upon looking at the application one may think that a Swing control has been used to act as the text editor. Surprisingly though via a second look it is just a custom JavaFX control.
Again there are some controls that may appear in a future JavaFX release (not the same ones though). My suggestion to the JavaFX team is to have a chat with the developers of Thought Slinger on how they created the custom text editor, a very impressive custom control!
With Thought Slinger a user can:
Cheqlist
Very handy application for keeping track of tasks in a list. As an original application it does not
use any Swing controls (all controls are done in JavaFX). It is another example of an application that stores data in the cloud. All data appears to be accessed/stored through a Remember The Milk REST API.
With Cheqlist a user can:
Conclusion
From what has been covered by this post JavaFX allows one to quickly create good looking, but practical applications that can easily interact with the Internet. Do note that the time taken to develop an application will greatly vary depending on what is being developed. The developers of the two applications covered (Idaba Console, and Thought Slinger) should be interviewed as it would give a good insight into why JavaFX was chosen, and the issues/benefits of developing an application using JavaFX.
Indaba Console
First major example of a major application that has transitioned from Flash/Flex to JavaFX. It is used by musicians to create music tracks that are stored in the cloud (the Internet). Not many users would create music but it is still an application worth covering.

When starting the application it is reasonably quick to appear and has reasonable performance. Upon looking at the application for the first time it has a good unique look that targets its audience. One may note that there are a few custom controls that may appear in a future JavaFX release (not the same ones though).
With Indaba Console a user can:
- Create and edit tracks
- Easily drag n drop pre made audio clips onto existing tracks
- Save a track as a wav or aiff file to the desktop
- Apply sound effects
- Play a track
Thought Slinger
A word processor that stands apart from other word processors by offering secure (encrypted) storage of documents in the cloud, and comprehensive collaboration features (eg instant messaging and documents reviews). Upon looking at the application one may think that a Swing control has been used to act as the text editor. Surprisingly though via a second look it is just a custom JavaFX control.

Again there are some controls that may appear in a future JavaFX release (not the same ones though). My suggestion to the JavaFX team is to have a chat with the developers of Thought Slinger on how they created the custom text editor, a very impressive custom control!
With Thought Slinger a user can:
- Freeze parts of a document that cannot be edited by other users
- Apply a password to the document
- Allow editing access to the document for certain users
- Communicate with other users editing the same document via instant messaging
- Adjust font, size and other styling for parts of a document
- Redo and undo changes made to a document
- Save the document as an HTML, odt, txt or docx file
- Print the document
- Track all changes made to the document (by the owner of the document and other users)
Cheqlist
Very handy application for keeping track of tasks in a list. As an original application it does not
use any Swing controls (all controls are done in JavaFX). It is another example of an application that stores data in the cloud. All data appears to be accessed/stored through a Remember The Milk REST API.With Cheqlist a user can:
- Create, edit and remove lists
- Create, edit and remove tasks
- Easily search through tasks by list or keyword(s)
- Adjust the look of the application to suit
Conclusion
From what has been covered by this post JavaFX allows one to quickly create good looking, but practical applications that can easily interact with the Internet. Do note that the time taken to develop an application will greatly vary depending on what is being developed. The developers of the two applications covered (Idaba Console, and Thought Slinger) should be interviewed as it would give a good insight into why JavaFX was chosen, and the issues/benefits of developing an application using JavaFX.
18 January 2010
JFX Blocks (Core) 0.3 Released
JFX Blocks (Core) 0.3 has been released on Kenai. Here is the list of the major changes for this release:
Currently the first sample has not yet been updated for the current JFX Blocks (Core) release. A new version of the sample will be released soon.
- Added logging facility
- Moved UtilityBlock (renamed Utility) to /org/jfx_blocks/core
- Provided a model and type validator system
- Additional functionality has been added to Utility (was UtilityBlock)
- Added an output buffer which is similar to Java's StringBuffer class
Currently the first sample has not yet been updated for the current JFX Blocks (Core) release. A new version of the sample will be released soon.
05 January 2010
JavaFX Competition Proposal
With the beginning of the new year now is a good time to look at a new JavaFX competition. What I am proposing for the competition (on the official JavaFX website) is one for the best JavaFX control, which can be used in any JavaFX application. Here are the following conditions for the proposed competition:
A competition like this would certainly help with boosting the number of available controls for JavaFX (supplied by Sun and the community). Also it would go a long way towards making JavaFX a more viable technology for building RIA applications (both consumer and enterprise). If you have any further ideas for the proposed competition let me know in the blog comments.
- Any submitted control must be a native JavaFX control (not a native Swing control)
- The control cannot be a reimplementation of an existing JavaFX 1.2 control
- Skin(s) must be available for the control and the control has to be skinnable via CSS
- Only a visual control can be submitted
A competition like this would certainly help with boosting the number of available controls for JavaFX (supplied by Sun and the community). Also it would go a long way towards making JavaFX a more viable technology for building RIA applications (both consumer and enterprise). If you have any further ideas for the proposed competition let me know in the blog comments.
Subscribe to:
Posts (Atom)