Archive

Archive for the ‘Business’ Category

Lessons Learned the Hard Way

April 7th, 2011 5 comments

At the Atlanta Real Studio Summit a few weeks ago several presenters were showing off beta code or showing code that they had modified earlier in the day.  Of course you know what happened – there were embarrassed developers saying, “I swear, it just worked a minute ago.”  It’s the Law of Demo’s and happens as soon as you use code not thoroughly tested before you show it off, or when you veer from your script.

When I told my son that they violated the Law of Demo’s he replied rather quickly, “Oh, you mean they tried to modify their program the day of the presentation?”  Smart kid, but then we had learned that lesson the hard way during our First Lego League robotics season.  Trust me, there’s nothing worse than your team (full of 9 and 10 years olds) feeling horrible because they didn’t keep a backup and the modified program just doesn’t work.  Lessons learned the hard way are always the best.

The same goes with consulting and contracts.  I’ve recently been in a spat with a client over unpaid invoices.  Because this person was a referral and well known to many in the Real Studio community I made a verbal agreement to do a lot of work for him.  It was a Web Edition project, which was new to me at the time, so I agreed to a lower rate since it was a good way to immerse myself in a new technology.  In general, I thought the project went rather smoothly while using alpha and beta editions of Web Edition.

Normally, all communications are via email and text iChat so I have a record of all conversations.  This client, however, likes to talk via video iChat.  The drawback is that iChat doesn’t automatically save these (there is an option but I didn’t find out about this until I started doing the research).  So now that the project is done, the client is 60+ days past due on his invoices and is *surprised* that he has a large unpaid balance.

How he can say this with multiple invoices being emailed automatically and the multiple emails and phone calls trying to engage him is beyond me.  He now claims there was a spending cap on the project and says he ‘told me this’ early on.  Right, I would have agreed to two days on-site coding (after a months worth of offsite work) for him since those two days alone are higher than his supposed cap.

The funny thing is that after the project was done he still tried to engage me to do more work.  Unfortunately (or maybe fortunately depending upon your viewpoint) the hourly rate he wanted to pay was so low that I couldn’t have made payroll.

The lesson learned is never to do anything verbally when it comes to money.  At a minimum, after a video chat and/or phone call, send an email confirming the details.  The paper trail, while a pain to maintain, is the only way to cover your bases.

A contract is better, of course, because that’s a legally binding document.  The sad thing is that I presented on this very topic at multiple REAL World conferences so that means I obviously didn’t learn my own lesson.  But then I guess I was blinded by the connections this person has with Real Software (not that I hold them responsible) and the community.  The referral was from a trusted colleague too which made it ‘safe’.  When money is involved there is no trust.

As a word of warning, this person is trolling the forums looking for Web Edition coding help.  Make sure you get a signed contract from him before doing any work.  Get everything in writing, which, of course, is good advice for all business dealings.

Will I get what’s owed?  I sure hope so but somehow I doubt it.  Regardless, I’ve relearned a valuable (albeit costly) lesson.

Google Support Not So Supportive

April 5th, 2011 10 comments

There’s been a lot of posts recently about Google vs Apple and whether or not Android is beating iOS or not.  Is Google the new Microsoft and will it thrash Apple in a few years?  Frankly, I don’t care, as a developer or as an end consumer.  I’m firmly in the iOS camp at this point as a developer (we have two apps in the App Store and one in the Mac App Store with more coming) and as an end user with a house full of iPhones, iPods, and an iPad.  I think Google will fail with Android simply for their piss poor tech support.

If you have an Android phone and you have an issue with <insert problem here>, who are you going to turn to?  The hardware manufacturer, the carrier, or Google?  The end consumer doesn’t care they just want the problem solved and just like how Microsoft is responsible for their hardware partners problems, Google will probably be left holding the bag for their hardware partners too.  Let’s hope their Android support is better than their business services help.

I’ve been experiencing issues with my mail server on my virtual private server and thought that going to GMail might be a good solution for a variety of reasons.  Because of Google ID issues I messed the registration up (hey, I didn’t say I was very good at this stuff now did I?) and locked up the domain registration for GMail.  After searching fruitlessly (ironically using Google search), I came to the conclusion that Google doesn’t really want to help you.  It’s downright impossible to talk to a human being or even send off a plain email to a support department.

I was never able to find an official tech support phone number for Google.  Sure, there are forums and articles and other information but nothing to get hold of a real life person – even at a price (as far as I can find).  There are some ways of getting hold of them through forums and other means but it’s all indirect and after sending off what I hope was a message to someone that can help I’m still waiting on even an automated response email saying they’d get back to me.  I’m not holding my breath.

