Why ‘Cloud Computing’ Isn’t For Everything

This week it appears that Microsoft screwed the pooch and lost everyone’s data that was using Sidekick on T-Mobile.  Microsoft should have known better and had proper backups and Hitachi (who was doing an upgrade for them) didn’t check either.  Expect some major finger pointing (and lawsuits) going on in the upcoming weeks. Regardless, there are multiple layers of failure and plenty of blame to go around.

It’s why I chuckle when people talk about ‘cloud computing’ being the wave of the future.  I have no doubt that we’ll see more cloud computing but there are just certain things that don’t belong in the ‘cloud’ and should be taken care of by your own IT department.

I did a fair amount of work a few years ago on a commercial accounting application and every now and then the boss would get all excited about cloud computing and he’d kick the tires and make some noise about moving the entire operation towards it.  At first blush it makes a LOT of sense to have the software and data reside elsewhere because it puts the burden on the host company to keep the software up to date, upgrade the hardware on a regular basis, have regular on-site and off-site backups and have decent security.  And then you realize that its strength is also a weakness as the Microsoft case has shown.  You are depending TOTALLY on someone else doing the right thing.

The other reason is the data.  For many companies their data IS their business.  It’s their competitive advantage.  You really trust all the pipes between your office and the cloud computing servers?  Sounds paranoid but this is your sensitive data you’re talking about, right?  How many stories have been published about SSN and credit card numbers being compromised (at the minimum) and outright stolen (at the worst) in the past couple of years?

If you’re in a larger metropolitan area you probably have decent internet access, with decent speeds, that never goes down.  There are a lot of places even in the United States where this is simply not true. I’ve always enjoyed pulling the network cable from a computer when someone is on their high horse about cloud computing.  Tough to get work done when you can’t load the software or the data.  At least with the software and data on my computer and local network I can still get work done.  My job requires internet access and I can tell you that when my internet goes down I’m not very productive (and keep in mind that I’m in a top 40 metropolitan area with all underground utilities!).  I’ve also had web servers get attacked and be so unresponsive that they might has well have been shut down.

In the long run, can you go to your boss and guarantee (because it might mean the difference of having a job or not, after all) that the data is 100% secure, backed up and available 24/7?  Food for thought, no?

Interesting Tidbit on Where REALbasic Consultants Found Work

I’m analyzing the results of the latest ARBP survey (about REALbasic consultants) and I came across an interesting answer considering that the Colorado Summit is coming up next week.  In one question we asked how REALbasic consultants found work.  We had a set of canned answers with the option to add your own.  Several RB consultants  said in the ‘other’ response that they picked up work at Real World.  Of course the numbers are pretty low, but the fact that people went out of their way on the survey to include it speaks volumes.

This answer isn’t surprising, really, since the last couple of Real World events had companies trolling for RB developers.  To me, this has always been one of the best reasons to go to Real World.  I know I turned down work at Real World 2008 because I was already 100% committed to a project already.  Hopefully there will be a few at The Summit as well to make it profitable as well.  :o

There are still some slots available for the conference if you’re interested in going.  Hope to see you in Boulder!

REALbasic Beta List Conundrum

I’ve been part of the REALbasic Beta List for a few years.  I got involved  back in the early days of the new IDE because I was tired of finding bugs in new features, and in a few cases, new features that never made it out into the public release (though documented as such).  So I make a point to kick the tires of the new features and I generally do this by writing them up as a quick review article that I’ve been posting on the ARBP site.

I’m now testing the 2009 R4 release and I realize that I started feeling guilty about not testing more (a new feature in R4 is one I’ve been asking for a long time).  After talking it through with another developer I came to the conclusion that I’m donating my time to Real Software.  Yes, donating because, as a consultant, I get paid good money to do coding and testing for clients and since I’m not compensated from RS in any way, it is pretty much a donation.

I guess one could argue that I get compensated with a less-buggy, better new features, product.  That’s not very motivating to me, somehow, mainly because I’m paying really good money for that product for the privilege to do that!

Then I came to the conclusion that if I were to be compensated in some way I’d do more testing because it’s worth more to me.  Now I’m not suggesting a free copy of REALbasic because that wouldn’t be economically feasible.  But it does strike me as somewhat unfair that I’m spending time beta testing a commercial product.

I’m not sure what would make it seem more fair.  A discount on upgrades?  A higher support priority?  A t-shirt or coffee mug?  Public recognition?  I dunno.  Certainly the problem with any sort of compensation is how to enforce it and qualify it.  If I log one bug is that enough?  What if that bug is really a feature request?  If I report a hard crash is that more important than a misspelled word?  See what I mean?  It’s a slippery slope at the very least.

Do you think the beta program works?  How do open source projects recognize their big contributors?  Do participants need some compensation?  If so, how do you compensate the one-time reporter versus the consistent reporters?  What are your thoughts?

Are Mac Bundle Promotions A Good Thing?

This one is timely as I was asked about a bundle opportunity the other day:

Interesting post at http://homepage.mac.com/simx/technonova/reports/from_the_mouths_of_developers.html where Simone Mangenelli asked a bunch of developers that participated in the MacHeist bundles there thoughts.

