Prepping for Real World

Real World is less than a week away!  Real World presentation on Intermediate Database Programming:  Done.  Real World presentation on Reporting Tools: Done.  Training Day morning session on Database programming in Real Studio:  Done.  Training Day afternoon session on Polishing your Real Studio applications:  Done.  Dry runs on all presentations with staff:  Done.

Usually this is the time that I start getting really, really nervous.  I start having dreams about flubbing sessions and stammering during every talk.  Instead, I had those dreams two weeks ago just before we did our first runs through the presentations.

I must admit that public speaking is not my idea of fun.  I get up in front of a crowd and it feels like my brain is mush and my mouth is full of cotton.  When I was editing all of my Real Studio training videos I discovered that  I used a lot of filler words (um, ah, so, you know, etc).  So I decided to do something about it.

Early in 2012 I started attending Toastmasters.  If you are not familiar with Toastmasters it’s an international organization whose sole purpose is help make its members become better speakers.  The big goals in Toastmasters are the speeches.  You start with an ice breaker speech and I’ve found it to be the hardest speech.   I’ve been fairly aggressive in my speeches as I’ve done 5 in the past year and been Toastmaster twice (which in our club is a lot like giving a speech).

We meet twice a month and in each meeting there are number of roles that are divvied up among attendees.  There’s a timer, someone to give a word of the day, a joke master, speech evaluators, table topics master, and vote counter (we vote who does the best speech, evaluation, and table topics).  Perhaps one of the best (worst?) roles you get assigned at meetings is the role of Grammarian – the person who counts everyone’s filler words.

Once you get that role in a meeting you can’t help but notice the use of filler words – whenever ANYONE speaks.  Literally I mean everyone.  At times it’s annoying to be so cognizant of their use.  Then you start catching yourself using them.  Made me mad for a while.  Eventually you start using a pause instead of a filler word.  I’ve only been a member for a little over a year but I’ve seen it happen with newbies to the group several times.  I think the goal is to strive to get better each time you speak.

So I’m not nervous about the speaking in public any more.  Okay, I’m not AS nervous.  🙂

Really, about the only things left to do for Real World is put the final changes to our two new products we’ll announce and the major product upgrade for the conference.  And then practice, practice, practice doing demo’s and writing up final notes.

If you are attending Real World you might want to think about attending our Training Day.  It should be a great way to start off an interesting week.  More information at

If you are attending Real World please make sure you stop me and introduce yourself.  I enjoy hearing from people who have been reading this blog.

See you in Orlando!


Quality Either Matters or it Doesn’t

My Saturday was supposed to be dedicated to a training video for the new Segmented Control introduced in REAL Studio 2010 Release 4 that was release this week.  Unfortunately, I stopped after about an hour after documenting bugs and becoming generally disgusted with it.  What’s the point of doing a training video for something that is THAT jacked up and must be fixed (to be really usable) in a future release of REAL Studio?  Why waste my time doing a video that I’ll have to do again?

I think it’s awesome that REAL Software creates REAL Studio and a handful of other projects using REAL Studio.  But they don’t use it like we do in two different ways:  Their testing process (and I wonder if they really have one sometimes) does not test the way a real world user creates projects.  Their usage of RB for the IDE isn’t a real world example of what anyone is trying to use RB for.  Saying “we build REAL Studio with REAL Studio” isn’t a valid metric for anyone except REAL Software.

I’m not an average REAL Studio user – I get that – I actually make my living off the product.  I use it eight to ten hours a day on average of six days a week.  When I do my testing, I start by creating a simple demonstration project showing the most basic usage of ‘X’ and then expand upon it by exercising most of the properties, methods and events.  Most of these demonstration projects end up being reused in real world consulting projects and in the twenty-plus hours of training videos I have on my website.

I rarely waste my time and, in my opinion, the new features in REAL Studio 2010 Release 4 was a complete waste of my time.  The documentation was late and incomplete and the new features have glaring bugs in them.  If I can document several in an hour what does that tell you?  Where were the example projects demonstrating the new features for Release 4?  There were none.

Have you ever perused the Examples folder?  There are a lot of example projects showing you how to use individual parts of the REALbasic framework.  Depending upon which release you look at, some of the examples don’t even compile.

I also think it fair to say that most of the examples (that are working) are watered down to the point where they only show the most basic usage of a component.  They are not complex examples and therefore don’t do most people much good when they get around to implementing it in their own projects.  Most are not written with best practices in mind or how average people will use them.  They were written with the intent of getting if off the developers, or documenters, plate as quickly as possible.  Comments?  Naming conventions?  Defensive coding?  Good luck.

REAL Software as a company does not create new cross-platform applications using their own product.  They don’t see the day-to-day deficiencies that we do.  They don’t feel my pain and that’s a problem because they’re trying to sell their product to people just like me – or at least that’s what they keep telling me.