Now, do the same thing for Apple.  It doesn’t take long to find a whole web page full of ways to get help.  Phone, instant messaging, email are all prominently displayed after two clicks on their website.  Sure, some of them cost money, but as a business, when I need support I’ll pay for it.  If that’s still not good enough I can go to one of the over one hundred brick and mortar stores around the world and talk to an Apple Genius for nothing.  If that fails, I can find Apple Resellers and other Apple certified experts in my area.

Apple’s been doing this for decades as a computer and consumer electronics company.  They’ve consistently been ranked very high on support satisfaction surveys.  As a family, we’ve had various minor issues with our Apple components over the years but nothing that a phone call or trip to the local store (either Apple or local reseller) didn’t fix promptly to our satisfaction.  I’m sure there are example of poor customer support with Apple but it seems to be the exception rather than the rule.

People say that one of the great things about Android is that it’s free.  The old axiom that you get what you pay for holds true in this case.  Google’s support is awful in my opinion.  To say that Google is the new Microsoft is an insult to Microsoft.  At least Microsoft got support right even if you have to talk to someone on the other side of the world.

What’s your experience been with Google support?

Spirit Is Calling

March 10th, 2011 Comments off

BKeeney Software Inc. announces the release of Spirit is Calling, a daily spiritual journal co-authored by Rev. Chris Michaels and Dr. Edward Viljoen.  Spirit is Calling seeks to grow spirituality by encouraging daily journal entries that allow the user to track their spiritual growth over the course of a year. The journal tracks thoughts and reflections on a daily basis and allows the user to return to previous entries at any time.

Spirit is Calling features a perpetual calendar allowing the user to make use of the journal this year and for years to come. In addition, the program can be scheduled to automatically open every day at a scheduled time. Technical features include a full-featured word processor with spell check and the ability to insert graphics into your journal entries.

Many people find journaling to be very powerful.  It’s a way to get their thoughts and feelings out and into the Universe.  That can be a very liberating experience.  To get the most out of it, it does require some daily attention.  From the book:

Lesson Quote:

Daily practice has an advantage over sporadic practice, in that regular attention to your spiritual life builds up a rhythm in your awareness. This rhythm allows deeper insights to emerge that are not possible with a random program. This journal presents one of many possible devotional activities that you might use to establish a regular, daily rhythm of introspection.

To aid in the process of making it habit we added an autostart preference setting so that at a time of your choosing Spirit Is Calling starts automatically.  In the beginning that can be helpful to get into the habit of journaling.

One of the reasons why I created the electronic version of the journal is that I don’t write by hand much any more.  Writing by hand is very slow and somewhat painful for anything of length.  But I can type 80 words a minute (if I don’t care about the mistakes on the first pass) so having a word processor built-in to the journal (with spell checking) makes sense.

Spirit Is Calling’s home page is at www.bkeeney.com/spirit-is-calling

Direct Download Mac OS X:

www.bkeeney.com/downloads/macintoshdownloads/64-spirit-is-calling-for-mac-os-x/download

Direct Download Windows:

www.bkeeney.com/downloads/windowsdownloads/63-spirit-is-calling-for-windows/download

If you are looking to try something different in your spiritual practice, please try Spirit Is Calling.  Perhaps the journal will help you define your goal and get you out of your daily trivia.

Inspirational Quote:

In the absence of clearly-defined goals, we become strangely loyal to performing daily trivia until ultimately we become enslaved by it. – Robert Heinlein

REAL Studio Developer March/April 2011 Issue

March 3rd, 2011 5 comments

REAL Studio Developer Issue 9.3 (March/April 2011) came out this week.  My column topic in this issue was the risks and rewards of being a consultant.

I don’t think being a REALbasic developer is any different than any other consultant.  There are times when you’re so flush with work you can’t sleep and there’s times you’re looking for work.  There’s always the ‘next project’ on the horizon.

Cash flow is just one of the many risks of being a consultant.  The rewards though, are nice when they happen.

Did I leave anything out in the column?  Something I should have talked about?

Omega Bundle 2011

January 6th, 2011 7 comments

If you are a REAL Studio developer, you might want to check this out.  The Omega Bundle for REAL Studio developers is now available and is a very attractively priced bundle of 10 REAL Studio development tools for only $399 which is 80% off their regular price.

The bundle includes:

  • Formatted Text Control
  • Elastic Window
  • Mask-R-Aid
  • RB Code Reports
  • REAL Studio Developer Magazine
  • Aspen Icon Set
  • Valentina Office Server Unlimited
  • Franklin 3D Game Engine
  • The complete Monkeybread Software plugin set
  • Valentina ADK

I can tell you that there are more than a few items on this list that I already own and use on a regular basis.  I can’t tell you how happy this makes me to see this sort of bundle available to RB developers.
More information can be found at http://www.omegabundle.com

