Archives for category: Interviews

It has been a long time since I published an interview, but I’ve finally got back around to it and this week I’m pleased to have an interview with Eugene Ryzhikov, a long time Java desktop developer and open source contributor. I’ve been working with him for many months on ControlsFX, where he has been contributing large amounts of code and many of the features you see in ControlsFX are directly due to his hard work. Hopefully in the coming months I’ll start publishing more interviews again, but as always it depends on time! Right, let’s get into the interview – enjoy! :-)

Eugene Ryzhikov

Hi Eugene – could you please introduce yourself?
I’m a graduate of Kaunas Technology University with a Masters in Computer Engineering. But since my early days I have been involved in software development, starting with the now archaic PL1 and several assembly languages, Borland IDEs, before moving to Java in the 90′s and now sharing my programming time between Java and Scala, which I can only praise. Thankfully, Java is moving in the same direction, which is evident in Java 8 Lambdas.

It would be fair to say you’re a relative newcomer to the JavaFX world. What did you do before your involvement in JavaFX?
I was always a big fan of Desktop UI. It started from the early days of Turbo Pascal and then Delphi. I started working with Java in 1999 and have used Swing since then in most of my applications. I have developed several open source frameworks to enhance the capabilities of Swing.

I was watching JavaFX closely for several years. The switch to JavaFX 2 won me over, but I did not have enough experience in it. The solution was obvious – I had to be involved in the development of an open source JavaFX-based library. Luckily, you started ControlsFX approximately at the same time as I was looking for one, so I offered my help.

Are you employed to work on Java desktop software, or is Java desktop just a hobby of yours?
I consider myself lucky – my work and my hobby overlap. I currently work as a Software Architect. One of the big systems I started and am still involved with is related to energy trading. The client side of this system is Swing based and I developed several libraries to simplify development of required UI features and many parts of the UI itself. 

Is ControlsFX your only open source project that you are involved in?
As I said before, I have several Java and Scala based projects. One of the most popular ones is Project Oxbow. This is a collection  of useful components and utilities for Swing. The main components of it are the JTable Filtering and Task Dialog framework. The experience gained in developing the Swing Task Dialogs was directly applied to the dialog framework in ControlsFX.

ControlsFX 8.0.2 was just released. What plans do you have for future releases of ControlsFX?
I’m still surprised that ControlsFX gathers so much interest even though it only supports the as-of-yet unreleased version of JavaFX 8. At the same time it’s very exciting. I do have a lot of plans and ideas. Some of these include new controls, such as a popover control. A more grandiose one is a validation framework for JavaFX. I’ve made one in Swing once, but JavaFX presents new ideas and challenges. For example, observable collections, the new JavaFX property standard, and property binding greatly simplify many aspects of JavaFX development. CSS support makes for rethinking the whole “Look and Feel” part and is simply amazing!

What is the best way for people to see, interact and learn about ControlsFX?
There are many.  We have a lot of active discussions on the ControlsFX mailing list. General information is available at controlsFX.org and fxexperience.com. The library has an excellent JavaDoc, thanks to your relentless efforts. A lot of information can also be found at our Bitbucket repository. There are many interesting discussions related to issues and pull requests there.

How can people join in the project? Are you welcoming contributions to ControlsFX?
Everyone can contribute if they so choose; it’s so easy nowadays with sites like Bitbucket and GitHib. ControlsFX is truly an open source project. Currently we have contributions from 14 developers. Joining is super easy: sign the CLA at http://cla.controlsfx.org, fork the project at https://bitbucket.org/controlsfx/controlsfx  and send pull requests with your contributions. A contribution does not have to be code or a new control. For example, we are always looking to improve the quality of our JavaDocs, our tests or our samples. Your contribution can be in the form of an issue or feature request submitted to our issue tracker.

What has been your experience in wrapping your head around the way JavaFX works?
I like it a lot. My previous Swing experience helps a lot, but there are so many new exciting features, like CSS support, observable collections, better controls development process etc. JavaFX still has many surprises to reveal.

