July/August 2010 REALbasic Developer Magazine

The July/August 2010 edition of REALbasic Developer Magazine is out.  This months column title is “Having a Thick Skin: Take the Emotion out of Your Tech Support”.

I talk about the pitfalls of providing tech support when people asking for (or is it demanding!) for tech support aren’t nice.  Email and forums posts are awful mediums for communicating to each other so you have to take the emotion out of the equation.

Do you have any horror stories, tips, or jokes about tech support you’d like to share?

Insecurity Doesn’t Pay the Bills

If you have your own business, are a consultant, or even simply sell your own stuff (whatever that stuff is) I recommend the article at http://www.thelaunchcoach.com/insecurity-doesnt-pay-the-bills.

I can’t even begin to tell you how much this post struck a chord with me.  I feel like this all the time with my blog posts, my REALbasic training videos, my software products and even my consulting.

I have to push myself past the insecurities every day.  I am my own worst enemy because whatever you think about me, my internal monkey chatter tells me the same and much worse – trust me on that one.

Thankfully, my fear of regret is bigger than my fear of failure.  And yes, I’m just as messed up as you – probably more.  😉

The Arrogance of Intelligence

We’ve all met people like this.  Within ten minutes of meeting them they’ve worked it into the conversation that they belong to Mensa, have you heard of it?  Oh, you haven’t, it’s for people that are really smart.

Really?  I’m happy for you.  Really, I’m being honest.  But I don’t care.  You see, I don’t care about your intellectual IQ.  I care about how you relate to other people and to the problems at hand.  Do you listen to me to learn or to put up with me?

(Before I get the hate mail, I have plenty of friends that really belong to Mensa and have never mentioned it until they asked me if I was interested in joining.  I’ve always declined, thank you very much.)

I’m being cynical because people like this drive me nuts.  If it’s their idea it’s THE PERFECT SOLUTION because, well, they’re the smartest people in the room.  Never mind if you have practical real world experience that says that idea, while good, isn’t the ideal solution.

I’m not a farmer, but I grew up in farm country.  All of my neighbors were farmers and while most of them never had a college education they were practical people.  The old joke was that you give a farmer, baling wire, gum, and a welder, they can fix almost anything.  They were practical smart because plants and animals either do well or they don’t and if they don’t they didn’t stay farmers very long.  The best part, is that they never went around bragging that they were very good farmers – they didn’t have to nor did they want to.  Heck, most of them would admit they weren’t very  smart, but they knew how to manage their business with thousands of different tasks, machinery, animals and plants and make a profit (in most years).

The smart people, the smartest people in the room, don’t bother to ask the pertinent questions, or make measurements, or ask for previous results of tweaks because they are, well, the smartest people in the room.  They assume they are an expert at everything they put their mind to.

I look back at Apple in the late 90’s and early 2000’s and I think they had a fair amount of the “Not Invented Here” syndrome where if they didn’t make it, or code it, it wasn’t going to make it into their products.  We all know that Apple was in dire straights back then.  When Jobs came back to Apple he got rid of a lot of projects and now their very focused and they use a ton of ‘open’ standards in their operating system.  Why?  Because they get to expand upon the ideas of hundreds of thousands of developers rather than a few thousand.

In my engineering days I saw plenty of engineers that would re-engineer a solution because it wasn’t the way they’d do it.  It generated a lot of unnecessary work and wasted money.  The software industry isn’t any better.  They feel that because they have user interface designers they need to tweak the user interface on every release.  Every major new version adds a bunch of new ‘features’ that the average person won’t use because they need to keep the developers busy.  That’s called software bloat.

If I had one bit of advice for people that own their own business is this:  hire people that are smarter than you.  I mean it.  Hire people that are as close to an expert in their field as you can afford.

Let them challenge your (the boss’) ideas and assumptions.  Make an atmosphere where their ideas get a fair hearing without shooting them down right away because they’re not smart enough.  If you listen to the smart people you’ve hired to get things done you will probably learn a few things.  After all, don’t smart people want to learn new things?  Don’t smart people want their ideas to be challenged?

If all you do is hire ‘yes’ people then your product will suffer.  Your product won’t have focus.  Ideas that should be shelved for another time get put in now because the boss wants it and no one can tell him no.  Ideas from customers are ignored because they’re ‘just customers’.  When customers quit using the product, ask them why – you might just learn something.

Neither do you want design by committee.  What an awful thought that is.  It’s the exact opposite of being focused.  A good leader or leadership team will pick the good ideas out and let their people run with it.  The bad, or not so good ideas, will be stored away and revisited every now and then.  What was a bad idea might be a good idea in a year or two.

I’ve rambled enough for now.  I’m sure you’ve all had ‘leaders’ in your organizations that were never open to ideas unless it was their idea.  They used circular reasoning to shoot good ideas down and to keep their ideas alive.  Are you still with that company?  Is that company still around?  Is it financially stable?  My educated guess says that they’re not as smart as they think they are and you’d agree.

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:  http://www.bkeeney.com/products/tasktimer4

Download links:

Mac OS X:  http://www.bkeeney.com/downloads/macintoshdownloads/download/36-tasktimer

Windows:  http://www.bkeeney.com/downloads/download/38-tasktimer

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.

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!

Marketing: Getting the Word Out

It’s been a while since I’ve given an update on our marketing.  Very early on we decided to start integrating social media into our portfolio.  As you’ve probably seen, we’re now active on Linked-In, FaceBook, and Twitter to name a few (the person doing our marketing is probably on a dozen more and, really, I don’t want to know all of them).  Part of our routine when announcing updates is to make sure we post on all of them as well.

