Archive

Archive for September, 2007

The RB Forum vs. NUG List

September 29th, 2007 Comments off

I’ll admit this: I like the REALbasic Forums better than the NUG list. If I have a spare minute or two I peruse the forum looking for a question that I can respond to. The NUG digests in my inbox get ignored.

When I visit the forums I often hit the ‘view unanswered posts’ link to show me anything that hasn’t been answered. This seems to be the best way for me to help others. If the question hasn’t been answered then I’ll take a look at it. If a question goes unanswered for over a week I’ll respond to it even if I don’t know the answer just so it gets some activity and gets the attention of others who use the ‘view posts since last visit’ option. Trust me, it works.

The other reason why I like the forum over the NUG is that I don’t have to constantly shift through the garbage in my NUG mailbox.  Even with mailbox rules and digest mode I find myself ignoring the NUG more and more because my email is my To Do list.  I can’t stand having unread stuff anywhere in my email client so it’s a waste of my time.  Using the forum is easy because I get an email whenever a reply is posted to a thread that I’ve responded to – but at least it’s smart enough to only send one email even if dozens of responses has occurred since my last visit.  The NUG can’t touch that feature.

This is NOT to say that others can’t find the NUG useful because it is and there are a lot of very knowledgeable people that lurk on that list.  It’s a resource that I encourage everyone to use because it’s been around forever.  If all other resources have failed to answer your question, try the NUG.

The forum is easier to search than the NUG given that you can narrow it down into broad categories and date range.  I guess you could argue that the NUG posts can easily be searched using Spotlight on the Mac or using the NUG archives but it’s not quite the same thing.  Or maybe it’s just what makes sense to you.

I’m willing to bend on this one because I remember the furor that went up when REAL Software tried to shut down the NUG.  You’d have thought they were killing a baby seal or something and in the six or so years of reading the NUG I was amazed at the hatred that welled up from the community.  So REAL did the only reasonable thing they could do – keep it alive.

So I’m curious on what you think of the Forums vs. the NUG.  Which is more useful to you?  What do you love or hate about the forums and the NUG?

Categories: BKeeney Briefs Tags: ,

Bindings Deprecated and RB3D OpenSource?

September 20th, 2007 Comments off

REALbasic engineers have said on the NUG that they are deprecating bindings and wish to open source RB3D. I think this is good for RB in the long run.

If you happen to use one of these technologies I can see where you might be miffed.  Honestly, though, I think REAL Software is looking hard at REALbasic and see what people are using and what they aren’t.  If they aren’t, then figure out why.  Is it because it’s too hard or just not useful or there’s no interest?

I can see why they’re removing bindings.  Ever since they moved to the new IDE for RB 2005 it’s been neglected and never worked all that well in my opinion.  It’s functionality is limited and most users I know end up doing most of work in code anyway.  The other disadvantage of bindings is that it’s all visual.  Visually, you can’t tell what the binding was without going through a dialog anyway.

The argument for RB3D is a little harder.  I’ve used it.  It’s okay, and fairly easy to use.  It uses the Quesa library which is a “library that offers binary and source level compatibility with Apple’s QuickDraw”.    To use it in Windows you have to install a dll and using it in MachO apps requires some special steps as well that I’ve never had to do.  RB 2007 R3 caused some issues with dynamic linking in Windows.  This feedback request was entered by William Yu, one of the RB engineers, so I look at this as pretty much a done deal.

The deprecation of RB3d could mean several things.  First, RB thinks that QuickDraw is not the wave of the future and that it’s going to support some other graphics 3D library.  Second, the number of developers using it is so small that it’s not worth supporting.  Three, RB might be planning on introducing some new language feature that would make supporting RB3D hard.  Four, it could be that none of the current engineers at RS find it exciting enough to maintain and enhance and making it open source lets the community decide on where the technology goes.  This is all speculation, mind you, and the answer is probably a combination of things.