REAL Studio Summit 2011

January 4th, 2011 1 comment

Welcome to 2011.  I hope that you, and your family, have a happy, healthy, and prosperous new year!

If you’ve not heard about it already, THE REAL Studio event of the year is happening on March 19th and 20th in Atlanta, Georgia.  The Association of REALbasic Professionals (ARBP) and REAL Software are hosting the REAL Studio Summit 2011.

That’s just 10 weeks away!  There is still time to sign up and save some cash.  Until the end of January the cost is only $350 but after that it’s $450.

Nowhere else will you get as high a density of REALbasic developers in one location.  Currently there are REALbasic developers coming from across the United States, Europe and possibly Australia to come together to talk about our favorite development tool – REAL Studio!

This conference is shaping up nicely because there are topics that should interest many people.  If you want to learn more about the new Web Edition there’s a session on that.  Learn how to get your apps ready for the Mac App Store.  Learn about Cocoa and what’s going to be forthcoming in REAL Studio.  Learn how to manipulate PDF’s in your RB applications.  That’s just a few of the highlights.  See the complete session and speaker list at http://arbpmembers.org/real-studio-summit-2011/sessionspeaker-listing.

Some argue that conferences are a waste of time and resources and that you can do the same thing electronically.  I disagree, for many reasons.  There is something special about people coming together to discuss any particular topic.  Being able to sit across the table and look someone in the eye is an important quality that we overlook a lot of times.  I know I trust people more when I’ve met them in person than I do when I haven’t.

In years past (at REAL World events and the Colorado Summit ’09) I’ve found that the time in-between sessions is, in many ways, more valuable than the sessions themselves.  Developers that are business competitors discuss what they do to find clients.  They discuss the realities of being a business owner.  They discuss things face-to-face that they’d never do electronically.  Of course everyone gets something different out of conferences but I’ve found them invaluable as a RB consultant.

It’s also a place where work can be found.  I’ve not been to a conference where there wasn’t someone looking for a REALbasic developer.  Since there is no higher concentration of RB developers than at these conferences it’s an excellent way to find developers and find work.  Plus, you never know when another developer might have a lead and they’re too busy to work on so networking with other developers is always a good idea.

REAL Studio is made in REALbasic and it’s awesome that RS ‘eats its own dog food’ but we, as users, don’t necessarily have the same needs.  Many of todays biggest features have been discussed (ad nauseum it seems) at past conferences before they were implemented so don’t underestimate the power of cornering discussing things with an RS engineer.

I’m excited about this conference and I can’t wait to see you there.  See you in Atlanta in March!

REAL Studio Web Edition Excites Me

November 24th, 2010 8 comments

REAL Software is going to release a new product called REAL Studio Web Edition in a couple of weeks.  Essentially, it lets you create web apps with the same ease as creating a Mac, Windows, or Linux desktop applications (if you’re not familiar with REAL Studio it’s very, very easy).  This a really big deal even if calling it “Web 3.0″ is a little premature, in my opinion.

Regardless of the marketing terminology, after spending some time this week working with a beta of REAL Studio Web Edition, I think I can fully jump on board the band wagon.  I have several reasons for doing so.

First, it really is that easy to use.  Instead of creating a desktop application you create a web application.  The editors are mostly the same.  The controls are similar to their desktop counterparts.  The frameworks, for the most part, are the same ones you’d use in the desktop apps.  All the knowledge I’ve gained creating desktop apps for myself and clients over the years isn’t going to waste and can be reused quickly.  No need to learn a new language, IDE, and framework.

My second reason is purely selfish and it involves George Washington and Abe Lincoln.  A lot of them, in fact.  I’m a consultant and when I first heard about Web Edition I was relatively impressed, but wasn’t sure about it.  When existing clients started asking me about it and when I started fielding inquiries from potential clients I got real excited.  The bottom line is that if I can sell more consulting time I make more money.  Period.  Do I really need to explain more?

Add in that I can now offer web apps using the same developer using the same development environment with only minor changes makes REAL Studio that much more attractive to potential clients.  I don’t have to hire a web developer or sub-contract the web portion out.

Now, with all that said, there are still a lot of questions to answer.  We don’t know, yet, what the drawbacks are.  It looks like a number of controls will be fairly basic to begin with – I wouldn’t expect less from a 1.0 product.  Browsers are notoriously fickle beasts.  What browsers will work 100% of the time and which ones will have issues?  It’s still too early to tell, but if I was a betting person I’d bet that Safari, FireFox, and Chrome will be pretty solid.  Internet Explorer 7 and above will mostly work but anything earlier will suck big time have issues.