I’m about ready to stop using REAL Studio for certain types of projects because they’ve lost control of the quality.  Quality either matters or it does not.  Decide which and let me know – I have better things to do until then.

Here’s my unsolicited advice for REAL Software:  For every new release build a new project that demonstrates EVERY new feature and exercises it.  Major changes to the framework get the same treatment.  These projects should be good enough so that if there is missing documentation, the code tips or autocomplete doesn’t work (all real world examples, by the way), anyone can still figure it out from the code.  It takes planning and a commitment and thinking about how real users will use the feature in Windows, Linux, Carbon and Cocoa applications.

Please, do this for upcoming Cocoa and Web Edition releases.  If you could do that, I’d guarantee you’d find more bugs, earlier, and I wouldn’t have to spend my Saturday writing an opinion piece.

What are your thoughts?

eReader Devices: You’re Dead To Me

If you’ve been reading this blog for any length of time you know that I really like my Sony eReader.  Well, I used to really like my Sony eReader.  Now that the iPad has been announced I look at my eReader with fond memories and can’t wait for the iPad.  My Sony eReader is now dead to me.

The eReader is fine for what it does but it’s a one-trick-pony.  I’ve grumbled on more than one occasion that I don’t like seeing book graphics in 16 shades of gray and the slow refresh rate is annoying (but livable).  Not being able to zoom graphics is annoying too.  The ability to play MP3’s on my eReader is totally worthless (to me at least) since I always have my iPhone with me.  I’ve never used it so why pay for it?

I have an accessory that allows my eReader to be read at night that works fairly well.  But, it uses regular batteries that wear out in a couple of weeks and it makes using the eReader during the day a pain because it makes the text less readable.  The iPad won’t have those problems.

Let’s talk briefly about software.  The Library application that comes with the Sony eReader stinks.  It’s not a native Mac app, it’s not a native Windows app.  It sucks on both platforms.  In fact, I hate it so much that unless I buy a book through their store I use an application called Calibre.  I hate it too, I just hate it much less because it manages my books much better.  iTunes does a great job of managing my music, movies, and podcasts so I can’t imagine that it would suddenly suck at managing my books.

I thought that selling the iPad to my wife was going to be hard but it turned out to the be exact opposite.  She wants one in the kitchen.  Why?  A little background is needed first.

My lovely wife is also a very talented cook.  She’s adventurous and is always trying a new recipe or even making one up from several she’s found on the internet.  She prints the recipe out and then takes it into the kitchen.  Imagine being able to do that from the iPad which she just puts on the counter.  If there’s not an iPhone app for a chef (I bet there are several already) there will be a couple of specific ones for the iPad (soon)!  And with a nice glass screen, there’s not too much worry about getting the device dirty.

The iPad has one huge advantage for me – the app store.  Our family already has 3 iPhones.  Don’t make me count up how many apps we’ve downloaded (both free and commercial) but I’d bet that it’s probably close to a hundred.  When we get our iPad we’ll already have the software for it.  No researching and purchasing new pieces of software that may or may not do what we want – we already have them!

I think the iPad will be awesome for Boomers.  How many of you have Boomer friends or relatives that call you for tech support on the Windows or Macintosh computers?  Show of hands?  Thought so.  The iPad is so for them.  Do any of your friends and relatives call you on how to use their iPhone or iPod Touch?  Didn’t think so.  The iPhone is so simple that hardly anyone has issues figuring it out.

Anyone who says the iPad won’t be a huge for business is nuts.  I have clients, right now, that could sell an iPad application if we converted their app to work on it.  Imagine an HVAC service technician, rather than lugging around a ton of paperwork and a big, clunky laptop, showing up at your house, logging all of his work, including when he arrived, what tests he performed, results, and then showing you the iPad display showing all of this and then billing your credit card directly (though an add-on card reader) and then emailing your the results?

Another example:  My doctor is all electronic and the interface to his current tablet stinks – they all hate using it!  They spend minutes clicking and doing crazy things in the interface.  I can imagine them using an iPad with the keyboard attachment and being more efficient with their time when they use an interface designed around a touch screen rather than an interface meant for a desktop app that’s been forced onto a tablet.

The list goes on but the possibilities are limitless.  You think Apple demonstrating the iWork apps on the iPad was a fluke?  Nope.  Apple thinks this thing is going to sell like hotcakes to business and I happen to think they’re right.

What do you think?

Become a Part of the Community

If you’ve been working with REALbasic for more than 6 months I guarantee that you know how to do something in RB that someone else needs help with.  I frequent the RB forums and for the most part I’m too late in answering a question – that’s how good the community is.  I’ll add comments when and where it makes sense, but for the most part, a majority of the questions are answered by less than 30 people even though there are tens of thousands of people registered.

