RE: The opposite of love is not hate, it is indifference.

Fellow REALbasic developer, Christian Miller penned an interesting blog post at  I suggest you read it.

The stage that Christian didn’t add was what happens after acceptance.  This is the point where you ask yourself, “So what am I going to do about it?”  As I see it, there are only three options that are worth talking about.

Deal with it.  Accept the fact that RB is a flawed product and learn to work around its many deficiencies.  We all know that RS is a small company and can’t devote as much resources to it as say an Apple or Microsoft can to their respective development environments.

Leave.  Move on and use the tool(s) that work for you.  I’ve said this to many people:  If you expect RB to make a great Mac OS X only, Windows only, or Linux only application you might be very disappointed.  If you’re looking for a good cross-platform application using one code base it’s one of the few tools available.  The other dev tools available wouldn’t be considered Rapid Application Development tools in my opinion.

Try to change the situation.  This is the approach that I took.  One of my goals with the Association of REALbasic Professionals was to bring the conversation out and be more vocal with what we, the professional developers, need and want.  I found the training materials wanting so I started my own video series available on my website.  I blog regularly about RB here and on the ARBP website.  I’ve written tutorials, answered questions in the RB forums, talked at RB conferences and, written articles.

Without patting myself too hard on the back and injuring myself, I have been a pretty vocal supporter of REAL Software.  Hopefully you all have read the posts where I’ve been just as critical of REAL Software.  I’ve hitched my wagon, so to say, to the REAL Software bandwagon because I like the product, like the people that work there and, it has satisfied the requirements of my company and my clients for a decade.  I’ve been called a shill for the company and I’ve received hate mail for my anti-REAL Software stances.  My point is that I’m not a mindless cheerleader for the product because that does no one any good.  My family and my employees families fates are intertwined with the fate of REALbasic so I need it to be a viable product.

From my perspective the constant focus on new hobbyist users does absolutely no good for my business.  Too often new features are implemented that are ‘good enough’ for the hobbyist but suck for me (think toolbars, the report generator, htmlviewer and Windows flickering to name a few).  The hobbyists can’t pay for advanced features.  Businesses can, and will, if it makes sense for them.

RS is right to be proud that they ‘eat their own dogfood’ and that the RB IDE is made in RB.  That’s great, but making an IDE/compiler isn’t what I make.  Its obvious, at times, that there is a disconnect between what RS perceives we need and what we really need.  I’ve been using RB since the 3.5 days and yet there’s only one Date control, one Calendar control and one alternative to the listbox (i.e. grid).  In the corporate environments I used to work in that’s unacceptable.

I’ve long advocated that REAL Software create an internal consulting group.  Start with one person.  That group bids on potential projects like all the other developers in the network (to make it fair to existing developers, their rate must be HIGH).  When they’re not bidding or working on projects they do two things:  1)  they create real world examples and check each one for each release to make sure they still work; 2) They create training videos and tutorials, and answer tech support issues.

Having an internal consulting group does a couple of things:  1)  they quickly learn the pain of making real world applications in REALbasic; 2) provide valuable feedback to the powers-that-be in RS on what needs to be fixed and in what priority; 3)  it’s a (potential) revenue stream; 4) Makes sure that the documentation and examples really work; 5) Makes corporate users feel better knowing that if their own development team gets into trouble RS can back them up.

The truest definition of insanity is doing the same things over and over again and expecting a different result.  As we’ve seen with some very vocal criticisms (like Christian’s) and others, the perspective is that RS is doing the same thing over and over again and failing.  Unfortunately, so are we, the users.

Redesign The User Interface At Your Own Peril!

I’ve written a few times about The Sixty One. I thought it was a great example of a web app that works well.  I was able to discover some great new bands and for a few of them I track their progress to see if they come to town and play.

Unfortunately, The Sixty One is a prime example of how redesigning the user interface can make your existing user base very angry and make them leave.  Common complaints about the new design are “antisocial and unnavigable” and I happen to agree with them.  The new changes made a great music discovery site not nearly as much fun and discover new bands.  It sure looks pretty though.

