Panic

Panic Blog

From the desk of Cabel
Portland, Oregon 97205

The 2014 Panic Report

XOXO photobooth

It ended with a bang.

For the last year or so, Panic was typically heads-down quiet. But as 2014 drew to a close, our furious typing came to fruition and a whole lot of magic happened. It felt great.

If you’ll indulge me, I’d like to write a little more about our business than we normally do. Why not?

Successes


So many wonderful things shipped in 2014:

Transmit iOS (1.0, 1.0.1, 1.0.2, 1.1, 1.1.1, and 1.1.2)
Transmit iOSYes, a brand new iOS app from Panic! This extremely capable iOS file transfer client is an idea we’d considered in the past but didn’t green-light until Sharing Extensions were formally announced at WWDC — bringing file transfer to other iOS apps made this idea sing. It helps that our engine had already been ported (thanks to Diet Coda), but one interesting note: from start to finish this was a three-month project. I think that’s a tremendous accomplishment given its meaty features and beautiful fit and finish. Feedback has been spectacular — from MacStories to MacUser, people love it.

Prompt 2 (2.0, 2.0.1, 2.0.2, and 2.0.3)
Prompt 2A very welcome update to our popular SSH client for iOS at last went out the door. With a new engineer focused on this project full-time, we updated the UI, added some much-requested new features, and brought Prompt into the modern era. Plus, it was the perfect candidate to help test and implement Panic Sync.

Coda 2.5 (2.5 and 2.5.1)
Coda 2.5A monumental — and free — update to our already-monumental OS X web coding app. It took too long to get out the door — I’ll say it’s no fault of the team, but rather a series of difficult decisions (that I’ll detail below) that meant a lot of wasted time followed by writing our own sync server. But we added huge features (local indexer! indentation guides! plugin improvements!) and cleaned up the UI and I think we ultimately delivered on the original promise of Coda 2.0 in a way I think our Coda customers have deeply appreciated.

Panic Sync
Panic SyncAfter lots of discussion, we decided the only way to provide a truly great sync experience for our customers was to control both sides of the equation — the server and the client. So, after a ton of research into what was available, we wrote our own. After successfully launching Panic Sync service, and its web interface, we’ve been adding it to all of our apps, with more to come. At last count, there were over 400,000 sites being synced with Panic Sync — and nearly zero downtime. I’m especially proud of the transparency on our Panic Sync webpage — no solution can be perfect or fully secure, so we thought it was best to put all of our cards on the table.

Misc
MiscEach of the app launches has meant we’ve also been continuously updating our webpages and UI to our latest style and palette, and that always feels good. We also created PunchClock, our cool open-source iBeacon project. We discontinued Unison to free up resources for the future, a difficult decision but one that most people seemed to understand. And 2014 was also the year that our video game project, Firewatch, funded by us and built by a great team in San Francisco, started full-scale production. We are extremely excited about this.

Challenges


Not everything was super easy, of course. Here are some standout difficulties.

iOS Upgrades

We decided to make Prompt 2 a brand-new app. Amazingly, customer reaction was surprisingly neutral or positive — I was prepared for a 6-foot shitstorm and there was none. Why did we charge? The market for Prompt is small, and its revenue would not wholly cover the cost of infinite future development. The only way we could afford to do a 2.0 was to charge for it. The first problem: we have no idea who bought the app, so how do we let them know? Fortunately, we planned ahead, and added our home-grown Soapbox code to all of our apps, including Prompt 1. It allows us to push out a custom web page, one time, to customers on launch, based on a variety of criteria. So we were able to alert Prompt 1 owners that Prompt 2 exists. But still, we’re sure many people dismissed it immediately, and those people will never know they’re stuck with a version of Prompt that will never be updated. There’s also the matter of when it’s too soon to charge for a new version — as we prepare some new iOS updates, we’re still debating if we want to charge for those as well. My gut says no, that full price every single time is rough, but then we’re setting the precedent that maybe not all of our major upgrades are paid upgrades, which we’ve been pretty consistent about in the past. If we could offer traditional discounted upgrades via the App Store, this paragraph wouldn’t exist. This is one area where the App Store feels like one of those novelty peanut cans with the snake inside.