The other issue we yet to have any definitive answers yet is installation on a web server.  Will FastCGI work and will it work on shared web hosts?  How good/bad is performance on a shared server?  How well will it scale with a limited number of users versus hundreds or thousands of simultaneous users?  How well will Web Edition apps handle security attacks like SQL injection attacks?  How well will it work with mobile browsers?

The potential for a huge hit is there.  If it proves to be a solid product and gets people excited about using it, it will create a buzz not only for REAL Software but consultants like me that are already familiar with the product.

Quality Either Matters or it Doesn’t

October 23rd, 2010 50 comments

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?

Task Timer for iOS

October 21st, 2010 Comments off

Task Timer for iOS

We’ve been very busy recently.  Besides all of our cross-platform desktop app consulting work we’re now iOS developers as well (feel free to contact me if you’re looking for iOS developers).  Our first iOS app, Task Timer for iOS, is now on the App Store.  This is the Lite, iAd supported version, of Task Timer, and simply lets you track your life and hopefully bill for it. This version works on the iPhone, iPad, and iPod touch.

Want to track how much time you spend commuting to and from your job?  Create a Personal project and add a Commuting task and the next time you get in your vehicle hit the start button and when you leave the car hit the stop button.  It doesn’t get much easier than that.

The same goes with your on-site with clients.  After the initial setup it’s as simple are pressing the start and stop buttons.  At the end of the day, week, or month, you can view a summary of all the time you’ve spent.

Task Timer supports multiple simultaneous timers for those multi-taskers out there that can bill multiple clients at the same time (yeah, I’m looking at you, lawyers).  The Lite version supports unlimited projects and tasks but does not sync to the desktop version.

What’s it worth to you to increase your billing by 30%?  Did I mention that the Lite version is FREE?

An upcoming (paid) version will be able to synchronize with the desktop version of Task Timer (for Mac OS X or Windows) all without being plugged in to your computer!  This will be a free upgrade for current owners of Task Timer for Mac OS X or Windows.

So never lose money again!  When we developed the desktop version years ago we saw an immediate 30% rise in billing!  Why?  Because we know, down to the minute, how much time we spend on a billable (and non-billable) projects.  It helps our bottom line with billing AND it helps us track how well we’ve done with our estimates.  If you’re not tracking your time you’re not doing a very good job at managing it!

We hope you enjoy this free version.

Formatted Text Control Version 2

September 21st, 2010 Comments off

As a consultant I use the best tools available to me and my clients.  One of those tools is the Formatted Text Control (FTC) from True North Software.  Today they announced version 2 of their excellent text editor control.

FTC is one of those controls that I find indispensable and use a lot because of its power and flexibility.  Because it’s done in 100% unencrypted REALbasic code you have complete control over how you use it.  Need to do something that it doesn’t do?  You can do it yourself if you have the patience for implementing your own changes.

FTC is big and powerful.  It has around a hundred classes that let you implement a full-featured word-processor with very little work (literally drag and drop and maybe add ten lines of code).  With a little bit of elbow-grease it’s very easy to create your own reports via code (perhaps I’ll write a little tutorial on that one of these days).

If you’re interested in learning how a control can be implemented in REALbasic using just a canvas this is excellent code to learn from.  FTC does class inheritance well, is optimized, and the code is easy to follow.

Brendan Murphy, the creator of FTC, is very responsive to bug reports and feature requests.  We’ve been users since the early days of development so you’ll see the BKeeney name in a few places in source code from bug reports and feature requests.  It’s rare to see somebody share the credit so readily.

Version 2 has a number of welcome new features and enhancements.  The first is that the alignment of the display when it’s in Page display mode.  Before it was always flush left, but now you can center and right justify it.  It’s a minor thing, but very high on my own wish list.

New search and replace functionality was added.  You can do it either programmatically or interactively.  There is also a new Replace All function.

You can now scroll to the selection which, as the name suggests, scrolls the display to the current selection (and presumably the insertion point).

A new KeyPress event was added that allows you to have more control over what characters can be inserted to the control.  Since this is an event in the TextField and TextArea controls this is a welcome addition.

A new subclass was created from the FTC.  The FTTextField is a replacement for the RB TextField control and has all of the advantages of the FTC.  This means that the FTTextField can do spell-checking, undo, and the ability to read/write true Rich Text Format (RTF) files where as the RB TextArea is fairly limited in what it can do with RTF (no graphics).

Also new in the FTTextField is the ability to limit the number of characters in the control and the ability to use masks.  Given that the RB mask property in the TextField is bad (perhaps sucks is a better word) this by itself might be worth the purchase price.

The cost of the version 2 of the FTC is $150.  A demo and more information about  version 2 is available at http://www.truenorthsoftware.com/formattedtextcontrol/