Personal Science

Recently I have been approached by a clinic in Austin that operates under the assumption that there is a causal relationship between childhood vaccinations and autism.

This will not the first foray into the thick of bio-ethical debates. I have, in the past, advised both planned parenthood and catholic clinics on how to use open source healthcare software.

My policy for organizations like this is simple: I almost always help them. My software or software ideas can improve the experience of patients at any clinic, even if that clinic is taking a position on an ethical issue that I am unsure about or against. Most importantly there is nothing that I can do to change the position of the clinics in question, one way or another.

I hope that in the end, open source software will help to resolve some of these ethical debates by providing a cheaper means to get better quality data. While my opinions cannot change policy better data can.

So will I help this clinic? Probably. Will I allow this clinic to advertise my help as any kind of endorsement? Definitely not. Which is basically the same position I take on any reasonably complex bioethical issue where I can see both sides of an issue. Of course many in my community would say that members of the anti-vaccine community do not deserve this kind of benefit of the doubt.

Before climate-gate I might have agreed. But now I am much more sympathetic to arguments that run contrary to modern scientific consensus. I fell very betrayed that centrally referenced climate data was fudged by respected scientist in order to support a very specific conclusion. Because of the pharmaceutical corporate interest I am afraid that vaccine safety data might have been similarly fudged.

It is my hope that providing a clinic with a dramatically different agenda than the main stream medical community with cheap and effective tools to do advanced data gathering and analysis that I might provide them with a kind of truth-over-pressure. If vaccines can cause autism, then they should be able to generate some reproducible data that shows that. If vaccines do not cause autism then by giving this clinic better data tools I hope that I might be able to create a kind ideological implosion within the organization. I hope that I am not enabling an organization that is torturing kids with invasive, traumatizing procedures for nothing. But unfortunately I am not in a position to make that determination.

I hope, truly, that I am right to take this approach. I hope that the assumption that transparent code plus transparent data can create pressure to find the truth for other difficult issues is right. It feels like, more and more like I am betting more than my career on this idea of open source software in healthcare… I am betting my conscience too.

I would like your comments about my approach generally and about this situation specifically.

VistA modernization must use MUMPS

Once more, the debate about “whether” to migrate VistA from MUMPS has come up again in main stream press.

This always makes me sad because it shows just how fundamentally ignorant people are of what VistA is.

So lets get something straight. If you are not using MUMPS, in some form or fashion, it is not VistA. It is a new software project. New Software projects to develop comprehensive EHR solutions, do not work. Ever. That is called “Big Bang Development” and it is utterly doomed to fail.

In order to create an EHR system you have to grow one. You start with a system that is not comprehensive, you use it anyway, and then it grows into something that is a comprehensive EHR system. You cannot take a comprehensive EHR and assume that you can re-write it, from scratch in another language and that it will work. That is just unfathomable.

This has been tried, several times, and consistently failed.

So the reason that it is not “an option” is that it will fail. Thinking about it as an option is simply madness.

It is very like saying, “We need the Linux Kernel to improve, so we will recode it in Java.. not enough people are trained in low-level C programming” The folly and hubris should seem clearer now perhaps?

You might try drastically reinventing what MUMPS is, like ClearHealth, but you cannot simply “get away from it”.

Another example might be “New York has proven that the street + subway system is effective, the city planners of Venice should adopt that in place of the canal system that they currently use. Obviously New York shows that these modern features are capable of moving far more people…” The reason Venice does not consider a subway system is that it -cannot- work. The city planners there know that, so they never try.

It is ironic that people who say “we should move away from MUMPS” consistently consider those of us who actually understand the architecture and design of the system, and insist that we continue with MUMPS as a kind of “particularly obstinate political faction”, from the link above:

“Is MUMPS the right entity? I think the obvious answer is ‘no,’” Meagher said. “It just happens to have a bunch of very committed people who want to stay in that environment.”

When an engineer says “I can think of no way to achieve near light speeds in our lifetime”, he is not taking an obstinate political position. It is not “pro-light-speed” vs “against-light-speed”. The engineer is taking a position based on what he understands to be achievable.

When I say “VistA must stay with MUMPS”, I do so based on the only relevant evidence’ efforts to move away from MUMPS have consistently, and expensively, failed. I do not like MUMPS at all, but I have a pretty solid understanding of software engineering and you simply do not simply migrate to a new language for a codebase as large as this.

-FT

Prior Art for the BillingNetwork Patent Troll

I am saddened that the supreme court decided not to address the software patent problem with Bilski. They had an opportunity to abolish or at least reign-in software patents, which are an inherently bad idea. Instead they undid what little progress had been made in the Bilski precedent.

I think others have already more eloquently covered how the Open Source community lost in the final Bilski ruling.

Patents are damaging to Open Source healthcare information technology, and by proxy healthcare itself.  I believe it is time to tell you a story that I have been sitting on for more than 5 years, that serves as an excellent case in point. IANAL So understand that this is told from the perspective of a software developer, who, out of necessity has become familiar with patent, trademark and copyright law. As legal advise, this blog post is worth exactly what you are paying for it.

What must I, as an Open Source software developer, do to avoid being sued for patent infringement? The only semblance of protection against being sued is to make my defense so rock-solid that someone who might consider suing me would be worried that I could successfully counter-sue for anti-competitive business practices. So what are the defenses against patent infringement? I pulled these from my own experience, and articles like two most common defenses against patent infringement.

  • Non-infringement: My code does not implement your patented method
  • Your Patent expired: The time on your patent has already run out before I started making money from my selling or supporting my software
  • I have patents too: and if I am infringing yours, then you are infringing mine.
  • Have shallow pockets: I am relatively poor, that this lawsuit is pointless, you will never get any “real” money from me or anyone else I associate with.
  • Invalid Patent: Your patent is invalid because
    • Prior Art existed: sufficient descriptions, or actual code already implemented or described your patented method before your patent was granted (this one works for me, the developer because I am able to search through sources of prior art myself)
    • Your patent was obvious: although no specific prior art existed that identically replicated your patented technique, your method was obvious based on what was published
    • Your patent process was flawed: You did something that you should not have during the patent process. (not helpful to me as a software developer since it focuses on a particular given patent)
    • Not patentable: Your patent covers something that is not suitable for patenting (also not helpful to me as a developer)

