Why Your Programmer Friend Doesn’t Want to Hear About Your Idea for a Great App

I think a safe assumption is that anyone who is identified as a programmer (including the kid whose grandmother says is “good with computers” because they spend 90% of their time in the basement playing Call of Duty) has heard the phrase, “You’re a programmer?  I’ve got a great idea for an app!”

 

I once had this happen to me while out shopping for a new router.

The guy helping me pick one out perked up when I mentioned what I did for a living,  and then proceeded to tell me his great idea.

His great idea was actually pretty good!

So good that I was, at that point, about 75% of the way to a working proof of concept.

That’s one of the main reasons,  that based on my own experiences,  that many programmers don’t appreciate unsolicited ideas for applications.

And yes, we realize that you probably wouldn’t make a fuss if we “stole” your idea,  unless of course the product is in the 0.000000015% of applications that are fiscally successful.

Of course another issue with coming up with an idea for the next Facebook is that many people place too much value on the idea,  and too little value on what it takes to take concept from idea to an actual thing that people can use.

A couple of years ago I was approached by a friend who told me that she had a friend who had a great idea for an app.  All they needed was a programmer!

I resisted, and wasn’t even swayed when the dollar amount “in the millions” was mentioned.

Finally she offered to shut up about the whole thing if I agreed to meet with her friend.    That offer was too good to pass up, so a meeting was set up.

I listened to the pitch.

It wasn’t a terrible idea,  nor did I think it was a great one.

I asked some questions to ensure that I understood the concept.

I then asked what he thought would be his fair share of the profits.

He suggested 50%.   His justification was that without his idea,  that I would not make any money from this endeavor.

I then asked him what he would be contributing to the project.

His response was a confused “The idea?”.

He then responded in the negative when asked if he could provide anything in the following areas:

Database design
Scripting (back end or front end)
User Interface Design
User Experience Design
Server set up and maintenance
Project Management
Business Management
Legal Advice
Marketing
Money

By the time I listed all these off he looked a bit shell shocked.

Then came the big question.

What happens if this fails?

I explained to him that in addition to the approximately 2500 hours of development time this project,  that business expenses,  server hosting,  contracting out work and various other expenses would likely run to $15K to get to the point where we could being testing.

I gently explained to him that while his idea might be a good one,   that getting it to the point where it would be profitable requires a great deal of effort,  time and money.

 

So now you know why your programmer friend doesn’t really want to hear your idea.   And if they do,  make sure you have a contract in place prior to discussing it.   Otherwise there is nothing saying they have to pay your for using it.

This is the standard every vendor should strive to!

Its not often that I gush over customer service.  I will express appreciation and fill out surveys when I’m happy, and leave it at that.

We have been using the iPeople Connect suite as our data repository for just over a year now.   Having our Meditech data available in SQL Server has made it possible to implement solutions that would’ve required expensive vendor assistance in the past.

The iPeople team has always provided stellar support and we’ve been very happy with them.  Today though, they blew us away with their dedication to customer service by reaching out proactively on an issue.

I am working on a project that uses data pulled from nursing interventions.  The project is not yet live and until an hour ago,  I hadn’t had a chance to work on it for the past week.

I noticed that there was no information crossing over from Meditech.   It did’t take me long to discover the reason.  I had screwed up the start date of the download query.

iPeople ECHO allows us to customize download queries in order to ensure the we can get only what we need.   I decided to take advantage of that,  but in doing so I had neglected to add a line of code.

I started the download,  and was immediately distracted by another, unrelated task.

As I was finishing that up my phone rang.   It was Drew Sher from iPeople.

I was a bit shocked as there were no major issues with our system.  I knew this because I was looking at it at the time.

Drew had noticed the error in the download I was working on and called me to help me get it working the way I wanted.

Seriously,  how awesome is that?!

It would be like looking out at your driveway and seeing your dealer’s mechanic pull up to fix something because your car called them!

This is a big kudo’s to iPeople and their excellent staff!

 

 

The Real Reason Why Many Programmers Don’t Have Social Lives

