Sunday, February 21, 2010

No Good Deed Goes Unpunished – Dangers of Community Development

Over the last decade we’ve seen an explosion of channels for small scale organizations and individuals to create and release software applications and services to the world easily. XBox has their program where community created XNA games can be purchased on XBox live. Apple has their app store. New platforms, like Android, are encouraging developers to create applications for them. It’s not just about the big titles anymore, its about who has the widest number of appealing applications that helps a platform succeed (consider that you don’t hear too many developing for the Palm Pre).

What this has created is a developer community that may not be thinking from a business and legal standpoint though. The ability to create simple applications that collect, retrieve, and/or display data speaks to the creativity but doesn’t address the realities of our legal realm.

Consider the case of the developer who created an Android application to identify the city and state an incoming call was originating from. From the blog post:

So, I took some time this weekend to develop an Android application.  The application displays the city name and state someone is calling from.  This application is something I've wanted on a phone.  So I thought I would share!

He did what many geeks and software developers would do: he tried creating an application for a shiny new platform to see what the experience was like. At the end of it, he released it to the Android marketplace…for free.

As the saying goes: no good deed goes unpunished. He’s now being sued by a company that not only has a similar product available but also holds a patent for the process of displaying a city name and state on a screen. He provides links to the patents and the company on his blog post, but here’s the abstract from one of the patents:

An improved decoding and processing system is provided for advanced determination and display of geographic information to a called party relating to the call origination party. The improved system comprises a receiving means to receive the calling number delivery (CND) message from a local central office (CO) switch or mobile station switching center; a microcontroller storage and retrieval device containing a data base library for selectively determining the corresponding geographic information such as city and/or state by matching the area code and/or local exchange number received from the call origination party; and a readout device for displaying the city and/or state of the incoming call. Preferably, the system includes capability to automatically update the data base library of the storage and retrieval device as new area codes and/or local exchanges are subsequently assigned. Accordingly, the improved system provides the user with convenient and efficient display of geographic information related to caller identification that is capable of determining an ever-increasing number of area code and local telephone exchange numbers.

Some people would read that and say “That’s not an invention, that’s a requirements summary for a software application.” What’s interesting is the suggestion as to the origin of the patent, which isn’t the company that currently owns it. From encyclopedia.com:

SEATTLE -- Cequint, Inc., a leading provider of Caller ID and call screening products for wireless, announced today the purchase of U.S. Patent No. 6,353,664, a pioneering patent on the display of location information for screening incoming and outgoing calls. The patent was purchased from LSI, formerly Agere.

Originally developed by Lucent in 1997, the patent represents a significant innovation in providing location information on a device for purposes of enhancing caller identification.

Originally developed by Lucent in 1997?! Back then the abstract provided definitely *was* an invention! We didn’t have the advances in software and platforms that we do now. The fact that this patent is even allowed to survive is further proof that the patent offices in North America haven’t kept up with the rapid change of technology and the changing definition of “invention”.

But this post isn’t about patent law, its about us as content/product creators and what we can learn from this man’s experience.

Names Are Important
Names we use, even for software we’re planning on giving away for free, are important. Very important. Companies spend huge sums of money every year ensuring that names, slogans, and images are protected under trademark laws.

Because of that, you can’t assume that the name you want to use is available to you. This is one of the issues for the creator of the Android app. He named his application City Caller ID. The company suing him has the name City ID trademarked. Two applications that do the same thing and have such close names is an obvious issue.

Know The Patents
In a book I read recently, the US author stated how the US is the most litigious country in the world. Unfortunately suing is not just a tool of justice, but part of the business game. Because of this, and because of the issues with patents being released for things that arguably aren’t true “inventions”, its important before you release anything that you check for existing patents and ensure that you’re not infringing on anything.

Is this extreme? Well, no. What we don’t realize is that when we release something into the market, even if its free, its now competing with other products in the market. We see the internet as a flea market, when really we’re entering the same marketplace as any established company. The platform creators don’t push this to the developers though, mainly because they want to encourage application dev and not create fear mongering that the next app published could be targeted for a lawsuit.