Obviously non-infringement is the best option, but here is the trick: If I do a search for patents that apply to my area of expertise, and I am later to found to infringe on a patent that I read, I might be liable for “willful infringement” which carries stiff penalties. So generally I cannot search for what is actually patented. This makes it somewhat difficult to avoid infringement. You only know when you are infringing because someone contacts you and says “you are infringing”.  This what Open Source developers refer to as the patent minefield problem. The only way to avoid the minefield is to merely replicate software techniques that for which you can find implementations that are more than twenty years old. Finding prior art is not enough, because you cannot know the dates of particular patents without searching for them. So basically, Open Source projects can safely implement any software technique that was in common use twenty years ago. That kind of sucks, because you cannot even improve them, because those improvements might be patented, you can only re-implement them. So the only way for an Open Source developer, like myself, to entirely avoid patent litigation is to stop innovating.

I hope that my readers, irrespective of their perspective on software patents, are already uncomfortable. This is not what the patent system was intended to accomplish. Just because my chosen method of profiting from my innovations is not the same as proprietary/patenting software companies, does not make my work less innovative or valuable in any way. But there is no way for me to make my “innovation process” safe from patent infringement lawsuits.

What options do I as an Open Source developer have? Basically, if I am actually doing something new and different, and I want to release it as Open Source, I just have to release the code and then pray that it is either A. Not a patented technique at all or that B. If it is patented, I can defend myself.

So it is really important to note that there is nothing, absolutely zero, that I could have done -in advance- to avoid implementing someone else’s patented technology.

The Shakedown

Several years ago, FreeB, an Open Source billing engine that I wrote was attacked by a patent troll. When I get the time I will publish the letters I got to chilling effects but for now I will just include snippets. First, I should clear up some confusion. I was contacted by BillingNetwork because I was the owner of the Freemed.org domain name. I was developing FreeB, the medical billing module that Freemed would briefly use, but Jeff Buchbinder was the lead developer of the Freemed project and I was merely a contributor. So I really had two hats, one as a Freemed user and contributor, and one as the primary developer of the billing module, FreeB, that any EHR could (and did) use to enable medical billing.

BillingNetwork is what I would consider a Patent Troll. My definition of that term is any company that makes vastly more money by suing from its patents, than it does from actually selling any product that implements the patented technology. Making good software, that does well in a competitive market is not easy. Most of the software that I have written will never be subject to market forces. Usually this is because the people who hire me to extend or create Open Source healthcare software do so without having a completely reliable business strategy. They just realize that a lack of software is impairing their entrepreneurial aspirations and hire me to fix that problem. Some of my software projects have been tremendously successful in the market, but most of them do not get off the ground from a business perspective, this is true of every software development company or individual that I know. When a software project finally is useful in the market it is usually because there we were several earlier iterations of the idea that were abandoned. Going to market with half-baked software inevitably dooms a software company to market irrelevance.

Patent Trolls, even ones who “market” their own products are usually totally irrelevant in the marketplace. They have not put in the work needed to make their patented idea into a “workable” innovation. The irony is that making software “workable” often means that you have to completely abandon your original design. What actually works in the software market is often dramatically different than any starting software designs. When a Patent Troll patents a software design, without having the ability or often even the intention to turn the design into a working product, they very often patent a very poor design. These patents are markedly different from patents from large companies, like IBM, Microsoft or Google, that create software patents as a side effect, and as side business, from making process of creating fully working products.

BillingNetwork just settled with Athenahealth, a company which has about 1000 times more market relevance than BillingNetwork ever will. Their patented design, as you will see below, is not a particularly good design. They qualify as a Patent Troll in my book.

Here is the relevant text from the letter that Billing Network sent me more than 5 years ago:

We are not charging you with infringement of the patent, but are bringing the patent to your attention so that you may consider entering into a .license agreement with BNC.

(The underlines are mine.) This is really interesting. Billing Network was offering to license me this patent without ever implying that I actually infringed the technology. If Billing Network was actually an “innovator” it was in the field of patent trolling. They would not only contact web-based EHR/PM vendors with letter like this, but they would also send letter to the customers of web-based EHR vendors! Even in these letters they would not actually say that the software actually infringed, only that it might be. If someone owns a patent, and they say to another company “hey you are infringing my patent” then they have to back that up in court. If the patent holder says it publicly while knowing (or should have known) that the claim of infringement was not true, they might be guilty of libel and slander against their target. But if the patent owner says you “might” be infringing, then they have no obligations, and if they say that directly to the users of software, rather than the developers who might be able to actually evaluate that claim, then they can earn “licensing” money from the FUD they create around their patent, and what it covers, without ever having to go to court and prove anything. This is important, because it allows BillingNetwork and other Patent Trolls to use a patent like a shotgun generally against any company in a given field (in this case web-based EHR that does medical billing), rather than merely those companies which actually infringe the patented methods!!

Even if you are against software patents, like I am, you have to marvel at the evil genius at work here!!

