Centralized systems fail sometimes. Don’t forget to write on your own blog. (Posted while Twitter was apparently down.)

→ 2016/10/21 12:28 pm

Getting excited about the crazy Nintendo Switch design. This is why we love Nintendo. They’d much rather try something unique than settle for incremental, obvious updates.

→ 2016/10/21 11:23 am

I didn’t get to watch many WNBA games this year, but glad to have caught a great finals game 5 tonight. Congrats to the Sparks. NBA regular season starts next week!

→ 2016/10/20 9:29 pm

Another strong debate for Hillary. She had some very good, passionate answers on abortion, immigration, and even our democracy itself. And as usual, Trump just added an extra week of bad press for himself.

→ 2016/10/19 11:12 pm

Workflow update for web APIs

Federico Viticci has an overview and examples for the latest Workflow for iOS release, which adds more advanced features for calling into web APIs. It looks great:

For those who are only partially familiar with the terminology, this means that Workflow can communicate with the majority of modern services that come with a web API. If you’ve never worked with web APIs before, it’ll take you a few hours of reading and experiments with dictionaries, token authentications, form requests, and file uploads to get the gist of how it works. But, the Workflow team has managed to make what tends to be a visually unintuitive programming task – assembling dictionaries and structuring JSON – as simple and attractive as possible, abstracting many of the complexities that web developers have to deal with in desktop IDEs and command-line tools.

Here’s another nice example of automatically creating GitHub Gists, from Jordan Merrick:

This is a workflow I’ve always wanted to create, and the new API support makes it possible. Gists are great to share small pieces of text information, such as code snippets or scripts. This action extension workflow accepts files of any type (though they must be text-based) and creates a gist using the GitHub API.

Workflow can now take over many web tasks that previously required either writing scripts or depending on hosted solutions like IFTTT and Zapier. Like my workflow for posting photos to my blog, it’s a natural tool for web publishing and microblogging.

I’d also love to see a Mac version of Workflow one day. I do some limited automation on my Mac, but AppleScript and Automator aren’t as easy to use or as well-maintained as Workflow.

Excited for tonight’s debate. For the last week, Trump has been “preparing” by shouting conspiracy theories in front of his fans. Difficult to then flip overnight to appealing to everyone else who thinks he’s lost it.

→ 2016/10/19 9:10 am

Redesigning Penn Station

Earlier this year I wrote a post about indie podcasting and the mistake of centralized publishing, comparing it to the lesson from the demolition of Penn Station in New York City. That train station can never be returned to what it was, but the city hasn’t given up on updating it. Here’s the New York Times with an idea to turn it into a beautiful space again:

Just as the new Amtrak train hall for Farley, designed by Skidmore, Owings and Merrill, reuses the catenary structure of the building’s original trusses to bring in natural light, this plan foresees a sunny public space, open to the street, framing views of Farley, its height dwarfing Grand Central Terminal’s main concourse. It reclads the arena’s facade with double-skin glass, doing away with doors into and out of the building, letting commuters, long lost in the existing warren, know where they are and see where they’re going.

It’s a nice article with photos and diagrams. I hope to see something like this new Penn Station on a future trip to New York City.

Please vote early for Hillary. November 8th is going to be a mess. No reason to risk waiting in long lines or running into “poll watchers”.

→ 2016/10/18 1:03 pm

Disappointed in Thiel

About 2 years ago I read Peter Thiel’s Zero to One while traveling. It quickly became one of my favorite business books. I’ve always thought we should strive to create truly new products, not just better versions of old ideas. I referenced the book in one of my blog posts about Snippets.today.

It wasn’t until the Gawker lawsuit that I bothered to learn more about Thiel. It’s disappointing enough that anyone I respected was on stage at the Republican National Convention, a 4-day train wreck that I expect years from now the GOP will look back on with embarrassment. Now Thiel’s giving over $1 million to Trump.

Marco Arment makes the case for Y Combinator distancing itself from Thiel:

Wrapping reprehensible statements or actions as “political beliefs” doesn’t protect them or exempt their supporters from consequences. Racism is racism. Sexual assault is sexual assault. Labeling reprehensible positions as “political beliefs” is a cowardly, meaningless shield.

I don’t think we should use the word “shame” lightly. It’s used jokingly too often in our industry; for example, “shame on you” for not using my favorite app or listening to my favorite show. But on this serious topic, I agree with the content of Marco’s post completely.

Mixed feelings about the iPhone 7 future

Federico Viticci published a great review of the iPhone 7 for MacStories last week. He opened with this:

After nearly two years spent using a 5.5-inch iPhone, I’m accustomed to not having a compact phone anymore. The iPhone 6 Plus and 6s Plus have reshaped my iPhone experience for a simple reason: they give me more of the most important device in my life.

Followed by the main theme of his review:

In many ways, the iPhone 7 feels like a portable computer from the future – only in a tangible, practical way that is here with us today.

I’ll admit to some jealousy of Federico’s iOS-only lifestyle. Apple’s mobile OS is fun to use in part because of its simplicity and in part because of its inherent mobility.

If I could only choose one computing device — one phone, no tablets, no Macs — I would get an iPhone 7 Plus. The largest phone would make for a great mini tablet, nice for photography, writing, and the web. Maybe when I retire from living in Xcode and Objective-C, I’ll daydream about traveling the country with a backpack and iPhone 7 Plus, never tied to my desk again.

But in the meantime, I’m fortunate that I can have a Mac and a few iOS devices. When I go to a conference, I take the iPad Mini and big iPad Pro along with my phone. Because I have those larger devices available, I always want the convenience of carrying the smallest phone when I’m not sitting down to work. The weight and feel of the iPhone SE is perfect.

There’s a point in Federico Viticci’s review where he covers the headphone jack controversy. He hints at a common justification I’ve heard for some of Apple’s decisions, and I think it’s kind of a defeatist attitude that is worth commenting on:

You and I might wax philosophical about the beauty of RSS, HTML, MP4, and USB, but millions of people only demand easy tech and engaging social apps.

Federico is right, but this fact is exactly why those of us who are passionate about open standards must make a strong case for them. We can’t leave such important decisions only in the hands of big corporations and fickle customers. It’s our responsibility to write about what we believe is best for the web and best for the tech industry.

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