Microsoft has gone through similar criticism with the Office ribbon.  Some people love it and others hate it.  The few times I’ve used Office with the ribbon I was frustrated beyond belief because of the way *I* learn how to use applications.

A friend recently commented to me that they learned to like the ribbon.  I’m not sure that Microsoft would get that benefit (of time) if Office wasn’t ubiquitous.  I can say that as a Mac user I’m not excited about getting the ribbon in the next version of Office but them I’m already using Pages and Numbers more and more because they do everything I need them to do for far less money and less bloat.

From my own experience, we went through interface changes on Task Timer, our Mac/Windows desktop application that tracks your time.  It’s a very simple interface.  Version 1 and 2 let you track one project/task combination at a time.  People complained so we opened it up to five.  People (mainly lawyers – go figure) said that five simultaneous timers weren’t enough so we made it unlimited.

We rewrote the interface to allow an unlimited number of simultaneous timers and project and task combinations.  The beta users were very happy and we were happy too (since we use it every day as well).  We released and the very first bug report was from a long-timer user who complained that we destroyed the simplicity of the interface.  I guess there’s no winning.  Thankfully, with a few minor tweaks we were able to make that customer satisfied but most users will just walk away in disgust.  It’s not easy to get a second chance.

Every time FaceBook changes their layout there’s always a round of complaints.  I generally fall into the group that is willing to work with it but I do have to admit that I generally don’t mind the changes after I’ve gotten used to it.  But then, I also find that the new interface isn’t that much better than the old one – usually.

I sometimes think that companies redesign their website and products because they’ve got designers on staff and they think the designers need to earn their keep.  Don’t fall into that trap and change the interface ‘just because’.

Interface changes should be well thought out to satisfy existing users and to get new ones.  Doing so without some serious thought and effort, both before and after the change, can result in people abandoning your product or service.  Tough to stay in business that way.

Any other examples of a bad user interface change?

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?

Tracking Your Time in 2010

Happy New Year everyone!  This time of year is an awesome time to review the previous year and make plans for the upcoming one.

Many of us charge clients by the hour regardless if we tell them that or not.  In a fixed bid project we estimate how long it will take to do the various parts of the project and then give the client a value based on those hourly estimates.

Reliable and accurate estimates are just the first step in making your business profitable.  The final step is going back and seeing if you estimated properly.  The only way to do this is to track your time on a project by project basis.

There are variety of tools available for doing this, but Task Timer, one of our products, is a very simple and inexpensive ($24.95) way of doing this.  Task Timer is designed to be simple and easy to use.  It’s as simple as pressing a button!

Setting up Task Timer isn’t much harder.  Add your project, add the major tasks you want to track, and add your initial estimates and start using it.  The new built-in estimate graphing gives you a minute by minute graphical view into how you’re estimate is tracking in comparison to your actual time spent.

For many of our consulting clients we give them a discount rate when they pre-purchase a block of hours (usually 40 hours).  Task Timer’s new estimates feature makes tracking the hours used really easy.  When the client purchases a new block of hours simply create a new task for the project and put the block of hours into the estimate field.  Task Timer is now tracking your bulk hours used for the client!

Many people who have purchased Task Timer have told us that it pays for itself in the first week!  We can’t verify their claims but we can say that when we created Task Timer and started implementing it for all of our projects we found that our billable hours rose over 15%.  It seems we were not very accurate reporting how much we worked on any particular project at the end of the day.  If we reported (really guestimated) our hours at the end of the week the numbers were even worse!

For additional information about Task Timer, please see this link:

Download links:

Mac OS X:


Tracking your time is a good reality check.  Were those products you were spending so much time on really worth it?  How much time are your blogging?  What about video production for those training videos?  For that big size month project what did you get right (and more importantly wrong) in your estimates?

