ARBP: So Long and Thanks for All The Fish

Volunteer organizations are a difficult thing to get to work.  Recruiting volunteers and getting them to do anything is like herding cats.  It’s a difficult and tiring process, at the best of times, and oftentimes there’s a significant risk of burnout.  Ask any PTA president what it’s like.

Today I am announcing my resignation from the Association of REALbasic Professionals (ARBP).  I was one of the founders and was president until last March.  In the past year I’ve been the treasurer and a Board member.  I am resigning both positions effective immediately.

ARBP started out as a number of blog post exchanges between myself and Norman Palardy.  You can see some of the exchanges in my blog archives here and here.  That happened in December of 2007 and January of 2008.  In 2008 we organized at Real World in Austin, TX and with the help of a very dedicated group of people we got the thing off the ground.

Between 2008 and now, ARBP had 100% turnover in volunteers and board members with the exception of one person (me).  I’ve been the (very) weak glue that’s held everything together.  I was the web admin, blogger, tech support, wrote articles, and much more.  I did pretty much everything at one point or another.

During my tenure ARBP organized two conferences.  The first was in Boulder, Colorado in 2009 and in 2011 we held a much larger conference in Atlanta.  Many people were involved with the organization of those events but as anyone that’s done a conference can tell you there are just a ton of details to work out.  We recorded each conference and they’re still available for paid members at  While I feel they were successful conferences I personally did NOT enjoy them because, well, I was running them.  I recorded every session, burned the video to digital format and got them ready for the website (or mailed them for the Boulder conference) – way more work than one should ever do and not get compensated.

This year I celebrated my eleventh year of Real Studio consulting.  It’s been a very rewarding experience and I am so thankful for clients that keep coming back.  I started out, as many do, as a sole developer.  I added a full-time developer in 2007 and I added another one in 2011.  The commitment to keeping everyone busy (and profitable) is my primary job.  To keep both my business and ARBP going meant compromising both and in the long run my business and my family win out.  Doing all that work for ARBP, for free, just doesn’t make any sense for me at this point in my life.

So, for those of you that I’ve talked to over the years, thank you for you kind words of encouragement.  I hope that our efforts have made your transition to Real Studio easier or at least provided another way of learning Real Studio.  I encourage you volunteer for ARBP.  There are ton of things they want to do and they could really use your help.

I’m not leaving the Real Studio community and I’m sure I’ll see you all again.  Until then, thank you.  Happy Coding!

Visual FoxPro to Real Studio Converter

There was a point when Visual FoxPro (VFP) was one of the best development tools out there.  Some would argue that it’s still one of the better ones.  Unfortunately, Microsoft has decided to move on and no longer update Visual FoxPro so this means that handwriting is on the wall and it’s time to find a new development tool.

CULLY Technologies has released a Visual FoxPro to Real Studio converter.  More info can be found at

This converter is open sourced so you can tweak it to suit your own preferences and fix any bugs you might find.  It converts VFP forms to Real Studio forms.  Converting the User Interface can be a huge time waster so I’m sure many will find this useful.

No converter is perfect and neither is this one.  It does not convert reports, menus and a few other objects.  It also does not convert any code.

We’ve looked at converters over the years and, honestly, I don’t think code conversion is worth the effort.  You could spend a ton of development time in coming up with a halfway decent converter only to still have to tell the end user they’ll have to go line-by-line to modify the code to suit the Real Studio frameworks.  At that point why not just rewrite from scratch to begin with?  The new to Real Studio developer will have to learn and use the framework anyway and I think giving them a crutch to help them bridge whatever language they’re coming from to Real Studio does them no favors in the short-term or long-term, in my opinion.

Kevin Cully of CULLY Technologies spoke about Migrating from Visual FoxPro to Real Studio (members only to view) at the 2011 Atlanta Summit.  It was an interesting topic as I have never done development in VFP.  I would love it if Real Software added some of the features of VFP into Real Studio.  Kevin is also speaking the 2012 Real World conference.

Conversion tools, while always flawed, are a good thing as they make some aspects of converting from one language to another easier.  This one from VFP to Real Studio should be fun to watch.

Are you a fan of Visual FoxPro?  What do you think its strengths are over Real Studio?  What about the other way around?


ARBP New Year New Changes

After the current ARBP president, Paul Lefebvre, accepted a position at Real Software the Association of REALbasic Professionals (ARBP) found itself looking for  a new president.  Read about the news and changes at

I welcome Scott Boss as the new ARBP president.  If you are interested in helping out ARBP I think we could use your help.

Review: FGThumbnailCanvas