At this point I made the mistake of actually calling them and emailing them, as they requested, and explaining that I could not license the patent because that does not work for Open Source. At this time I foolishly assumed that contacting them was better than reading the patent to see if the patented technology was anything like what I had worked on. But this was foolish, once they have said “hey take a look at this patent you might be infringing” there was probably no way that I could have been held as a willing infringer by merely reading the patent.

In my communication to them, I included the link project pages for FreeB and Freemed which of course allowed for full download of the sourcecode in question. The letter that I got back was so contorted and confusing that I realized that I needed legal help, and so I contacted the FSF and EFF and they put me in touch with the Public Patent Foundation. Who helped me out from then on. They wrote a “please go away letter” for me, and after some back and forth, that was the end of it. Perhaps Billing Network sorted out that I although my billing software was in wide use, I was not making money on it. But for the present text I think it is important to show how belligerent they got, without ever actually implying that I infringed anything.

From the second letter:

We are eager to avoid a possible conflict and to resolve any legal issues amicably.
If you are interested in entering into license negotiations, we will have our intellectual property counsel forward proposed terms for a non-exclusive license. While we take our patent rights seriously, we are interested in resolving this matter quickly and believe that you will find our licensing terms to be quite reasonable.
As we indicated in our last letter, we are not charging you with infringement, but are merely offering you a non-exclusive license for the above identified patent.

From the third letter, after I foolishly talked to them:

We have reviewed your email to Dr. Krumholz, and it appears that your FreeB billing system may be covered by the ‘229 patent. Accordingly, you need a license from BNC under the ‘229 patent to continue using the system.

Note the powerful “Accordingly”, you ‘may’ infringe therefore you ‘need’ to get a license. Legal marketing at its best!!

The last letter is the part of the response to the PubPat letter… Specifically this is the part where we said that FreeMED and FreeB do not infringe on the patent in question.

Your letter indicates that you do not believe that the FreeMED system includes several elements of the claims of the ‘229 patent. However, you have included no documentation to support this assertion. We are reluctant to rely upon unsupported assertions by the attorney representing a potential licensee for obvious reasons. Accordingly, we request that you provide us with any documentation that supports your assertion.

Finally, we restate that we believe that a license agreement would be in the best interests of both parties…

(again underlines mine). Remember, I had provided them with a link to the sourcecode in question during our initial discussion. This is a critical issue. BillingNetwork viewed me providing full access to the sourcecode as “no documentation”. In short, from Patent Troll’s perspective, they needed to be given a guided tour of sourcecode that they already had access to, in order to accept our assertion that we were not infringing on their patent. Think about this from a business expense perspective, it is not enough for me to have read the BillingNetwork patent, and be sure that my software works differently, I have to determine which parts of my code -prove– my non-infringement, and then give the Patent Troll a guided tour.

Next we will actually talk about whether I infringed the patent. But for now lets take a stock of where we are:

  • Jeff and I (and Open Source software developers generally) have no way to protect selves from this type attack. We could not review the patents the danger of becoming “willful infringers” (the patent minefield problem).
  • The patent troll attacked us with the expectation that it was cheaper for us to pay to license the patent rather than even figure out if we infringed the patent. So they are not making money from their “innovation”, but rather the simple fact of having a patent for one design of the tens of thousands of designs that might work. Their patented design, is like an “idea tax” on the process of implementing any of the other designs.
  • Thankfully Pubpat stepped forward to help us, but if they had not, we would have been on the hook for hiring lawyers to defend us. Without PubPat, I had no good choices: Go out of business hiring lawyers, or defend myself poorly. Did I mention that Pubpat is an organization that you should be supporting?
  • The Patent Troll viewed it as our responsibility to prove that our openly published code did not infringe rather than their responsibility to look at the code and prove that it did infringe. This is the “guide tour” problem.

This is why this a “Troll”. The whole word picture here is that of a troll who charges a “toll” for a bridge. A bridge the Troll did not build. This is why software patents, no matter what you think of them, stifle Open Source innovation. So far we have not discussed if the patent is valid or if we actually infringed, but the expenses that I incurred and the time that I spent dealing with this prevented me from doing… that’s right folks… actually improving my software. Practically speaking this halted my development activity for probably three months in total, at different times.

Now what if I could show, conclusively, that either A: we did not infringe the patent, or B: to the degree that we did “infringe” we did so based on obvious prior art? That is what I will attempt to show next. But at this point I want you to see that even without considering actual infringement, BillingNetwork has a method to shake down any user of my Open Source project using carefully crafted FUD, and that they attempted to do this entirely independently of whether my code infringed or not. Because they have a patent on one design for the type of software that I develop, they have a free ticket to go after my entire market place, without regard for the actual content of the patent in question… This has nothing to do with “protecting” an innovation that BillingNetwork had, its all about using patents to legally extort the free market. I cannot help but quote that Wikipedia article on Extortion:

Refraining from doing harm is sometimes euphemistically called protection

How awesome is that quote?

Did we infringe BillingNetwork Patent 6374229?

note: I would recommend that if you develop healthcare software, Open Source or otherwise, you stop reading now. By reading this, you might become a willful infringer of the Billing Network patent. Although I do not think I give enough detail here to make you a willing infringer, the link to the patent certainly would. Be careful.

That question has two answers. One for my project, FreeB,  and one for Jeff’s project Freemed. But first lets look at the patent in question.

There are seven claims made in the patent:

Claims 2-5 are actually refinements of the first claim, that begins:

An integrated internet facilitated billing, data processing, and communication system comprising:a database server and a home page of a website

The sixth and seventh claims begin:

An integrated internet facilitated billing, data processing, and communication system comprising:a database server and a direct access server electronically interconnected between said database server and a plurality of direct access subscribers each of which gain secure thin client access into said direct access server via a modem and an internet service provider (ISP)