I’ll be honest that I was a bit skeptical at first.  Maybe I’m just old enough to not ‘get it’.  I understand the importance of search rankings and all that but the social media thing has been somewhat of a mystery.

One of the first things we installed on our various websites was Google Analytics and I must admit that I get a kick out of seeing where people are coming from and what they’re search for.  Google Analytics is why I know people are coming from the social media sites.  I find it fascinating that some relatively obscure comment or article is drawing people.  As they say, the more eyes that see your product the better chance they’ll at least try it.  Leading them to your website is at least half the battle.

Since we’re heavily into Mac OS X software it comes as no surprise that a lot of referral traffic comes from MacUpdate www.macupdate.com and Version Tracker www.versiontracker.com.  Windows traffic isn’t nearly as clear cut and we’re working on how to get better exposure on that platform.  It’s obvious that the users of the two platforms research and consume their software differently.

I’ve heard some of the buzz about Woopra but I’ll wait a little bit before delving into it.  If you have any first hand experience with it I’d love to hear about it.  What is its strength and is it really useful for a small business like us?

The other thing we’re doing is making sure we get our press releases out.  I hate doing them myself because I have enough stuff on my plate as it is (and marketing speak is anathema to an engineer).  I’m glad to have turned that responsibility over to someone who likes doing them (at least more than me).  We are using prMac http://prmac.com/ and it is obviously making a difference because of its distribution network.  I find links from all over the internet based on the press releases.

Certainly one of the issues we struggle with is finding the time to do it all.  We’re lucky, to some extent, by having multiple employees who can do a bit of everything.  We hired a part time marketing person to help us out with all this stuff.  I know a lot of you don’t have that luxury.  How do you find the time for marketing?  Do you have any marketing tips for the small, independent software developer?

REALbasic Consulting Inquiries

I had a brief conversation with another REALbasic consultant the other day. We both remarked on how often the consulting inquiries never go anywhere. I would say that it’s price but half the time they never even bother to reply after the initial contact.

I’ve even found that potential clients that post on the REALbasic Developers list and the ARBP Find a Developer page never respond to emails. It seems odd especially when I know many of the people that post on those two sites don’t get any responses from developers to begin with! I know this because after a couple of months I’ll do a very short “Hey, have you found an RB developer yet,” email to those I don’t initially respond to and I get a response more often then not saying how the response was poor by RB developers. Go figure.

Well, to be fair to us RB developers, sometimes the specs are worded pretty poorly or are so specific that unless you know exactly what they’re asking for we don’t respond. Other times they’re so broadly worded that the project could mean anything or they’re lacking so many details you start to wonder if they really know what they want. One project that went through the network had a 20 page requirements document. Awesome, I thought, finally someone that knows what they want. Unfortunately, it only had a single page of what their current system is and does and nothing in regards to database details, screenshots, or anything else really helpful. In other words it was 20 pages of technical jargon that didn’t mean anything to a typical REALbasic application (which they were pretty sure they wanted).

A few years ago I used to have these nice formal proposals that I used for everything. These multi-page documents, contracts really, took me about a half day to customize for each project. After a few years of wasting time writing documents I now just send a summary email now because most people aren’t very serious about getting their project done. Let me revise that statement: They’ve not very serious unless it’s going to be dirt cheap.

So what has your experience been? Why do you think clients don’t bother to respond? Have you found the RB developer networks to be useful or not?

REALbasic Project Requests up, Up, UP!

I don’t know if you’ve noticed this or not, but requests for quotes for REALbasic projects has been through the roof the past couple of weeks.  Between the REALbasic Developer Network (i.e. the Find a Consultant web page) and the ARBP Find a Developer web page it sure has been busy.  I can only find one “help me learn REALbasic” post in the past month or so.  This is a good thing since there used to be a bunch of them.

I don’t know if  RS marketing efforts are leading to these requests or if the ever-increasing Macintosh presense in the business world is making more people want cross-platform applications but something seems to have changed.  (Or it’s a combination of everything!)  Of course there’s nothing to say if the requests dry up in the next month or so.  Only time will tell.

I find it interesting that a lot of the recent projects are converting from either FileMaker or 4D.  RB can make a nice database application (assuming you know what you’re doing).  RS is always looking to enhance the user experience and I encourage RS to enhance their database tools.  I, however, do not want them to become another FileMaker or 4D because a generic application environment can do things better than a database-centric application, in my opinion.  Likewise there are things that FileMaker, 4D and MS Access do better than a generic application environment like RB.  It depends upon the requirements, in the long run.

Since I help run ARBP you can take this criticism with a grain of salt.  One of my biggest beefs with the RS developer program is that it’s simply a forwarded email.  If you signed up today you’d miss everything from last week (if you did sign up I’d certainly ask for all recent posts since $1k is nice chunk of change).  With ARBP we keep them around for a while (which is a problem all by itself that I’m trying to correct).  Another point is there isn’t a whole lot of information in the posts.  A contact information (name, email, phone) and a brief description of the project.  It would be nice to get more information.  What platforms?  Is it an existing project?  Is it a conversion project?  From what language?  Is it commercial or internal software?  I could probably continue on what I’d like to see, but I’d be repeating myself.

As a consultant, are you busy?  Better yet, are you as busy as you’d like to be?  Have you seen any trends in the past six months?