Leaving the Mac App Store

We’ve well-documented our struggles with Coda 2.5, Sandboxing, and the Mac App Store — first a warning in 2012, then this year when 2.5 shipped. Apple tried their best but realistically speaking we simply would have had to cut numerous Coda features, like the Terminal, MySQL local access, editing files as root, and more. To be honest, I was pretty nervous to be pulling Coda from the Mac App Store. But when we finally did it, I felt an incredible, almost indescribable sense of relief — mostly because as we began to wrap up bug fix releases, we were able to immediately post them to our customers within minutes of qualifying them. My god. That’s how it should be. There’s just no other way to put it — that’s how you treat your customers well, by reacting quickly and having total control over your destiny. To not be beholden to someone else to do our job feels just fantastic. (Also to not pay someone 30% in exchange for frequent stress is a fine deal.)

So, how’d it go? After running the numbers, it looks like Coda’s sales have not suffered significantly since leaving the Mac App Store. 

Coda was removed from the Mac App Store in mid-October, at the same time version 2.5 was released. Since new releases always generate a short-term sales spike and we wanted the numbers to be fairly representative of “typical sales”, we looked at one month on either side  — September and November.

The results were interesting. We sold a couple hundred fewer units of Coda post-App Store removal, but revenue from it went up by about 44%.

Now, two explanations for that: in addition to keeping the 30% that would have normally gone to Apple, we also returned Coda from its sale price ($79) to its regular price ($99) alongside the release of 2.5. Even if those factors hadn’t been in play, though, I don’t think the decline in Coda revenue would have been as dramatic as we originally feared it might be.

Of course we have it easy — it’s an established app with a dedicated customer base. If Coda did not already exist or Panic was not well-known, ignoring the Mac App Store would’ve been a much harder decision with possibly larger ramifications.

App Review

The last couple of months of 2014 got classically “exciting” as Transmit iOS was suddenly flagged by the App Review team for a violation — a well-documented situation, both on our blog, and sites like Daring Fireball and MacStories. Thanks almost exclusively to these articles, we very quickly got a very nice call from a contact at Apple, and the situation reversed almost immediately. Everything ended up just fine.

But I can’t comfortably say “the system worked”. It’s still an awful and nerve-wracking feeling to know that, at any minute, we could get thrown into a quagmire of e-mails, phone calls, code removal, and sadness, just by trying to ship something cool.

There’s a little more history here than I’m letting on. We had a very long, very torturous situation with Status Board almost being pulled that we’ve never written up out of sensitivity to our relationship with Apple. I only mention it here because it proves that it is possible to fix these awkward rejection situations without Apple suffering negative PR in the public eye — we did that “offline”. But it took an absolutely massive amount of mental energy and time to work through — positively Sisyphean. I would never want to do it again — I’ve run out of patience, I guess. I can say for certain that the “bad PR” version of the app dispute process is monumentally more effective. Which is a shame.

The ultimate irony, though, is that the press, and the pulling, totally temporarily bolstered Transmit iOS’s sales. It probably introduced the app to a lot of people for the first time. Here’s our sales chart… guess where the news hit?

transmit-press

When these things happen, the hardest part for me is knowing that Apple has a whole lot of good people we admire doing great work that we are inspired by, and that they are often overshadowed by teams and forces beyond their control. It must be infuriating.

Low iOS Revenue

This is the biggest problem we’ve been grappling with all year: we simply don’t make enough money from our iOS apps. We’re building apps that are, if I may say so, world-class and desktop-quality. They are packed with features, they look stunning, we offer excellent support for them, and development is constant. I’m deeply proud of our iOS apps. But… they’re hard to justify working on.

