A (Brief) Guide to Cease and Desists for Indie Developers

Before we go any further, the lawyers are making me post this part first: The following post is from my experience as a developer and I am in no way trained as a lawyer. Do not construe any of the following as legal advice. If you are in need of legal advice, consult a lawyer.

Ok, now to the post.

I have been developing apps for the iOS App Store since 2008 and as a result, I have many battle scars to show for my efforts. Unfortunately, the worst of these scars tend to come from lawyers. One particular blunt instrument that lawyers like to use is something called a Cease and Desist. These are very scary messages that are usually delivered via email but can often come in snail mail.

Over the years, I have received at least 10 different Cease and Desists (including one from the infamous Doodlegate debacle) and have learned quite a bit along the way. Some of what I have learned has been from actual lawyers, and some from the good old school of hard knocks. My intent here is to share a little of what I have learned because at the end of the day, this stuff sucks and we’d much rather be dealing with bugs than lawyers.

To start with, here is an example of one that I received last year:

I am legal counsel at [REDACTED] and represent the authorized of the rights infringed by the apps described.

[REDACTED] is the registered owner of both the [REDACTED] (and its French equivalent, [REDACTED]) and [REDACTED] Design trade-marks in Canada.  As such, it has the exclusive right to their use. 

When the trade-mark [REDACTED] is used as a search term in the Canadian iTunes store, not only does our App appear, but the Apps of a number of other individuals/companies. 

We would ask that individuals be prevented from using the [REDACTED] trade-mark as a “key word”, as this constitutes trade-mark infringement and could be the reason why other Apps are appearing when the trade-mark [REDACTED] is used a search term.  

[REDACTED] can not tolerate, these individuals/companies benefitting from the tremendous goodwill associated with these marks.

Most Cease and Desists follow a form similar to this. The entity that has protection for their intellectual property sends a sternly written message informing you that you need to fix/remove/change something. However frightening this might sound, a Cease and Desist is not the same as a lawsuit. You are not being sued. You are simply being informed that you need to make a change in accordance with someone else’s real or perceived protection of their intellectual property. So, what should you do? Here are a few things that I have learned along the way:

1. Don’t panic. Despite the fact that these messages intentionally sound scary, you don’t need to be afraid. In the example above, phrases like “infringement” and “can not tolerate” make it sound like these folks mean business and are prepared to bring down the hammer of justice. But if you look more closely, you will see that usually these messages are form letters. Notice that nothing mentions the name of my company or even my name. In fact, there is really nothing of substance in the email. (We’ll come back to that in a bit.)

2. Be polite and professional in your communication, but do not apologize or acknowledge fault. Just because you receive a C&D, it is still the responsibility of the claimant to show that you are at fault. Yes, you ultimately may be required to make a change but there are several things that need to be established first. Being polite and professional will go a long way in these types of issues. Additionally, do not immediately remove your app for sale or whatever it is they are requesting that you do. Doing so at this point would be acting with incomplete information, which leads to the third point.

3. Ask for additional information. There are a variety of reasons to do this. The first is to signal that you have received their request and are acting in good faith. This is also to flag the fact that their claim is incomplete. As I pointed out, the above C&D is almost completely devoid of meaningful information. Here was my response to the C&D above:

Hello Ms. [REDACTED],

Would you please send either a scanned copy of proof of your trademark or send via postal service a hardcopy that clearly shows when the trademark was issued and under what jurisdiction it applies and we will be happy to comply.

Sincerely,

Jonathan Hays

An excellent action is to ask for actual documentation of the patent, trademark or copyright. A few times, I have asked for documentation only to find that what they sent had absolutely no application to my app or that they were claiming to own something that they did not. If they cannot provide proof then they have no claim. Additionally, if you received the C&D through Apple Legal, make sure to cc them on all of your discourse with the lawyer. This helps to both keep the lawyers honest but also will help keep you in good standing with Apple. (It also provides a fairly neutral third party with a paper trail).

4. Once you receive the documentation, the next step is to actually read it. This can be fairly dry reading, but I assure you that it is worth it and that it is no less obtuse than technical documentation on the latest APIs. For example, many patents have multiple claims in them. A great thing to do is to ask for clarification regarding which claims they are actually citing against you. This is especially important if the C&D you received was a form letter because it means that your company was collected in some large data sweep without anyone actually taking the time to look at your App. As with any bulk data collection, there can be errors. At this point, you may or may not want to consult a lawyer on your side, however it is certainly fine to make the people that sent you a C&D actually do their jobs by asking for more information. Here is how I responded once I received the documentation:

