I have the privilege to present several JavaFX Real-World Apps at JavaOne this year together with Alexander Casall, who works for Saxonia Systems in Dresden. In preparation of this talk we sent out a questionnaire to our customers and partners and asked them a few questions related to their project, their application, and their use of JavaFX.
I thought it would be a good idea to publish their answers ahead of JavaOne to give attendees a chance to prepare themselves for the talk and also to maybe get some more feedback related to JavaFX projects out there, their size, and the politics surrounding their decision making process.
The first questionnaire was returned by Stephane Metairie from the European Broadcasting Union (EBU).
“Members of the EBU are radio and television companies, most of which are government-owned public service broadcasters or privately owned stations with public service missions. Active Members come from as far north as Iceland and as far south as Egypt, from Ireland in the west and Azerbaijan in the east, and almost every nation from geographical Europe in between.” – Wikipedia
EBU is also known for organizing a yearly song contest for its member countries. This year it took place in Vienna.
The application is being developed by a combined team with developers from EBU and AISO. AISO is a software development company located in Geneva. They have a very strong focus on business software development with JavaFX. Disclaimer: I am under contract with AISO.
The application they are developing is used for planning / scheduling broadcasting streams (TV, Radio). Resources scheduled are satellites, satellite dishes, fiber optics, etc… The application will be used by 150 concurrent users.
Below you can see a screenshot of the application. The fact that there is a timeline control shown inside of it basically gives away how I got involved into this project as an external consultant / freelancer (see FlexGanttFX).
Here the interview questions and answers:
General Questions
What is the name of your product / project?
NEOS.
Who are your users / customers?
Internal application. Users that are in charge of planning. They “build” dynamic networks for broadcasting streams.
What is the purpose of your software? What are its benefits?
Transmission management. Build dynamic networks based on existing resources or resources rented for the case. Allow resource booking and planning.
Is the application operational? If yes, since when? If not, when do you plan to go live?
Not yet, the plan is to go live in January 2016.
How big is the budget for your project?
3 Million Dollar.
Development
How did you get the necessary JavaFX Know-How into your team? (Consultants, Internal / External training courses)?
We involved some consultant expert in JavaFX and we trained the whole team with … Internet and Oracle resources.
With which version of JavaFX did you start? 1, 2, 8?
Javafx 2.
When did you start developing the application and how long did it take?
Starting end of 2014. Took one year so far.
How many developers worked on it? In total and on the UI.
Around 15 people now. All developers work on server and client side.
How big is the application? Lines of code, Number of classes.
2000 classes.
How big is the JavaFX client? Lines of code, Number of classes.
1000 classes.
Why did you choose JavaFX as frontend technology? And very importantly: why did you not choose HTML / Web?
It’s Java ! Better ability to use desktop resources than web/html. Java applications are more stable over time than javascript (huge number of JS frameworks rise and die all the time).
Was it difficult to convince decision makers to agree on JavaFX?
Yes, I was very challenged, by managers and by developers !!! (I’m still being challenged).
What were the biggest challenges / problems / issues / bugs you faced in the JavaFX part and how did you solve them?
No worthy datatable component. Weak or incomplete component libraries. Not much JavaFx developers on the market. Bindings / Observability sometimes is tricky. Articles on the web are growing but not sufficient in some cases. No clear MVC or sort of MVC. For well industrialized projects there is no clear MVC, or this kind of pattern.
Which 3rd-party products / frameworks / tools (open source and commercial) did you use and why did you choose them?
IntelliJ.
Did you mix JavaFX and Swing code?
No.
Outlook
Would you use JavaFX again for your next project? Please elaborate why or why not. Which recommendations do you have related to JavaFX for other companies / projects?
Maybe. But It misses a sort of framework that could manage applications at a higher level (with templating, tree page, rights, css …) I think about a CMS-like framework.
Which features would you like to see being added to JavaFX?
Datatable.
Do you plan to provide a mobile version of your application or a mobile addition?
Yes.
I’m pretty sure EBU stands for “European Broadcasting Union” not “Eurovision Broadcasting Union”.
Yes, of course! Thanks for pointing that out. They use the term “Eurovision” all over the place, so I got infected by that, too. 🙂
[…] Application number three in the “Real-World JavaFX Apps” series is a heavy-duty data entry application backed up by a relational database called HRC-Matic. It is being developed by AISO in Geneva. AISO is a company specialised in developing business applications based on JavaFX. They are also working on the application presented in my first blog in this series (European Broadcasting Union). […]
[…] European Broadcasting Union: NEOS […]
[…] … your application and its business logic is very complex. A very good example for this category of applications can be found in the planning and scheduling domain. These applications have to be able to provide detailed feedback and guidance directly in the front end. Implementing this with HTML and an untyped scripting language like JavaScript would be a nightmare. Read also here: European Broadcasting Union […]
[…] This is the blog of Dirk : https://dlemmermann.wordpress.com/2015/09/10/javafx-real-world-apps-eurovision-broadcasting-union/ […]