If you could change or improve any aspect of JavaFX, what would you do? Or, what are you really wanting to see in future releases of JavaFX?
As I said before, I am a big fan of Scala and functional programming in general. It is a great paradigm, especially for UI development. We don’t have to go far to see it – just look at how much easier ScalaFX or GroovyFX  frameworks make JavaFX development. Thankfully, this is not a dream anymore – Java 8 takes a huge step towards functional programming with Lambda and I’m certain Java developers will appreciate it. And it can only get better from there.

What is your setup for developing JavaFX-related code? Do you have a preferred IDE or any tips?
I’m OS agnostic. I have a Windows 8 desktop with Ubuntu VM on it and my laptop  is a MacBook Pro. I run Eclipse IDE on all of these platforms. I usually develop on Windows, but on the road, I do it on my Mac. This allows for greater flexibility and great testing – there are still small differences we have to deal with on each platform to make ControlsFX play nicely with all of them.

Thanks so much for taking the time to answer these questions! Do you have anything else you would like to add?
Just want to say thanks to everyone for the feedback , support, and contributions; we do try to keep up the highest possible standards in ControlsFX. Keep ‘em coming!

As I promised last week in my interview with Tom Schindl, today I have an interview with Felipe Heidrich. Felipe is an Oracle employee responsible for a number of things in the JavaFX area, but the reason why I wanted to interview Felipe is because his work is what enabled Tom to create the styled text editor he announced last week. I’ll leave it to Felipe to introduce himself, so without further ado, let’s get into it! Enjoy :-)

Hi Felipe – could you please introduce yourself?Felipe Heidrich
My name is Felipe Heidrich, I was born and raised in Brazil. After receiving my Bachelor degree in CS from the Federal University of Santa Catarina I moved to Ottawa, Canada for an internship position with Object Technology International (OTI). The following year OTI was fully integrated by IBM Canada where I worked for the next 10 years.

In 2012, I decided it was time for a new adventure (and better weather) so I moved to Santa Clara, California to work for Oracle on the JavaFX project.

Before joining Oracle you had a lot to do with Eclipse – can you clarify what exactly you did there?
I worked on the Eclipse Platform for over 10 years. More specifically on the Standard Widget Toolkit (SWT) where I had the opportunity to work on virtually everything it takes to build a widget toolkit, from accessibility to input methods to printing. My areas of responsibility also included the StyledText and everything related to it. In my last year there I worked on the Orion project where I was responsible for designing  and implementing the text editor component. We had a great team in Ottawa and an amazing community around Eclipse and Orion, it was a great run.

You’ve been at Oracle for around a year now. What have you done during this time?
I’m currently working in the graphics team. I spend most of my time working with text. Our first challenge was to add unicode support and after that it was to design and implement rich text support. Being at the bottom of the stack I get to interact with nearly all other parts of the system and I always try to contribute and participate in the entire product.

(more…)

Hi everyone. I’ve been meaning to get more interviews out for quite some time, but as you know work is often all-consuming! :-) Anyway, today I am pleased to post this catch-up with Tom Schindl about his work on a styled text editor for JavaFX. Next week I will be following this interview up with another interview, this time with Felipe Heidrich, an Oracle engineer who works on text in JavaFX (including the rich text APIs Tom mentioned below and native text rendering). Previously he was very closely involved with Eclipse and SWT, so he has a wealth of knowledge in the Java desktop area. Anyway, for today let’s get back to Tom! Enjoy :-)

Hi Tom, I’ve already interviewed you in the past, but today I wanted to talk to you about your latest work around styled text editing in JavaFX. Could you please summarise what exactly it is you’ve been working on?
In the last week I’ve been working on a StyledTextArea (Blog 1, Blog 2, Blog 3). Developers interact with such a control day by day when using their favorite IDE – in my case Eclipse.

If someone one day wants to write a purely JavaFX driven IDE, the source code editor is certainly the most important control. In JavaFX 2 it was very hard to implement a control like this and the only feasible solution was to use WebView and use one of the sourcecode editors written in JavaScript. And as a matter of fact, one can really get quite far with it (See my blog entry about mixing and matching JDT and JavaFX).