An internet based computer system for billing, data processing and communication for and between subscribers and said system, one type of subscriber being of the browser-based type and another type of subscriber being of the direct access type, said system comprising:

So the version of FreeB in question did not infringe. Why? There was no database, and there was no web interface. The first version of FreeB, and the only one originally written by me (the second version was originally built by the ClearHealth team) and the only one that existed during this letter writing, was designed as nothing more than a data pipe. You connected one end of the pipe into an EHR, and out the other side came properly formatted medical bills in paper and EDI formats. It was a software module and had no direct user interface at all, you configured it by editing text files. It remembered nothing from one run to the next. It was not a great design, but it certainly did not infringe the first five claims here. The claims are all mixes of “browser” and “database” requirements, and FreeB did none of that.

Of course, you could combine FreeB with another system, that could theoretically infringe the patent. In fact you could argue that FreeMED, which was an early attempt at creating a web-based EHR that could do billing might have infringed. But there is no way that FreeB itself, in the version that BillingNetwork said “accordingly” needed a patent license, could have infringed the patent. The sourcecode that was available to BillingNetwork as well as the developer documentation on FreeB available at the time made this perfectly clear. BillingNetworks implication that that FreeB “might” infringe their patent was based only on the fact that FreeB was software in the same field of endeavor (medical billing) as their patented technology.

But what about FreeMED or the combination of FreeMED and FreeB?

There is nothing in the patented claims that even early versions of FreeMED could not be made to do with mere configuration. Many of the things claimed in the patent were done in FreeMED out of the box, but then most of the things written in the patent are done by every web-based medical billing system on the planet. Of course, this is true of FreeMED today, as well as the far more popular ClearHealth and OpenEMR projects, as well as probably half a dozen lesser known web-based Open Source EHR projects that either support billing today or want to in the future.

But FreeMED is unique. As far as I know, it is the oldest Open Source web-based EHR/PM system. In fact, it is so old, that if it did infringe on the BillingNetwork patent, it has been infringing even before the patent was issued.

The date for filing of patent #6374229 is Oct 20, 1999

But FreeMED was already a working codebase at that time. I inherited the FreeMED.org domain name from other owners (sorry it is down right now… still working through a server migration…) but thankfully at the history of the site, and therefore the project itself can be found at the Internet Archive. Let me take you on a quick tour. The oldest version of FreeMED.org that has a snapshot is Nov 25, 1999 at that time, there was already a demo running. More importantly we find that the site itself has downloads of the FreeMED project starting as early as 05/27/1999 the latest of these is from 23-Jul-1999.

These links actually allow you to download FreeMED as it existed, at that time, three months before the Billing Network Patent was filed. But most importantly, are two files in that download. The CHANGELOG and TODO files. No matter how I might disagree with some of Jeff’s software design decisions, I have to admit that the man was a stickler for standard Open Source project conventions and that is paying off.

From the changelog take a look at the entry “19990709 –” which states in part:

a added structures for payment records (for checks, etc) to the admin
module. stupid db reinit — you go squish now.
a added prelim payment records module — working on addition function
now.
a added billing function from main menu with billing_functions module.
n these functions are not ready for prime-time yet. please do not wail
on them then complain that they don’t work 😉 -jeff

Even more relevant is the following section from the TODO file

19990708 ——————————————————-
* implement payments and billing databases, with structures
….
* insurance payments related dbs and tie-ins, possibly with API
revisions

This is an indication of where Jeff was going with the billing system. All of this either documented or actually coded at least three months before the BillingNetwork patent was filled.

I submit that by running a version of FreeMED that contained only what was coded or planned as of 10-1999, and mere configuration of Apache and the FreeMED configuration file, using the versions available in 1999 (i.e. redhat 6.0) you can easily implement every aspect of the BillingNetwork claims, or designs that are largely equivalent (like using php’s direct mysql connection rather than ODBC), all using mere configuration changes. Moreover, you could find using other php projects (like postnuke) that were popular at the time, examples of all the configuration changes needed to make the modes of operation described in the claims work.

I would submit that anything that Jeff was reading at the time, (i.e. the php CMS that he would use for other purposes for instance) would serve as a basis for what should be considered obvious art at the time. Essentially the BillingNetwork patent covers a particular configuration for a web-based billing system. Not even the most intelligent configuration given the software that was available at the time. Jeff’s default configuration was actually a better design than the configuration required to fully emulate the Billing Network patent. This goes back to the habit of Patent Trolls in patenting half-baked technology. No one could run a medical billing practice management service by merely correctly implementing the patent, it would not actually work. But broken technology does not stop a Patent Troll from profiting from a patent, and Billing Network is a perfect example of this.

If my readers demand it (leave comments) I will be happy to give a blow by blow of the simple configuration changes that would have allowed the FreeMED “stack” to emulate exactly the design put forward in the patent. But anyone who understands the basics of the php/apache/mysql/linux stack know that 98% percent of what the patents cover are automatically provided in the stack itself. This was already true in 1999, which was php version 3. Moreover I can list about ten ways that such a configuration is not actually the “right way to do it” but then again, no one in the patent office cares about what actually constitutes best practices or does not when they hand out a patent like this. Sadly amateur design is not what is in question… just “originality” as compared not with what people were doing publicly in the open source community at the time, but with regards to what has already been patented. I think now the patent office is a little better about seeking sources of prior art form the Open Source community, but not by much.

So does FreeMED serve as Prior Art that invalidates the BillingNetwork patent? I think so, but it does not really matter. What is important is that this gives a very specific path for Open Source projects to be immune from attack by this particular Patent Troll. It means that all of the plans that FreeMed made are a safe harbor. As long as we do it in the way that FreeMED was  there is no way that the BillingNetwork “protection” can impact you.