Hello Ms. [REDACTED],

Thank you for your reply.  Apple has asked us to make sure to include them in all exchanges and you did not include them on this so I am re-adding them.  That being said, I have a few questions that you have not yet addressed:

  1. I am trying to make sure that I fully understand which of the services you are describing is in conflict to make sure that we are in full compliance.  To be clear, I am asking [REDACTED] to explain which of the wares and services that [REDACTED] falls within. The services that are listed include SMS, printed publications, business directories, and Internet websites.  [REDACTED] is none of those so I am seeking clarification of your claims. Also, as you acknowledged in your email below, at least one of the documents that was sent over do not apply so obviously there is some confusion for [REDACTED].  I am simply seeking verification that a mistake has not been made by [REDACTED].
  2. I need to understand your claim that [REDACTED] is infringing within the application description because that is not accurate as nowhere in the application description does the word [REDACTED] or [REDACTED] occur.
  3. I asked previously if you are claiming IP protection only for sale within Canada.  I have yet to receive a response.

Thank you,

-Jonathan Hays

5. Verify jurisdiction. Make sure that you understand where in the world they have permission to enforce their claim. The App Store is a global marketplace and unless they have protection for their claim in every country that you sell, you are only compelled to comply in the corresponding markets.

Good morning Jonathan, 

Yes, we are solely claiming IP protection for sale within Canada. In Canada, [REDACTED] has a registered trade-mark for [REDACTED], and the [REDACTED] & Design.  Under Canadian legislation this affords [REDACTED] with the sole and exclusive right to make use of the trade-marks in Canada and prevents any third party from making use of it in any context without [REDACTED]’s explicit permission even if the wares and services description is different.
 
In making use of [REDACTED]’s trade-marks in the description and logos of your app, you are creating an association between our respective entities that will confuse consumers and lead them to believe we are somehow related.  Unfortunately, this is contrary to Canadian Trade-mark legislation.  As such, we would ask that you cease making use of the trade-marks in the description and logos of your apps, or cease distribution of the apps in the Canadian iTunes store.
 
Best regards
So in this particular case, the IP owner only had protection for their claims in Canada and therefore only sales in the Canadian App Store were in question. Ultimately, I resolved the issue by simply removing it for sale in Canada and the app continues to garner downloads in all of the other App Stores. If I had not asked their lawyer to clarify the claimed jurisdiction, I might have lost out on continued revenue in the other countries for absolutely no reason.
As developers we generally avoid conflict. All things being equal, we prefer to make things. However, when we make things that we sell commercially, we often have to deal with lawyers and Cease and Desist requests. Always remember that these are requests, not legally binding demands. If/when you receive a C&D, do your due diligence. Be calm. Take measured steps. If all else fails, keep in mind that every time you send a request back to the lawyer on the other side of the C&D you are incurring billable hours to whomever is requesting the Cease and Desist. It’s only seems fair that if you’re going to lose time and money, that they be willing to do the work to back it up.

First Musings on WWDC 2014

I’m writing this sitting in the San Francisco airport waiting for my return flight after a great week at Apple’s annual developer conference. It’s been an amazing week and I’m still processing a lot of what I experienced. First off, let me say that I believe that WWDC 2014 will be considered a turning point when viewed in retrospect. As a developer, I am absolutely giddy with all of the possibilities that Apple has opened up with their announcements. There is a stark contrast between last year’s developer conference and this year’s conference. At the end of last year, I was thinking about all of the things that I HAD to do with iOS 7. With iOS 8, I am absolutely bubbling with ideas of things that I GET to do. iOS 8 is going to be a big deal. From HealthKit to HomeKit to Extensions to CloudKit, Apple has paved the way for some amazing things to be built.

And then there is Swift. Swift has taken my excitement about the new frameworks and cranked it to 11. Not only has Apple provided a sorely needed modern language to the platform, they have delivered it complete with a fantastic toolset. Clearly this has been in the works for a very long time. Swift development reminds me of the early days when I was first learning to program. Back in those ancient days, you simply turned on your computer and started typing. Swift very much has the same feel to it. In fact, I actually plan to have my 9 year old son sit down with me and learn it together.

This is big stuff. I am still processing a lot of what I have seen and learned and will post more as I unravel it. I think this is going to be a great year to be an iOS and Mac developer!

SilverPine Software and Photos+

“Leap and the net will appear.”

-John Burroghs

Growing up, my father was a serial entrepreneur. I watched him go from business to business, sometimes with success, but often without. Among my memories of his many businesses are not one, but two Oregon perfume companies (“The Oregon Perfume Company” and “Oregon Scents”). Though I have always been fascinated and frightened of owning my own business, I think I’ve always known that I’ve had it in my blood.