JavaFX 8 introduces a new scenegraph element named “TextFlow” that helps with the layout of Text nodes and so writing such a control has become much easier than it was in JavaFX 2.x. One of my main goals is to have a control that has an API comparable to the widget used within Eclipse. The reason for that is that if the widget works similar to the SWT one,  almost everything provided by the Eclipse text parsing and styling infrastructure can be reused almost unmodified (only replace things like SWT-Color, Font by their JavaFX counterparts and you are done).

(more…)

Today I have an interview with Daniel Zwolenski, a developer who has been involved with JavaFX, both from a commercial point of view, and as part of the open source community. He is active in openjfx-dev mailing list discussions, as well as running a very popular blog on using JavaFX in enterprise environments. I first had the privilege to meet up with Daniel when I was living in Brisbane, Australia last year, and he continues to be a contributor to the future of OpenJFX discussions today. Without further ado, lets get go with the interview – please enjoy! :-)

Hi Daniel – could you please introduce yourself to everyone?
For the last 14 years I have been working in the Java application space, designing and building Java applications of all shapes and sizes for many different clients and industries. I’m based in Australia, currently in Melbourne, but I have worked in the UK, Ireland and very briefly in France.

Among many other projects, I was the architect and led the development of Coinland (an online virtual world for kids sponsored by one of the major Australian banks), I’ve driven the re-development of SMART (the key reporting tool for the National Assessment Program for Literacy and Numeracy in the state of NSW), and I’ve been a core part of the team that developed the management system for Tourism Australia’s ATE (the largest tourism expo in the southern hemisphere).

I’ve deliberately stayed as an independent contractor, changing fields and companies in search of the most interesting and challenging work. I love the variety, and opportunity this provides to grow my skills and expand my experiences. I have managed teams of all shapes and sizes, worked in with large corporate teams, and at times, acted as a one-man development team.

I get a buzz from interacting with my users and user interface development has always been my preferred space. I cut my teeth on Microsoft’s Visual C++ and MFC platform, and then happily made the move to Java when Swing was released. I’ve worked in the web space, but always felt limited by what I could provide for my users, even when using technologies like GWT. I’ve also developed Android applications and been involved with some iPhone development.

JavaFX is a very natural fit for me, and a platform that I really want to see dominate mainstream application development. I want to be at the point where 9 out of 10 contracts on seek.com are looking for JavaFX developers, and when I walk in and pick up some legacy system, it’s a JavaFX application, not a webapp. In a perfect world I would never have to debug another cross-browser JavaScript problem, or worry about what will happen to my session scope if the user hits the back-button.

Although I love to code, I don’t use computers much outside of development. I spend a lot of my time working with non-profit organisations, especially environmental ones. Recently I have taken on a contract with Our Community, a group providing software and services to the non-profit sector. It’s an awesome place that is the perfect balance of commercial systems development, community awareness and social conscious. Unfortunately they are not yet using JavaFX, but I hope to have them converted before too long!

(more…)

This time around I have an interview with Tom Schindl, a developer who has been active on the openjfx-dev mailing list teaching the Oracle engineers a thing or two about OSGi, and how to play nice with it. We really value his feedback, and all other feedback we receive from members of the JavaFX community. Enjoy the interview, and if you have any feedback about what Tom is discussing, please feel free to leave comments on this post. I’ll make sure he keeps an eye out and answers any questions you may have :-).

Hi Tom – could you please introduce yourself to everyone?
In my daytime job I’m cofounder and CTO of a small software company named BestSolution.at located in western Austria where we develop solutions for and provide consulting to customers around the world.

We have put our focus in the last years on OSGi and Eclipse technologies and because of this engagement I’ve become a committer on various Eclipse projects including the next generation of the Eclipse Platform named e4 (the foundation of the Eclipse 4.2 SDK) for which I wrote the initial prototype together with an employee from IBM.

