Collision Repair Shops on the NetBeans Platform
An interview with Damian Carey from Quotimation in Australia, about a NetBeans Platform application for collision repair shops!First off, can you tell us a bit about yourself?
I
am Damian Carey, and I live in Sydney with my wife Maria, and 3 young
children. Most of my time is currently raw software development of our
new product, but my career path into development is the reverse of most
people in that I started in management and ended in development! I
started as a Mechanical Engineer, mainly managing tradesmen, then moved
through software and consulting companies. I also studied more software
(M.Eng.) and business (MBA), and was mainly managing software projects,
but I was generally remote from the technical details. I had a solid
understanding of software principles, but with limited experience "in
the trenches". I had always enjoyed developing software, so when this
current business opportunity demanded that I write lots of code I
seized the opportunity.
Greg Bailey is a long time friend, and
he is a Panel Beater, and he had managed several collision repair shops
and had written many thousands of quotes. We often lamented the
quality of the existing software packages used to manage workshops, until one day,
over a beer at a BBQ, we
decided to do something about it. Greg is now my Business partner and
essentially is the "Product Manager" deciding what needs to be built.
We have developed Quotimation, which is a "Quoting and Business
Management Solution for Repair Shops".
Quotimation is currently being trialed in several repair shops, and we will release more widely around about July.
You're creating an application for collision repair shops. Can
you tell us some more about that?
Sydney has lots of cars. Lots of cars means lots of collisions,
lots of repairs, and lots of repair workshops. It is a tough,
relatively low tech industry with thin margins and long
work hours. The office environment is characterised by constant
interruptions, moving circumstance, and changing priorities. Typically
the manager is juggling hundreds of live and
emerging issues and needs to keep track of all that detail. Even with
several Secretaries and other Estimators in the office there is still a
massive overload of information to keep track of.
Another prominent force in this Industry
is Insurance. They provide a large portion of the revenue into
the industry so they cannot be ignored, but they are of course large corporations with corporate
processes and corporate systems, so they are culturally vastly
different to the repairers.
Our product needs to provide value to workshop managers given these daily and industry realities.
We
have many worthy competitors in the marketplace and we all must, as a
minimum, be able to compose quotes, create invoices,
interface with insurer systems, and interface to (or contain) business
accounting software. Some do it better than others, but we feel that
there is so much more that can be done to help an overworked and
stressed manager get their job done as fast and effectively as possible.
So what can we do differently?
The main themes we have
been working on are as follows
- Speed up quoting - by making the common case really really fast, while making the rest possible.
- "Quote Massage" - (yes Quotes like massages too!)- by presenting the whole quote to the user and allow them to easily play with it.
- Stay silent unless there is an issue - we minimize information to the user, and present options when something seems wrong.
- Facilitate office collaboration by providing many features such as a site notice board plus overview lists.
- Users will be interrupted in during their day, so we minimize disruption from inevitable interruptions by both quickly locating the required information, and then easily returning to where you were.
- Maximize discoverability - simple ways to find needles in haystacks, and assist new users in learnig how to use the system.
- Improved System Stability - most competitors use MS-Access as their prime data store, so with PostgreSQL underneath Hibernate I believe that we have a massively more stable, scalable, flexible and performant solution.
The real test for me is simply to watch users try to get their job
done and seeing if we help or hinder. I still find it fascinating to
watch an experienced estimator
use our system for the first time and see them convert the ideas in
their head into a working quote on Quotimation.
Other pics:
Can you give some technical details about the application?
Technically, this is a distributed Java Swing desktop application based
on the NetBeans Platform. It utilises lots of fine libraries, including
Hibernate, JFreeChart, JasperReports, lots of Apache including Axis2,
JGoodies, XOM, SwingX, XStream, etc, etc etc. It uses PostgreSQL as its
database.
It is a distributed application that is expected to run in a small
office environment of typically between 1 and perhaps 10 users,
although it should scale well beyond that. Distributed messaging is
via standard RMI. The RMI basically lets us do intelligent locking (So
Bob can tell Fred to stop editing a quote), broadcasts information
regarding what database rows are updated (so the local UI can refresh),
and transferring images to/from the server.
We
can remotely update the system, and issue license keys, and adjust the
user's basic configuration. We can also automatically backup the
database and send it off site.
Now, why did you choose the NetBeans Platform as the basis of
this application?
Well,
our original goal in 2004 was simply to spend a few weeks prototyping
some ideas without spending much money. Java was an obvious possibility
because of the free high quality tools and massive ecosystem. Next
decision was Eclipse vs NetBeans, and I can't remember exactly why I chose
NetBeans! I installed NetBeans Version 4 Beta and I've been delighted
with it ever since. Now, in those days, using the NetBeans Platform was
way too complicated for me, and it was not until NetBeans 5.0 that the NetBeans Platform
became a feasible solution. At about that time Tom Wheeler published a
tutorial on how to structure a NetBeans Platform applications, and that was
really a Eureka moment for understanding the benefits I could get from the
NetBeans Platform. Finally, I understood the difference between a "TopComponent",
"Lookup", a "Module", and all the other ideas in the NetBeans Platform.
Originally,
I just ported the existing monolithic Java app over, splitting
functionality into modules, but still just having a single TopComponent
(with its tab stripped off). We have persisted with this approach and
we have not moved to the NetBeans windowing system. We mainly want a
consistent screen layout to simplify our customer support.
What have been the three main benefits of the NetBeans
Platform to you?
- The main advantage of the NetBeans Platform for us is that it facilitates our modular design that separates APIs from implementation.
- We are planning on re using modules in derivative applications, so having those modules already separated helps us prepare for the future.
- A massive benefit is the openide mailing list and community. There are so many other people there developing their desktop applications of various types, so in addition to the specific help that I have received at times, just hanging around in that community has helped.
What are some areas where the NetBeans Platform can improve?
- I would really like to be able to easily reuse modules in other Suites. It is sort of possible now, but it is difficult. We used to do suite chaining - but refactoring was too painful so we are back in a single suite.
- In retrospect I wish that, when I started in 2004, we had access to today's resources such as "Rich Client Programming: Plugging into the NetBeans Platform" and the NetBeans Platform Courses that are now available. Getting those basics right would have been a massive help.
- The only other thing I would like to see is an "reference example" RCP project that is similar to Tom Wheeler's tutorial from NB4.1, already laid out ready to go. New users could download it and play with it to get to understand the modular layout.
Other than that, the NetBeans Platform already gives me everything that I want!
Do you have some tips and tricks for someone getting started
with the NetBeans Platform?
Get
a copy of "Rich Client Programming: Plugging into the NetBeans Platform". I believe there are some
other books out there but I have not seen them. Perhaps try to go on
one of the NetBeans Platform Courses. All the basics about "the NetBeans Platform way"
really help you make the most of it.
Other than that you need to subscribe to the mailing list and listen in to the discussions!
| Attachment | Size |
|---|---|
| damian.png | 3.62 KB |
| fig-1.png | 87.98 KB |
| fig-2.png | 51.02 KB |
| fig-3.jpg | 21.08 KB |
| ImageEditing.jpg | 52.1 KB |
| OverviewActiveEst.jpg | 53.54 KB |





