I officially closed the Transfer
survey a short time ago, as results had slowed to a crawl. Overall we
had 87 respondents, and it was really, really useful to get the
I can honestly say the feedback from this survey has changed the road-map for the next two releases of Transfer.
This was a really interesting set of questions. 41% of respondents say that they use Transfer every day, which is really exciting. Only 1 person responded with What is Transfer?, which hopefully means I'm doing a decent job of getting at least the name 'Transfer' in people's knowledge sphere.
people have been using Transfer for only 1-6 months (30%), while coming
second place (26%), 6 months to a year, and third 18% for 1-2 years.
Only 2 people have been using it for more than 2 years, but since the
project has only been around for 3, and the first year, itwasn't all that stable, I'm very happy with these results.
The version of Transfer that people are using totally shocked me! 73% of
people where running either 1.1 (which at the time was RC), or the BER
release of Transfer. 36% of people were running 1.0. Only 3 people were
running 0.6.3, which is a good thing, as it was a really buggy
release. I'm so pleased to see the adoption rate is so high!
Other ORMs people have used
was another interesting section, in that Reactor scored the highest at
51%, and Hibernate came in second at 21%. Interestingly enough, 31% of
people had never used an ORM before Transfer.
Not surprisingly, 58% of people that that Performance improvements were most important. I wasn't
surprised by this, and I expect this won't change no matter how fast I
make Transfer. The annoying thing is being constrained quite severely
by how fast ColdFusion can createCFCs, which isn't nearly as fast as I would like.
Several comparisons where made between Hibernate (and other Java/Groovy ORMs)
and Transfer, and while it is understood that Java will always be
faster, they still want comparative speed out of Transfer. Not sure
how I'm going to get that to happen, but I know I will try my best.
To quote a survey taker: '…the
whole thing about not really being able to instantiate collections of
associated objects with decent performance – therefore you do your head
in constantly switching between object-think and query-think. This is
the #1 reason I'd choose Java over CF for a decent-sized domain layer.'
fact of the matter is, he is right on what he's saying, and I hope its
something that Adobe listens to with future versions of ColdFusion.
enough, there were several requests specifically to be able to retrieve
arrays of Transfer generated Objects. I had purposely avoided it due
to performance concerns, but I think this may be something that will
end up being discussed on the Transfer mailing list further, as there
were a few people who were interested in this feature.
Flex support was another hot topic. I'm currently in the process of
learning Flex at the moment, so expect to hear solutions for this
common problem around the corner.
DB introspection was a huge draw card, with multiple comments like '…config file generation without using illudium…' and '…non-generative XML can be burdensome in large applications…',
which is all true. In the next few releases we'll be looking at doing
property auto-generation from the database, and also providingDDL support for Transfer to generate your database for you.
mapping was also a big feature request (far more so than I had
originally ever thought it would be, and this is even before the recent spate of ORM
articles), and got me thinking about it a whole lot more. To that
effect, expect to see Inheritance mapping as one of the next big
features in the next release of Transfer.
Some other interesting requests that came through were:
- Annotations in Transfer XML data
- Railo support
- Generate methods for setting object properties from a struct
- Query paging / Query limits
- Bidirectional M2M compositions.
- TQL aggregates
Support and Documentation
seems to be well received, with 46% of people giving Transfer support a
4, and 30% giving it a 5, where 5 was 'Very useful' and 1 was 'Not
That being said, ease of learning could be better, as
on a scale of 1 (Easy) to 5 (Really hard), the majority, 43%, sat in
the middle at, 3, although 34% gave it a 2.
comments, the big element to help Transfer learning, is examples,
examples, and when done, some more examples. Comments include: 'Beginner Tutorials, step-by-step type. Maybe even videos…', 'Lack of tutorial type documentation. Especially for advanced topics.', 'The examples on the site are a bit limited…', 'More examples, and more advanced examples…',
so the pathways are pretty clear. I will be contacting members of the
Transfer community and contacting people who participated in the survey
to help with this.
I'll be finalising the road-maps for the next 2 releases of Transfer based on this feedback, however, I'm looking at moving to Skweegee from Project Tracker, so once I've made a decision in that area, and how to manage previously completed tickets and milestones, I'll get stuck in.
Thanks to all who participated, it was really useful to get the feedback!