Monthly Archives: October 2016

Core Intuition 254 and Kapeli wrap-up

On Friday, Daniel and I recorded and published episode 254 of Core Intuition:

Daniel and Manton dive into Apple’s controversial suspension of Dash developer Kapeli’s App Store account, and respond to listener Q&A about whether non-sandboxed apps are at risk of removal from the Mac App Store.

Covering sensitive subjects like Kapeli’a suspension is difficult in a podcast format where you can’t perfectly prepare your thoughts. Did I go too far defending Bogdan Popescu? Did I not go far enough?

Maybe we’ll know with some distance from this topic whether we reacted fairly. But I don’t think I overstated how important a moment this was for the App Store — both Apple’s influence over the narrative and as a test for their power in the store. Unfortunately the story still has a very unsatisfying ending.

Editing this week’s Core Intuition. We dedicate nearly the full hour to the Kapeli situation and its impact on the community and Apple.

→ 2016/10/14 4:07 pm

Yet more discussion about Kapeli! I need to get back to my real job as a programmer. I think my 2 blog posts this week hold up, though.

→ 2016/10/13 10:39 am

Kapeli’s suspension is a test for Apple

Since my post yesterday about what I viewed as the unwarranted smearing of Kapeli’s reputation, I’ve received a lot of good feedback. I’ve also seen many comments from developers who had an incomplete view of the facts. This isn’t surprising, since Apple’s own statement to the press seems to have left out details, either for privacy reasons or to make a stronger case.

I’m not an investigative journalist. I know a lot about what happened, but not everything. I’m not going to try to “get to the bottom” of the truth. Kapeli developer Bogdan Popescu emailed me yesterday after my post had been published, and as tempting as it might have been to ask him more questions, ultimately this is between him and Apple. I’m a blogger and podcaster, so I’d rather stick to the larger themes.

How do we move forward as a community? Two points:

  1. We must err on the side of defending indie developers, even when it looks bad. Apple’s a big corporation and they don’t need our help.
  2. We should hold Apple accountable when they overreach, even when they have the best intentions. I agree with Rene Ritchie’s post that despite such a bad situation, it’s still within Apple’s power to fix this.

Matt Drance had a series of tweets that get to the heart of how we react as a community. If it turns out that Bogdan did submit fraudulent reviews, then okay. But if Apple eventually reinstates his developer account, I want to be able to say I stood up for his side of the story, even if I risked being wrong.

It’s easy to defend someone who is obviously innocent. It’s harder when they make mistakes, but in areas unrelated to the crime. In that way, this App Store “rejection” is unique. It may be the most important test we’ve seen of Apple’s power in the store.

Kapeli’s reputation

I’ve been using Dash more and more over the last month, but I realized with all this controversy that I had never actually bothered to pay for the app. Whoops! The trial reminds you every once in a while, but otherwise it’s pretty usable without paying, and I’m lazy.

Kapeli’s iOS revenue has vanished, but the developer still has his direct Mac sales. So I set out to finally buy a copy of the Mac version.

And then during checkout, sending him my name and contact info, I hesitated. Do I trust this developer? Is he trying to do the right thing for customers, as every indication from his public blog posts and tweets about Dash show, or is he a scammer, conducting fraudulent activity in the App Store as Apple accuses?

That’s the damage Apple has done in going to the press and smearing him. They’ve destroyed the goodwill he had in the community from his well-respected app. I always want to give people the benefit of the doubt, yet I hesitated.

At the Çingleton conference in 2013, Christina Warren talked about building a reputation for herself. One of the slides will stick with me for a long time: “All I have is my name,” she said, so she couldn’t risk attaching her name to something she didn’t believe in.

Kapeli developer Bogdan Popescu has made some mistakes. There’s a lot of smoke, but I still believe there’s no fire, no actual fraudulent activity orchestrated by Bogdan himself. That hasn’t stopped Apple from burning his reputation to the ground.

As long as Apple has so much control over app distribution, so much power over an iOS developer’s business and reputation, then Apple’s treatment of and communication with developers has to be perfect. Michael Tsai covers some of the ways Apple mishandled this. The fallout in the developer community has been more severe than is warranted from the incomplete and misleading facts in Apple’s statement.