With that as the backdrop, I am thrilled to publicly announce the launch of my company SilverPine Software. Based in beautiful Portland, Oregon, SilverPine is primarily a consulting business focused on helping companies bring their mobile software to life.  It hasn’t been easy getting to this point, and I would be lying if I said I wasn’t worried about where we’ll be after a year or two. However, we have worked very hard to bootstrap this business and feel like the time is right to take the wraps off.

In addition to consulting, we intend to slowly grow a portfolio of software. To that end, we are announcing today that we have purchased Photos+ from Second Gear Software. We have quite a bit of expertise with photo Apps (see Sunlit, among others) and when Justin Williams approached me about purchasing it from him, it felt like a great fit. We have big plans for Photos+ and have already put into motion the first phase of those plans: native Dropbox integration! Photos+ 1.1 is live on the App Store now so go check it out. As we roll out the next phases of the Photos+ roadmap, you will be glad that you got in early!

New company, new software, new hopes and fears. In the end though, I’m pretty excited about what’s happening. Stay tuned for more news as the leap towards the net continues!

Free Code!

For Sunlit 1.1 we decided to expand the import capabilities to include both Flickr and Instagram photos. One of my challenges in developing the interfaces was to simplify down the various functions available from Flickr and Instagram’s APIs and to try and provide a somewhat consistent interface across the two services for the app despite their differences. Writing this code was no mean feat for me as I had to implement OAuth not once, but twice because Flickr and Instagram use slightly different variations so I couldn’t simply reuse the code across the two classes.

By the time I was done, I was relatively happy with the interface I had created, and in the spirit of openness and sharing with the community in which I develop, I have decided publish the source for querying and requesting data from both these services in my open source toolbox code. Affectionately named UUFlickr and UUInstagram, the classes are relatively simple to use, and you should be able to get you up and running quickly. The only moderately tricky part is updating your app to handle the URL callback mechanisms required by the OAuth implementations. I had fun developing this code, and hopefully someone will find this useful. If you’re interested in using it in your project but need a little help, feel free to ping me and I’ll see if we can’t figure it out.

Enjoy!

What the Flappy Bird Knows

The strange case of Flappy Bird seems to be all over the Internet right now. If you’re unfamiliar with the app, take a moment to educate yourself. Reading comments from its creator, it’s clear that the developer did nothing to promote his app, and obviously had no idea that the wave of success was coming his way. Anyone with a discerning eye that plays the game will also come away confused because quite bluntly, there’s nothing noteworthy here. Instead, what you see is a bizarre case of mob mentality charging through the App Store, and ultimately, I feel sorry for him. However, what concerns me most about this situation is that it highlights all the things that are wrong with the App Store and the most troubling aspects being that these two things have now become the accepted norm:

  1. The App Store is viewed as developer hostile
  2. Success on the App Store is more or less a lottery ticket.

The App Store is Apple’s ace-in-the-hole advantage in the Smart Phone platform wars and it should do everything it can to protect that advantage. As a case in point, I recently tried carrying a WindowsPhone for a week (more about that in a different post) and I found the device quite pleasing overall, but ultimately I couldn’t get past the lack of essential third party apps. This is Apple’s huge advantage, and as a platform, it is in Apple’s best interests to treat the App Store as a meritocracy where the best of the best rise to the top. Right now, that isn’t happening. I really hope that someone at Apple is paying attention.

Apple’s Next Love

Apple’s next product is going to be a smart band. Not a smart watch; a smart band. The difference is subtle, but significant: a smart watch implies that the device’s input is chiefly on its face and that its primary job is to display information to the wearer. As a long time smart band wearer, I can tell you that a smart band very rarely displays information and is much more important as an information collector, and this is where it gets interesting: Apple’s next product is going to convince you to put a device in direct contact with your skin. If they succeed in convincing you the things that can be done are limited only by the complexity of its sensors: heart rate sensors, respiration sensors, temperature sensors, vasculature visualization, non-invasive glucose monitoring, and more. This also falls in line with some of Apple’s recent hires: Roy J.E.M Raymann, Michael O’Reilly M.D., Nancy Dougherty, Ravi Narashimanetc. This has the potential to radically change healthcare in our world. Apple’s new device could revolutionize how we think about detection and prevention, and if you ask any medical expert they will tell you that prevention and detection is orders of magnitude more important than treatment.