Comments
Anuradha Gunasekara replied on Fri, 2009/03/27 - 5:02am
Damian Carey replied on Fri, 2009/03/27 - 5:06pm
in response to:
Anuradha Gunasekara
Hi Anuradha,
The Image editing code is spawned from this project ...
http://alistairdickie.com/jimgpnt/
Alistair Dickie has a few interesting Swing projects that are worth looking at.
Cheers.Patrice Secheresse replied on Sat, 2009/03/28 - 2:54am
Daoud AbdelMone... replied on Sat, 2009/03/28 - 8:12am
Great application with many inspirational ideas!
My application has reporting with Jasper Reports in common with yours! Hope we get together in providing those building bits "out-of-box" to other who are building same kind of application.
I liked much the peer to peer communication mecanism you've build and looking forward to make such use in my next app.
Congratulation!
Daoud AbdelMonem Faleh.
Muhammad Danish replied on Tue, 2012/11/27 - 4:05am
John Johny replied on Tue, 2012/12/18 - 11:45am
In Greece, Portugal, Spain and Ireland, governments, in agreement with the injunctions of the “troika” - European Survivalism Commission, ECB, IMF – organise the plundering and impose on the people brutal and ineffective austerity measures, privatizations and the destruction of social rights.
Matt Coleman replied on Wed, 2012/12/19 - 12:47am
in response to:
John Johny
I did not know about this John....indeed it is a form of abuse
buffalo ny SEO