Here’s a way to visualize the situation. First up is a sample look at Units Sold for the month of November 2014:

chart1

Wow! 51% of our unit sales came from iOS apps! That’s great!

But now look at this revenue chart for the same month…

chart2

Despite selling more than half of our total units, iOS represents just 17% of our total revenue.

There are a few things at work here:

1. We’re not charging enough for our iOS apps. Or Mac users are simply willing to pay more for apps. Or both.
2. We’re not getting the word out well enough about our iOS apps.
3. The type of software we make just isn’t as compelling to iOS users as it is to Mac users. Our professional tools are geared for a type of user that simply might not exist on the iPad — admins and coders. We might have misjudged that market.

It’s really hard to say for sure. One thing is for certain: we are more likely to increase the price of our iOS software over time in an effort to make it make sense. And we’re less likely to tackle any huge new iOS projects until we get this figured out.

Next


We generally don’t like to talk about future plans because it almost inevitably comes back to haunt us in some way. But I can confirm at least two things that will happen in 2015: a significant update to Diet Coda that will overhaul the UI, and the brand new Status Board 2 which adds fantastic features and is already entering beta. Also, Panic Sync will be added to Transmit for Mac in some form. Beyond that, we’ll have to see…

Process


A handful of changes:

  • We formally moved onto Slack for team communication. We had nothing like this before, just e-mail. It’s been a huge boost for us, mostly because it keeps everybody on the same page a lot more efficiently, and it’s really good at searching. It can be overwhelming to keep on top of, but the good far outweighs the bad. I basically don’t get much e-mail anymore.
  • We moved the majority of our credit card processing over to Stripe.
  • We migrated our website into Git, using Vagrant and VirtualBox to allow each web developer here to run a virtualized version of the site on their desktop machine. It’s been great.
  • All of our other code projects began migrating into Git and GitLab. This was hard — it’s a lot of change and years of habits —  but we’re hoping it will be worth it down the road.
  • QA has become a lot more formalized thanks to some heroic efforts.
  • We also started to establish the idea that there are two tracks of Panic Projects: evergreens and seedlings. We want to give constant attention to the apps that people love — and the apps that bring in good money. At the same time we want to continuously experiment with new ideas, some that might succeed and some that may never see the light of day. So far, this is actually working, and it’s exciting. (The only challenge with this system is giving a chance for the evergreen engineers to work on seedling projects — their extensive knowledge of critical apps makes it hard to ‘remove’ them. We’ve gotta work on that for 2015.)

Business


Panic is a multi-million dollar business that has turned a profit for 17 years straight.

It just hit me, typing those words, that that’s a pretty insane thing to be able to say. (And, sure, we barely qualify). Believe me, I know it won’t last forever — but wow, what a kind of crazy deal.

If you’re curious about some business stuff, our setup couldn’t be more cut-and-dry. We still have no investors or debt. The overwhelming majority of our revenue goes to employee salaries and benefits, which is just the way we want it. Then there’s our rent, our internet, some donuts and chips, etc. Anything left over goes into the magical Panic Savings Account for future projects or emergencies — we’ve always felt it was important to have some wiggle room for who-knows-what. (In the past we’ve actually reduced that warchest by simply distributing it to employees as a bonus.) We also continue to operate on standard office hours, avoiding weekends and crunchtimes with ferocious overprotectiveness, for better or worse. Maybe the most controversial thing we have is an open office, but since we have no sales or marketing teams things are usually library-quiet.

Onward


It’s been a long time since Steve and I started writing apps in our apartment — fifty lifetimes in computer years.

But the story of Panic is not about Steve and I anymore. These days, while both of us constantly dig in all sorts of trenches, more often we’re just the loud (well, I’m loud) backseat drivers — backseat drivers that often unfairly get all the glory. Let me be clear: Panic’s true asset, the thing I’m most proud of building, is the incredible team of 20 people who truly make everything happen, people who design and create these great things as a team, people who aren’t comfortable creating anything less than excellence, people I actually like.