Don’t Hate the Player, Hate the Game
On a moral level, I absolutely disagree with the way the suing company is acting. They easily could have sent a cease and desist order first, assuming they believe that this application was released without the individual doing due-diligence and not meant to maliciously damage the company.

Regardless, the law is the law and they are within their right to bring this to litigation. If this makes you angry, and it should, then get in contact with your government representatives to push for patent reform. Note that we’re talking about the US mainly here, but all of what I’ve written applies to any country.

My hope for the software dev in this story is that there can be some sort of agreement between the parties that avoids this going to trial and any huge damages being levied against him. For us, this is a warning about what can happen when we don’t understand or respect the rules of the arena we decide to play in. It’s also a rallying point for us to push for rule changes to how we do battle within it.

CC

Tuesday, February 9, 2010

Fun With CRA – Be Aware of Instalment Payments

In 2008 I was, for the most part, self employed. I did quite a few speaking engagements that involved travel, hotel, and food expenses, and I assumed that the expense write-offs would have a huge dent in the taxes I’d eventually have to pay at the end of the year.

You know what they say about assumptions.

So I owed a bit of taxes for 2008, no biggie. This past Summer (2009), I was sent a notice from Revenue Canada saying that it was time to make some instalment payments. This was obviously about my taxes from 2008, so I paid them off and continued on with my now full-time employee life.

Today I got a call from Canada Revenue Agency alerting me that I still owed all my taxes for 2008. Say WHAT?! This was quite the distressing news: did a cheque get misplaced, did I imagine making those payments, did the money go to the wrong account (like under my wife’s)…all these things raced through my mind as I raced home.

I reviewed my records and there were the payments that were made right in my bank statements. I called CRA back, confident that I was vindicated! But I wasn’t…and in fact, I actually *hadn’t* paid my 2008 taxes…

 Self Employment and Your Tax Schedule

When I was self employed, I *vaguely* remember at some point agreeing to a quarterly tax payment schedule (as opposed to the end of the year like normal). What happened as a result was that CRA looked at what I owed in 2008 for taxes and assumed that I’d probably owe a similar amount in 2009. So last summer they sent an instalment notice saying that I could pay by x date towards my 2009 tax year.

What I did when I saw that was assume it was talking about my 2008 taxes since the amounts were similar (even though it said plainly it was for the 2009 tax year…why would I pay income tax before the year was over?). So all this time I’ve been derelict on my 2008 taxes, but my 2009 tax account has been overflowing!

Luckily, I do have the option to move the income tax I’ve paid in 2009 into my 2008 account, so I’m only out a small amount to cover the accrued interest.

So here’s the takeaways:

Know Your Tax Schedule
If you do agree to a non-yearly tax schedule, understand what that means! Mark it on your calendar, set up reminders, or better yet STAY YEARLY (I really don’t understand the rationale of making early payments…)

Pay Attention to What Tax Year CRA Communications Refer To
CRA has different buckets set up for you as far as taxes go. So it is possible that you owe money for a past year’s bucket and yet have extra stored in a present year’s. If you get a notice from them, make sure you understand what its for and what year its for.

Don’t Assume CRA Staff are Dinks, But Don’t Assume They Tell You Everything
The guy I dealt with at CRA was awesome…he was very patient in trying to explain to me why I still owed money from 2008 even though I had paid it in 2009. With that said, it wasn’t until I called my accountant that I realized I could transfer the money I paid for 2009 taxes to my 2008 taxes. CRA staff are calling you because they need payment, not to give you advice.

Have a Great Accountant You Can Get A Hold Of
’Nuff said.

The Importance of Details

I’m very fortunate to have an amazing graphics artist putting the conference website together. She’s done an amazing job, and I don’t want this post to sound like I’m slaggin’ anyone…its more of a “lessons learned” thing.

We’re launching the site this week and I was sent all of the HTML for the site so I could get it setup on my web host. Admittedly, I didn’t look at them as soon as I got them.

Lesson – Don’t Put Off To Tomorrow What You Can Do Today

When I popped open the zip file last night I saw a collection of PHP files. I wasn’t expecting PHP, but whatever…no biggie. At least, until I tried to get it running on my web host. Turns out that they don’t support PHP.

Luckily the damage was very minor: PHP script was just being used for include files (header, footer, etc.) and for some menu aesthetics…nothing that can’t be remedied with a little Javascript.