Manton Reece thinks that Apple needs to fall in love with their next product category, and I think he’s right, but I actually think that Apple has fallen in love with its next product which is exactly why it hasn’t launched yet. One of the problems with being in love with something that you’re developing is knowing when to ship 1.0. It needs to be right. It needs to be perfect. I have a feeling, though, that they’re getting close, and when they do finally announce it, we’re going to be amazed.

The Schemes of Sunlit

One of the things that we established early on as a core principle for Sunlit was that we wanted to make sure we were focused on story telling and the sharing of stories and not on things on the periphery. Many times during development, we were tempted to create an über-camera or a whiz-bang photo editor, however the App Store is full of other apps that do these things and do them well. We do include a fairly simple camera in the app as well as some beautiful filters that can be applied, but what we really envisioned was people using either the built in camera app or a great third party app (such as Favd) to take their photos and then create a story with Sunlit using the pictures they had already taken.

To us, the true beauty of Sunlit is how it pulls together the value created from other platforms (App.net, Dropbox, Ohai, etc.) and creates something that combines all those things into something that is somehow more moving than any of them alone. To that end, it was important that we provide a way for Sunlit to fit into this evolving macro-system because we recognize that the best apps and the best user experiences come when things work cohesively. We are always re-evaluating how we can do this best, but I am very happy that Sunlit launched with 1.0 support for a number of URL schemes, including support for the x-callback specification. We also have a number of actions that can be invoked externally to allow other apps to extend support for Sunlit into the activities that they do well. The URL schemes are documented here and are updated as we add support for other actions. If you are interested in adding support for any of these and need assistance, feel free to shoot me a message on ADN (@cheesemaker) or post your question in the Sunlit Glassboard Forum (invite code SUNLIT) or just shoot an email to support@riverfold.com

Now go build something great!

Competitive Disappointment

As we approach the impending Superbowl featuring the Pacific Northwest’s very own Seattle Seahawks, I felt it appropriate to explain why I am not at all excited about anything other than the commercials. You see, if you grew up in the Pacific Northwest and you are a sports fan of any kind, then you are familiar with a pattern of sports teams that excel in the regular season only to fall apart when it matters. I’m sure that somehow this has seeped into my psyche in ways that I don’t recognize. Lest you think I exaggerate, I leave the following for your consideration:

  • 1986 – Portland Trailblazers use #2 draft pick to select Sam Bowie, passing over a rookie Michael Jordan
  • 1989 – Gary Payton and OSU appear on the cover of Sports Illustrated as the #1 team in the country. They stay in the top 10 all year, but fall to Ball State in the first round of the NCAA tournament. (BALL STATE! I don’t even know where Ball State is!!!)
  • 1990 – Portland Trailblazers lose to the Detroit Pistons in the NBA championship.
  • 1992 – Portland Trailblazers lose to the Chicago Bulls in the championship despite being up by 15 in the fourth quarter with Michael Jordan on the bench. (See here)
  • 1994- Seattle Supersonics hold league best regular seaon record with 63-19, but lose in the first round to the Denver Nuggets
  • 1996 – Seattle Supersonics set franchise record with 64 wins and advance to the NBA championship series, only to lose to the Chicago Bulls in six games.
  • 2000 – Portland Trailblazers are up by 15 in the fourth quarter in game 7 of the Western Conference finals but fail to score and give the Los Angeles Lakers the series. The Lakers go on to win the championship in 5 games. (See here)
  • 2001 – Seattle Mariners set single season win record with 116 wins, yet fall to the New York Yankees in the American League Championship, 4 games to 1.
  • 2002-2006 – University of Oregon makes five straight bowl games and loses all of them.
  • 2003 – University of Oregon men’s basketball team wins the Pac-10 championship and enter the NCAA tournament with a #8 seed, only to lose in the first round to Utah.
  • 2005 – Seattle Seahawks go 13-3 in the regular season, and appear in Super Bowl XL as heavy favorites. They go on to lose 21-10 to the #6 seed, wildcard Pittsburgh Steelers.
  • 2007 – University of Oregon football team is ranked #2 in the nation, but quarterback Dennis Dixon tears his ACL with only 3 games to go ending hopes of a national championship.
  • 2007 – Amazingly, the Portland Trailblazers repeat their gaffe from 1986 and draft Greg Oden instead of Kevin Durant. Oden misses entire first season due to injuries and is eventually waived.

Also for your consideration…

