Evangelizing REALbasic

It’s funny because I have been accused of being a shill for Real Software in the not so recent past.  I guess now I’m a traitor in certain segments of the community for asking what I think are legitimate questions.   Some feel that as president of the only professional organization for REALbasic I should be evangelizing the product.

Let’s talk for a minute about evangelizing a product.  Guy Kawasaki is famous for evangelizing Apple.  Here’s a post that talks about evangelizing a product.  In this post he asks the question “What are the characteristics of a great product?”

I’ll focus on one item.  Completeness.
Complete. A great product is more than a physical thing. Documentation counts. Customer service counts. Tech support counts. Consultants, OEMS, third-party developers, and VARS count. Blogs about it counts. A great product has a great total user experience—sometimes despite the company that produces it.

REALbasic has a number of issues related to completeness.  The documentation is lacking and at the last Real World there were large tables of users asking for better documentation.  Yes, there’s progress, but it’s been slow.  Compare RB documentation to what Apple, Microsoft, Java, PHP, and MySQL is putting out and you see a huge gap not only in quantity and quality but accessibility in todays web enabled world

REALbasic is limited in its appeal to third-party developers for a number of reasons.  The plugin API’s and documentation are always out of date.  To the best of my knowledge there is no guide, anywhere, on the best practices for creating plugins and cross-platform native controls.  Since you can’t write REALbasic plugins using REALbasic it seems somewhat ironic that you have to use another language and multiple IDE’s to make a plugin for a cross-platform tool.

Another post from Guy talks about the art of creating community.  Obviously Real Software has created a community (why else would I be writing about it and help found ARBP?).  It seems that we’ve stumbled on items #6 and #7 rather harshly this week:  Welcome Criticism and Foster Discourse.

Look, I use RB all day long not only for my own products but for multiple clients spread across the world.  It makes a living for me and my family as well as my employees.  I know what I need to make my life easier.  I know what problems RB gives me in sales and for development.  I also know what problems RB solves for me.  The feedback I’ve gotten has been on the web and via private emails and some have beaten me up on how I’ve hurt RB by asking a question meant to foster discourse.  Maybe the question that these folks should have posed back to me should have been, “Okay, if you’re such a smart guy, what are your ideas on improving RB?”

In the very near future ARBP will be publishing the results of what users said they wanted most.  The results will not surprise anyone that’s been using RB for any length of time.  If you’ve come to RB from the Windows world my guess is that you can already guess what people wanted the most, but I won’t spoil the surprise for ARBP.  🙂

Is REALbasic Relevant?

I’ve heard from a lot of developers recently that they’ve started looking at xCode and Cocoa for development.  A lot of these people are simply looking at it for iPhone development but that still seems like a bad omen for REALbasic in that once you’ve learned the tool, moving to Cocoa for desktops isn’t that big of a stretch.  The work is in learning the tool, not the language and bad programming is bad programming in whatever language.

Using Cocoa (properly) gives us a “dripping with OS X goodness” for free that’s hard to achieve (if even possible) with the current version of REALbasic (RB 2008 R5.1 as of this writing).    Likewise, using Microsoft Visual Studio you get a native, using all the latest goodies from Microsoft  application that, again, is tough to achieve with REALbasic.

Don’t get me wrong, I use RB every day to make good cross-platform apps.  It’s the platform differences that give rise to the difficulties because Macintosh OS X and Windows just behaving differently.  I say this to clients all the time:  RB is nothing but compromises.  It won’t make a great Mac OS X, Windows, or Linux application without a little extra work.

REALbasic is really great at cross-platform applications.  That’s awesome.  But therein lies the problem:  they don’t make it easy for Mac, WIndows or Linux developers to make great native applications.  Once RB supports Cocoa we expect it to make better Mac OS X apps but will it or will they still be limited by the compromises that RB has to make for Windows and Linux support.

So would making it easier to make good native (looking at least) apps make RB more relevant?  I don’t know, but because people only think that RB makes great cross-platform applications and not native apps it seems logical that if I was to do a Windows-only app I’d think first of Visual Studio and think xCode for a Mac OS X-only app.

I’ve heard from more than a few developers that feel this is RB’s single biggest weakness.  And then they see efforts being put into another version of Real SQL Server and they just shake their heads.  Most people would agree that RSS is great ‘in concept’.  It’s an easy to use and configure database server but it’s also fighting against a bazillion other database servers that have a bigger feature set like extended stored procedures, referential integrity as well as hundreds of standard features that RSS doesn’t have.  Would you take RSS to a company that already has MySQL running in their office?  How about PostgreSQL, Oracle, MS SQL Server, DB2 or any one of a dozen other database servers that are widely available and been around, in some cases, for decades?  Could you get your ISP to install it to run your web store?

Look at it RSS from another direction.  Google ‘Real SQL Server’ and the first 3 pages are from Real Software, a few download sites and companies reselling it.  One page is the C|Net downloads page which has RSS 2008 R1 listed with a grand total of 95 Windows downloads and just 7 for Mac OS X and no reviews under either one.  That’s not good for being available for half a year.  Now, I wouldn’t download from that particular site, but I certainly would do a quick Google search to see what’s being said either positive or negative.  The fact that nothing’s been said is not a good sign in my opinion.

Why do I bring RSS up?  It seems to be a solution that’s in search of a problem.  I see RB developers asking (for years) for an integrated reporting solution and the most recent ARBP survey indicates that a good grid component is desperately wanted.  Those are things I could use and sell today to make my business better.  RSS isn’t anything I need today or tomorrow because I already have multiple database server options.

Thankfully, it doesn’t appear that RS is focusing all of their attention on RSS.  With a smaller staff, however, it might just be enough to keep resources away from what RB users need and want.  If RS continues to ignore the needs of its developer community (in particular the professional community) they do so at their own peril and becoming irrelevant.  Developers will use the tools that solve their problems (like cross-platform applications).

I think RB is in serious trouble if a cross-platform tool for Cocoa (like Cocotron) is ever seriously taken up by Apple or someone else.  People talk about Mono for Mac OS X more and more.  Another tool, Lazrus, is currently making carbon Mac OS X apps (just like RB).  RB is a good tool.  With all of this competition, will it be five years from now?