In the first part of this series I talked about how I got involved with Real Studio. In part two I talked about some of things I’m currently doing in Real Studio. In this post I’ll talk a little about the future and what I think where Real Studio will be in the future and my needs and wants as a professional user.
For many people, using Real Studio is a Love-Hate relationship. Mine is no different. I’ve been using it for over ten years and while I find it easy to use and very powerful, there are times I feel like putting my fist through the monitor due to frustration.
Real Software releases a new version of Real Studio roughly every ninety days as part of their Rapid Release Model. From one aspect it’s nice since I know when a new version is going to get released and plan for it. I know that there will be some new features and a whole bunch of bug fixes.
Unfortunately getting a new version is often an exercise in futility because new releases can sometimes break existing functionality. Since I work on so many projects I’m often waiting on a particular bug fix in the next version so I’m forced to upgrade. The frustration of finding yet another bug upon trying the new release is sometimes too much. If you find me grousing about Real Studio (see last summers Windows rants) it’s generally after one of these types of upgrades.
I’ve been very critical of RS in past because of new features that just plain don’t work. Rightly so, in my opinion. New features don’t get tested in the beta process because there’s usually no documentation and usually no example projects showing how it’s used. Either case is bad and it has to get better. The perception that Real Studio is buggy, wether right or wrong, has to improve.
Look, I know that every release has significant bug fixes and only a few new features. I know because I’m part of the beta program and have been for a long time. But as a beta member I don’t feel like the program lets me help Real Software very much. I can’t tell you how many times I report a bug, it’s gets marked as fixed and then I have to scour the release notes looking for bug reports that look like mine.
The feedback system and releases aren’t designed to help me verify the fix. I feel that a bug isn’t fixed until the bug reporter has verified the fix. From my aspect it’s very inefficient and I wish it was better. But since it’s not my system I can’t do much about other than offer suggestions.
The future on Mac OS X is Cocoa. I expect that in the next release or two, the Mac OS X IDE will be built for Cocoa. When that happens, you’ll know that Cocoa is really ready. Building for Cocoa will give RB users the ability to harness some of the Cocoa goodies that Mac users come to expect from their applications.
Unfortunately, Cocoa isn’t going to help Windows or Linux as it just makes the platforms that much more different. However, I do know that much of the work that has gone into Cocoa has involved rewriting major portions of Windows and Linux to fit the newer event models rather than the old Carbon/Classic model. I don’t know the specifics but it wouldn’t surprise me if almost all of the frameworks was rewritten accomplish this.
I’m not sure where Windows is heading in the future. Real Software is a Mac heavy company and it’s hard to know how serious they are about Windows. Last summer there were some very easy and very serious Windows bugs that bit me very hard (because of the upgrade cycle) that very nearly cost me a big project. I just don’t see much going on for advanced Windows support but perhaps that is just a byproduct of the march to Cocoa. After ten years they still don’t have full COM support and without it there’s just a bunch of stuff that Real Studio won’t be able to do. It’s also unknown when 64bit support is coming and when Microsoft will switch over to a full 64 bit OS. I think this is as every bit as important as the switch to Cocoa on the Mac side.
I have reservations about Linux support. I wonder if the time and effort is worth it in sales for Real Software. As a consultant I get no one asking for Linux apps but perhaps that’s anecdotal evidence since I’m heavy into Mac and Windows development. Also anecdotally my blog and website just have a few percentage points of Linux users that visit on a regular basis.
We know that a User Interface change is coming. Geoff demoed it at the Atlanta Summit but no pictures have surfaced yet. From what I can remember, it should reduce mouse clicks as the Project Tab will be easily accessible all the time. Unused events will not show in the Events list until you add them (I believe the most common event(s) will automatically be added). A new tool palette was revealed that reminded me very much of xCode/Interface Builder.
I would also expect a lot of the Web Edition editor features will make it into the new IDE. The in-line editors are generally okay but I’m not a huge fan of them. I really hate the new Tab Order Editor as it’s confusing once you get more than a dozen controls on the window. I’m also not a big fan of the object handles (that allow you to resize controls) since they’re a major pain to use – they disappear when you’re resizing. This means that controls have to have special visual modes to show their sizes unlike the current Window Editor where controls have a visible outline.
One feature that I do like is the pasteboard that is automatically populated at the bottom of the WE page editor when placing non-visual objects (like timers). This probably means that Dialogs will be rewritten to act just like the new WebDialogs. One can hope that they will retain the existing methods. I also expect the Radio Button control to be replaced by the RadioGroup – again, similar to what Web Edition did.
Some of these changes make a lot of sense from a beginner perspective. They are common questions from new users and are a solution to aid them. From a power user perspective I’m trying to be as open as I can to the changes. Some will grow on me I’m sure with usage. Others, I’m just as sure, will make me pine for the ‘old days’.
We can only hope that Real Software has a feature complete IDE when it makes it into the beta program and lets hope that they’re not adding major functionality to it during the beta. Otherwise I expect a chorus of very vocal naysayers and boo birds. A User Interface change is a big deal and should not be taken lightly. I hope they do their own (very strenuous) internal testing on it before foisting it on us.
Eventually, Real Software will switch the back-end compiler to LLVM. RBScript is already using LLVM and while that was a significant step, it’s probably going to be a lot of work to switch over all of Real Studio to it. If my sources are correct, they’re going to writing their own linker for Windows which I have no doubt is more work than they expect (Cocoa was only going to take 18 months remember?).
Will LLVM lead to Real Studio being able to compile for iPhone and other mobile devices? My answer is a big maybe. I have a hard time figuring out the marketing for including mobile devices in the current product other than to saying you can reuse much of the same code, but just like with Web Edition you really have a separate product with separate editors and separate compilers. I have no problem with a mobile optimized IDE that leaves the cruft of desktop and web apps behind. I think it could be brought to market faster that way too. Like much of the rest of this post, it’s pure speculation on my part.
One thing I wish was improved was the Real Studio debugger. Anyone that’s come from the Visual Basic and .NET world understands what I’m saying. The Real Studio IDE debugger just isn’t easy to use. No watchpoints and always having to refer to the listbox to view variable values is huge pain (wouldn’t it be nice to hover your mouse over a variable and get the value in a tooltip?). Many Real Studio users don’t even realize that you can view the call stack since it’s a popup menu (poor UI choice, in my opinion). Many also don’t get the whole breakpoint and exception handling either.
There is still a bunch of essential controls missing from the standard control list. After ten years there’s still no date, time, or calendar control. While the standard listbox is fairly powerful, it’s a beast and you just get to a certain point where it’s too slow and cumbersome to use. For those needing them, they’re forced to use a 3rd party set of controls.
I think much of these limitations is all based on how Real Software uses the tool themselves. The IDE has absolutely no need for grid, date, time, or calendar controls. You could certainly argue that the reason why the TextArea RTF support is so weak is because the IDE has no need for it. The same with the lackluster support for TextField masks. Likewise, to the best of my knowledge, the IDE does not use the built-in reporting tool and, it too, suffers from having no strenuous use from the company that designed it. Modern toolbars? Need I say more?
I’ve argued for years that RS could really use a consulting group that bids and works on projects just like the rest of us consultants. A lot of the projects I work on run into the same constraints time and time again and I’m forced into less that optimal solutions. I can submit Feedback reports until my fingers bleed, but until RS has to fulfill a need for themselves it probably won’t happen. Personally, I’d welcome them into the consulting business. Sure, it means more competition for me personally, but I’m okay with that as it will make the product better.
Sorry for the rambling post as there are lot of things that I’d love to see RS do a better job at and improve in the product. I really do appreciate the work they’ve done as it pays for my, and my employees, salaries. As a professional user my needs are vastly different than a majority of Studio users but as someone who spends a considerable amount of money on yearly license updates and the referral program, and spend a lot of effort selling the product to clients I feel that my needs should be aired publicly. My time with ARBP has shown that many of you agree to varying degrees.
Those are some of my wants, needs, future predictions, fears, worries and gripes. What say you?