Defensive Patents

Several people in our community have started to consider defensive patents. There seem to be two approaches to this issue. Patent Pools and more recently Defensive Patent Licensing.

Both of these rely on some basic assumptions. If Open Source projects will apply for and get patents for the designs that they use, then they will be able to for the patent office to acknowledge that the methods they use are “innovative”. You might have the patent office reject parts of your patent because they were “obvious”. Showing that your merely implement your own patented method or something that is “obvious”, is one of the few novel defenses against someone who is is attacking with patents but does not have any real business of their own. The pooling method is also a good idea for defense against big businesses with patents. When several projects have patents, and are willing to pool them against people who sue for patent infringement. The “sue you back” tactic would only work against companies with software patents who are actually in business. But “sue you back” does help to defend the community against one kind of patent attack. But “sue you back” is ineffective against patent trolls, who very often have no business at all, so they do not “infringe” on any ideas that might be an Open Source Patent Pool, because they are not “doing” anything at all. This is the reason why I think “We use our own patented designs or obvious designs” might be a good avenue to pursue.

It is deeply frustrating that the Open Source community would need to patent ideas in order to ensure that they could be freely available without charge to users and developers. However, at this point I am simply at a lose as to how to proceed. I am considering pursuing defensive patent strategies like this, and I know that other are too.

Patents frustrate Open Source developers

Hope this helps people to understand why we resent software patents in Open Source. At every turn in this story, my time was taken up, not defending a legitimate claim of patent infringement, but simply jumping through the hoops that some group who had a “related” patent thought I owed them. As far as I can tell, from a non-lawyers understanding of patent law combined with a working knowledge of building web applications, I was utterly, extremely, completely, excessively, non-trivially and enthusiastically -not- infringing the Billing Network patent. But Billing Network made it abundantly clear, even after we told them that I was not infringing, that I should still pay them a toll, because that what a Troll will always say to anyone who wants it to go away. I guess it could be worse; they could have been threatening to go after my knee-caps with a baseball bat.

Joking aside…

If original, innovative Open Source health information software is in the best interests of society, then software patents, as currently implemented  are a serious problem.

-FT

Update 12-01-10: It turns out that someone decided to go toe to toe with BillingNetwork and apparently won. HorizonMIS announced dismissal of a Patent Infringement suit brought against it by BillingNetwork. Bob Bortz called this to my attention and offered to share his experiences with others attacked by BillingNetwork, you should be able to get a hold of him through the contact information at the bottom of the press release.

On Internet Marketing

Recently I have had several people who have asked me for advice and council on how to do Internet Marketing. It looks like my day job is considering taking the plunge as well. As a blogger, I know an opportunity to kill two birds with one blog post when I see one. So here are my thoughts on Internet Marketing in the age of social media.

Some context

First, a little history. It used to be that Internet Marketing was all about communicating effectively with a web site and email communications.

For a website, the general advice was that you wanted it to be important in Google’s eyes, essentially the process of SEO. You wanted to make sure that your domain name was easy to type, and easy to spell. You wanted to make sure that your users could find what they wanted on your web site. A website needs great analytics tools so that you can track how your web site is being used.

For email communications you had to decide if you wanted to have only an outgoing email campaign (broadcast only), or a mailing list (communication between everyone). If you wanted and email campaign you wanted to make sure that you had beautiful html emails that degraded gracefully into text emails. You needed to be sure that your html emails worked in the most common mail clients (harder than it sounds). For a mailing list you wanted to make sure that no one was added by mistake, and that no one was spamming people through your list.

Anyone who knows about these types of marketing systems can tell that I am barely scratching the surface on these issues. Moreover, it is also clear that while so-called “Social Media” has become really important, these older modes of communication are not less important, they are just… older.

So that is the backdrop, in brief, for the Social Media revolution. What is the big deal about Social Media? Way out of scope for this post, but I will inline probably the best video proving the point that I have seen. If you have not seen it, then watch it. If you have, then you probably already know why Social Media is a big deal.

The question posed at the beginning of this video is “Is it a fad or is it a revolution?” As is often the case to questions like that, the answer is “Yes”. Social media has lots and lots of people connecting meaningfully with lots and lots of people, but that does not mean that you will be able to get your message across using Social Media. All it means is that there are people there. Its a lot like Lubbock, Texas. For whatever reason, there are hundreds of thousands of people living in what appears to be a desert. Why would you want to live there? Because there are hundreds of thousands of people there. There is probably a reason why the original people made that city, but no one moves there now because of scenery, they move there because there are already people living there. This is much different than something like Las Vegas. Its a city in the desert that was built specifically so gambling could be legal. That is why people moved there. (I also do not understand Phoenix…)

So the next question is “What is your message?”

Your Message

Social Media people often “sell” Social Media as “the new business requirement”. They say things like “You have to be on Facebook” or “You need to have a Twitter account”. But that is really not the first question. The first question is “What is your message?”. Unless you can define your message, clearly, in a sentence or two then nothing else I am going to say is going to make sense. For fun, and because we are going to talk about Twitter soon, see if you can put your message into 140 characters. That is basically two short sentences or one really long one. Its OK if you need to go over a little, but if you need to have four or five 140 character blocks then that should be insight that you have more than one message. That is OK, but you need to recognize that you might need to follow significantly different strategies for each of your different messages.

So do you have your message(s) in your head? OK then.

Impact

To make an impact you have to learn to use the Internet Marketing tools well and then you have to apply them in  meaningful way. This is a lot like a carpenter’s toolbelt or a musician’s set of instruments. First you have to master the tool and understand the deep implications that subtle details of each  given tool. Just because a tool is a type of hammer does not mean you can use it do mount photos (imagine using a sledgehammer to tap a nail into drywall). Just because it is an instrument does not mean that you will fit in with a given band (imagine bringing a tuba into a rock band). The first level of tool mastery is understanding how to use the right tool for the right job. the second stage of mastery is knowing when to ignore what you learned in the first phase (for instance, Ska is a movement, within rock music, to embrace brass instruments).

