I am worried about REALbasic, or now, REAL Studio. I have been a fan since it was a Mac-only product, running on OS 9, maybe even OS 8. I have been a writer for REALbasic Developer Magazine, spoken at multiple REAL World conferences, was an adviser to the Association of REALbasic Professionals, and am now a board member of that organization. I have loved this product and have been sad and mad at both REAL Software and the community. The stages of grief:
- Denial: This can’t really be the state of the community.
- Anger: Why are they going in that direction?
- Bargaining: I have had debates with Geoff.
- Depression: Saddened that I may have to move on from my favorite programming language.
- Acceptance: This will be bad for REAL Software, as more people get to this stage. I am just about there.
In the past, I have written posts about the state of REALbasic and its community. The longer I observe the community, the more sad & angry I get. I have been using REALbasic since v2. In that time, I have seen REALbasic flourish and now stagnate. It has stagnated for years and is now settling for mediocrity instead of excellence. So, if anyone from REAL Software is reading this article, it is for your own edification. It is not to solely bash the product REALbasic.
I’ll get straight to the point of the problem: REAL Software favors the hobbyist and allows the professional high-demand customers to flop around on the ground like fish gasping for breath out of water. The problem with this thought pattern is when these “fish” die, it will be nearly impossible to bring them back. The side affect of these dying fish is two-fold for those of us professionals still gasping. The REALbasic ecosystem is unhealthy, and instead of a giving community, it is a black hole of novice questions that could easily be answered by opening the language reference in the REALbasic product itself. 3rd party vendors are ridiculed for trying to make a living by actually charging money for their work. It is no use trying to rationalize with the people in the community — the people there now want everything for free, and don’t want to put in an effort. This is the class of people that REALbasic is attracting. Perhaps you are reading this and are having trouble getting a grasp of what I’m saying. For you, here is a real world example. Go to your nearest Target store. Look around, study the people… how do they dress & how do they act? Got it? Good. Now, go to the nearest Walmart and see the difference. REAL Software is attracting far too many Walmart class people to REALbasic.
Yes, previously I blamed the community. But after further thought, it is the company behind the community. If REAL Software wanted to change the community they could. They have the power to change it, and heal the flailing REALbasic ecosystem. Here is how they could do it:
- A 3-tier product is too complex. It wreaks of Microsoft’s 7 OS SKUs. Offer the language and sell cross-platform development as an add-on. Up-sell the the database server if you really must keep it.
- Consider dropping the database server. The licensing options are not attractive and there are too many open source alternatives.
- Allow developers to pre-compile code (libraries) that can be sold as REALbasic add-ons. This is a much better alternative to the half-baked “encryption” we now have, which has been broken in the past (2006!), and the broken option is the default! A few years ago I mentioned the latter and watched as a developer made the “new” encryption option selected by default, and check in the change, but mysteriously it was removed by the next release of REALbasic.
- Allow an API for the IDE so that 3rd party software can extend it. Allow tools to analyze the code, insert code snippets, drive the IDE, and extend it. One of the best tools that I used in VB was from a third party.
- Work on reducing the size of the executable created. When I release a shareware product, I am embarrassed by the size the binary.
- Speed up the launch of the IDE. I have reduced my plugins to the bare minimum that I can. In the time it takes for REALbasic to start up, I can launch Xcode a number of times.
- Pre-compile plugins in the background as the developer is coding. When I want to make a build, I don’t want to wait for that.
- Plugins should be able to be added dynamically without needing to re-launch REALbasic. (See 6 & 7 above.)
- Give the fanatics the ability to make REALbasic the best IDE & language possible.
And now the do not’s:
- We should not have had to wait for Apple’s removal of Carbon APIs before Cocoa APIs were taken seriously. Get it done!
- Stop canceling the REAL World developer conferences! No, we don’t want mini-regional PR conferences. We want one big conference where we can gather with like minds.
- Customers do not want to hear about “small company” & “limited resources”; we want solutions. If REAL Software can not provide them, it would be nice to be able to point them to a 3rd party that had the ability because the IDE was able to be extended.
- You are not Apple! Stop trying to be everything to everybody. Concentrate on the core of REALbasic & do it well. Let others build, say, a report writer.
If you are still reading this, you probably see a theme. The IDE needs to be opened up so that REAL Software can work on the language & IDE. Power users need more tools. Until then, I fear for the future of REALbasic as more of the fish die when the Acceptance stage is reached. For years I thought that Xcode and Interface Builder were too complicated. That may have been the case at one time. But it isn’t anymore and REAL Software should be concerned about their Mac-only customers. After spending the past few months in Xcode, it is not nearly as bad nor as complicated as I had thought. It looks better and better every day.
This has been a loving warning letter to REAL Software… from a long time customer, supporter, and evangelist who has been pushed out of his comfort zone due to your corporate decisions. For your sake, I hope you take to heart what has been written. If changes aren’t made soon, it will stop hurting me when I launch REALbasic, because I won’t be launching it anymore.