Jfokus

Jfokus is over, and it was a very positive experience, although with a booth, a brand new presentation and an article in the JayView magazine distributed to all attendees, it was also a bit draining. Thanks to everybody who saw our presentation (we’d love to hear what you thought about it) and/or stopped by our booth. We had a great time, and we hope you did too!

Article

Quick note: JayView is a free magazine published by JayWay, and in the latest issue (#20) there’s an article we’ve written about JavaFX, called “Swing Rocks – The last dance?“. The magazine will be handed out at JFokus, if you’re not going there, you can download it in PDF format on the JayView website any day now.

Crunch

Right now we’re spending all free time preparing for our presentation at JFokus on wednesday, and it’s really coming together nicely. Like we’ve said before, this presentation (called JavaFX: Designer – Developer Workflow) is kind of a different from our previous ones. Using Photoshop, NetBeans and the tools from the JavaFX Production Suite, we’ll actually create a simple but good looking application from scratch during the presentation. Hopefully we’ll be able to show our audience how easy it is for designers and developers to collaborate on rich user interfaces using JavaFX and the JavaFX Production Suite, and what kind of results you can achieve in less than an hour. Live coding is always a bad idea, and we’re throwing in some live Photoshop wizardry as well, this should be exciting for all of us :-)

See you at JFokus!

Just a quick note to let you know that we’ve been accepted as speakers at JFokus in january, with our presentation JavaFX – Designer Developer Workflow. We had a great time there last year, though we were struck by the weird timing bug we’ve been writing about before during our presentation. This year, our beloved employer Epsilon is an official conference partner, and we’re looking forward to see you in our booth, where you can win some sweet prizes by participating in our robot battle programming competition!

See you at SDC 2010!

We just found out we’ve been accepted as speakers at Scandinavian Developer Conference 2010. We’ve heard a lot of good things about the conference, so we’re really looking forward to going there. We actually got two presentations accepted, the first one, called JavaFX – Designer Developer Workflow, is kind of a different introduction to JavaFX. It doesn’t focus on the actual JavaFX script language, but on how designers and developers can work together with a JavaFX project. In the second presentation, called Making data look good using Java, JavaFX and Groovy, we’ll show off our latest project, codenamed Knut. We’ll demonstrate the application, talk about how we developed some of its features, and share some valuable lessons learned.

Hats off to the SDC crew, who have (almost) finished a detailed conference schedule four months before the conference!

This time it’s for real

Yes, finally, we added the source code for Feedjii on Kenai. You can find the project here and the source code is located here.

Enjoy!

Feedjii is available on Kenai

We just added Feedjii to Kenai so if you’re interested in the code, want to take part in the development or just want to try out the application go to

http://kenai.com/projects/feedjii

and browse around but before you do you should know that we don’t consider the codebase to be complete or perfect. We know of several bugs and some really bad design choices but after all this is just a hobby project and if you don’t like what you see fix it youself ;-)

A new beginning

It seems like all energy was drained from us after the JavaOne event and that’s the reason why it’s been eerily silent. After a long and appreciated summer vacation it’s now time to do some fun java coding again. The positive feedback we got from the conference really mades us want to come back and talk more about Swing and good looking UIs. I can’t give any details or show any screenshots yet (because there are none) but we are working on a lot of new stuff both with Swing and JavaFX.  We’ll write more about that later.

A thing that’s been bugging me is the lack of KineticScrolling examples. Guess there’s no one to blaim but myself and that’s we I’m currently writing a  ”Top 50 Project Kenai” application. The reason I think this is a good idea is not only because I want to demonstrate the KineticScrolling component but also because it seems to me that Project Kenai is litteraly flooded with crappy projects that the world would be much better without. I really think that Kenai is a good idea but I want to be able to browse other projects without all the “This is a just a test project” comming in my way all the time. So “Top 50 Project Kenai” is nothing but an application that shows the top 50 projects on Kenai excluding, among other things, all projects that contains one of the words “test” and “hello”.

One last thing, we’ve been talking about adding Feedjii to Kenai and event though it’s not “perfect”  I still think it’s a good idea. Maybe someone else would like to help us out?

KineticScrolling component is open sourced

This is the first release of the KineticScrolling component (version 0.1), we hope you  find it useful. If you find bugs or if you need help to make it work please feel free to mail us.

To get started you need feedjii.jar, which you’ll find under downloads, and the timingframework which you’ll find here.

feedjii-source.jar contains the source code, the java doc is not completely up to date yet.

This is an example of how easy it is to use:

JPanel panel = new JPanel();

// populate the panel with child elements

JKineticScrolling scrolling = new JKineticScrolling(panel, JKineticScrolling.Direction.VERTICAL);
scrolling.setAnimationTime(1300);
scrolling.setSpeed(0.5f);

frame.add(scrolling);

Enjoy!

Comments on our presentation

We got a lot of questions and positiv feedback on our presentation and we are very thankful for that. There were also two persons who pointed out, what they believed was, mistakes/errors in our presentation. This post is about those errors.

First of all one person told us that when we draw our component in the paintComponent() method we must consider the space that the border will use. If the border uses five pixels on the edges then we cannot paint anything on those 5 pixels. Yes that’s understood and maybe we should have said it but our goal is to make the code, in the presentation, easy to understand and that’s why we didn’t include it.

Secondly someone told us that when we change the location of the component in the Kinetic Scrolling code we shouldn’t do it directly but instead do it later, probably by using SwingUtilities.invokeLater(). The reason was that every time we changed the location of the component events will be fired and the source of those events will be our KineticScrolling component. I don’t understand what’s wrong with that? I believe that the KineticScrolling component should be what caused the event and nothing else, At least as long as we are running on the EDT. I’m going to investigate this further and let you know what the right way is.