Note that true mastery of a tool is being able to use the tool to do something else amazing. When Michelangelo was painting the ceiling… there were thousands of painters who knew how to use a paintbrush as carefully as he did. But they were probably painting signs, or the sides of barns. The ability to use the paintbrush is only the first step towards being Michelangelo.

This should sound obvious. But here is how I think this basic tool mastery is playing out in Internet marketing.

Phases of Online Marketing Tool Use
Phases of Online Marketing Tool Use

OK, so what does these phases mean? First I should admit that I was inspired to make this chart by two different sources, one is Meatball Sundae: Is Your Marketing out of Sync? By Seth Godin. The other is a blog post entitled: The multiple phases of social media integration which is where I borrowed my three phases ( of course as a computer scientist, I must count from zero).

  • 0 level is nothing.. If you read this article and go “What is Facebook?” or “What is Twitter?” then this level is where you are. No problem, I will try and help you out with lots of good links.
  • 1 Level is using the Internet as a megaphone. This is when you treat your web site, Facebook page, Twitter account or whatever as a mass media device. You use it the same way people use radio, TV or newspapers: to send messages out to lots of people all at once.
  • 2 Level is to use the Internet as a camp fire. When you sit around a campfire and talk, it shifts between you speaking to the group (like a megaphone) and the group speaking to you, one at a time. The group also speaks about you, in front of you. It enables public conversation in lots of different directions. In real life campfires are a great time and place to do this, because the typical night-time acoustics allow for a large group (10 to 30 people even) to participate in a single conversation. But this does not scale. The whole point of Social Medial is that you can have a campfire chat with hundreds, thousand or even millions of people all at once.
  • The third level represents full tool mastery. But this does not automatically mean that you get to paint the Sistine chapel. It just means you know how to use the tool.
  • 3a is named after Blendtech, a company who has successfully used Social Media to create a Sistine chapel (more in a moment).
  • 3b is someone who is using the tools well, to do OK things, but is not doing anything truly meaningful. This would be like the painters who during 1512 were painting portraits or landscapes and are today forgotten. But they made a good living and their customers were happy.
  • 3c is like someone who was drawing graffitti on the walls in 1512. No matter how pretty an picture, painted at night on barn might be, in the morning it will be whitewashed. The skill is irrelevant, it is a matter of message and medium match up.

Obviously, what everyone wants is to make an impact with their marketing. To leave people with a message burned into their minds, and happy that it happened. Once people see the Sistine chapel (on my bucket list) they will never never think about it the same way, and they will never forget the experience.

Is this possible with Internet Marketing? Yes. I will give you two examples.

First, if you have bought a book recently online and you immediately typed in Amazon.com then you have experienced this effect. The word “Amazon” has nothing to do with books. Yet when you want to buy a book on the Internet you probably go there automatically. Why? Because you have had a Sistine Chapel- style experience there and you will always remember it. Note that this is a great example of a company that was able to achieve this with just a website and without any kind of Social Media. Ebay and Google are other good examples.

Rather than just talk about the second example I will show you. Blendtech is a company that makes really good blenders. That is their message. That is what they want burned into your brain. After you watch the following videos, you will always remember that Blendtech is a company that makes really good blenders. You will be unable to remember the name of any other blender manufacturer, but you will never again think about where you would get a really good blender…   if you needed a really good blender.  Please watch the following two episodes of “Will it Blend”.

What is a Meatball Sundae?

Its two things that are great by themselves but still do not go together. Meatballs and Whipped Cream/Chocolate. This is the worst case scenario for Internet Marketing efforts. This is what happens when you fail to recognize that Internet Marketing and/or Social Media (two terms for the same things nowadays) really does change things deeply in in your industry, but you are unwilling to make the fundamental changes needed to make the leap.

This is actually a fundamental mistake that happens often in Health IT, which is what I like to call “Technology as Paint”. The basic notion is that technology can be liberally applied to make any existing thing better. This is the way you use paint. My wife and I recently bought a desk for $35. It was banged up and looked awful. We painted it. Now it looks like it cost $350. Paint is awesome like that!

But technology is not paint. You cannot take something that works without technology, merely make it “online” or “computerized” and assume that it will be better than the original system. the cardinal example of that in health IT is the we- are- going- to- computerize- the- dumb- doctors. Here is how the plan unfolds:

Doctor: “Hey business man, I want you to computerize me.”

Business Man: “That’s great! I have my favorite coder here with me, and we can help.”

Coder: “I can easily computerize you! I just did it for a Gas Station last week! No more paper forms at the Gas Station!! All I need to do is see all of your paper forms, and then I will computerize you by making computer versions of those forms.”

Doctor: “OK, here are the ten forms I regularly use.”

Coder: “OK I will be back in a week with your computer system built!!”

Five years pass…

Coder: “The system is almost ready, I have just finally got the ontology mapping tool together, you can go live next week!!”

Doctor: “You are fired. You have been charging me for five years to code and you have nothing to show for it. I still have to use paper because your system does not even to 10% of what the paper system does. Now I have five years worth of data in both paper and electronic records, and I can no longer afford to maintain the electronic system. I am sooo screwed, but at least I am going to stop paying you!”

This happens again and again and again in Health IT because so many technologist view technology as paint: Standard technology, liberally applied, solves all problems.

