Archive

Archive for the ‘Website’ Category

Serial Control in Windows 7 – Part Deux

July 12th, 2010 Bob Keeney 7 comments

The Serial communications saga continues…. Never say die when it comes to serial communications because, like so many things in programming, there are multiple areas where the problem might lie.

Here are the facts as I knew them this morning.  Given a hardware configuration (serial port to fiber optic converter to fiber optic converter to Serial to USB converter), I could reliably talk to my device in Mac OS X and Windows XP.  In Vista and Windows 7 it failed.  The serial port monitor software that I running in Windows was able to see the messages with 100% accuracy while the RB serial control was not.

Sounds like an RB bug, right?  I submitted it, with video proof, and had a reasonably happy weekend.  The client was not happy, understandably, and after consulting with REAL Software (who, by the way, responded to my email promptly this morning) agreed that it might be a bug and they would be happy to try to reproduce (and ultimately fix it) if we sent them the hardware and a sample program and some money to do it for the R4 release.  R4 will come out sometime this fall, by the way.

The client was not happy about the additional cost and the time delay as you can understandably imagine.  So I said I’d do some research and figure out if other people are having serial issues too before issuing a recommendation to send all the materials to RS.  I’m sure some of you are guessing where this is going.

It just so happens that the specific manufacturer of the Serial to USB Converter (Prolific) has some serious issues with their Windows 7 (and Vista) drivers.  After a few more specific web searches I found an alternative (perhaps older) driver that works fine if you do the following in Windows 7:  Right click on the properties of the installer, select Run as Administrator and select Vista SP2 under the compatibility popup.

Run the installer, restart Windows 7 and Voila!  We now have a fully functioning driver – that works – in Windows 7.

Hindsight, as they say, is always 20/20 and I *should* have thought about this last week.  I had “something in the middle” that I assumed worked.  I had evidence that it did work (the serial port monitor) but my assumption was false (obviously).

Debugging serial communications (and network communications for that matter) is a royal pain in the behind.  When something isn’t working, work the problem backwards.  When there’s hardware involved, verify that the hardware works or try to eliminate the hardware.  In my case, my Windows 7 doesn’t have a true serial port (it’s running on my Mac in VMWare).

So maybe you’ll learn something from my experience and pain.  Maybe you’ll keep yourself from having a bruised forehead (from banging your head up against a brick wall).

Happy coding!

The Bad Thing About Automated Backups

May 21st, 2010 Bob Keeney 4 comments

I discovered, today, that automated backups are only good if the backup actually takes place.  A directory on the BKeeney website got corrupted and unusable today (don’t ask since that’s a really good question) wiping out the key to, well, everything.  After scrambling to figure it out I called the ISP to see if they could help (like maybe from their backup).

They gladly said that, of course, they could help.  They usually have 2 backups that they can restore from.  The tech looked up the info and then sheepishly said, “Until it gets too big”.  Which of course, with 20 hours of video (in both H.264 and Flash formats), easily exceeds their limit.

So, for now, the bkeeney site is down until I can get things reinstalled.  Oh, and just to make matters worse, the website of the software author we use is also currently down (related?  possibly but I doubt it) so if it takes a full install to recover I’ll have to wait until they come back up to download the install packages.

Did I mention that I’ve been incredibly busy with consulting work?  I don’t have time for this crap.

Categories: Business, Personal, Website Tags:

REALbasic Video Training

December 22nd, 2009 Bob Keeney 9 comments

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 BKeeney.com 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?

Marketing: Getting the Word Out

October 15th, 2009 Bob Keeney Comments off

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?

Registration Systems For RB

July 14th, 2009 Bob Keeney 2 comments

Product registration and licensing systems is a fairly common call for help on the REALbasic forums.  I know I’ve rolled my own registration system and used various commercial solutions over the years.  In fact, we came up with a solution that works with desktop apps using a licensing system meant for servers.  That solution has worked well, but time goes on and what was good for years might not be such a great idea now.  Software grows old and stale and new solutions are born.

To me it seems that there are a couple of issues to deal with.  The first is keeping casual piracy down to a minimum.  I have no doubt that someone determined enough can pirate any piece of software.  It’s just a fact of life-get over it.  This means that if someone pays for the software they can’t post the registration code and have it go all over the internet.  Or if they do, it quickly gets squashed and it’s no longer valid.  Another consideration is that I don’t want to piss off my good customers because my licensing scheme is so draconian (I’m looking at you Microsoft).