I did a review of the Figa FGThumbnailCanvas on the ARBP site.  Interesting control and recommended if you have a need for a scrolling list of images.  I have a feeling this may make its way into a product of mine and into some client projects.

If you’d like your controls or libraries reviewed, please don’t hesitate to ask ARBP, or myself, or both, to review them.

Real Studio Download Thoughts

You can file this one in the “Bob was bored and had a wild/random thought” category.  🙂

The Real Studio download package comes with several hundred example projects.  These examples range from very useful to downright useless (in my opinion) but they’re there for people to explore and use.  So in other words, the example may or may not be all that helpful depending upon your skill level.

So my question of the day is why are these part of the download package/installer and not available in a special section of the Real Software website?  It would save on download sizes and it would become a centralized location for Real Studio examples.  Ideally, anyone could contribute to this list.

When we started ARBP and added the Source Code Repository, this was the intention.  I wanted it to be the Planet Source Code of Real Studio projects.  The ARBP source code repository has over a hundred projects and gets a fair amount of traffic and downloads.  The drawback is that few people contributed to it and the older projects are really showing their age.  The other drawback is that it’s NOT Real Software and despite only needing an account to use it a lot of people shy away.

The leading argument against such a page on Real Software’s website are the Real Studio users themselves.  There is a tendency for Real Studio users to complain (loudly) when the examples don’t work.  They are justified, in my opinion, since examples in the download package should work with the version of Real Studio in the download package.  To me, if it’s in the download package it implies that it works implicitly with that version of Real Studio.  Unfortunately, that’s not how it works and sometimes leaves new users with a bad taste in their mouths.

A projects repository web page doesn’t have this problem as the person uploading the project sets the version of Real Studio it was created with and perhaps what operating system and adds some tags to it or something like that.  How cool would it be to upload the project file(s), have an RS web app scan it, pull out the keywords and make it part of a searchable system?  Of course it would allow other users to vote and leave comments.

I post a fair bit in the Real Software forums.  Often times I point to the relevant information the poster needs in the Real Software wiki or to various 3rd party developer websites.  I could see a projects page doing something similar and allow me to link to the project that would help the poster out.

Another thought would be to make this a Web Edition application since essentially we’re talking about a web app that’s a front end to a database.  Perfect place for a WE we app in my opinion.

Could ARBP do this?  Of course they could and it was discussed, in-depth, at the Atlanta conference in March.  They could do it – I have no doubt since they have some pretty smart people in ARBP – I just don’t think ARBP should be the one doing it.  I’m arguing that Real Software is a better and more logical entity to host this thing.

The Real Studio community isn’t as large as Visual Basic – that’s just simple math.  You could argue that a mere percentage or two of users would ever contribute to the projects page and that probably true.  However, assuming that Real Software sticks around for a few more decades, I would argue that one contribution a month is more than what we have now and more examples are better.

What say you?

ActiveRecord for Real Studio

We are Real Studio consultants.  It’s what we do and we do a LOT of projects.  If I had to put a percentage on the projects that are database driven I’d have to say that it’s above 95% for the past ten years.

Real Studio doesn’t have database binding like Visual Basic 6 but it’s not a real big deal.  If anything, the lack of binding makes the code more explicit (i.e. easier to read) and you don’t have to go hunting through control properties to find table and field names.  The Real Studio database classes are generic so it doesn’t matter, generally, what database you’re connecting to.  The drawback to the lack of binding and the generic classes is that it does lend itself to creating the same code over and over and over again.

Because of the nature of Real Studio many users tend to put their db code into the form (window) and tie it to controls.  This leads to spaghetti code with the database specific code all over the place and makes changes to your database harder.  Seth has done two presentations at ARBP conferences 2009, 2011 and introduced attendees to ActiveRecord that we’ve used for years now.

Active Record is a very simple, and limited Object Relational Model (ORM) system.  It allows us to create REALbasic classes that the IDE knows about.  It’s not exceptionally strong with the relational data, or large blobs, but it can be programmed to handle it.

In a new project we’re converting an existing Visual Basic 6 project with roughly 25 tables and several tables have over a hundred fields each.  Using conventional means it would mean having a database editor open so I can copy and paste field names all the time.  However, using ActiveRecord we created the classes (we have a utility to do this) and now the IDE knows the table and field names.  This makes coding very fast and they’re is no worrying about spelling errors and there’s no longer any issue of what the data type is because the class knows what it is.  This is nice since the compiler will pick up any many errors that may not usually find until runtime.

The client was ecstatic after the conversion since he figured that would have taken about 20 hours to convert the VB6 code into something useable in RB.  Instead, between our utility and ActiveRecord it took me less than 4 hours.  So now instead of spending all the time getting classes ready, we’re doing the real work of connecting up the UI to a set of data aware classes.