I finished checking out and paid for Dash. It’s a great app.

Kapeli’s story is important and unique from normal app rejections. Not anything because of API misuse, but an accusation of fraud. It’s extremely serious. Apple has not handled it well.

→ 2016/10/11 9:43 am

We know a lot more about Kapeli’s developer account suspension now. Mistakes on both sides, but I rate Apple’s statement to the press: true, but misleading. I stand by what I wrote last week about Apple’s control over the store.

→ 2016/10/10 7:26 pm

I’ve had Lin-Manuel Miranda singing “never gonna be president now” stuck in my head all day. Feeling good. (Vote early if you can.)

→ 2016/10/10 2:19 pm

Plotted out how I can port this Sinatra app to Rails, and Ember.js to Turbolinks. Not trivial, but not difficult either. Need to carve out an extra few days this month to get it done.

→ 2016/10/07 2:59 pm

I wasn’t sure about subscribing to YouTube Red, but it is so nice not to wait through ads. I’ll probably pay when the trial is up. Still see the little “other suggested videos” popups sometimes, though, which I’d also like hidden.

→ 2016/10/06 6:18 pm

Apple’s control over app hosting

High-profile app rejections aren’t as common as they once were, so it’s even more shocking when an entire developer account is banned from the App Store. Dash from Kapeli ran into this after trying to migrate an account:

Today I called them and they confirmed my account migration went through and that everything is okay as far as they can tell. A few hours ago I received a “Notice of Termination” email, saying that my account was terminated due to fraudulent conduct.

Brent Simmons writes about the lack of transparency and minimal appeal process:

While this is legal, and within Apple’s rights, it’s not what we’ve come to expect from a moral judicial system. No matter what the context, we expect that the accused see the evidence against them, we expect avenues for appeal to be made available, and we expect proportional penalties.

I hope this misunderstanding with Dash will be cleared up soon. But issues like this will never completely go away until Apple separates app distribution from curation. As long as there is a centralized, tightly-controlled system for installing iOS apps, mistakes will happen.

Imagine instead if the App Store worked more like the web. Google dominates search, but they can’t shut down your web site. If you try to game the system, Google can remove you from search and limit your exposure. Likewise, developers should be able to distribute iOS apps with minimal involvement from Apple, yet apps that haven’t passed formal review won’t be searchable without a direct link, won’t ever be featured, and won’t show up in the top 100 lists.

A more open system for app distribution would cleanly solve several problems with the App Store. Apple would be more free to remove clutter from search results without necessarily purging apps from the store. And there would be a natural temporary consequence for suspected fraudulent behavior: simply demote the app, delisting it from search and featured collections.

Apple should focus on highlighting the best apps within a system that lets the app review team make occasional mistakes. There shouldn’t be such an easy toggle that wipes out an indie developer’s business.

Core Intuition 253 and Google

We posted Core Intuition episode 253 this morning. From the show notes:

Manton and Daniel discuss Manton’s experience at the Release Notes conference, talk about the rationale for supporting what might be considered edge-case behaviors in apps, and dig deeper into questions of freemium pricing, reflecting on the Omni Group’s pertinent announcements. Finally they talk briefly about Google’s latest announcements and what their competition means to Apple.

Google must be doing something right with their announcements, because yesterday my son told me he wants to get a Pixel when it’s time to replace his iPhone 5S. And as much as I love our Amazon Echo, I can see Google Home taking off if it’s well-integrated with existing Google services.

Tinkering with CSS on manton.org. Doesn’t make a dime, but it’ll always be my most successful product. 14 years, 1500 posts.

→ 2016/10/05 2:54 pm

With Twitter acquisition rumors, I’m encouraged by this: not a question of “if” more people will embrace indie microblogging, but when.

→ 2016/10/05 1:59 pm

Four years ago today, I posted my last tweet from @manton on Twitter. Still feels right to let that account stay frozen.

→ 2016/10/05 9:00 am