The second part of the equation is getting paid.  People want to use PayPal or their credit card (and occasionally checks via snail mail) but setting some of that up on your own is a pain.  PayPal is probably the easiest but I know there are segments of the population that refuse to use it.  Plus I want my money sooner rather than later.  If someone else is handling my money will I have a waiting period or minimum balance before I get to see the money?  Is it an automatic transfer or is it via check?

The third part of the equation is administration of the system.  How easy/hard is it to add coupon codes?  Can I get detailed sales reports?  How easy is it to issue to refunds?  Can I email customers with news?  And do those customers have an easy way to opt-out of future emails?  Can customers retrieve their licenses without manual intervention?

The fourth part is how easy/hard is it to integrate into my application?  Do I have to come up with my own registration code algorithm?  How do I convert existing customers over to the new system?  Does it work on Mac, Windows and Linux?

So I want it good, reliable, cheap and fast!  No pressure there!  ;-)

Kagi and eSellerate seem to be two fairly common solutions.  Both take a chunk of money from the sale price and until I saw the Apple app store I thought their commission was a little high.  Perhaps it’s worth the hassles leaving all of the server details to someone else (after having dealt with server issues in the past six months it might be worth it!)

FWIW, I used Kagi several years ago and was not very impressed with their responsiveness to support issues.  I also found their interface for making a webstore to be very clunky.  Hopefully they’ve changed, and if so, I’d love to hear about it.

What are you using for registration systems?  Do you like it?  Was it easy to integrate into your application?  Has it helped income or hurt it?  What sort of problems have you had?

All Old Posts Converted

May 30th, 2009 Bob Keeney Comments off

We’ve converted all of the old posts over to the new format except where, in a few cases, there were graphics in the original post.  In that case we’ve linked to the old posts.  We’re going to leave the old posts around because of the considerable amount of comments people have given over the years.  Also, some links didn’t come across so it’s just easier to leave everything up.

Thanks for reading and giving your comments!

Categories: Website Tags: ,

Old Posts Update

May 29th, 2009 Bob Keeney Comments off

The import of the old Brief’s didn’t go nearly as well as we had hoped.  We’ll start filling in the missing entries as time goes on.

Also, sorry for all the Twitter posts, didn’t think the import would do that.

Categories: Website Tags:

Inserting RB Code Into WordPress Posts?

May 27th, 2009 Bob Keeney 1 comment

Anyone know of a WordPress plugin that allows me to insert RB code into my posts and make it look like it’s supposed to?

Categories: Website Tags:

Moving To New Blog Software

May 26th, 2009 Bob Keeney 4 comments

I’ve been using RapidWeaver for a few years I’m been fairly satisfied with it.  It was fast enough when I had 20 posts, okay when I had 75, slow when I had 100 and now that I have over 150 posts it’s just downright slow.  Every time I upload a new post I  go use the restroom, surf the web, answer some emails and then it’ll be done.  Not exactly a speedy process.  Plus, it requires that I have my entire website with me whenever I need to update it.

A friend asked me about blogging software so this is the opportunity to take a look at WordPress.  In many respects it seems to be a simplified Joomla!, a popular content management system, which we’ve used on a number of sites.  I’m now a big fan of CMS because it makes managing websites so much easier and simpler.

So here’s my list of things to do:

a)  Look at alternative themes so it’s not the default WordPress look and feel.  (Done?  I’m not sure I’m happy with it yet but that’s one of the things I like about CMS – you can change it whenever with little hassle!)

b)  How easy is it to move from the test directory to the regular one?  (If you’re reading this it’s done!)

c)  Is there a way to export from my old blogging software to the new one or should I just start over again?  I’d hate to lose all those posts and the awesome comments people have given over the years.  (See the link at the top of the page).

d)  How bad will the spam be?  (Do you suggest any plugins?)

All of the old posts are here:  http://www.bkeeneybriefs.com/Old_Posts/index.html

As always, your comments are most welcome!

Categories: Website Tags: ,

Welcome to the BKeeney Briefs Blog

September 1st, 2007 Bob Keeney Comments off

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

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

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

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

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

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

So what tools and utilities do you use for REALbasic?

Categories: Business, REALbasic, Website Tags: ,