Patent Trolls: The End of Innovation as We Know It.

Patent trolls have been all over the press lately with companies like Lodsys suing Rovio Mobile, the maker of Angry Birds.  They also have been going after small iOS and Android developers too.  They are claiming they own the rights to in-app-purchase, upgrade buttons, and even links to the App Store. It kind of feels like a new form of the Mafia.

There has been a lot of advice floating around out on the Internet.  Patrick Igoe, who is a patent attorney, says settling with the trolls is a bad idea.  He has provided a lot of technical analysis on the patent claim charts and is having a hard time understanding how developers could be in violation. On the other side of the spectrum is Florian Mueller who is telling developers that they should just settle because of the costs involved.  I contacted Apple Legal to see what they thought and received a one-liner saying “You may wish to consult the advice of an attorney as we cannot provide you with any legal advice on Lodsys’ patent infringement claim.”

It’s sad that the App industry that I truly have enjoyed being a part of for the last 3 years might actually be coming to an end.  Independent developers won’t be able to afford legal representation, especially for a patent litigation case.  I recently learned at the MoDevDC meetup group that an average patent litigation defense costs around 2.5 million dollars.  It’s just not possible to fight a troll that has deep pockets.  If we just roll over and pay the troll to go away, there is no guarantee that others won’t come knocking.  There doesn’t seem to be an easy answer.

I was once proud to have my name listed as the inventor on a series of software inventions.  I no longer feel this way after seeing how vague patents are awarded and then misused. Patents are supposed to be non-obvious, but all of the software patents I have read, including my own, seem pretty obvious to me. I would be the first person to sign up to have all software patents invalidated.  My blood boiled when I recently listened to When Patents Attack! by This American Life.  I suggest you give it a listen.  I can only hope that one day patent reform can fix our patent system and help bring back innovation.

Google wants to put your House in the Cloud

House in the CloudDo you ever want to live in a world in which your coffee maker preferences persist in the cloud so you can wake up anywhere in the world and enjoy your favorite cup of java? At one time I thought the company that would bring it to me was AT&T, but today I found out it was Google. (That reference is from 1993 TV commercials with AT&T and Tom Selleck, as shown below)

The Google IO keynote speech given today showed us where Google wants to take the Android platform. And that is… everywhere.

We already knew that they wanted it to run your smartphone, tablet, and television. But now they want to control your house and all your appliances. Home automation has been around forever and I’ve been using smarthome devices for years now. I only use it to turn off lights when I’m about to go to sleep. I know I can do a lot more than that but that is what I’ve found it most convenient to control–I’m tired and the lights need to be turned off.

Google gave me the impression that they weren’t just thinking about lights, although their demonstration did focus on light bulbs that you just screw in that could be controlled easily. What I found interesting is they demoed an exercise machine that connects to your phone and provides an interactive game to help you exercise. The game was pretty boring, but it illustrates something more important. They want your Android phone to be command central for everything. I can’t argue with that as I’m a big fan of simplification. I currently have 3 things that are always in my pocket–Car keys, wallet, and phone. If I could own a smartphone that can control all my devices, pay for anything, and even start my car then my life just got simpler. One device to control them all.

I reported the awesomeness of Arduino in a previous post and when Google announced their open accessory development kit that integrates with Arduino, I could only think of one thing–Brilliant. You can use your Android device to control anything and everything. And if you wanted to control something that wasn’t supported by the device, then then you could just build it yourself. The fact that they are using Arduino means that building hardware would be inexpensive. In addition to that, Arduino has a thriving open source community which could potentially build controllers for everything. This might just turn into an App Store of hardware accessories. Allowing developers build on top of a platform without having to pay licensing fees only means the platform could really grow fast. It will be a platform that people will want to have.

I think we can all agree that Google is great at pushing technology forward and worrying about the consequences later. I really like everything I heard today, and only hope that their Do No Evil motto doesn’t one day turn into Dr. Evil. I really don’t want an evil corporation taking control of my coffee maker.

Making it Rain with Arduino!

Long way to go...

Arduino kits from Maker SHED arrived at my doorstep this week and today I finally had a chance to put it together.  I bought a starter kit which comes with the main Arduino controller and a bunch of parts like buttons, LEDs, resisters, and bread boards.   I ran through all the basic experiments in a day such as making LED’s blink, push button toggles, and performing IO over USB between the Arduino and computer. The Arduino software for creating programs is simple and really easy to use.  In addition to the starter kit, I also purchased some shield kits which are basically expansion kits for the Arduino.  I decided to build the LoL (Lot’s of LEDs) shield which mounts directly to the top of Arduino and provides visual feedback.

Back of Board
The back of the board shows many rows and columns of solder.

The LoL board has 126 LEDs arranged in a 14 x 9 rectangle.  In order to put this thing together, I had to run out to Radio Shack today to buy a 40W solder iron, flush cutters, pliers, and of course solder.   This shield requires soldering almost 300 connections!

My soldering skills were a little weak at first, but after a couple rows it became much easier.  It took me a couple hours, but I finally got every LED soldered and clipped.  Look at the back of the board and all the drops of goo it required.

The connections are very close together so you really have to be careful.  I constantly worried about holding the iron for too long against the board which might change some of the underlying logic or even worse make the board unusable.  I also worried about shorting out pins from using too much solder.  I don’t think I blinked much because I had to get up twice to get eye drops.

There is nothing like finishing up that last row of LEDs.  I did a final inspection to make sure everything looked in order.  I touched up a few places, adding solder where needed, and clipping where there was too much.  The crop of red LEDs were aligned evenly and looked great.

Now came the real test to see if it worked.  I attached the shield to the top of the Arduino controller, plugged it into the USB port of my Mac, and then brought up the Arduino development environment.  I went over to Google code and downloaded the LoL shield library.  It took me a minute to figure out how to install the library but dropping it into your sketches folder under libraries/LoL did the trick.  The compiler was now able to find the library and all the sample code compiled without error.  I ran the basic test and was extremely relieved to see all the LEDs working.

I decided it was time to code something of my own.  I started with the example code for Conway’s Game of Life and stripped it down to the bare essentials.  I ended up creating a rain effect, where dots are placed randomly at the top, and then they fall down until they are off the screen.  Here is a video of the final result:

Building and coding the Arduino Lol Shield has been a lot of fun.  My next goal will be to create a game of some kind.  I know others have created Pong and Space Invaders.  I’d like to come up with something different.  Any ideas?

Download Rain Source Code