Stepping back, of course, we’d have zero employees if it wasn’t for you — the person who buys our software and supports our work. When I’d play NES games as a kid I always thought it was corny when, at the end of the credits, the game would say “Special thanks to: you!!“. But now I get it. This is not a joke: without you we don’t exist.

We’ve just renewed our lease for another 9 years.

Here’s to the further adventures of Panic!

Posted at 11:33 am 69 Comments

From the desk of Cabel
Portland, Oregon 97205

Transmit iOS 1.1.1 [Updated]

UPDATE 12/11/14: After a considerate conversation with Apple, Transmit iOS 1.1.2 has been released with restored “Send To” functionality.

While the process feels less-than-perfect, this resolution is a nice reminder that, just as we thought, there are good people at Apple who will push hard to do the right thing. We hope you enjoy Transmit iOS 1.1.2.

— ORIGINAL POST —

Transmit iOS 1.1.1 is out, fixing a few bugs in our surprisingly powerful file management app for your iPhone or iPad.

Also, at Apple’s request, we had to remove the ability to “Send” files to other services, including iCloud Drive.

In short, we’re told that while Transmit iOS can download content from iCloud Drive, we cannot upload content to iCloud Drive unless the content was created in the app itself. Apple says this use would violate 2.23 — “Apps must follow the iOS Data Storage Guidelines or they will be rejected” — but oddly that page says nothing about iCloud Drive or appropriate uses for iCloud Drive.

If the issue is just iCloud Drive, why did we remove the other destinations? We had no choice. iCloud Drive exists in this sheet:

locations_1024

The above sheet is 100% controlled by iOS — we can’t touch it. Since we can’t touch the sheet, we can’t remove just iCloud Drive from the sheet, so we have to remove the whole sheet.

delete-3

Our seriously sincere apologies to everyone who used or purchased Transmit iOS with this feature.

The good news? Transmit iOS remains incredibly capable and useful app despite this omission — as further evidenced by this awesome five-mice review for Transmit iOS in MacUser UK.

Transmit-Review-Thumb

There are good people working at Apple who will read this, be frustrated, and hopefully try to fix the situation. Hopefully, we can return this functionality to Transmit iOS in some form, someday. We’ll let you know.

UPDATE 12/11/14: After a considerate conversation with Apple, Transmit iOS 1.1.2 has been released with restored “Send To” functionality.

Posted at 11:30 am 50 Comments

From the desk of Cabel
Portland, Oregon 97205

The Future of Unison

Magnet512Unison — our excellent OS X app for accessing Usenet Newsgroups and the many wonders and mysteries contained within — has reached the end of its road after years of faithful service.

First, a brand-new Unison 2.2.

Unison’s end is bittersweet. The market for a Usenet client in 2014 isn’t exactly huge. But if you know Panic,  you know we do our very best to never drop things awkwardly — we like to leave our apps in a good place for our (very) valued users.

So we’re excited to release a nice, final update to Unison.

Unison 2.2 adds the #1 feature request for Unison: multi-connection downloads for much faster transfers. It also adds a lot more Retina assets for more beautiful browsing on newer machines, and fixes many little bugs and quirks.

It’s a great update for all Unison fans.

Now free, and unsupported.

While we can no longer work on Unison or offer support for it, the good news is it’s also freeThis version of the app will be automatically unlocked for all users, no serial needed.

Just download it right there:


What about Unison Access?

For now, Unison Access will continue to work just as it does today for all current subscribers. That said, we’re no longer accepting new signups. We figure we’ll migrate people to another service at some point in the future. If that happens, we’ll contact you by e-mail.

Thank you sincerely.

Our deepest thanks to each and every one of  you who used, bought, or enjoyed Unison. We really enjoyed making this app and providing it to you. We hope it serves you well into the future!

