 |
|
Bio: Ben Galbraith is a principal of
FeatureFifty, a consulting company dedicated to helping people create
compelling user experiences in software. He is a frequent speaker at
conferences, an independent consultant, a conference producer, and
author of several books. In addition, he is an experienced CEO, CTO,
and software architect. Galbraith wrote his first computer program
when he was six years old, started his first business at age 10, and
entered the IT workforce just after turning 12. He has delivered
hundreds of technical presentations worldwide and was the top-rated
speaker at the 2006 JavaOne conference, making him a "rock star" in
that community, according to Sun Microsystems. However, he doesn't yet
have any groupies to show for the accomplishment.
|
Q: Did you really write your first computer program when you were
six, start your first business when you were 10, and enter the IT
work force at age 12?
A: It's true. Since I was little, my passions have been business and
computers. I learned to program BASIC on an old Atari 400 when I was
six but never took computers very seriously until later.
I started a business selling candy to my peers at 10, complete with a
business license from the city. At that age, I wrote fan mail to CEOs
of big companies.
Maybe because I was the youngest in a family of five children, I've
always had an intense desire to get started with a career, so at
12, I set out to get a job.
I wound up setting up computers for a small business, moving to a
bank at 14, and a worldwide computer manufacturer at 17, where I
would lead a team of software developers before leaving at 19.
Q: How do you feel about the open sourcing of the Java platform?
A: I'm cautiously optimistic. With the JCP (Java Community Process
program), the public bug database, and so forth, Sun has demonstrated
tremendous goodwill and unprecedented openness in their stewardship
of the Java platform.
But the unfortunate trade-off that accompanies JCP-style consensus
building is inefficiency, particularly in time to market. As the
platform wars heat up, I worry about Sun's efficiency in evolving the
Java platform.
Also, I hope open-source Java technology is more about enabling
committers outside of Sun to participate in building on a single code
base, and less about providing yet another layer of decisions that
developers have to make.
Q: What are the top three things developers should know in order to
be more productive with Swing?
A: First, understand that Swing is truly just a toolkit, not a
framework. These terms are often used interchangeably, but in the
case of Swing, I use them separately.
Swing provides a set of tools for rendering GUI interfaces, but it
almost completely abdicates the issue of how developers should
architect their applications. Developers therefore need to either
look to third parties for a framework or create their own. An
official Sun framework is coming soon via JSR 296, but it's probably
a year or two away. Too many Swing projects have been launched
without a sufficient framework in place.
Second, Swing developers need to understand threading in order to be
effective. Many project teams have accused Swing of being slow or
inconsistent, when, in fact, the real fault is in their failure to
use threads properly.
A third concept is that developers shouldn't be hand-coding layouts
anymore, especially not with GridBagLayout. Those days
are long over, so continuing to do this will only lead to tremendous
inefficiencies.
I address these issues and more in my Swing presentations this year.
Q: If you could give one bit of advice to the Swing team, what would
it be?
A: Sun is fortunate to employ some of the most talented engineers
I've met on their Swing and AWT teams. They are an amazing group and
have learned to survive in a company whose focus has traditionally
been on servers and web applications.
The only advice I can think of to give them is to keep a very close
eye on the competition: Adobe and Microsoft are both innovating
heavily on the desktop and doing some interesting things to raise the
bar.
I look forward to Swing innovating and capitalizing on the unique
advantages of the Java platform in the years to come.
Q: Give us some quick tips on how to create amazing web interfaces
with Ajax.
A: I love what Ajax has done for the web. We've seen some amazing
frameworks emerge over the past two years as Ajax pioneers have
pushed the boundaries in the browsers.
The best advice for Ajax newcomers is to take the time to really
learn JavaScript, which is actually a pretty cool language, and pick
a few of the existing frameworks -- perhaps Prototype, Dojo, or jQuery --
and learn them rather than doing Ajax from scratch. You'll be amazed
at how much of the heavy lifting has already been done for you.
In my Ajax session with Dion Almaer, we'll provide an update on the
latest news from the Ajax ecosystem and show how to create a truly
compelling user experience.
Q: What advice would you give to a programmer new to the Java
language?
A: Find one or more mentors as soon as you can. Google makes finding
information easier than ever, but nothing beats interacting with an
expert.
Q: What is your favorite device that runs on the Java Platform,
Mobile Edition (Java ME)?
A: I love my Sony Ericsson K750i and the Java ME apps from Google.
Q: Favorite Java book?
A: Without a doubt, Brian Goetz et al.'s amazing Java Concurrency
in Practice. It reveals how we've been getting concurrency wrong
over the past decade.
The book is an entertaining implicit manifesto on the need for better
concurrency models in software. Anyone building a multiuser or
multithreaded application should stop what they're doing and read the
book. Now.
Q: Finally, what are you up to lately?
A: In addition running Ajaxian.com (an Ajax news portal) along with
Dion Almaer, we've just launched a new company this week called
FeatureFifty. The focus of the venture is helping companies create
compelling user experiences, whether it be with Ajax or Swing or
another technology such as the new JavaFX stuff.
It's a brand new play but we've already got some exciting projects
under way, and we hope to play in the Java space for some time to
come.
|