Seth Godin’s book is really required reading. It details, very explicitly how Social Media is not technology paint for marketing purposes. Any good summary of his points will show that you have to figure out if, and when your message is right for the Internet Medium in question. So when you hire someone to help you with Social Media, and they fail to show you how a given Social Media platform is good for your message, then they have failed. A pretty good idea of when you are getting bad advice here is that they are recommending that you go with the usual suspects. If they say: “you should be on Youtube, Twitter and Facebook” without discussing how your message will play in those environments, then you need to take a step back.

It would be much better for you to do what Blendtech did, which is to find the one medium that allows you to create a super-compelling version of your message, and make that medium into the “Sun” in your marketing “Solar System”. Sure Blendtech uses Twitter, and Facebook, but they do that to funnel people to their awesome videos, which in turn funnel people into buying an awesome blender.

Social Media Strategy as a Solar System
Social Media Strategy as a Solar System

Message and Medium as a Solar System

What follows is a little more conjecture. I am pretty darn sure about the notions I have explained above. But without dealing with a specific message, it is difficult to know what the right center-of-gravity medium might be. But still here are some guidelines that make sense to me:

  • If your idea is best communicated in pictures, try Flickr or Picasa. They have really advanced tools that allow you to view a series of constantly updated photos as a steadm on another site. A big hint when using pictures is that pictures with people in them are almost always more interesting then pictures without people. You can make both Twitter and Facebook, and plain old web-page follow those photo streams. You might want to use Flickr/Picasa as the centre of gravity if before and after photos are more compelling than a video, for instance. Lots of people have made this approach work.
  • If your points make sense as really short catch-phrases or have a very important real-time component, then Twitter or Identi.ca might be for you (Identi.ca is a more freedom/less popular version of Twitter). Shit My Dad Says, which is now a television show and a book (pretty good planets!!) is a good example of the catch-phrase style Twitter feed. In Portland there are some food carts that you can only find by following them on twitter. Note that you easily add Facebook and Google Buzz as planets merely by propagating your status updates to those platforms.
  • If you want a deeper social engagement that includes videos, text, pictures or perhaps an application that you are writing yourself, perhaps Facebook is for you. A good question to ask about Facebook is “Am I anything like Farmville?” Again you can easily make Facebook updates propagate across the other platforms.
  • If you are trying to make a series of arguments that require carefully constructed arguments, then you need a blog. This gives you the ability to tie in all kinds of other content (like I did with Youtube videos here) to make very specific and complex points. But if you make enough of these points, then perhaps you are really slowly writing a book, and you should consider self-publishing it on CreateSpace or Lulu.
  • If you have already written a book, perhaps you need to split apart into a blog.
  • Videos can be tremendously engaging and personal. If you have a story to tell, a parable of some kind, then this is the right medium. Even just a camera, pointed at you can be very very compelling if your story is good enough. You should be looking into Youtube, which is the king of the space, but also perhaps screencast.com if you want to show films of computer programs, or some other site if you have other specific video hosting requirements. Again, you can turn your video feed into facebook, twitter, identi.ca, and Google Buzz integration.
  • If for some reason your content would work really really well next to gmail, you might look at Google Buzz.
  • If you want to create complex person to person engagement between lots of people around a particular topic that they have a high level of interest in, then I would consider either email mailing lists, or online forums, or something like Google Groups, which is a pretty good fusion of both. Getting the “full message” in your email Inbox is pretty valuable.
  • If you want to have things showing up in email Inboxes, but do not want to enable communication between the recipients then you probably want an email broadcasting service like MailChimp.
  • If you want to engage with professionals of one kind of another Linked in is where you should start.
  • If you want to generate written content, you need a Wiki.
  • Face to face Events can now be deeply connected into the Internet. I like using eventbrite to schedule things like conferences, I like meetup.com for regular meetings, and when a meeting is really important, it should be live streamed with something like livestream.com.
  • Sometimes, what you need is a simulated three dimensional space. Frankly I have trouble understanding when this is a good thing… but if you see it is valuable you want to use Second Life.
  • If you want a Facebook style social network that you control you want Ning.
  • If you want full control, including source code for your social network, then you want one of these.
  • If you have a health IT application that needs to interface with Doctors socially, then you want to work with Sermo.com

I hope this is helpful to people that I am trying to counsel on Social Media. Its not just about using it, its about finding a way to use it in a compelling way!

-FT

You might be a cyborg….

People often do not get why I am so convinced that only GPL Software should be used in Medicine. I can understand why. Without understanding the nature of Healthcare, people assume that I am being religious about the issue. This is the furthest thing from the truth.

It has been a while since I have blogged over at GPLMedicine.org. In fact you can see that I still have some site maintenance to do. But recently more attention has been given to the issue of Open Source and Software Freedom in medicine.

The Software Freedom Law Center has just released a paper called Killed by Code: Software Transparency in Implantable Medical Devices

Awesome title. Even more awesome paper.

The form of the argument is so simple:

  1. Hey you are putting hardware AND software in my body? yep.
  2. I cannot look at the software? nope.
  3. And the software is hackable? yep.
  4. Well that kinda sucks.

Feels kinda icky don’t it?

One thing I love about people with pacemakers or other implantable medical devices, is that they know they are cyborgs. Most people living in modern countries are cyborgs, but unlike people with pacemakers, they do not see it that way, because they carry their electronics, rather than implanting them. Makes no difference. In fact lets play a variant of “You might be a redneck“: I call it “You might be a cyborg..”;

  • If you leave your cell phone at home, and you -must- to leave work to go home and get it, you might be a cyborg.
  • If you will sleep through the morning unless a machine wakes you up, you might be a cyborg.
  • If your spouse is jealous of your cell phone, tablet, laptop, server or workstation, you might be a cyborg
  • If not wearing a watch makes you uneasy, you might be a cyborg
  • If you view any relationship you have with an online service as an addiction, you might be a cyborg
  • If you try to avoid walking more than 100ft in favor of a segway, bicycle, golf cart, or automobile, you might be a cyborg
  • If you try to avoid walking more than 100ft in favor of a lawn mower, you might be a cyborg and a redneck