For what it’s worth, I think it’s awesome.  REAL should examine all of their classes and features and jettison the ones that people don’t use.  In the long run REALbasic becomes better and we see less complaints about what RB doesn’t do well and we have a solid set of features.

Categories: REALbasic Tags: , ,

REALbasic Wiki Thoughts

September 19th, 2007 Comments off

There has been considerable talk on the REALbasic forums (link) about the possibilities of an RB Wiki. I think it has loads of possibilities but people have to look at the drawbacks and from REAL Software’s perspective. First, a little history.

There was a wiki, appropriately named ‘RBwiki’ a while back.  I believe it was created just before REAL World 2006 and started with much fanfare and a lot of promises by volunteers to keep it up-to-date.  A large contributor of the wiki was Thomas Templeton who used it to distribute the RBProjectTool that allowed people to use source code and version control systems with RB (before the rbvcp format was introduced).  It was a tool that allowed RB users to read and write between RB binary source code files and text files for use with Subversion and CVS and the like.  REAL World 2006 was where REAL Software announced the version control format and Thomas and the REAL engineers sat down and compared notes.  I think it safe to say that todays rbvcp format is a direct result of the collaboration.  That also meant that the interest in the RBProjectTool died rather quickly.  In about a year, the wiki was dead – no one wanted to keep it up to date.

So why have an RB Wiki?  The answer is simple:  the language reference is not very useful.  In some cases, the documentation is lacking important information and sometimes missing or woefully out of date.  I know that a lot of people find the example code not useful and I admit that I feel the same way and have a tendency to avoid the language reference.  I think the pdf files that can be directly opened from REALbasic are more useful.

So while an RB Wiki sounds really cool it’s not integrated into REALbasic.  I think the integration is key because when I want to find information quickly I don’t want to switch to a browser no matter how quickly I can get to things.  I want the information NOW.

As much as I hate their particular implementation of their help, I have to give it to Microsoft in attempting to integrate online resources into their help system.  I’m currently using Microsoft SQL Server 2005 for a big project and use their help system a lot.  They essentially have three sources of information:  the local help files, MSDN online and a search of appropriate newsgroups.  It’s more or less built-in.  Forget about the fact that it never seems to find any local information – it eliminates the step of having to go to the browser and find the newgroup to search.

If the language reference used the local and online approach (and I want to turn off the online search if I want) it would be light years ahead of what it is now.  Of course, I want the ability to add comments but only after they’re approved by someone on the RS Staff.  Look, we’re not talking about elimination of free speech, just an elimination of the useless chaff that invade the NUG list and forums every three months or so.  I want to see the local information in addition to comments that other developers may have added.  In my ideal world, I’d also love to see relevant NUG and forum listings as well but not as often.

I think there are ample examples of truly excellent language references that one could copy from the web:
•    PostgreSQL documentation.  Excellent use of user comments.  I linked to an installation requirement, but I think it illustrates what the community can do with comments.
•    php documentation.  This site illustrates the concept even better, I think.

This all sounds great, but in my opinion, anything that’s not sanctioned and policed by REAL Software won’t last.  From their perspective, a wiki doesn’t work well – they don’t have enough control over it and the comments could get out of control really fast.  Think about how much trouble Wikipedia gets into when an entry is wrong or been edited by the wrong people.  The wiki folks won’t be able to use the text from the Language Reference without REAL Software’s permission due to copyright concerns and this is a big deal because it’s the base documentation and there’s a lot of it.  Starting from scratch isn’t very fun.

So what can you do as an RB Developer?  Sign on to the various feedback requests that deal with the Language Reference:
▪    http://support.realsoftware.com/feedback/viewreport.php?reportid=ocjotmpv – Open Source the Language Reference
▪    http://support.realsoftware.com/feedback/viewreport.php?reportid=hosltpxz – Allow the IDE to download updates to the Language Reference without a new version.
▪    http://support.realsoftware.com/feedback/viewreport.php?reportid=cgkaheyh – Allow annotations to the Language Reference
There are probably a few others that would be worthy of consideration as well but these are a start.