Another feature that was added was to flag the developer if a field is in the database that isn’t in the class.  How many times do you add a field to the database (or a coworker does) and you forget to hook it up.  This doesn’t happen using ActiveRecord.  You can have class properties that aren’t a field, but if you delete a field property that’s been used in the application the compiler will flag you on it and that’s very useful too.

ActiveRecord makes extensive use of Shared Methods so that all of the database code for that table is access from that class and that class only.  It has a number of methods built-in such as getting a list of rows (in array form) and finding a record by the primary key.  It’s easily extensible.

Like I said earlier, it’s not perfect.  It doesn’t handle relational data at all, but it can be modified to do so.  Large blobs can slow it down, but in the few times this has been a big deal we’ve implemented ‘lazy loading’ where we don’t load that particular field until we ask for it.

We have a single tutorial page up for it now at the main website.  We’ll eventually turn this into video tutorials and we’ll demonstrate it in more video’s.  It’s an MIT style license so feel free to use it.  If you have additions and suggestions, please don’t hesitate to contact us.

More information, and downloadable classes can be found at

REAL Studio Magazine May-June 2011

Issue 9.4 of Real Studio Magazine is out.  In this issue there’s a lengthy article about the Atlanta Real Studio Conference hosted by the Association of REALbasic Professionals (ARBP) and Real Software.  The big news is that I am no longer the president of ARBP.  I have truly enjoyed my time guiding the fledgling organization but after three years of organization and two conferences it’s time for me to move on.  I’m not going away as I’m staying on as treasurer for at least a year.  If you didn’t know, ARBP paid members can access the conference videos after logging in to the ARBP website.  Direct link to the session list.

My Briefs article is titled When a Handshake Just Isn’t Good Enough – Why A Contract Is Necessary where I relate about how a recent client stiffed me out of some serious money owed to me.  Of course I didn’t have a contract with him because of the referral and the connections this client has with Real Software and the RealBasic community.  Learn from my mistake and always have a contract in place before doing work!

And, as always there’s a plethora of good information and reviews in the magazine and I highly recommend getting it.  It’s not just for beginners as there is good information for all skill levels.

What’s Your Real Studio Story? (Part two)

In part one of this series I talked about the early chapters of my Real Studio story.  Today I’ll talk about some of the things we (because we have multiple employees) with Real Studio.

Let’s go back to the 2008.  That was the last year that Real Software held the REAL World conference in Austin, Texas.  I begged Real Software to let me have a meeting at 8:00 AM to hold an organizational meeting for a REALbasic users group of some sort.  I was surprised at the turnout and the Association of REALbasic Professionals (ARBP) was born.

Starting ARBP has been a job of persistence and overcoming inertia.  Since we started with nothing: no organization, no leaders, no website, no expectations, we really had no idea what we were going to be when we grew up.  Thankfully I was supported by an awesome group of dedicated individuals that really helped push the organization, and me, along.

In three years, ARBP has hosted two conferences.  The first was in Boulder, Colorado in 2009 and the second was in Atlanta, Georgia this past March.  Both of those conferences were recorded and are available for ARBP paid members.

Besides helping organize both events I’ve spoken at both of them.  So has my #1 employee, über programmer, Seth Verrinder.  Seth has been with us for three and a half years and has been an awesome addition to the team.  Without him, we wouldn’t be as successful as we are.  Between the two of us we’ve also written a fair number of the tutorials, newer projects in the source code repository, and articles.

Sharing code with the community is great way to contribute.  Many of us ‘old timers’ have a library of code just sitting around that would contribute to the community and help people just starting out with Real Studio.  Think about adding your source code to the ARBP Source Code Repository.

Speaking of training, in late 2009 I was contacted to do some video training for Real Studio.  They only wanted about eight hours of video and I felt that I couldn’t do the language or the IDE justice in that short amount of time.  But it did start my creative juices flowing and now I have over 30 hours of Real Studio video training material available at  That 30 hours comprises over 110 separate videos including most of the common Real Studio controls for both desktop and Web Edition.  Most videos come with a project file that you’re free to use in your own projects.  I have two complete series where I start at the beginning of a project and follow it through to the end.  Needless to say, I’ve been very happy with the results and the comments I get from users are very encouraging.

What sort of work do we do with Real Studio?  Well, it varies all the time since we’re a consulting firm.  In the past year we’ve done major updates to professional athletic training system (we did version 1 as well), updates to teleprompting software (we did the version 2 rewrite), major work a Web Edition project for an underwriting company, fixed some right-to-left language support in an existing Real Studio app, updates to a veterinary management app, and updates to credit repair software.

