Fabio Ciucci is a true Java pioneer a developer of computer-generated visual effects ever since the introduction of the language. Although he isn't a celebrity like that other Fabio constantly seen on the covers of romance novels, you have probably seen many of his works without knowing the real artist behind the scene.
Since 1996, Ciucci has won almost all the top awards in the Java community, including those from Gamelan, JARS, Tucows, ZDNet, and so on. He currently runs his own company along with a small team of Java developers, called AnfyTeam. The site, anfyteam.com, is translated into 31 languages (no kidding, folks!) and gets half a million visitors from all over the world each month.
So, what exactly has he done to amaze the Java world?
|"When Java came out, I read 'write once, run anywhere', which seemed to be a perfect solution to me."|
In addition to his official honors, some people (including myself) believe he has introduced two important things to the Java community: application inspiration and artistic content. During the old Java days, lots of simple but dull applets (e.g., scrollers, clocks) flooded the World Wide Web. His Java applets demonstrated and made you believe that with a careful programming tune-up, it was not impossible for Java to perform many complicated mathematical calculations in real-time. (Remember when Java was heavily criticized for its slow performance in browsers back at the beginning?)
As for the artistic flavor he brought to Java, here are some words from the man himself: "Well ... born in Lucca, Italy (near Pisa's tower and Florence), my work in visual effects are probably influenced by Renaissance style." There is no doubt that his academic training at the Institute of the Arts and Florence Architecture University certainly helped shape his artistic views as well.
How and why did he get inspired by Java?
"I was 'definitely lucky'," he said. "Java was released to the Internet public when I was searching for a new operating system to program. In fact, in late 1995, I was skilled in programming the market-dead Amiga computers and MS-DOS applications, but I was not enthusiastic about Microsoft Windows programming. It was also because I didn't want to learn another operating system and trash my programs again a few years later. When Java came out, I read 'write once, run anywhere', which seemed to be a perfect solution to me."
Inspired by Java's and the Web's capabilities and potentials, he decided to set up his own online company as his audience continued to grow. He then discontinued architecture and pursued his dream of being a cyber-architect rather than a real-world one. With the combination of his Java and art skills, his company has taken the Java world surprise and has been successful since.
The company and its goal
Due to lack of support for advanced imaging classes in early standard JDK releases, lots of image-related Java applications needed to find their own way, and developers had to put in more effort to make things work. Ciucci's small team has done more than anyone to perfect present-day dynamic visual effects in real-time in the brower.
One of the main characteristics of his team is that products are made by groups of skilled programmers who also consider themselves artists. The variety of their audience also tells the story. They range from webmasters, to developers, to artists.
AnfyTeam also does custom work for corporations on a contract basis, which has attracted some major companies to them, such as Intel Corp. To let more people share their expertise, the team's most recent project is to convert their own proprietary 3D classes into an application programming interface (API) available for download to the general public. This state-of-the-art package is a valid alternative to Sun's Java 3D APIs, especially as it runs on actual browsers, unlike Java 1.2 3D, which is still not supported. And it is intended for real-time 3D Web applications. Feel free to check out their 3D site for more details.
Suggestions for people interested in doing visual effects in Java
|"In the specific field of visual effects, I have to say ... nowadays the only difficult part is probably to come up with a new idea and have it implemented, without the need of worrying too much about software and hardware performance issues."|
AnfyTeam has created several original applets that you see all over the place on the Web. The team prides itself on the originality of these. In an era in which the Internet is creating more greed than original thought, conceptual design has been blurred by stolen ideas everywhere. The team still believes they can make a difference, however, in their design work. How do they intend to achieve this?
Here is what Ciucci said of his team: "In my experience, the most talented ones I met and cooperated with, are self-trained for at least half of the knowledge required to do the job. Although a solid academic background in mathematics, particularly in geometry and imaging, does help, developers still need to keep up with fast-changing information standards. What is taught at school is, in lots of cases, outdated and insufficient, so keeping yourself up-to-date by studying Web resources and new books should help a lot, including learning from the freely available source code offered by other experienced authors. Some sites provide excellent references. For example, the JARS and Gamelan listings are among the best."
He continued: "Knowing how to draw a cube or a rainbow is not enough to make it beautiful. That is again not only a matter of how much time you spent in studying at school, but also self-training,in this particular case. You will most probably never find a tutorial on how to make an inviting visual-effect applet in a school lesson."
Java's future regarding visual effects
There has been a lot of conjecture about Java's future, especially Java applications in Web browsers. Here are Ciucci's views on this.
"I remember someone predicted in 1996-97 that Java would die shortly, but instead I am still seeing my same old applets very popular today. I imagine, in both applications and Web applets, Java is a recognized standard and will continue to exist for a long time.
"In the specific field of visual effects, I have to say, several years ago there were a lot of technical limitations, such as no true color display devices or slow processors to perform complex scientific calculations, but nowadays the only difficult part is probably to come up with a new idea and have it implemented, without the need of worrying too much about software and hardware performance issues.
"In our existing Java applets, we have changed colors, distorted images, generated fractals, made snow, water and fire, and sometimes also incorporated these effects in something useful, such as menus. More than really new effects, I think there will be an increased demand in quality, with the possibility of setting a visual standard. Maybe the next step for Web-based books is to have them better equipped with more interactive content powered by visual-effect techniques rather than static and boring HTML pages."
Imagine Web browsers with real-time 3D capabilities without any plug-ins or time-consuming downloads. Sound exciting?
- Sun Java 3D API: java.sun.com/products/java-media/3D/index.html
- AnyfyTeam Web site: http://www.anfyteam.com/
- The J Maker: http://www.thejmaker.com/
About the Author
Chunyen Liu is a software engineer at GARMIN International, a global positioning company. Some of his 100+ Java programs have won major Java programming contests. Check out his personal page for more details. He also owns an online Java site called The J Maker.