Summary Ideas:

  • If you look at it as ‘marketing’ it’s a huge win because you get your name and product in front of people who wouldn’t normally have found you.
  • Tech support issues spike during the promotion and then return to normal shortly thereafter.
  • Getting some money is better than none.
  • There is no saturation of the market.  Not THAT many people purchase the bundle.

I highly recommend the article.  It gives some food for thought from a developer and a consumer standpoint.

Have you participated in a bundle offering as a developer and/or consumer?  Do you feel that it was worth it?  What sage words of advice would you give?

2009 REALbasic Consultants Survey

I almost forgot about this one in the rush to get the Colorado REALbasic Summit setup and announced.  ARBP is currently hosting its 2nd annual REALbasic Consultants Survey.  As we did in 2008, we’re asking REALbasic developers about their consulting business.  Also, we are now breaking out ARBP members versus non-ARBP members to see the differences and to help determine the ARBP demographics.

ARBP members should log into the ARBP Members site and click on the “2009 ARBP Consultant Survey” link under the ARBP Info menu.

Non-ARBP members can take the survey at http://www.surveymethods.com/EndUser.aspx?A185E9F5A2E6F0F6

Some of the preliminary results are interesting because in last years survey we didn’t stop the survey if you said you didn’t consider yourself a consultant and this led to a lot of answers about pricing and employees being skewed.  This year non self-declared consultants do not take a majority of the survey.  We also refined some of the questions to include more details.

If you haven’t already, I would appreciate it if you could take the survey.  The results help ARBP determine who our users are and in the long run it helps the RB consulting community by giving some baseline numbers for comparison.

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?

Yuck. OPC Projects

I have a lot of OPC projects.  I tend to avoid them when I can but sometimes it’s unavoidable.

Whenever I deal with an OPC project I’m screaming ‘encapsulation!’ half the time and the other half the time I’m screaming ‘container controls’!  Yeesh.  Seems like people are making their lives harder than it needs to be.

The answer, of course, is that programming is not easy and they wouldn’t be paying me to work for them if they could do it themselves.  It’s pays the bills so I guess I shouldn’t complain.

How do we teach RB newbies some of skills that will make their lives easier?

Registration Systems For RB

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?

Yeah, Right. You Can Do It

I ran across this post today:  http://blog.bitquabit.com/2009/07/01/one-which-i-call-out-hacker-news/ The basic story is that the author is refuting the claim that StackOverflow.com could be replicated “easily”.

I think this is an awesome post because it’s a warning to others and reminder to myself that everything is not as easy as it seems.  Often we look at an application and say, “I could do that.”  Yes, you could.  Without a doubt.

Here’s my advice though:  Take your estimate of weeks and make it months and turn months into years and you’ll probably be closer to the truth.  Even copying user interface and data structures verbatim I think most people would still have a hard time replicating an existing application quickly.

One project I worked on was a QuickBooks-like accounting application.  On a four person team.  Five days a week.  For FIVE YEARS!  And we had QuickBooks as the blueprint, if you will, for the accounting side of the application.  Guess what?  Even though I’ve moved on they’re STILL adding to and modifying the accounting engine.  QuickBooks is a moving target and I wish my old teammates luck in striving for it.

Every now and then someone gets a hair up their rear end and brag that THEY could do REALbasic better than REAL Software (because some bug has really pissed them off).  It’s quite possible that someone out there is working on an awesome RB clone and someday release it.  But don’t expect it anytime soon.

The same goes with claims of “I could easily make the RB IDE do this or that!”  If it was easy no doubt RS would already have done it.  Let’s face it, software is often a case of the mistakes of the father now make our lives a living nightmare.  This is not to knock our forefather developers just that what seemed like the best way five or ten years ago is woefully inadequate in today’s terms and to make it do ‘x’ (which seems easy) isn’t because the infrastructure isn’t there to do it.  So the whole thing has to be redone and done so you don’t break backwards compatibility.

Again, sorry for the blog about another persons blog.  I hope you find these discussions helpful and thought provoking.  Thoughts?

It’s Your Party (i.e. GPL Licensing)

Special thanks for John Gruber over at Daring Fireball for finding the post at http://www.red-sweater.com/blog/825/getting-pretty-lonely

I don’t know about you, but I’ve had serious concerns (like most of the REALbasic community) about using MySQL database servers because the GPL-style licensing makes me nervous.  I’d love to use it but if it means I’m on the hook for licensing fees and/or have to release my source code of my apps that use I’d much rather not bother with it.  ARBP did a survey last fall that pretty much showed MySQL usage down 20% and PostgreSQL (which has very liberal licensing) up about the same amount.

Any way you slice it, to us mere mortals the GPL is vague at best.  We’re programmers for heaven’s sake!  We don’t write vague code because vague code doesn’t work.  Be explicit like the MIT license – it’s clear and concise and is far from ambiguous.  I think the GPL should be rewritten to make it explicitly clear.

I didn’t mean to start a whole blog post about someone else’s blog post but I know that there are a lot of questions about GPL and what it means to the developer.  What are your thoughts on the GPL?