You’re a relative newcomer to the JavaFX world, joining around the release of JavaFX 2.0. What drew you into JavaFX?
At the time JavaFX 2.0 got released I was searching since some time already for an alternate UI technology. Because of Eclipse RCP we historically worked and still work in many project with SWT. Like any technology SWT has its advantages and disadvantages. One of major problems is and was that you can’t really style all properties of a control because the widget is not drawn by SWT but the native widgettoolkit and so I was searching for another UI technology which doesn’t have such a limitation.

So JavaFX 2.0 came just at the right time for me and I liked the design of the toolkit including its property and observables API (at Eclipse I’ve been involved in the eclipse databinding library so I know this problem domain a bit) and most importantly the useage of CSS to declaratively styling the UI, interesting enough is that once more at Eclipse we decided to use CSS as well to style the e4 platform.

(more…)

JFXtras is a library project for JavaFX that provides a bunch of useful API – particularly new UI controls (which you can see by running the JFXtras Ensemble application). It was founded back in the early JavaFX 1.x days, but has recently begun rebooting itself for JavaFX 2.x. I’ve been working with the project to help it get kickstarted, and wanted to post the following interview to introduce you to a few of the original committers to the project. I should note that this interview was done in early March, but has been waiting for the release of JFXtras Labs 0.1 before publishing it. Now that this has happened, enjoy the interview :-)

A (somewhat) close facsimile of the four interviewees: Tom, Dean, Steve, and, um, Gerrit

Welcome gentlemen, and thanks for taking the time to answer a few questions. Could you please briefly introduce yourselves.
tbee: My name is Tom Eugelink, 41 years old, 2 kids, and I live in the Netherlands. I’ve been writing computer software since I was 14, which seems like a century ago. First just for fun; basic on the VC20, C64, Amiga, and then I decided to go serious and did a formal 4 year study in software engineering. Back then Pascal and C were the leading languages and Unix (SUN) the operating system we worked with. After that I started a job as a software engineer, where I was part time send out to clients and part time working in house. And basically is what I’m still doing now, almost 20 years later, only self employed.
In the company I worked for back then, I had risen to the mysterious level of senior software engineer, when Java first hit the spot lights. And I expected it to be a game changer, compared to the cumbersome languages we were using at that time. So I convinced the company to jump on the Java 1.1 band wagon, and luckily my hunch turned out to be correct. A funny fact is that the first project we did using Java, still is continuing today and I’m still on a regular basis developing on that code base, which now has migrated to Java 1.7.
steve: I will keep it short…  My name is Stephen Chin and I am a JavaFX hacker.  (with the long version here)
gerrit: My name is Gerrit Grunwald, 42 years old, 2 kids and i live in Germany. I started playing around with computers in 1984 on a Texas Instruments Ti-994A followed by a Sharp MZ 731, Sharp MZ 821, Amiga, PC and finally a Mac. I studied applied physics and started working as an so called Application Scientist doing installations and training of hard- and software. After three years traveling around the world i decided that it was time to spend more time on coding and moved to the Software Development department. I started coding Java around 2003 because i needed a platform that supports Mac and Windows.
dean: I’ll follow Steve’s lead.  My name is Dean Iverson, I’ve been a JavaFX fanboy and JFXtras contributor since before it was cool.

(more…)

Today I have an interview with Ander Ruiz, a developer I’ve been working with on an updated version of Scenic View that will be released next week. The one point I want to raise is that we want your feedback on new features to add to this application! Leave comments in the comments section below. For those of you unfamiliar with Scenic View, there is now a Scenic View page here at FX Experience which will be shortly updated with the new release, but the current release can also be downloaded.

Hi Ander. Could you please introduce yourself to everyone?Ander Ruiz
I’m a graduate of the Engineering School of Bilbao with a Bachelor degree in Telecomunications Engineering. I’ve been working as a software architect at Telvent on Java for embedded environments since 2002 with lots off hardware control, all kind of communications (serial ports, usb, network protocols …), and user interaction.