Posted at 11:02 am 65 Comments

Copywriter: Noby.

Introducing Panic Founders Stamps for LINE

Line-Conversation Really important news. Our founder’s Cabel and Steven LINE stickers were released on LINE Creators Market! 重要なお知らせです。 LINE Creators MarketにPanic Inc創始者コンビ、CabelとStevenのスタンプが登場しました!

Check out our stickers on LINE Store.

LINE is an amazingly successful, and free, instant messages + voice + video calls service in Japan and Asia in recent years. You can attach some stamps called LINE Stickers to your chats. It’s a really fun and cute feature.  LINEは日本で爆発的に普及しているインスタントメッセージや音声通話、ビデオ通話をスマートフォンや携帯電話、タブレットやパーソナルコンピュータで利用可能にする無料のサービスです。メッセージにスタンプと呼ばれるイラスト画像を貼り付けて送ることができるのが特長です。

Cabel always asks for me — what’s new in Japan? So, I told Japan’s latest news, serveces, persons, fashions, snacks and etc etc. Recently, I had told about LINE, and in June, I introduced the LINE Creators Market — where people can make and sell own stickers — had just started. Also, I introduced popular stickers like Sushiyuki — Sushi motif stickers. Cabel and Steven are surprised,  laugh (for a while), and are very much pleased.  Cabelはいつもこう尋ねます — いま何が日本で流行ってるの?なので私はその時に流行っていることや面白い人、ニュースなどについて伝えます。ここ最近は日本でのLINE人気について伝えていましたが、今年6月に会ったとき、私はちょうど始まったばかりのLINE Creators Marketについて紹介しました。その中でもお寿司のキャラクター「寿司ゆき」にCabelとStevenは食いつき、しばらく笑い続け、とても気に入ったようでした。

Then Kenichi made a fateful joke — let’s make Panic combination stickers, you guys are the characters!  同席していたケンイチがPanicでもスタンプを作ることを提案し、CabelとStevenの創業者コンビをキャラクターにしようと言い出しました。

With a skeptical air, sure, who can make 40 stickers? Our designers Neven and Kenichi were working hard because of Transmit iOS, Prompt 2 and Coda 2.5. Cabel said, “Who is the designer of this sushi?” Noby: “Awayuki-san” Cabel: “Where does she live?” Noby: “Neighboring town. My friend.” Cabel: “Let’s ask her. It’s cool.” All: “!!!”  半信半疑な空気のなか会議は進み、では40個のスタンプを誰がデザインするのか?秋のリリースを目指してTransmit iOSPrompt 2Coda 2.5の開発が佳境の中、手の空いたデザイナーはいません。Cabelが言いました –「このお寿司のデザイナーは誰なの?」俺:「あわゆきさん」Cabel:「どこの人?」俺:「近所。おともだち。」Cabel:「彼女に頼もうよ、クールだし。」みんな:「!!!」

We offered design of our founder’s stickers to Awayuki-san. She consented to our offer readily! We were super lucky!! Then, the Panic founder’s stickers were completed.  帰国後、私はあわゆきさんに連絡し、CabelとStevenをキャラクターとしたLINEスタンプ製作のお願いをしました。幸運なことに快諾いただき、あわゆきさんテイスト溢れるクールなスタンプができました!

Probably, the characters of this stickers are strange, and confusing, for many people! But they are Panic founders! Our software product icons are also included. Let’s use our stickers for your LINE message with your friends! CabelとSteven、多くの人にとって誰?というのが正直な感想と思いますが、彼らがPanicの創始者 — パニック・ファウンダーズです!所々にPanic製品のアイコンが散りばめられたパニック・ファウンダーズのLINEスタンプで、あなたの気持ちを伝えてみませんか?

Panic founder’s Stickers is $0.99, available on LINE Creators Market.  パニックのLINEスタンプはLINE Creators Marketにて、100円または50LINEコインで発売中です。

