- Gluon had two big announcements this week. Firstly, that Scene Builder 8.2.0 has been released with built-in Maven repo support (for downloading control libraries, etc automatically), and secondly that JavaFX 3D support has now been added for iOS and Android devices. Very exciting.
- I interviewed Tai and Ajo from Vero Analytics on their JavaFX software that has seen a lot of interest already from Netflix and Mozilla.
- Gerrit Grunwald has published two of his ‘Friday Fun Components’, both of which look very cool.
- Rob Terpilowski has announced the release of GMapsFX 2.0.6.
- David Bimamisa has blogged about adding multi-user multi-touch capabilities to his graph editor project.
It’s been a long time since my last interview, but today I have an interview from Tai Hu and Ajo Abraham, who are working on some cool stuff that I wanted to share.
Hi guys – could you please introduce yourselves to the readers?
Sure, my name is Ajo and I founded Vero Analytics 2 years ago to make data prep easier for people, especially business analysts. Before that, I worked in big data and analytics for over 10 years at companies like Netflix, Google, and eBay.
And, I’m Tai Hu CTO of Vero Analytics. I’ve been developing Java applications for 2 decades at various companies in the Washington DC area. I also worked at Oracle which was a great experience.
So you’ve been working on your Vero Designer product for a few years now. What does Vero do?
Essentially, Vero allows you to drag and drop your way into a finely prepared dataset. You need well organized datasets to efficiently use visualization tools like Tableau, Qlik, and Microsoft Power Pivot. You also need enriched datasets to use in downstream Marketing automation tools. Right now the major options are bloated ETL (extract, transfer, load) software that are difficult to use or you have to hire data engineers. Neither are good options for many business teams, especially since ETL tools still require a great proficiency SQL and other programming paradigms.
With Vero you can wrangle and load data into databases, blend data across data sources, build complex data flows, and finally export data into target tables. No coding required. Vero does the query generation, the data transformation, and the data movement all without any code from the user. It is so effective and priced well that we have people now who are programmers using Vero. They are doing this because Vero saves them time when dealing with the pain that is data prep. We are currently working on exciting new exports including the ability to post data to any Rest end point. I think our users are going to love this. The use cases are endless. Email automation, advertising automation, customer on boarding etc.
Who do you think would benefit from your product?
Its really a cross functional application. Data is so pervasive now a days there are many categories of users. We mainly see Business Analysts, Business Intelligence developers, Visualization developers, and data engineers using our tools. Our customer industries span everything from Entertainment to Hospitality.
You built Vero with JavaFX – how did you find working with it?
Tai can speak to this better than I can.
SceneBuilder and CSS support are two major factors that brought us to JavaFX. Overall we had a very positive experience with JavaFX. I used to be a Swing developer and JavaFX property binding makes it a lot easier to keep model and UI in sync. Also JavaFX concurrency package allow us to create responsive UI without worrying about threading issues.
Did you always plan to use JavaFX? What motivated you to choose JavaFX over other technologies?
No. We looked at lots of options to make development fast. Options like node-webkit, Electron, Chrome Apps were all considered. Our plan all along was to build a desktop app, but originally thought a web tech environment would be better. In someways we still think that, since there are more web devs out there and a lot more community support. However, Java and JavaFX gave us two things that outweighed these concerns. Performance and JDBC. We rated our needs of both performance and jdbc connectivity to be paramount and that pretty much drove the decision. Besides that we really wanted to build a highly stylized UI that makes data approachable. JavaFx gave us that and we are so far happy with it.
I’ve heard you’ve had some amazing interest in your product already. First of all – congratulations. Secondly, can you speak more about who is using your app, and how they benefit.
Yes, definitely. The notable customers are Netflix and Mozilla. We are thrilled to have them as customers and we are very proud of that achievement. We launched our true MVP back in February of 2016 so this was great. Right now we are doing a project with Netflix to download and load data from any JSON end point into MySQL (we will also support Postgres and RedShift) using Vero. For the sake of full disclosure, Netflix is using our product to help with their internal app analytics not the massive datasets related to streaming.
Have you made use of any open source libraries or benefitted from the JavaFX community in any way? What are you feelings on Java on the client, and the community around it?
Yes, we used a couple of JavaFX open source libraries, such as DataFX, ControlsFX, and FontAwesomeFX. Those libraries definitely provide us a lot of quality widgets and icons. Overall we had a positive experience with Java desktop technology. However comparing to Web techonologies, JavaFX community has a way to go. I hope us being out here and being successful will motivate people. We also want to contribute and will do so as we grow.
How can the JavaFX community help?
Tell your buddies who are business analysts, business intelligence developers, or data engineers about Vero. While we have a few customers we still got a bit to go before we can be successful. We’ll take whatever help we can get :).
Thanks for your time today. Did you have any final comments?
We want to thank the entire JavaFX community for their continued effort in making JavaFX a great client side platform. Certainly want to thank you for FXexperience and other folks for their contributions. Desktop apps are not going away and I think JavaFX has a great future as long as we push the boundaries.
- Edvin Syse has added support for forms in his TornadoFX library, which is a lightweight JavaFX framework for Kotlin.
- Heiko Rupp has a blog post introducing HawkFX, an inventory browser for Hawkular.
- Peter Rogge has published part two in his series on creating a SokubanFX game.
- Rob Terp has announced the release of GMapsFX 2.0.5. GMapsFX is a “Java library that makes it extremely easy to add a Google Map to a JavaFX application”.
- Dirk Lemmermann has updated his websites to gather them all under one domain now, for his commercial products, services, and blog.
- Carl Dea has posted about writing a JavaFX HelloWorld using Java 9’s Project Jigsaw in 60 seconds.
- David Gilbert has released a new version of JFreeSVG (a free Graphics2D-based SVG generator). Version 3.1 fixes a problem with transparency in gradient paints, improves output when drawing ellipses, and improves font measurements.
- Michael Hoffer has released VWorkflows v0.2.2.
- Peter Rogge has released a second prototype of his SokubanFX game. He has also started writing a series of articles on porting his old Swing 2D game to JavaFX.
- Gluon has announced that JavaFX Embedded now supports WebView.
- If you’re around Zürich, Switzerland on May 17th, you might be interested in attending the Custom JavaFX UI controls talk being given by Gerrit Grunwald at the Zürich JavaFX Meetup.
- Carl has posted about creating JavaFX derived fields with Bindings.concat().
A good number of links this week – enjoy 🙂
- Adam Bien has released afterburner.fx 1.7.0, which comes with a ‘swappable DI mechanism’.
- Speaking of Adam, he has also posted the video of his presentation on ‘MVC, MVP, IOC, or a Deeper Dive Into afterburner.fx‘.
- Gerrit Grunwald has created another of his ‘Friday Fun Components’, and of course it looks very cool.
- Gerrit has also released an updated version of his Medusa gauges library.
- Jens Deters has announced the release of FontAwesomeFX 8.11.
- Thomas Nield has released updates to RxJavaFX and RxKotlinFX, which are RXJava bindings
- Carl has two posts this week. Firstly, he has a post on ‘Moving a Hedgehog Around a Game Board in JavaFX‘, and secondly he has a post on ‘JavaFX Binding of Step Indicators in a Wizard‘.
- Recently there was a Virtual Technology Summit hosted by Oracle, and one of the presentations at the conference was presented by Johan Vos. You can now watch his presentation on Java On Mobile whenever you want.
- Speaking of Java on mobile devices and Johan, Gluon released Gluon Mobile 2.2.0, which includes a number of new features and bug fixes.
- Peter Rogge has put the (very early) code up for his new game, SokubanFX. It is written in JavaFX with NetBeans, but is at this stage text-only. He has also posted a short YouTube video of the game.
It’s a public holiday here in New Zealand today, so I’ll be keeping this brief. Nonetheless – enjoy! 🙂
- This week Adam Bien is presenting at the Silicon Valley JavaFX Users Group about ‘MVC, DI with JavaFX with 3 Classes’. If you are local, you can attend in person, but if you aren’t, it is also live streamed.
- Dirk Lemmermann has posted another in his series of JavaFX missing features, this time discussing CSS.
- Jens Deters has a blog post about ‘Button of Choice: Use ToggleButtons as RadioButtons’.
- Edvin Syse has posted a video titled ‘Type safe JavaFX CSS with TornadoFX‘.
A really busy week of links this week – you’ve all been very busy! 🙂
- Dirk Lemmermann has posted another post about the ‘JavaFX missing features’ survey he run. This time he talks about performance and quality responses that he received.
- Jens Deters has released FontAwesomeFX 8.10 which splits the icon packs out into separate artefacts so that the file size is reduced in most cases.
- Gerrit Grunwald has posted another of his Friday Fun Components, this week a progress bar styled on the ‘material design’ style. Looks very nice 🙂
- Carl has two blog posts about the JavaFX TableView control. Firstly, he has a reviewed the performance implications of the TableView cellValueFactory API, when using the reflection and non-reflection approaches that are available. Secondly, he has posted about saving changes to JavaFX TableViews when the data set is large.
- Jeff Friesen has an article exploring JavaFX’s Application class.
- Gluon announced the availability of Gluon Maps, a library that allows for a Google Maps user interface using JavaFX (without the need for an embedded WebView, etc).
- Adam Carroll blogged about VocabHunter, a tool for learners of foreign languages, which is written using JavaFX.
- Edvin Syse has released TornadoFX 1.4.2, which is a lightweight JavaFX framework for Kotlin.
Well, it’s been an eventful week for FX Experience – the site was hacked and turned into a spambot, so we had to shut it down. Once the dust settled we brought the site back to life, but as you can see not without some collateral damage – it was easier and quicker to bring a new theme back online rather than ‘disinfect’ the FX Experience theme that had been totally overcome by spam malware. Jasper Potts did all of this, and even found time to create a new FX Experience logo that you can see in the top-left. With the site alive once more, lets get on with the news! 🙂
- Dirk Lemmermann and Carl Dea have been taking turns trying to come up with patterns to minimise the cost of properties. I linked to Dirks original post last week, but then Carl followed this up, followed by Dirk, then followed twice by Carl.
- Gerrit Grunwald has released an updated version of his Medusa gauge library, and he has also posted another of his very cool ‘Friday Fun Components‘.
- Gluon has done some work to improve the quality of the samples provided for Gluon Mobile and Gluon Desktop – they are now collected on a single page and have been ported to asciidoc.
- Christoph Nahr has posted about running JavaFX applications using the JAVA_TOOL_OPTIONS environment variable.
- Pat Martin has posted about running running JavaFX in a Docker container.
- Dirk Lemmermann has two posts about his CalendarFX library – one showing off the new MonthGridView, and the other showing it being used in action.
Sorry everyone we got hacked and it will take us a little while to put the site back together. Please be patient with us.
- Gluon has released JavaFXPorts 8.60.7, which includes a number of bug fixes and performance improvements.
- Arnaud Nouard has released a new version of his Undecorator library, and it comes with another theme. Looks very nice.
- Jérome Cambon has posted an article about testing JavaFX in headless mode.
- Dirk Lemmermann has posted another JavaFX tip on how to save memory with shadow fields for properties.
- Patrick Martin has open sourced his Dex visualisation tool.
- Andres Almiray released ikonli 1.3.0 for Swing and JavaFX.
- Kamil Baczkowicz has released mqtt-spy 0.5.0.