You’ve mentioned to me previously that you do a lot of work with JavaFX-based kiosks – can you provide mode detail about how you use JavaFX for kiosks?
Our old machines use HTML as their GUI, and an obsolete JNI Wrapper of Mozilla (1.7!!) called JRex for browsing the (there was no WebView at that time :-(). It was not bad, but definitively far from perfect. So in 2008 I started to search for a replacement, and after discounting Flex (which was being used for our server application) I chose JavaFX. Three years later we have an appealing framework to build our GUIs, that reduces our development costs and bugs. And with JavaFX 2.x you have provided me a way to migrate the old GUIs.

(more…)

It’s been a busy few weeks for me with JavaOne Japan in early April, a heap of development work on JavaFX 2.2, and JavaOne India coming up next week. I’ve slightly dropped the ball on interviews during all of this, but here is another interview from a member of the JavaFX team at Oracle. Peter Zhelezniakov is an engineer in the WebView team, where he works on WebView-related JavaFX APIs all the way down to working with the Webkit code that WebView uses under the covers. Enjoy – and feel free to ask WebView related questions here – I’m sure Peter will be happy to help. :-)

Hi Peter – thanks for offering to be interviewed. Could you please introduce yourself?
I came to the JavaFX team from Swing, where I was working mostly on Look-and-Feels, but also on Swing’s own HTML package.

So you work on the WebView feature of JavaFX. This is a major component of the new JavaFX 2 series of releases – could you please give an overview of what exactly WebView is?
WebView is a JavaFX node used to display Web pages, with the help of the underlying WebEngine object. It is basically a browser component with a richer programming interface: you can for example examine structure of a page, inject arbitrary scripts, or listen to HTML events. Internally it is a Java wrapper around the Webkit open browser engine used by many desktop and mobile browsers.

(more…)

Hi all. I’m currently sitting in a hotel room in Tokyo, but I’ve been waiting to publish this interview until Jim and Steve made their announcements this week. Now that the news of their employment at Oracle is out, here is the interview. Enjoy! :-)

Hi Jim and Stephen, would you please introduce yourselves?
Jim: Hi Jonathan, I’m Jim Weaver, long-time application developer with a particular interest in rich-client Java/JavaFX development.
Steve: I am also a JavaFX client hacker and enjoy working on several different open-source projects related to this.

You’ve both been involved with JavaFX for a long time. What drew you into JavaFX in the first place, and what keeps you going with it?
Jim: Rich-client development should be simple and elegant, but the post-1994 trend has been to force-fit the browser into being an application execution environment.  Consequently, many rich-client applications are comprised of Rube Goldberg machine-esque combinations of HTML, JavaScript, XML and other technologies.  JavaFX is an elegant and powerful technology for creating rich-client applications that run on the Java Virtual Machine (JVM).

(more…)

This interview is with a team mate of mine – David Grieve. As you’ll discover in this interview, he has been involved with JavaFX for a long time. I won’t spoil any more of the interview – so enjoy and feel free to leave comments in this blog related to JavaFX CSS support.

One small note: I will be away at JavaOne Japan for the next two weeks, so it is likely I won’t publish any more of the interviews I have until I get back. Now, on with the interview! :-)

Hi David. Could you please introduce yourself to everyone?
I’m a graduate of the University of Pittsburgh with a Bachelor degree in Computer Science. I got started in Java in 1997 when I helped develop a Java-based network-management tool. Since then, I’ve been programming almost exclusively in Java. On the personal side, I live in New Hampshire with my wife and our two children.

You’ve been in the JavaFX controls team longer than I have – how long have you been working on JavaFX?
I’ve been working on JavaFX since 2008 when I led the development of the Media Browser tutorial which was part of the 1.0 effort. I became part of the UI controls team around the start of the 1.2 development cycle. I took on the development of CSS at that time, which would have been March, 2009, if I recall correctly. It all seems so long ago.

As long as I’ve known you, you’ve always worked on CSS support in JavaFX. Firstly, I must thank you – CSS in JavaFX is wonderful.
Thanks! But a lot of the credit has to go to Richard and Jasper who set the direction. Concepts that really make JavaFX CSS powerful – such as color derivation, property lookup, and multiple background colors and borders – come from them. I just put the code together to make it all work.

(more…)