Quality Either Matters or it Doesn’t
My Saturday was supposed to be dedicated to a training video for the new Segmented Control introduced in REAL Studio 2010 Release 4 that was release this week. Unfortunately, I stopped after about an hour after documenting bugs and becoming generally disgusted with it. What’s the point of doing a training video for something that is THAT jacked up and must be fixed (to be really usable) in a future release of REAL Studio? Why waste my time doing a video that I’ll have to do again?
I think it’s awesome that REAL Software creates REAL Studio and a handful of other projects using REAL Studio. But they don’t use it like we do in two different ways: Their testing process (and I wonder if they really have one sometimes) does not test the way a real world user creates projects. Their usage of RB for the IDE isn’t a real world example of what anyone is trying to use RB for. Saying “we build REAL Studio with REAL Studio” isn’t a valid metric for anyone except REAL Software.
I’m not an average REAL Studio user – I get that – I actually make my living off the product. I use it eight to ten hours a day on average of six days a week. When I do my testing, I start by creating a simple demonstration project showing the most basic usage of ‘X’ and then expand upon it by exercising most of the properties, methods and events. Most of these demonstration projects end up being reused in real world consulting projects and in the twenty-plus hours of training videos I have on my website.
I rarely waste my time and, in my opinion, the new features in REAL Studio 2010 Release 4 was a complete waste of my time. The documentation was late and incomplete and the new features have glaring bugs in them. If I can document several in an hour what does that tell you? Where were the example projects demonstrating the new features for Release 4? There were none.
Have you ever perused the Examples folder? There are a lot of example projects showing you how to use individual parts of the REALbasic framework. Depending upon which release you look at, some of the examples don’t even compile.
I also think it fair to say that most of the examples (that are working) are watered down to the point where they only show the most basic usage of a component. They are not complex examples and therefore don’t do most people much good when they get around to implementing it in their own projects. Most are not written with best practices in mind or how average people will use them. They were written with the intent of getting if off the developers, or documenters, plate as quickly as possible. Comments? Naming conventions? Defensive coding? Good luck.
REAL Software as a company does not create new cross-platform applications using their own product. They don’t see the day-to-day deficiencies that we do. They don’t feel my pain and that’s a problem because they’re trying to sell their product to people just like me – or at least that’s what they keep telling me.
I’m about ready to stop using REAL Studio for certain types of projects because they’ve lost control of the quality. Quality either matters or it does not. Decide which and let me know – I have better things to do until then.
Here’s my unsolicited advice for REAL Software: For every new release build a new project that demonstrates EVERY new feature and exercises it. Major changes to the framework get the same treatment. These projects should be good enough so that if there is missing documentation, the code tips or autocomplete doesn’t work (all real world examples, by the way), anyone can still figure it out from the code. It takes planning and a commitment and thinking about how real users will use the feature in Windows, Linux, Carbon and Cocoa applications.
Please, do this for upcoming Cocoa and Web Edition releases. If you could do that, I’d guarantee you’d find more bugs, earlier, and I wouldn’t have to spend my Saturday writing an opinion piece.
What are your thoughts?