Plan on getting a handle on your estimating skills in 2010.  Task Timer is just one of the tools you can use.

REALbasic Video Training

This will probably be the last post of the year so I can spend some quality time with my family.  Have a very happy holiday season.  For those celebrating Christmas, have a very Merry Christmas.  Have a joyous and safe New Years as well.

One thing that’s come up recently (and more than once actually) is the need for training materials for REALbasic.  I’ve seriously been thinking about doing video training sessions and offering them through the website as a subscription service and streaming video (physical DVD’s are a possibility but increases the initial startup expense and I want to avoid physical inventory that’s dated).

Any sort of video training will take a fair amount of time to complete.  Just covering the basics of REALbasic will take months to get something out the door.  Add in the Rapid Release Model and I will always be aiming at a moving target.  How many hours of video is needed to put the shingle out?  What’s a good price (keeping in mind that while doing the videos I’m not doing as much consulting work)?

My guess is that most RB developers reading my blog have been using RB for a while but I’d like to get your opinions on this as well:  How much of a beginner level versus intermediate and advanced material?  And even for beginner material do I even need to go so far as to explain what variables are?  In other words do I assume the student knows absolutely nothing about software development or has at least a little knowledge of some other language?

In that same light, would problem solving videos be better than a more traditional approach?  For example, I could do a video training on “How to Open files of a particular type” versus exploring the various things in the FolderItem.  Each approach has its merits and drawbacks.  What do you think?  I could argue both ways.

Regardless, the one thing I think that will happen is every video will be tagged with the RB objects used and perhaps even the object methods used.  So doing a search on FolderItem would result in a bunch of videos that use the folderitem.  If you did FolderItem.Item you’d might find videos that iterate through the items in a directory and so on.  The drawback to the tags is that any complete application examples will use a lot of different RB objects which then might make the tags worthless because a search will hit every video.

For what it’s worth, there is some existing REALbasic training.  They have 7 hours of RB training and a subscription gives you access to a LOT of other applications (which I could never offer).  I’ve watched all the free training and it seems to do an adequate job but it hasn’t been updated since 2007.  I plan on updating more often than every two years – especially if I can pay my bills from it!

I’ve also done a minor example application and recorded it.  With a little editing and speed up of typing sequences it’s at two and half hours and I don’t consider it done yet!  Add in an IDE walk-through, some Remote Debugging, and miscellaneous topics and I probably have 4 to 5 hours of relatively decent video footage.  I think I can do it, I just need some positive encouragement or negative feedback before I commit myself.

At this point, dear readers, I’d like your thoughts.  Good or bad idea?  What are the pitfalls that I haven’t thought of yet?  Will people actually pay for an on-going video series on REALbasic?  Should the emphasis be on beginner, intermediate, or advanced material?  Should I let the members determine the production order via an online poll?

No Face-To-Face Meetings Requires a Different Skill Set

I was reviewing this years client list and the work we’ve done this year.  We have a lot to be thankful for and we really appreciate their business and like to send them a small token of appreciation during the holiday season.  We hope they come back for more work and the gift, trivial really, is just a way of saying thanks.

I started thinking about our clients.  With the exception of a handful, most of them are not in the Kansas City area.  Heck, most of them aren’t even in the Midwest.  So what this means is that we never see our clients in a face-to-face meeting and have to rely upon phone calls (both traditional and via Skype), emails, instant messages, and the occasional screen share or video conference.

This makes managing a project harder in my opinion.  There is so much information that gets passed when you’re sitting across from a person that you’d be hard pressed to write it all down.  It’s hard to get that same level of info electronically.

I get a chuckle when I hear about companies looking to offshore their development work to developers in developing countries.  Sure, it’s possible and you might be able to save some money but there’s a hidden cost.

In an Cutter Consortium survey Link over 20 years and 8000 projects they found that offshore projects reduced the cost of projects to $3.2 million versus the $3.5 million it typically cost by doing it on-shore.  From a time perspective the on-shore project took 12.6 months and the offshore took 9.6 months.

