A Word about the Upcoming Fall 2009 Releases
August 27, 2009 in non-tech, ROFX
If your internal body clock has gotten attuned to our regular release cycle here at RemObjects (or even if you just did the math ;), you might be expecting our new set of Fall 2009 releases right around this week.
No worries, these Fall releases are in the works, but this time around, we have decided to grant ourselves another two weeks and ship them to you in the second week of September, instead. This has several reasons:
For one, as you might know, we also shipped a new major release of Delphi Prism this month, which is making its way to customers (and available as trial) now. Originally, RTM for Delphi Prism was planned for a few weeks earlier than when it actually happened, for a variety of reasons, so Delphi Prism has kept us busy a bit longer than we had anticipated. We did not want the other products to suffer from that and see a rushed release, so we made extra time.
For another, Embarcadero also just shipped a new version of Delphi/Win32, and we wanted to get final and official support for that into the new releases, as well. Of course we’ve been testing our products with pre-release versions for a while now, and had begun to get ready for Delphi 2010 early on (and there weren’t really any complications, either), but while that is all fine and well in the proverbial lab, there was still a lot to do and test once we received the final binaries and could install those on the build servers that crank out the shipping products. We could have done it in time, but once again, we did not want to rush things and give more than a good week of testing to builds coming off our build machines with D2010 support (and ship a beta or two of those to our external testers, as well). So two extra weeks came in really handy here, as well.
If you’re detecting a general theme here, you are not wrong. We’ve been asking our customers (that’s you) what we can improve, and one consistent feedback we got was: Quality. New features and bug fixes are great, but (understandably), you have told us that you need to rely on new releases to be of high quality and on upgrades to be as risk-free to install as possible. And while i believe we’ve made great improvements over the past year or so in that regard, there’s still room for more improvement, and we intend to leverage that.
So we have scaled down the scope of both this upcoming Fall release and the next Winter release (due in November), in order to focus more of our resources onto better quality assurance. More unit tests. Way more unit tests. More automated non-unit tests. But also way better infrastructure to exercise these unit tests. Over the past month, we’ve started to set up a sophisticated infrastructure for Continuous Integration (and i’ll blog more about that in a separate post, soon); we’re setting up enhanced infrastructure for automated testing and reporting based on our internal Afterhours testing framework. We’re also reworking programs such as our beta tests, and TeamRO, to provide a better experience for everyone involved, more frequent beta builds (with more details about them) and tighter feedback loops.
I hope the upcoming Fall release, two weeks from now, will show the first, tentative, fruits of this shift, and that there will be a noticeable impact on quality with the Winter releases.
Of course this does not mean that the upcoming releases will be entirely without new goodies. Two IMHO very exciting new features we will be shipping are integrated support for Roles in RemObjects SDK (i’ll write more on this, soon), and the Delphi port of our new PCTrade sample suite for Data Abstract. We’ve also been working on a new component for Data Abstract for .NET, the “Local Data Adapter” which will work similar to its Remote counterpart, but allow easy access to data from within the middle tier.
The LDA will not ship in the Fall releases (another factor of our renewed focus on quality-over-features), but i’ve been using it myself in a couple of internal projects for a while now, and it is shaping up nicely. I’ll be talking more about the LDA, and other things we have in the works for November, soon.
In the mean time: new beta builds of the upcoming Fall release are available for all active customers, on beta.remobjects.com. If you want to get an early peak, or are desperate for Delphi 2010 support, make sure to grab those; they are pretty stable, at this stage, and we’ll be updating them frequently as we near release. Or, sit back and relax for the next two weeks, until the official Fall 2009 releases will be available, September 12.
yours,
marc
ExCustomer [Visitor] said on August 28, 2009
In recent years, EVERY release of remobjects’ products ship repeatedly with exactly the SAME motto..
“in order to focus more of our resources onto better quality assurance.”
“in order to focus more of our resources onto better quality assurance.”
“in order to focus more of our resources onto better quality assurance.”
Unfortunately, that’s never been true.
Ron (current satisfied customer) [Visitor] said on August 28, 2009
I’m interested in the unit tests on the public interfaces of what we use. Has there been any discussion on making those particular tests available to customers perhaps? For screencasts I’ve been working on I’ve looked hard at using Unit tests as a teaching tool. It seems to me they have great educational value above and beyond QA benefits for the vendor. They could be another reference for classes, methods and properties in the wiki. Something like “See SomeClass.MethodTest() in the Unit Tests for further usage examples”.
Claudio Piffer (satisfied customer) [Visitor] said on August 28, 2009
Hi Marc,
thank you for your explanation. I am an RemObject customer from 4 years (I have an subription for Delph and .NET) and yuor products as very great. Now all of my major projects are developed using your technology (DataAbstract, Hydra, AnyDAC). I am sure that the new actions you have taken will lead to still have the best products. A big thanks to all the team RemObjects!
marc hoffman [Member] said on August 28, 2009
Ron: no *concrete* plans at this stage to make these tests available, but certainly something we can consider. i’ll bring this up for internal discussion.
Claudio: thanx much appreciated.
ExCustomer: tbh, i don’t see a contradiction in *repeatedly* focusing on quality improvements. For some release cycles, most work will go into new features, for others it will go into quality (yet others, it goes into docs, or samples, or what not.). Just because once a year (or so) we say, “ok, this time, not much new, but we focused on QA” doesn’t really invalidate the previous time, or imply we lied. IMHO. That said, i’m of course sorry to hear that you were repeatedly dissatisfied with our products in the past, but may suggest that more concrete (and less anonymous) feedback about the problems you had sent to our support team might help more in sorting this out.
thanx, everyone
marc
Rich [Visitor] said on August 28, 2009
Marc,
This is great to hear!
While I was very impressed by all the new features in the last release, I got the impression it was not as bug-free as the previous release. So I was hoping that Fall 2009 would focus on bug fixes and performance rather than new features–looks like I’ll get my wish.
I’ve become a huge fan of AnyDac, RemObjects SDK, and DataAbstract for native Delphi applications.
My next wish is for improved docs and “best practices” whitepapers.
Keep up the great work!
Rich [Visitor] said on August 28, 2009
Marc,
Here’s an easy way to improve RemObjects customer satisfaction, using the least amount of time & effort:
Please publish a web/wiki page of all available patches. Create the patches using GNU “diff -ruN” so we can apply with with GNU “patch” utility (available on win32, linux and OS X).
A wiki page of patches isn’t as nice as auto-patching hotfixes, but it will be a vast improvement while taking minimal effort from RemObjects.
This will reduce the odds of your customers deploying known problems that were already solved by RemObjects inside an obscure newsgroup message.
marc hoffman [Member] said on August 28, 2009
Rich: Thanx. I’m not sure “diff” patches would be the best solution, becvause i;m sure 90% of our customers (and myself) would have no clue how to install them. However, i believe we can do something better. Along with the CI and more automated testing, we’re also revising our promotion system in SVN, and i hope that if all goes well, we can very easily ship complete “fixes only” builds when needed.
Or even at regular intervals. say there could be an automated build made available every week, from a branch that has received only a very controlled and essential set of fixes since we last shipped an “official” release. These builds would receive less (probably no) manual QA, but that’d not be a huge problem since they;’d be based on a known stable branch (i.e. the last version we shipped) along with hand selected critical fixes.
The automation and changes we are putting in place now will enable all sorts of things like that.
fabio vitale [Visitor] said on September 2, 2009
I can suggest to use Git instead of SVN: it is a *LOT* better than SVN.
I switched from SVN to Git about one year ago and I’m *VERY* happy with it. I switched because of the inherent limits of SVN, and I’ve used it for years:
“SVN is the *MOST* *POINTLESS* open source project, period.”
(Linus Torvalds: http://www.youtube.com/watch?v=4XpnKHJAok8)
Take a look at this link:
http://whygitisbetterthanx.com/
Once you start understanding the thinking behind Git you will change your mind forever about version control.
If SVN is your hammer tool for doing version control, everything you hit with it will be your thumb…
And last but not least, Git can do and apply Diff patches in a snap, as Rich suggests.
Please don’t take this post as a critic: someone, about a year and half ago, suggested me the same two links and now things looks different: a lot *EASIER*.
marc hoffman [Member] said on September 2, 2009
Fabio,
let me think – get rid of tens of thousands of lines of code invested in creating infrastructure we’ve built around SVN and stop using a tool that integrates with every IDE and has nice, rich and conmfortable to use clients on every platform to work with (not to mention that the entire team here is happy with), to switch to a somehting that doesn’t even have a UI yet? No, seriously, let me think about this one really *hard*.
Oh wait, *Linus* said, so. of course…
ps: my point about diffs wasn’t that SVN can’t use or generate em. my point was that they are not something we can ship to the average user.
ExCustomer [Visitor] said on September 3, 2009
” my point was that they (diffs) are not something we can ship to the average user. “
Come on. Diffs documentation is far far more updated and complete than any of your products documentation. Plus, there is no need to debug while using it.
marc hoffman [Member] said on September 3, 2009
ExCustomer: ok. i get it. you really don’t like out stuff. why stick around and make this an unpleasant place for everybody, instead of just moving on? (hint: no need to reply, it’s a rhetorical question.)