Nobuhiro Hasegawa, Panic Japan

stamps

Posted at 11:41 am 7 Comments

Introducing Coda 2.5

icon_512x512

It took longer than we wanted.

But the wait is more than worth it.

We’re excited to announce the arrival of Coda 2.5, a very significant update to our very popular web development app for OS X, available now — and free of charge for all Coda 2 owners.

We’ve spent a great deal of time working hard to deliver on the promise of Coda 2. We took a look at the feedback you’ve sent and the surveys you’ve filled out. And we’ve crafted an update that addresses most major requests for Coda 2. Sure, there’s still lots more we want to do in the future. But this is a big one.

coda-screen-1200

What’s New

Where do we start?

Coda 2.5 is significantly faster. Syntax highlighting is up to 10 times faster. Symbol parsing is also up to 10 times faster. You can feel the speed increase. It also looks nicer. We refreshed the UI completely — cleaned up the icons, spruced up every corner — and if you’re running OS X Yosemite, you’ll even get a 10.10-updated interface designed expressly for you.

There are great editor improvements. Vertical indentation guides. A customizable column guide. New color-coded tabs, traditional and visual.  It has Panic Sync. Your sites, including passwords and private keys, will easily and securely sync to Coda on all of your devices — and will even sync with Diet Coda 1.6 and Transmit iOS. (You can learn about Panic Sync here.)

Plug-ins are significantly more powerful. We have a plug-in browser built-in to the Preferences. And users can now write “Sidebar” plugins that add brand new tools to Coda’s sidebar. Even better, Sidebar plugins can be written in HTML, significantly lowering the barrier of entry to extending Coda!

Then, a big one: the local indexer/site-wide autocomplete. Coda 2.5 can now optionally scan your Local Folder and build an index of functions, classes, and variables. So the autocomplete menu will now include your own code — not just the standards. It’s a massive speed boat for your code. I meant to say speed boost, but speed boat is what came out, and let’s just roll with it.

And publishing tracks external changes. This is big news for anyone who works with SCSS or LESS.

In short, there are hundreds of fixes and improvements — here are the full release notes. Or you can learn more about Coda in general.

Coda is still only $99 for new users, a price that’s affordable to any web developer. If you already own Coda 2, the 2.5 update is free.

How To Get It

If you bought Coda 2 from us directly, Coda 2.5 should auto-update over the next few days! That’s it. If you’re impatient, just download from our site and replace your current copy.

What about Mac App Store customers? As you may know, Coda 2.5 is not available in the Mac App Store. (One of the major causes for Coda 2.5’s delay was wrestling with sandboxing.)

But don’t worry. We’ve made Mac App Store migration painless:

  • Download Coda 2.5
  • Launch it. It should detect your Mac App Store copy and pop-up a migration dialog.
  • Enter your name and e-mail, and we’ll e-mail you a personalized Coda 2 serial number.
  • Use that serial number to unlock Coda 2, now and in the future. It’s yours to keep.

(In some cases we might not be able to automatically detect your Mac App Store copy, and you might need to go to the Mac App Store “Purchases” tab, redownload Coda 2, then launch Coda 2.5. Once migration is done you can delete the older Coda.)

Also, A Free Book

Inside Coda

We’ve often wished there was a casual guide to the full power of Coda that we could give to new (or existing!) users. So we made one. It’s available in the iBookstore, and it’s completely free.

Enjoy

We’re extremely happy to give Coda users this fresh update. Coda 2 was a great success for Panic and, in a way, this update is one way for us to say thanks.

Enjoy it. And show us what you make with Coda!

(Basically everyone at Panic is involved in Coda, and everyone did amazing work, but Coda 2.5 truly owes its existence to Wade and Will, the masterminds behind Coda for many years. They’re overdue for a break — but until then, thank you both for always working hard to make this app great!)

Posted at 11:26 am 71 Comments