The 2008 Delphi Survey is Out
The 2008 Delphi Survey is out — please take a few moments to fill it out and let us know what you think about Delphi, how you use it, what direction the product ought to go, etc.
We absolutely rely very heavily on your input on the survey to make decisions about where we are heading and what we will do going forward. Your input is really valuable to us, so I’m grateful to everyone that take the time to answer the 90 or so questions on the survey.
Currently, the survey is in English, but we’ll soon be rolling out translations of the survey in German, French, Japanese, and Korean, etc. If you’d like to volunteer to translate the survey into your native tongue, please let me know via email: nick.hodges@codegear.com. I’d love to get it translated into as many languages as possible. Last year I think we ended up with twelve translations, so lets see if we can beat that this year.


Some of the qestions from the survey are rather badly formed and/or difficult to answer. For e.g q 3.4 asks for ordering 9 items in a combobox in order by selecting it in 9 comboboxes. By fourth, every other selction requries considerable amount of searching.
3.6, 3.8 and others ask me to split 100 according to my preference to 8,9, etc pieces. Is this a survey to collect informatioin or to test the patience of the participant?
Ahhh Codegear!
January 31st, 2008 at 4:15 pmSalim –
Feel free to skip any of the questions that you don’t want to answer — not a problem.
Nick
January 31st, 2008 at 4:52 pmAll done. I agree that some of the questions were akward to answer… in terms of priority some times in the list of 5, it was a matter of "not at all". It was hard with all the combo boxes to make sure the list was meaninful and without duplicates.
I’m allowed to not answer my age, but the company’s income question lacked the all important don’t want to answer/haven’t got the slightest clue option. Took a stab in the dark. Don’t be surprised if a lot of people decide to answer more than a billion as a obvious nonsense alternative - I certainly considered it.
Splitting the 100 was interesting, maybe I left out points or hit 125 on some, but probably not.
Took about 10 minutes, and it didn’t blow any cogs when I posted, so that’s handy.
January 31st, 2008 at 5:17 pmThe "one question at a time" is bugged. Well, it works OK but only if you DON’T ever go back!
For instance, while answering a question I accidentally clicked to go to the next question without fully answering the one I was at. Pressing back (as there is no PREVIOUS button!), would allow me to change/complete the answer but I noticed on pressing Next (or Continue or whatever it was!) that the next question would be skipped! That is, I still remembered what question I should be answering and instead I was taken to the "next" question as if I had not used Back…
You guys should really hire me for testing your stuff! I keep bumping into whatever rough edges you leave around!
This means that some of the questions I answered are not 100% correct. I recall suggesting a 1 dollar price for the Enterprise version, just because of that! I knew by then that it would be pointless to go back as I’d then skip another question.
Finally, a "question number X of Y" type of text would also help a bit. And that’s not to go the extra length and have a progress bar!
As for usability, you also missed the spot a bit: some questions had the "No/I don’t use" option at the start of the list, while others had it at the end of the list. And even others had not such option: it was implied that "No/I don’t use" would be not clicking anything! Confusing, especially when it was a series of questions about the same thing that I don’t actually use… Also, the lack of "No" option would mean that, should you accidentally click one of the radio buttons, there would be no turning back!
All in all, no big deal, but at least expect those rough edges to do some impact on the quality of the collected data.
Finally, it would be awesome if you guys could come clean with your users on the answers received with some nice bar charts to show what your user-base answered.
January 31st, 2008 at 6:30 pmOn a side note, using (ansi)Strings as buffers is something I’ll admit to doing commonly. They are just so darn convenient that way. SetLength gets the memory, and reference counting makes the magically go away when you are done with them.
Gonna be a pain to migrate some of it. I use a TStringList as a buffer for my custom socket… either data in the string, or a identifier for an object being streamed out (like a file or memory stream).. Guess I gotta write TAnsiStringList for that sooner than later.
January 31st, 2008 at 8:01 pmHi, Nick,
Great survey. Just a thought, I find it akward that Jedi VCS isn’t on the list of the SVCs. To my understanding it’s one of the simplest to setup and maybe the most integrated with Delphi IDE of all, so I figured it should be one of the most used for the Delphi community.
Best Regards,
January 31st, 2008 at 10:31 pmMarco
link to PDF version
http://www.codegear.com/article/36898/images/36898/RADStudio2007_ReviewersGuide_080130.pdf
return 404 (not found)
February 1st, 2008 at 12:01 amWill the survey results be made available at some point? It would be really interesting (and probably humbling) to see how my own perspective differs from that of the average Delphi developer (or average survey participant, at least).
February 1st, 2008 at 1:58 amI liked the survey. The only problem I had was with the component-based licensing question "11.5. Would you use a component-based license service from CodeGear for your applications?"
I assumed this referred to a runtime type licensing and answered no.
February 1st, 2008 at 3:01 amAs far as the Documentation section goes, I wanted to add the Language Reference and User Guide to my responses.
They don’t seem to exist at all anymore, not as a PDF nor as a section in the Help. I refer to my D5 manuals when programming D2007 and try extrapolate.
February 1st, 2008 at 5:12 amMy post disappeared, so I’m reposting:
I was unsure with the technologies which terms meant what. A brief explanation would help.
For example: Iterators. Does that mean iterators as used in C#’s Generics?
February 1st, 2008 at 7:39 amThere definitely should have been a way to get descriptions for some of the terms used in the survey. I haven’t got a clue what "Win32 Attributes" meant under Delphi Language Enhancements. I know the rest from blog posts or my previous Java work, but if I’d been Delphi only, I definitely wouldn’t have known what half of them were.
The Virtual Machine question should have had "I’d use the remote debugger on a VM if I could get it to work", and the Auto-Update one should have "I would use it if UAC didn’t make it fail under Vista".
February 1st, 2008 at 7:57 amAnswering some general questions –
C Johnson — Writing the TAnsiStringList probably will be a piece of cake. With the inclusion in the RTL of the TEncoding class, you could create such a beast very easily.
Cobus — Sadly, we won’t be (and never have) made survey results public. The information is very valuable and highly proprietary — far too valuable to make public.
DelphiUser — agree, next time we’ll be a bit more explanatory about what terms mean.
Nick
February 1st, 2008 at 8:28 amsimple ask…
please support for cross platform, more advanced vcl data controls and firebird
.net… wt* is that ?;)
February 1st, 2008 at 9:58 amNick -> I have a few applications where AnsiString’s 1:1 relationship to a big binary buffer is very useful. Not only do you get the benefit of reference counting for automatic memory managment, but there are a number of handy functions like Copy and Delete for data management. I don’t think using Unicode string lists with an encoding on output would be helpful here. Aside from doubling my data storage with a bunch of nulls most of the time, the system would need to be able to distinguish when it really actually WAS unicode data that was being pushed instead of ansi string data. (Easy in an ansi string buffer, store the unicode data in a ansi string twice as long as the unicode string and do a Move, hard if everything is stored in unicode and you want the ansi string as ansi and unicode as unicode)
That said, my only concern in writing a TAnsiStringList with real ansi strings like the current string list is that I will not be able to descend from TStrings any longer, and loose the polymorphic behaviour that is so darn handy (x.assign(y) mostly) Interfaces of some sort might be the solution…
February 1st, 2008 at 12:06 pmThe "Language features" could do with an "Other" box.
Three features that would modernize the language and are not mentioned are:
1. local blocks and
2. local declarable variables, as in:
…code
BEGIN
VAR i: integer;
…code
…the scope for "i" ends here
END
…code
And:
3. Procedure/Function initialize and implementation sections should either change as the other is edited, or perhaps do away with two sections altogether (as in C#).
February 4th, 2008 at 12:46 am> "The information is very valuable and highly proprietary — far too valuable to make public"
Understood. How about a "highlights package?"
February 4th, 2008 at 12:47 amAs far as purchasing options go, have you considered an annual fee similar to what the Microsoft Developer Network does? I pay a certain fee for a certain package, and my login allows me access to the downloads of all the packages my subscription applies to. I curerntly have this for Operating Systems and Development Tools, and I can download CD/DVD images for the various OS (and get the relevant license key), plus download the Visual Studio builds, including beta versions, as I wish. Just a flat fee - no buying a product and getting the subscription. The beancounters like it because it’s an expense, and there’s no tracking the acquisition and depreciation of the software package.
February 4th, 2008 at 2:37 pmDo you mean like in Question 12.6?
February 5th, 2008 at 7:20 am