REALbasic is easy-to-use and it doesn’t take a lot of development knowledge to make applications but, at one point in time, all of us were beginners with REALbasic.  When we had questions we turned to the NUG list or to the REALbasic forums and asked (you searched first, right?) the ‘experts’.

So what are you giving back to the community?  In past nine months or so I’ve been creating little example projects based on the questions on the RB Forums and put them into the The Association of REALbasic Professionals (ARBP) source code repository (free registration required).  Here are few of the highlights:

  • Making a listbox popup menu
  • Multi-line listbox
  • Popup menu with icon example
  • Printing using the Graphics Object along with companion articles for printing with On-Target Reports and RS Report.
  • Stylegrid auto-height rows
  • SQLizing text (automatic formatting of a string so you can use it in an SQL string)
  • Calculator application

None of these projects are outstanding and they could certainly be done better but they are contributions to the community and someone might find them useful.  In fact, people are.  People have downloaded the hundreds of example projects and tutorials a lot.

The REALbasic community needs your experience and your input.  The first thing you can do is participate in the discussions on the RB forums.  Give advice and share your source code when you can.  There are tons of questions that get partial answers and you just might know how to help them.

Secondly, create some example projects demonstrating some very small technique.  Put them on your own website and link them to RBGarage or put them on ARBP.

Thirdly, think about giving something back to the community.  Hopfully you’ve gotten something from the REALbasic community and you can give something back.  Just because you think you’re not a ‘professional’ doesn’t mean you don’t have valuable insights and knowledge. Together we can come up with some amazing examples and help each other out.

Is The About Window Worthless?

Maybe I’m just a jaded Mac user (since 1986) and I’m so used to seeing an About Window in an application that I’ve just assumed that it *should* be there.  Never one to challenge anyone else opinions (yeah right) I decided to do some digging.

Apples Human Interface Guidelines says this:

About window  A modeless window that displays an application’s version and copyright information.

They don’t say that it’s optional but they don’t say that it’s required but I’ve NEVER seen a Mac desktop application (games are the exception on all platforms) that doesn’t have one.  From this we’ve learned that the About Window displays the version and copyright information.

My friends other argument was that this information is found in other places so it’s a waste of space.  On Mac OS X you can find this by using Get Info after clicking on the executable.  I’ll buy that, but why should I have a customer go to the Finder, find the executable and then right click on it or make sure they have Column VIew turned on when I can just have them go to the Apple menu and select About This App?  Seems way simpler.  Let’s move on to Windows then.

I think his argument is even weaker in Windows and yet there are (at least) two other ways of getting version and copyright information.  In the Windows Explorer you can right click on the executable and click Get Properties to get that information and you can hover your mouse over the file to get the same information.  So again, I have to have my dumb user (I say that in the most loving way a tech support person can do) go find the executable on their hard drive.  And when they come back with a, “um….how do I find the ex-a-cute-ible file?  I usually just go to the Start Menu and select it from there.” all I have to do is say,  “Go to the Help Menu and select About This App”.  Simple, no?

Of course this argument breaks down if the app can’t launch.  Then it’s on to Plan B which is the Finder and Windows Explorer.

I did a little research and couldn’t find anything specific on Microsoft Interface Guidelines on About Windows, but I did find a page for creating apps in Visual Studio that tells you what should be on an About Window.  This list includes:  Support Information (including phone numbers and/or web sites; Copyright Information; Version Information; Implementation Notes; and whatever is useful to the users.  Again, they don’t say it’s optional or required, but it sure sounds like they expect it to be there.

So while About Windows don’t do much they provide a standard, easy-to-use way for a user to get version information without having to leave your application.  From my experience in doing some tech support version info can help answer some questions.

On to the original argument:  I said that the REALbasic Debugger Stub(s) aren’t proper applications in a couple of respects.  They don’t a proper About Window showing copyright and version info or any other relevant details.  You could argue that having the version info in the title bar accomplishes the same thing but that by itself isn’t a standard practice (I’m sure there are examples in all platforms so don’t bug me about it).

There’s also no help menu so there’s no place to go for help.  And, oh wait, since there’s no About Window there’s no easy-to-find website URL that you can click on to go straight to the forums or anyplace else.  It seems simple, but we’re talking about hobbyist developers that may not be computer experts.

I don’t really care, but it’s a Windows application.  Shouldn’t it have an installer (and uninstaller)?  Does it matter as much on the Mac and on Linux?

I guess my point is that Real Software is used to create ‘great’ cross-platform applications and yet one of its main cross-platform utilities isn’t that well developed.  How long does a decent About Window take?  2 minutes if you steal it from somewhere else.  A Help menu with a help system is a lot more work, but having some simple FAQ’s would do wonders.

Anyway, feel free to discuss amongst yourselves about the merits of an About Window.  Since I didn’t cover anything about Linux (mainly because I’ve not learned enough about it), what’s the standard for Linux desktop apps?