Feel free to give me your thoughts.

Thick Skin

September 10th, 2007 Comments off

People hate you if you’re a developer and you sell software.  Yes, it’s true.  Get over it.  No matter how hard you work at creating the perfect application someone will nit-pick something.  It doesn’t matter if you spent a year in development and six months in beta testing, someone will log a bug within the first 30 minutes of release.  Okay, the time frames are exaggerated but the end result is the same.

This means that you, as a developer, have to have thick skin.  Someone will always complain about something.  It happens all the time.  If you add feature X, users will complain that they “need” feature Y.  If you fix a bug and cause another one users will complain that your software is buggy and unstable.

If you panic every time you get a negative email then you’re probably in the wrong business.  Email is notorious for giving the wrong impression because you can’t tell if someone is joking or not.  Add the fact that writing is an art form that most people haven’t mastered and you’ll often misinterpret their intent.

Don’t even think about reading a review of your software by yourself.  Very few reviewers will give your software a perfect rating.  If they did, they wouldn’t be doing their job.  They get paid to point out a flaw, missing feature or bug in your software.  Have a friend or a spouse read the review first to get a relatively unbiased opinion of the review.  Then honestly look at the review and work on improving your software.  It’s an opportunity to improve.

Websites like VersionTracker allow feedback from users on software they’ve downloaded.  Be very careful when reviewing the feedback from those sites as generally happy people don’t feel inclined to give feedback.  Unhappy people like to spread their misery so bugs and missing features can cause a rating to go down quickly.

On the flip side, the next time you think about sending off an email or posting onto a support forum, think about how the developers might take your post.  Is it incendiary or is it respectful?  They’re human just like you.

Categories: Business, Customers Tags: ,

Welcome to the BKeeney Briefs Blog

September 1st, 2007 Comments off

Greetings and salutations!  My name is Bob Keeney and I’m the Vice-President of BKeeney Software Inc.  This blog was started after RBDeveloper magazine agreed to publish a BKeeney Brief’s column on a regular basis.  This is a very cool thing and I’m happy to do it.  I’ve always enjoyed writing and did a lot of writing for various Mac user groups back in the day.  On a regular basis we’ll talk about being a developer and what it’s like to make a living as a developer.

BKeeney Software does cross-platform application and database development using a variety of languages and tools.  We mainly use REALbasic by REAL Software.  REALbasic is to cross platform programming to what Microsoft Visual Basic 6 was to Windows.  In my opinion there is no other tool that is as easy-to-use and as powerful than RB.  Many critics complain that basic isn’t a real language when in fact (in RB at least) it creates a native executable for Windows, Macintosh and Linux.  And this is done with one code base.

RB isn’t a panacea for developers.  RB does a great job of making a decent application that’s reasonably close among all the platforms.  However, that means it’s not a true Windows, Macintosh or Linux application without a little bit of elbow work for each platform.

RB isn’t without its critics.  Some of the well deserved and some of them just petty.  Just as with any development environment, it’s easy to make a bad REALbasic application.  For those code purists out there, I’ve seen exceptionally bad .NET and Cocoa applications for Windows and the Macintosh respectively.  Let’s face it, a bad app is a bad app.

The trick with any development environment is to learn the little tricks of the trade the make life easier.  When I use Visual Basic 6 we have a bunch tools and routines that we’ve found over the years that helps polish an application.  Without them the application just appears “not done”.  In the accounting app we work on, we have close to one hundred Windows API calls that help out with one thing or another.  So it is with RB as well.  We have our classes and utilities and little helper apps that help us out.

One such help application we use with REALbasic is QuickKeys.  We set it up so that QuickKeys calls an RB Script that does any number of things.  One such thing is to add basic exception handling into the current method.  With a simple press of a button we add the name of the object, the method and a call to our global error handler.  It beats the heck out of typing it all in.

So what tools and utilities do you use for REALbasic?

Categories: Business, REALbasic, Website Tags: ,