The real kicker is that the defect rates for offshore projects were an incredible 7565 versus the 2702 for onshore projects.  So even though the offshore project cost less and took less time, the company had to fix nearly three times more defects.  In the long run I’m not sure the offshore projects saved anything.

In the same study Agile methodology came out looking like a winner.  The average agile project took 7.8 months with a cost of $2.2 milling with a defect rate of 1372.

Last summer we worked on an agile project.  It takes some time getting used to but after the initial learning curve the project went very fast and the client was very happy with the results.  If you have a big project you should probably think about using agile.

I apologize for digressing from the main topic.  Certainly one of the of biggest challenges with a long-distance client is communication.  I suspect this is why the offshore projects have higher defect rates.  Everything needs to be written down and communicated – mostly via email.  Throw in cultural and language differences and you have a recipe for misunderstandings (if not outright disasters).

A couple of things that I’ve learned is that the communication skill of each client is different.  Some can handle an email with a list of questions.  Others can’t so you end up with single point emails.  Email management is a must!

We use a bug tracking system and encourage our clients to log in and use it.  Most get it and love being able to track what’s been fixed and what hasn’t.  Others just won’t use it (despite regular prodding) and resort to emails.  Depending upon the size of the project, it might just be easier to transcribe those emails into your bug tracking system.

Long-distance clients need special attention.  They need reassurance that you are really working on their project.  For some clients we do a 3P report where we report on Progress, Problems and give the Plan for the upcoming week (sounds sort of agile, no?).  With the web becoming an integral part of our lives and business, learning how to work with clients from anywhere in the world is an important skill.

How do you deal with long-distance clients?  Do you try to have a face-to-face meeting with them?  Do you think you do anything special for your clients?

Finding Work for REALbasic

It seems appropriate during this week of Thanksgiving to give a big thank you to all the readers.  So a big, hearty, “Thank You!” for asking questions and providing some interesting feedback.

Whenever I start talking to REALbasic developers, I get asked, a lot, about finding REALbasic consulting work.  It’s not hard finding work, but it is not always easy finding good projects.

The difference?  One issue that comes up is that because it’s real and it’s basic means REALbasic it must be easy-to-use (read that as cheap), right?  Wrong!  Making a good quality REALbasic application requires some perseverance and some experience.  I can guarantee that the RB apps I make these days are way better than my early RB apps.  Experience counts in software development just like in any other profession.

Good projects aren’t always available.  Maybe you have to do an ugly project for next to nothing to hold you over until a bigger, better project comes along.  With consulting it really is a ‘what is the next project?’ world.

So where do you find work?  The first thing you have to do is set up shop.  Does your website say anything about REALbasic consulting and/or development?  It should because that’s the first way people are going to find you.  You should also have a previous projects page that talks about the work you’ve done.  Sometimes you can’t talk about a project in a lot of detail due to non-disclosure agreements, but you can talk generically about the type of work you’ve done.

In a recent ARBP survey word of mouth and their website were the two highest percentages, by far, of any of the topics.

Do you self promote yourself in the RB Forums and the NUG list?  If not, you might be missing out on some work.  By answering some questions on the forums and NUG (for free) you can get some free exposure and people get to know your name.  Do you think it’s a coincidence that regular columnists/writers for RB Developer magazine are mostly consultants?

Are you listed in the ARBP consultants list?  You should be.  It costs nothing other than signing up for their limited membership (i.e. free).

Finally, the REAL Software Consulting Referrals Program is a great way of getting leads.  People who think they want a REALbasic developer to contact them fill out a web form and you get an email.  It’s then up to you follow up on the lead.  It is somewhat pricey at $1000/year but one good project and will pay for itself.

In fact, I would call the program a bargain.  In 2008 REAL Software changed the program and nearly doubled the price to be part of the program.  I criticized them at the time and still think it was a bit heavy-handed but the quality of the leads has gone up and so has the frequency of leads.  I contact most of the leads twice.  First when I first get the lead and in a couple of weeks afterward.  Most of the time they tell me they only have one or two replies to their original post so this says to me that there are not a whole lot of people in the program.