But it leads to the real lesson of this experience:

Lesson - Don’t Assume, Spell Out All The Details

*Especially* if you’re a developer dealing with a graphics person. That’s not a slag against graphic artists, its just reality: I live in a Microsoft world with Microsoft hosting providers and Microsoft technologies and leveraging Javascript for UI goodness. Graphics people live in an Adobe world with PHP and Flash. Sometimes terms can mean different things, so make sure you investigate and communicate limitations up front (i.e. If I provided the web host capabilities up front, this wouldn’t be an issue).

Note: In the time it took me to write this post, she had the updated site in my inbox…awesome people = awesome results!

Monday, February 8, 2010

Merchant Account Fiasco

Last Fall I helped organize a local developer conference and we used a registration service to handle our online credit card processing fees. It went really well, but the downside is that their rates are a bit high.

For my upcoming conference I wanted to try and save a bit of money on the credit card processing, and to do this I’d need to open a Merchant Account. From Wikipedia:

A merchant account is a type of bank account that allows businesses to accept payments by debit or credit cards.

I went into this process very naively. I assumed opening a merchant account would be akin to opening a bank account: you go in, you sign papers, you get an account and an account number. Voila, done and done. Unfortunately this was not my reality.

My business banks with BMO, but the banks themselves don’t handle merchant accounts. Other companies do, and BMO partnered with the Royal Bank to create a company called Moneris which they recommend to businesses looking to create merchant accounts. I was put in touch with a Moneris rep and began the process.

And what a process it was! Remember that all I needed was an account to handle online credit card payments. To do this though, I would need to complete a few steps.

Step 1 – Bring Up the Website to Moneris’ Standards
There are a whack of standards your site must meet to use a Moneris merchant account: Privacy Policy, Terms of Service, Refund Policy, visible images of the credit cards accepted, etc. These must be in place before the credit application can go forward.

I was able to provide a test-site for the registration so that they could go through and ensure everything required was set up properly, but as a final signoff they required seeing the registration link be live from the main website. This can be challenging if you don’t want your website open for registration beforehand.

I get why they did this: they want to ensure that I’m actually collecting registrations from the site I’m claiming I am, but its still annoying.

Step 2 – Take Out a Mortgage
Well, not really…but let me tell you: the credit application you fill out for opening a merchant account feels like you’re taking out a mortgage. You’re asked about your assets, liabilities, current income, previous loans, dependents, life insurance, etc. It’s a full disclosure of your entire financial standing.

Step 3 – Expect the Unexpected
At this point I’m very frustrated with the process. It just seems like more work than it has to be to open up a merchant account, and it also feels like Moneris has more involvement with my business than I want it to (While Privacy Policies and Terms of Use are good for any website to have, why is my merchant account provider dictating that to me?). I also felt very uncomfortable with the amount of financial information I had to provide.

But then came the phone call today that pretty much ended my quest for a merchant account. Someone from the credit department at Moneris called me to say that the merchant account could be opened contingent on a few things:

1) Need registration link available from the actual webpage, not just the testing link, to verify that the registration is from me (I mentioned this previously).

2) Provide a $6,500 deposit to cover 50% of the credit exposure. This would be paid back after a certain time period.

3) Something about Non-face-to-face transactions…

I didn’t really hear what she was saying at #3 because I was dumbfounded by #2: $6,500 deposit?! So basically, I had to partially cover the payments I’d process up front to ensure that if there were issues with refunds or anything that I’d actually pay them back and lower the risk on Moneris’ side.

Great for Moneris, but horrible for me. And insulting really. I understand in this day and age that there needs to be more scrutiny to ensure fraudulent and criminal activities aren’t being performed. And maybe, because Moneris is such a big player in the debit card machine business, they see website payment processing as a higher risk and therefore need more hedging.

But this is just ridiculous! How can it be so difficult to open an account to handle online payment processing?! Why are businesses made to feel like they need to jump through hoops for the privilege of using Moneris’ services?

I was trying to get a less expensive method for processing credit card payments. Instead I just wasted a lot of time, got very frustrated, and pushed back launching my site registration.

Very disappointing Moneris, very disappointing.