http://java.sun.com/javaone http://java.sun.com/javaone http://java.sun.com/javaone
JavaOne - Experiencing Java technology through education, industry, and community
  2009 Platinum Cosponsor
Intel
  Cosponsors
Cosponsors
  Gen Session Cosponsors
General Session Cosponsors
  Media Sponsors
Media Cosponsors
Home > Rock Star Matt Warman

Rock Star Matt Warman


Matt Warman Bio: Matt Warman, a 20-year veteran of the IT industry, has been using both Java Platform, Enterprise Edition (Java EE) and Java Platform, Standard Edition (Java SE) since 1998. He has developed web and desktop applications for clients in various industries, including the airline and banking fields. He was a tester for Java Studio Creator, and was the first Creator Hero, highlighting his emergency responder application. He is currently a Java trainer, presenter, and consultant in the Cincinnati area for STAR BASE Consulting and the owner of JFrets, an open-source guitar teaching and tablature creation application. He is also a guitar player for The Stone Bunnies and bass player for G.P.S.
 

Q: Tell us about the future of Java music applications.

A: Java technology has a great many strengths, but due to proprietary restrictions it needs work in the music area. I think as multimedia in applications become more commonplace, media such as audio will use open, standardized formats and simple-to-use methods so the general public can easily create their own music.

Q: Tell us a bit about music applications written in Java that compose, generate, and play music. Give us the scoop about jMusic, Impro-Visor, JFugue, JMSL, and Vaudeville.

A: Our community is a bit fragmented. We're at the JavaOne Conference to make the audio community more aware of each other's projects and to get the word out that music applications are no longer difficult to code in Java. The community has created APIs and applications to make it easy for developers to use audio in their applications, or to create their own music. jMusic, Impro-Visor, Vaudeville, and JFrets are designed specifically for people to learn and compose music, and save their compositions in notation or tablature. JMSL and JFugue are music APIs to store compositions, use event processing, and utilize simple methods to record, store, and play back audio. Audio is used in interesting applications such as using sounds to show differences when comparing thousands of DNA pairs, or assigning sounds in log files to quickly identify events and errors. The community at large can come to our session to learn how to integrate audio into their applications, and to create music without a lot of musical expertise.

Learning Guitar With JFrets

Q: You are the owner of JFrets, an open-source guitar teaching and tablature creation application. How does JFrets help people learn to play the guitar?

A: JFrets was created for guitar players of all abilities. People can learn guitar by playing and listening to the chords, and seeing the fingering positions. This audio-visual association makes learning the guitar easier. There are tutorials, a metronome, and a scale player to help you pick up the basics quickly. I have a guitar tuner for standard tuning, and alternate tunings like Drop Down D, and Open G tuning. The song creator uses the note letters and song parts like verse, chorus, and bridge to create songs for non-music readers. The big part of JFrets is the tab creator that uses the guitar fretboard to capture your songs as guitar tablature. You can save, print, and even listen to your creations!

Q: You mentioned the fragmented Java music community. How did you select which project or projects to utilize for JFrets? Do you intend to integrate more technologies in the future?

A: I initially was going to integrate MP3s into my design, but I found JFugue through Geertjan Wielenga. JFugue uses MIDI [Musical Instrument Digital Interface], so it saves me hundreds of megabytes of space and mitigates licensing issues over MP3. People don't realize that it's the sound fonts that make MIDI sound terrible. With a good sound font, MIDI really rocks. If you've ever been to a music store, or even a department store, and played with a keyboard, those keyboards are using MIDI for their instrument sounds. There are various storage formats, but I am looking for an open-source format to standardize on. Sharing your compositions with other developers' applications is an important part of the Java music community.

Q: What are your future plans for JFrets?