Our relationship with technology is becoming more and more personal, and the operating system to your mobile phone, the software your medical devices uses and the EHR system that your doctor uses to track your health information make software freedom ethical issues into personal freedom ethical issues.

Today, its people with pacemakers, but tomorrow, there will things that people consider normal to do with their own bodies that will either use software that the user controls, or software that some random company controls.

Thanks to the Software Freedom Law Center, for helping to make this issue more personal.

-FT

Funambol in healthcare

One of the things that I love about conferences like OSCON is that you met people who are doing really interesting things coming out of left field. I often feel like I “know everyone” in Open Source healthcare, but every time I hear about something like this I am reminded just how big the world is. People are reworking Open Source tools to work in healthcare all the time!

The most recent example is from the Funambol project. That project is made to sync cell phone data, like calendars and contacts. But the Funambol teleport project instead uses the stack to move healthcare data around. I would go into detail, but there is no need, since Simona does a much better job:

OpenStack and Software Freedom in Healthcare IT

As clinicians, doctors and other healthcare providers are the stewards of their patients data. But what happens when they lose control over that healthcare data? Most people focus on what happens when that private data becomes too available. But far more commonly healthcare data becomes trapped. Far too often, it becomes buried in one way or another, lost forever and useless to patients.

I am probably the most vocal proponent of the notion that software freedom, the heart and soul of the Open Source movement is the only way to do healthcare software. Over that time I have tried to highlight the threat posed by vendor lock-in with healthcare software. But “vendor-lock” is not the only way that healthcare data can become buried. Ignacio Valdes was the first to make this case clearly against ASP healthcare solutions with his post about how Browser Based EMR’s Threaten Software Freedom . That was written in 2007.

So you can imagine the types of concerns Ignacio and I had as we built Astronaut Shuttle (very much beta) together. Ignacio had the VistA EHR chops and I had enough cloud experience to create the first-ever cloud based EHR offering. Its a simple system, you can use a simplified web interface to launch cloud-based instances of an EHR. The main difference between this kind of web interface, and something like RightScale, is that the launching system performed whole-disk encryption, allowing you to ensure that Amazon could not access your healthcare data. As far as I know, no one else has built anything like this but us (love to hear otherwise in comments).

Why are we some of the few people trying things like this? For one thing , encryption is pretty difficult to do in the cloud,  there are lots of approaches and it is pretty easy to brick a cloud instance with an improper encryption configuration.

But more importantly, there is a perception that storing private healthcare data in the cloud is a bad idea, dangerous because it meant putting all of your eggs in one basket.

Given how concerned Ignacio and I were about vendor lock, and ASP lock, you can imagine our feelings about cloud lock. We had to be sure that our customers, doctors and other clinicians, would be able to restore linux images containing precious EHR data off-site using off-site backups.

When we looked out across the available cloud options we decided to implement our service using Amazons ec2 service, specifically because of  Eucalyptus an open source implementation of the Amazon cloud hosting infrastructure.

However, we have been deeply concerned about this approach. Currently, you might say that Amazon has a “friendly” relationship with Eucalyptus, which of course means that Amazon has not crushed it like an itty-bitty bug. For Amazon, being able to point out that there were FOSS implementations available made it easier for ec2 to acquire certain customers. At the same time by refusing to treat the ec2 and other AWS api’s as open standards, or to specifically state they would not sue an open source implementation of their API, Amazon could always ensure that Eucalyptus would never be a threat.

“What a minute!” you might say… “Amazon is a Linux-friendly company! They would -never- betray the community by going after Eucalyptus…”

I think the Open Source community needs to wake up to corporations whose basic legal stance towards Open Source projects is to leave open the “smash if they succeed” option.

IBM has been a “friend” to the community for years. IBM even promised not to use specific software patents against us. They assured us that they are not a threat. But then they broke that promise. The broke it because someone in the community decided to implement software that threatened to break their monopoly on mainframe implementations. IBM turned on our community just as soon as our freedom started to threaten their bottom line. You are kidding yourself if you think Amazon will lose a billion dollars to Eucalytpus without reacting. Amazon has been very aggressive in acquiring software patents and will use them if Open Source implementations ever really get good.

I think Eucalytpus is an awesome project but it lives at the whim of a corporation who tolerates it precisely because it is not a business threat.

It was with great trepidation that Ignacio and I built a health data infrastructure that we knew relied on the whim of a really big bookstore. (When you say it like that… you can see the problem more clearly)

With that said, I am happy to support and endorse the new OpenStack project. OpenStack is a move by Rackspace Cloud, the number one competitor to Amazon, to completely Open Source their cloud infrastructure. They will be releasing this work under the Apache license.

Open Source license are the only trust currency that I, as health software developer, can trust to ensure that no one can ever trap health data with software that I have recommended. “Probably won’t trap” or “Open Source friendly” simply do not cut it after IBM. Simply put, a full Open Source release is the most extreme thing that Rackspace can do to win my trust in their cloud infrastructure.

I have also been discussing with the Rackspace team about the importance of building in support for cloud-initiated-encryption and cloud audit (thanks for the tip samj)  into Open Stack.  These are must-have features to make healthcare data in the could a viable option.

As soon as we have the dev cycles available, we will be moving Astronaut Shuttle over to the Rackspace Cloud. I invite anyone who gives a damn about Software Freedom, or health information software generally, to follow us over.

-FT