Look folks, if they’re filling out a form asking for REALbasic work they’ve already sold themselves on using REALbasic.  You don’t have to sell the merits of RB – they’ve self-selected themselves!  It’s like shooting fish in a barrel from a sales perspective.

Do you talk about what you do?  You should because you never know who you’re talking to.  I went to an NFL training camp this summer and while having a drink at a bar where the players sometimes hang out I had a great conversation with someone that happened to work in software industry.  While it hasn’t resulted in any work – yet – it might in the future and isn’t that what marketing is all about?

So that’s it.  There’s no secret to finding REALbasic work.  Have a great Thanksgiving and happy coding!

2009 REALbasic Consultants Survey

ARBP  released the results of their 2nd annual REALbasic Consultants Survey.  The results probably won’t surprise many of you, but I think surveys like this are interesting.  If nothing else you can compare your rates with other consultants.

One of the more interesting questions, I think, is the “what are the biggest challenges in being a REALbasic consultant?”  Not surprisingly, Finding Work is a high issue and mirrors the 2008 survey results (which we did not publish in its entirety).   Bugs and Perceptions about REALbasic were also not significantly unchanged from the 2008 survey either which is somewhat of a concern.

For me, I was happy with the quality of REALbasic 2009 series until Release 4.  For many of our projects, though, we’re still using Release 3 simply because the new Reporting tool has too many bugs and the Build Automation was essentially useless for us.  Are you using R4 for production releases?

My question to you, dear readers, is if you feel that RB’s quality is better, worse, or the same this year than last?  Do you feel that the ratio of bug fixes to new features is right or should new features have a higher or lower ratio to bug fixes?  As an established user of REALbasic, do you feel that you are a valued more or less than a new users?

Finally, do you think the new Feedback application is going to help us shape RS’ priorities for 2010?

Larry Johnson Proves My Point

I’ve said this in a few posts, in RB Developer Magazine, and when speaking at REAL World:  Don’t say anything online that can harm your business image.

Take for example the latest flap in Kansas City over Larry Johnson’s Twitter posts.  Full store here:

I’m not going to defend the guy since this isn’t exactly new territory for the troubled Kansas City Chiefs running back.  In fact, I call him stupid for saying anything on Twitter about his coach, his team and teammates, or his host city.  As a member of any organization you represent the organization that pays you – no matter what.

The fact is, regardless of your business (and playing football is a business), what you say in public, whether in be at a conference, in a restaurant or bar, on Facebook, MySpace and, yes, Twitter can be used against you.  This is why you will NEVER see me talk about sex, politics, or religion because I know it will piss someone off (Even this post will most likely piss someone off but that’s the point!).

With me, I could lose a consulting client or two and maybe lose some software  sales.  I can move on.  I can change careers or I can make amends to rehabilitate my image.  A movie star, professional athlete or politician may not have that luxury and they may cost themselves a job and potentially millions of dollars in income.

Look, I know he’s human.  We all make mistakes and say stupid things.  I wish I had a dollar for every time I said something I’d like to take back.  But I’m not a professional athlete, politician or have a super high profile position and salary.  If I did, though, I’d be more circumspect in what I said especially if I knew the media was going to parrot what I said.  There are certainly plenty of examples of high profile people using social media properly and not airing their dirty laundry for the world to see.  Likewise there are high profile people in bad situations that keep their message positive.

In Johnson’s case he may have hurt his chances of every playing football again.  I expect the management and coaching staff of the Kansas City Chiefs and their fans won’t mind at all if LJ sits out the rest of the season and ends his career sooner rather than later.

How many times will they take the verbal abuse from a player that has always been a problem child?  LJ’s had more chances than most – mostly because of his athletic ability.  I think he’ll learn the lesson the hard way – through his paycheck.