I often have difficulty speaking to other humans.

After hours buried in code,  when I’m forced to communicate with other humans I have difficulty in switching to the rather arbitrary syntax and structure of Conversation.

Many people believe this is why I don’t have much of a social life,  but that isn’t the real reason.   Like most full-stack programmers I only need a few minutes to get comfortable with the current language/platform.

Here’s what happens to many of us when we’re planning on going out…

As we’re leaving we realize we left something important, like our phone, keys etc near our computer.

When we approach the computer,  we think about something we’re working on,  or we remember that we wanted to try something,  or had an idea to fix a problem…

So we think:

I’ll just take a minute and try that…

What follows are thoughts like

Well, that didn’t work!  Maybe if I….

and

now where was that chunk of code I used before??

then, finally..

Wait, why am I hungry?

and/or

OMG, Why is it so dark out??!!!

Then when you look out and see that its not an alien invasion with ships so big they blot out the sun, but rather that its late at night and life has once again passed you by.

Unintentionally Creepy Declarations #1

When we’re in the zone,  sometimes we don’t really think about our variable names,  so long as they’re meaningful.

I just typed out a table declaration for a new Table Value Function in SQL Server.

After I coded that bit I kept thinking,  there’s something wrong with that…

Then I saw why it was creeping me out…


DECLARE @table as TABLE (

DICTSECONDS varchar(30) NULL,
DRAFTSECONDS varchar(30) NULL,
FINALSECONDS varchar(30) NULL, -- do you see it?
SIGNEDSECONDS varchar(30) NULL
)

Solving Multi-Lingual Keyboard Woes

Any one who has used a Windows computer with their location/language set to Canada has likely experienced this issue.
Suddenly, for no apparent reason, you end up typing French characters instead of the ones you want.

It happens all the time, you are typing, and accidentally enter some funny key stroke combination (or are doing so because its required in whatever application you’re in) and suddenly slashes are question marks, curly brackets are carets and your brain starts to melt with frustration.

When I played World of Warcraft one of my guildmates was from Quebec…we were often assailed by French invectives when we suddenly saw him typing accents and other characters common in the French language.

I was coding today when I noticed several times that my keyboard changed to French. This is a new machine at work, but I’ve been using it for more than a week with no problem.

Not able to type {} (an essential programmer thing) I went on a quest to ensure this never happens to me again.

I’ve seen other people looking for solutions on this, so here’s how to get rid of this on a Windows 7 machine once and for all.

Control Panel->Region and Language->Change Keyboards

Here you can click on languages and remove them:

keybrdlang

I’ve already removed the languages, but I found that I couldn’t switch away from the French layout.
So, I went back and this time I clicked on the tab Advanced Key Settings…and here I found the culprit!

I forget what the default “Switch to French Layout” key combination was, but I set it to none. I then set to switch to the US layout with CTRL-0.

keylangchange

Clicked Apply and everything was cool…

Why is binary so important to computers?

Awhile ago an acquaintance came to me and said,”Hey, you’re a computer guy. Can you tell me why binary is important to computers in a way that won’t put me to sleep?”

Feeling somewhat confident, I told her that I could….and here’s my explanation:

Regardless of how it looks to you…words, text, images, etc, to a computer its all 1’s and 0’s. That’s because computers determine what to do based on what path an electronic pulse takes through its chips. The paths are controlled by microscopic gates. If the computer receives a 1 in a certain position, it means that the corresponding gate is open, a 0, and its closed.

She nodded (not yet sleepy) and followed up with, “How does it know when one of these gates should be opened or closed?“.

That’s more complicated. There are several layers of programs on your computer that translate what you see and do to and from binary.

She nodded again, and responded, “Programs?”

Yup…by that I mean things like the operating system (which could be Linux, Windows, etc.), which tells the programs that you use how to interact with the computer.

The operating system will communicate with the “Kernel”, which will take what the operating system does, and turn it into binary (and vice versa).

At this point, I wandered off quietly as not to wake her…