From-scratch projects include a PDF viewer/annotation/organizer app, a military strategy simulator, a family genealogy organizer, a front end user interface to a serial lightning detection device, a neurological test for patients with brain damage, a proof-of-concept app for a Mac OS X computer to talk to a electronic keyboard that uses a proprietary ethernet protocol, and a Web Edition app to share URL’s among registered users.  Most desktop projects are cross-platform.

On top of all that, we’ve created a number of smaller, proof-of-concept/training projects for folks that want to do something specific in RB but don’t have the time or inclination to learn it on their own.  These projects are actually kind of fun since they’re very specific and allow us to explore a control or API that we’ve not spent much time on without having to worry about the nit picky details of a full-blown application.

I’m very picky on how I organize documents (I am an engineer after all) so every now and then I go through the older directories as a refresher.  We’ve done a LOT of projects over the years and not one of them is similar to another one.

So how do I find the clients?  At this point we’ve been doing Real Studio consulting for a long time and a lot of long-term clients keep coming back for rewrites and major new additions.  I’m very happy about that as the relationship is already in place and they trust us.  It’s an awesome feeling.

Believe it or not, the video training has been a nice addition to our consulting business.  The progression is that people sign up for the videos and then after a couple of weeks (or months) they send us an email asking if we are available for work.  Because of the videos we already have a ‘relationship’ even if I’ve never talked to them before because they see how I work with Real Studio.

I’m also a member of the Real Studio Consulting Referral Program  It currently costs $495 for twelve months and $295 for six months.  It’s worth it.  By the time a potential client sends in their information to the Find a Developer Page at they’ve already decided that Real Studio is what they’re looking for.

At one Real World I said being part of the Referral Program is “like shooting fish in a barrel”.  I still believe that.  The cost is insignificant.  One very small project and it pays for itself.  If you want to start working with Real Studio on a full-time basis, this is the place to start.

One last note on ARBP.  I’m happy, and a little sad, to say that today is my last official day as leader of the organization.  Tonight is our board meeting where a new board will take over and a new president will lead ARBP into the future.  I’m still on the board as Treasurer (assuming no one else wants it) but the day to day stuff will no longer be in my hands.  I urge you to volunteer as it’s a great organization that is always looking for help.  You don’t have to be a Real Studio expert (or professional) help out.

So those are the current chapters in the BKeeney Software Real Studio story.  What sort of projects are you working on?  How are you finding work?


Atlanta Real Studio Videos are Posted

If you missed THE Real Studio event in North America in March, you can still join in on the fun.  The Association of REALbasic Professionals (ARBP) posted the videos of the conference on their website at  It is available to all paid memberships and to conference attendees.

It has been my honor and privilege to help birth ARBP and lead it these past two and a half years.  It is time for me to pass the baton to new leadership and see how the organization grows from here.  I’ve helped organize two conferences as well as get the organization going and I’m ready to relax for a while (though I’m sure you can’t get rid of me that easily).

I hope that you consider helping the organization out.  The more individuals we have helping spread the word, the better it becomes.  I’m sure I’ll post more details later.

2011 Real Studio Atlanta Conference Wrap Up

Conferences are always nice because you make connections with people new to you and you get to renew connections with old friends and it was no different with the 2011 Real Studio Summit in Atlanta this past weekend.  Forty-three people from around the world (quite a few Europeans were there as well as Australians) joined us for the two day event.

Despite my initial misgivings about the location, most conference attendees gave it a big thumbs up for a convenient location.  Being 10 minutes from the airport made it easy for everyone to get there.

Geoff Perlman, CEO of Real Software, showed us some upcoming UI changes to the Real Studio IDE that I think everyone will like as it eliminates some mousing.  Of course I will have to reserve judgement on it until I actually use it 8 hours a day, but from the sneak peak he gave us it will be a nice change.

Real Software also presented some of their insights into Web Edition and Paul Lefebvre did a followup session showing a Web Edition application in action.

The sessions were interesting.  I always learn something in a session even if it’s in a topic that I think I know rather well.  My own session on Reporting tools for Real Studio seemed to be well received (at least no one threw anything at me) with the Roth Software folks showing me some upcoming features in their product, RSReport, that made me very excited.  Can anyone say ‘runtime interaction’ in your reports?

Also good news is that we found a new board of directors for ARBP and by the end of April my presidency of the organization will be over.  It’s been a long two and a half years and it’s time for others to lead.  Putting on the conference will be it for me.  The only thing I have left is to process the videos (close to 13 hours!) so it can eventually go on the website for ARBP members to view.

More, I’m sure, in the upcoming weeks and months as I get some sleep.