A: Having a full-time day job limits what I can do, but I am working on a JavaFX version of JFrets. I'd like to be able to draw circles instead of using image files, making the application run faster. Cool animation such as vibrating strings is another goal. I'd like to add other instruments besides guitars. It would be fairly simple to add bass, banjo, or any other string instrument. Ultimately, I'd like to integrate a drum version into JFrets so you can have your own band! You could create drum tabs with your guitar tabs. It's open source, so I hope others will contribute.

The Stone Bunnies

Q: You play guitar for an alternative rock band, The Stone Bunnies, a band that was born in your garage. How have you made use of Java technology in your music?

A: I use the tab creator and song creator capabilities from JFrets to break down songs for my fellow bandmates. I can create rough cuts of my original song creations so they can get a feel for what I am trying to do. I am working on a Stone Bunnies web site that uses JavaServer Faces.

Q: Do you see similarities between the experiences of coding and playing or writing music?

A: Both coding and music starts with "seeing" it in your head, and trying to make that vision concrete. The feeling of accomplishment when you complete your creation, and the response from the public about your creation is very similar. When reviewing my older applications and musical compositions, I always think of ways I would do them differently now, but both take you back to the time when you wrote them.

STARBASE

Q: Tell us about your company, STAR BASE Consulting.

A: STAR BASE is about helping organizations grow their business. Our technical experts are also business experts. Our offering, IT Wellness Check, not only examines items such as security and disaster recovery, but also how your IT department is supporting the business. We create a report from our observations and can assist in implementing the changes with our CIO To Go.

Q: Where will JavaFX be in a couple of years?

A: Two years from now, JavaFX will supplant Swing as the desktop technology. It will be a player in the RIA [rich Internet application] space.

Writing Code

Q: Can you describe the process of writing code?

A: I created a design methodology called GTDTW. It means Get The Darn Thing Working. It sounds glib, but there is a process. I design what the application generally looks like, and then stub out all of the parts of the application. I then focus on getting one aspect of the application working. Once it's working, I move to the next function. This makes it easier to test and demonstrate to your users and helps in keeping the code generic and modular.

Q: What's the next big technology revolution?

A: It's here with smart phones and netbooks. Small, portable, Internet-ready devices are driving new applications. Touch and multimedia applications that can be quickly downloaded to your device will become more complex and robust. It will change how applications work. I am looking to move my desktop applications like my wine rater, state license plate game, and JFrets to the Android and JavaFX platforms.

Q: If you could work on a dream project, what would it be?

A: I would love to work on creating a standard core multimedia API on Java.

Q: What do you do when you feel stumped?

A: Walk away. Get up and think of something else.

Q: What recent changes to the platform have made your life easier?

A: I love JPA [Java Persistence API]. As a long-time Swing developer, not having to create custom model classes, database connection classes, and DAOs [data access objects] is a dream come true.

Q: Where in the process of programming do you have the most fun?

A: I have fun designing the application. Your creative juices are flowing, and everything is possible.

Q: What online resources do you use to keep up with Java technology?

A: I check in with Slashdot and theserverside.com for news, the Sun and NetBeans sites for Java technology, and listen to the Java Posse for new technology.

Q: What advice would you give to a programmer new to the Java language?

A: The syntax is not nearly as important as knowing object-oriented principles. Learn about model-view-controller and design patterns. Comment any code that does something unusual. Look for existing solutions to your problems instead of writing your own. For example, I think we have enough logging frameworks.

For More Information

» Matt Warman's Blog
» JFrets
» JavaFX
» JavaFX Developer Site

Matt Warman will be participating in the following panel discussion this week:
» Making Music with the Java Programming Language (PAN-5388) With Andrew Brown, Queensland University of Technology; Nick Didkovsky, Algomusic; Frank Greco, NYJavaSIG; and Robert Keller, Harvey Mudd College

 

Do you have comments about this article? We welcome your participation in our community. Please keep your comments civil and on point. You may optionally provide your email address to be notified of replies - your information is not used for any other purpose. By submitting a comment, you agree to these Terms of Use.