The 10 best athletes to never win a championship in the Pacific Northwest:

  1. Clyde Drexler (After a hall of fame career in Portland, won a championship only after being traded to the Houston Rockets)
  2. Steve Largent (Played 13 seasons for Seahawks, held almost every record a receiver could hold)
  3. Randy Johnson – (Never won with the Mariners in 10 seasons, but won with the Arizona Diamondbacks after being traded.)
  4. Rasheed Wallace (Won championship in Detroit the year after being traded from Portland)
  5. Gary Payton (12 seasons with the Supersonics, won championship after being traded to the Miami Heat)
  6. Scottie Pippin (Won six championships in Chicago, none in Portland despite making the NBA finals in 2000)
  7. Ray Allen (Five seasons with the Sonics. Won championship with Boston Celtics the following year after being traded.)
  8. Ken Griffey Jr. (13 time all star, #6 all time home runs leader, no championships)
  9. Alex Rodriguez (6 years with the Mariners, #5 all time home runs leader, 14 time all star)
  10. Walter Jones (9 time pro-bowl, NFL 2000s All-Decade Team, considered one of the best lineman of all time)

Honorable Mention: Cortez Kennedy(Seahawks), Shawn Kemp(Sonics), Shaun Alexander(Seahawks), Ichiro Suzuki(Mariners)

So there you have it. The Pacific Northwest has the capacity to produce fantastic sports teams and franchises, but they leave a 30 year legacy of ultimate disappointment. Am I proud of the Trailblazers and the Seahawks and the Mariners? Sure. They’re my teams. But you’ll have to excuse me if I don’t hold my breath on this whole Superbowl excitement.

Sharing About Overshare

As Manton explained on his blog, we have been working on Sunlit for a long time. During that time, I can tell you that Sunlit changed and evolved from what we originally had envisioned. However, if you listen to Core Intuition, you know that we’ve been beta’ing the app for quite a while. So, when Jared Sinclair and Justin Williams announced the Overshare Kit open source replacement for iOS UIActivityViewControllers, we had a hard decision to make. We had to decide if it was worth adding new functionality at such a late point in our development or if we could live without it.

Now, I don’t want to get into a UI/UX design war with anyone. I know that there are various, differing opinions on the look and feel of iOS 7 and I am but a humble developer. However, if you have ever implemented a custom UIActivity in iOS it is undeniable that the monochrome icons that you are forced to use look inexcusably ugly. In fact, they are so disappointingly ugly that Manton and I felt that we had no choice but to use Overshare Kit.

photo

I am proud of many things that we’ve built into Sunlit and our support for Overshare Kit is one of them. I love the iOS development community and Jared is a great guy so being able to support a project that he owns and cares about is a good feeling. We also had the opportunity to contribute directly to the project and a number of changes that we made for Sunlit made it back into the master branch. To me, this is the heart and soul of iOS development. It’s doing things with other people that share your value of quality.

If you are a developer, and you haven’t checked out Overshare Kit, you really should. It allows you to create beautiful sharing activity views. It comes with some of the most common ones out of the box (Facebook, Twitter, etc) and is fairly easy to extend. Jared is also very responsive with suggestions/fixes for things, and while it’s only been around for a few months, I can’t recommend it highly enough. Oh, and if you’re having trouble integrating it, feel free to hit me up. I’d love to see more apps using it.

Sunlit Is For Me

If you don’t like my new app Sunlit, I will still be happy. Don’t get me wrong. I hope you like Sunlit and it helps you do things with your photos and memories that you couldn’t do before, but if you don’t like it, I’ll still be happy. I’ll be happy because Sunlit is for me.

Sunlit is an app that I’ve wanted for years and I’m thrilled to finally have on my phone. One of my absolute favorite uses for Sunlit is for capturing memories from smaller events. These are events that while important, don’t tend to have the significance of a wedding or Disneyland trip so the photos often never see the light of day. With Sunlit, however, I can now do something meaningful with these photos.

Earlier this year while Sunlit was in beta, I went to a birthday party for my wife’s mother. There were about 15 people present and the celebration went on for around 2 hours. During that time, I snapped close to 60 photos of the party. Some of these photos were blurry, some of them were decent, but a few were quite good. On our drive home, I picked the best ones and created “Nana’s Birthday” story. I then used Sunlit to publish “Nana’s Birthday” and suddenly I had a story captured on a web page that I could share with my wife’s family quickly via an email or SMS message.

This is an important thing to me. Before Sunlit, these photos were just photos. The effort to take them was almost more work than it was worth because they would rarely be seen by me, let alone anyone else. With Sunlit, photos turn into memories. They turn into something beautiful that I can share and that can be appreciated and loved by the people I care about.

So, if you don’t like Sunlit, that’s ok. Sunlit is for me, but Sunlit is also for sharing so I really do hope you like it too.