Try my Mac and iOS apps from Riverfold Software

Manton Reece

Tint color misuse

It has been nearly a year since the first iOS 7 beta, and something about tint color still bugs me. In fact it bothered me enough at the time of the early betas that a filed a bug on it with Apple, something I very rarely do. The problem isn’t so much in the concept of tint color, which I like; having a consistent color for buttons and links, especially now that buttons are so understated, makes a lot of sense. The problem is the implementation in apps that use tint color anytime they want to highlight something, whether it is tappable or not.

Here’s an example in Apple’s calendar app. It uses a red tint color for buttons, but it also highlights the current day with a round circle using the tint color. It looks tappable, but it’s not.

Calendar

And here’s an even worse example, from the App Store app. “Categories” in this screenshot is a button, but “Paid” directly underneath it — same blue, same font and style — is just highlighted to show that you are viewing paid apps. It’s actually “Top Grossing” that is the button.

App Store

These kind of usability mistakes turn the great potential of tint color into a disadvantage. It’s like underlined text on the web that can’t be clicked. Apps should use tint color to improve usability, not to become even more difficult to use than if everyone rolled their own button styles.

Here’s what Apple’s iOS 7 UI Transition Guide says:

“In iOS 7, tint color is a property of UIView. iOS 7 apps often use a tint to define a key color that indicates interactivity and selection state for UI elements throughout the app.”

But that’s not specific enough. The app screenshots above are following this rule, and it still looks wrong. Bold text or a gray background for highlights are much more effective to show selection state than tint color. I would completely avoid tint color for selection state except for controls that have 3 or more segments, such as a tab bar, and even then sparingly. Highlighting a 1- or 2-segment control with tint color is always going to be confusing, because the selected segment looks like it can be tapped.

With this in mind, fixing the App Store app is a simple change:

App Store

(You could make the “Top Grossing” button blue or not. I don’t think it’s necessary in this case.)

The best iOS 7 apps I’ve seen follow the spirit of Apple’s guidelines, but they know when to push beyond Apple’s built-in apps and when to pull back and do less. Tint color seems like an obvious case of where we should be more consistent and strict than Apple intended.

12 years of blogging

It’s SXSW this weekend, and while I’m again not attending this year, it’s a reminder that today is the 12th anniversary of starting this blog. I took some time today to fix the categories and tags on about a dozen older posts. One of those was fun to rediscover, linking to John Siracusa’s review of Mac OS X 10.2. Here’s the part from John that I quoted:

“And forget about any truly forward-looking features akin to Copland’s saved searches or BeOS’s metadata-powered custom views. Put simply, the Finder, once the crown jewel of the Mac user interface, no longer seems to be a priority at Apple.”

That was September 2002. It feels like it has really taken until 10.9 Mavericks (with tags and Finder tabs) for that to change.

Like scripts in animation

This line in a blog post on Cartoon Brew made me laugh:

“It’s certainly possible to write a Looney Tunes script, just as it’s possible to eat a hamburger with your feet, but there are smarter, easier, and better ways to do it.”

Every industry that gets big probably has some of this. There’s the old school, the folks who know the right way to do things — for example, you start an animated film with sketches and storyboards, not words — and then there’s everyone who comes in afterwards, without the history and culture of what made it all work. Look at what the App Store has become, compared to how software development worked in the 1990s or early 2000s. If it wasn’t for all the money some of these new developers are making they’d be completely embarrassing themselves with technical naivety and depressing lack of vision.

On the other hand, great ideas often start with newcomers. But please respect the past before you break from it.

Building Slack

Stewart Butterfield, co-founder of Flickr and his latest company Tiny Speck, published an internal email from around the middle of development on their collaboration app Slack:

“There’s no point doing this to be small. We should go big, if only because there are a lot of people in the world who deserve Slack. Going big also means that it will have to be really, really good. But that’s convenient, since there’s also no point doing it if it is not really, really good.”

It’s long but there’s a lot of good stuff in it on marketing and building a product people need.

Prompt for push notifications

David Smith says to not bother the user with alerts on first launch:

“I have just sorted through the App Store and settled on trying out your app. I open it up and you immediately ask if you can send me Push Notifications? I have no context about what these are going to be used for or why they might be useful to me.”

I agree. For Sunlit, we only prompt to enable push notifications after you’ve chosen to enable sharing for a story. While it might be useful to have push notifications for everyone, by waiting until we really need it, most users are never bothered with the alert. And it forced us to focus on specific and valuable uses of notifications, such as sending a push notification when someone subscribes to your shared story.

Higher standard for Apple

Guy English writes about why Apple was questioned on the fingerprint sensor in the iPhone 5S but Samsung wasn’t for their new phone. I like this part about holding Apple to a higher standard:

“Apple is held to a higher standard of conduct. They’ve spent years, countless hours of hard work, and untold advertising dollars, to earn that expectation. They have it.”

Expecting the best from a company isn’t unfair; it’s a form of respect. We want Apple to be amazing, and when they fall a little short, we’re disappointed. If they disappoint too many times in a row, we’ll no longer expect greatness. That that hasn’t happened yet says everything about quality at Apple.

Getting good at making money

Justin Williams on the challenge of making Glassboard profitable:

“Making money is harder than it seems. Most people assume you put a product out and people instantly find and support it. The reality is that for most products, they first struggle to find an audience, and secondly struggle to find an audience that’s willing to pay.”

Justin’s blog post reminds me of something that Jason Fried of Basecamp wrote about. Getting good at making money is the same as getting good at anything: you have to practice.

Podcast appearances and slides

I forgot to mention a few weeks back that I was a guest on the iPhreaks Show podcast. The format is a panel of regulars and usually one guest, making it feel more like a roundtable discussion. They had me on to talk about subscription pricing: charging every month for your app or service.

Some of what we talked about was covered in 2 talks I gave last year about subscriptions, at NSConference and CocoaConf Dallas. I’ve finally pulled together the slides from these talks and put the latest version from CocoaConf here as a PDF (17 MB). It’s different than the NSConference one, but I think works better standalone. You can still purchase the videos from NSConference 2013 to get my talk and many other great ones.

This week I was also on the Release Notes podcast with Joe Cieplinski and Charles Perry. They do a great job each episode focusing on something from the business side of running an indie software company, and they’ve had some excellent guests as well. From the show notes for episode 41:

“We talk about creating products vs. services, changing products from free to paid, and the advantages and challenges of subscription pricing. Manton also shares his experience in creating apps like Sunlit that build on top of other services like Twitter and App.net, his recent foray into freemium pricing, and the launch of the new Core Intuition Jobs Board.”

If you enjoy Core Intuition, I think you’ll really like Release Notes. Let me know if you have any feedback on the show.

Core Intuition Jobs

This week we launched the Core Intuition Jobs site on episode 125 of the podcast. The idea was to create a job board focused only around Mac and iOS developers. The 24 jobs already listed there all talk about Objective-C, Cocoa, ARC, or Xcode, so you don’t need to weed through a giant list of thousands of irrelevant jobs. There are some really great companies in the list.

We’ve also added an RSS feed, so you can see when new jobs are posted, and we’ll be rolling out @coreintjobs on Twitter and App.net soon. Even if you’re not actively looking for a new position, subscribing to the feed or following @coreintjobs is a great way to see some of the amazing work being done in the Cocoa community.

Sunlit 1.1

Today we shipped version 1.1 of Sunlit, our app for collecting photos and text together to make and publish stories. Some of the bigger changes include:

  • Instagram and Flickr import. You can now add any of your own Instagram or Flickr photos into a story. With Flickr, you can even browse from your Flickr sets.
  • Improved Dropbox support. The first version of Sunlit assumed most of your photos on Dropbox were in the Camera Uploads or Photos folder. For 1.1, we’ve added a full Dropbox browser so you can pick any folder you want.
  • Multi-user text syncing. Now anyone subscribed to a story can add both photos and text descriptions, and the text will sync to all users. This is a really powerful feature for collaborating on stories. We think it puts Sunlit in a class above any other app like this.
  • Confirm deleted photos. What happens if you let other people add photos to your story, but they accidentally delete one of your photos? Sunlit now tracks this and shows a special confirmation alert so that you can either allow the photo to be deleted or keep it.

There are other fixes and improvements too, which you can see in the release notes. Here are a few screenshots of the new Dropbox and Flickr screens:

Sunlit v1.1

Sunlit is available in the App store as a free download. If you like it, pay just $4.99 to unlock the full app, and leave a review in the App Store to help others discover the app. Thanks!

Flappy Bird on steroids

On this week’s Core Intuition, we talked a lot about Flappy Bird (and also Threes, and a few other things). One of the points I tried to make is that some of the negativity pointed toward the developer was totally uncalled for. Marco Arment says it well in his post on this topic:

“Flappy Bird’s success was hilarious, but it also appears to be completely earned. I’ve read the posts suggesting he cheated at the ranks or reviews, but I haven’t seen any that supported those claims enough.”

As I read Marco’s full post, and re-listened to what Daniel and I said on the podcast, I do wonder if developer Dong Nguyen had been so overwhelmed by the success that the line blurred for him between the death threats and the joke “this ruined my life” app reviews. You’d have to have a pretty thick skin to not let it get to you, even if I hope that most users had a good sense of humor about the whole thing. It’s true that the game is crazy addicting, but unlike some games — the worst of which are driven by consumable in-app purchases, gimmickly rigged to get users to feed money into the game — Flappy Bird is addicting in kind of the best way, because it’s something we’re all playing and can laugh about together.

And Nguyen cares about more than just money. He’s demonstrated an empathy for customers that seems to be lacking in many corners of the App Store. Where some developers said he was leaving money on the table by not having more ads, and other developers were quick to rush in with rip-offs of his app, Ngugen wasn’t afraid to admit it was out of control and pull the app from the store. Do you think any of the other developers who renamed their app to include the word “flappy” would have pulled their app? Not a chance.

I hope Nguyen can bounce back from this and ship more games. With so much attention now, it’ll be fascinating to see what they look like. Or if he’s stashed away some of that $50k/day and wants to just chill out for a while, that’s fine too.

5 years until automation

For over 5 years and 122 episodes, every time we released a new episode of Core Intuition, I manually added the episode to the RSS feed using BBEdit. There was enough tedious XML copy-and-pasting that it was silly not to automate this process, but we kept putting it off. Finally last week, we switched over to an RSS feed generated by WordPress.

What surprised me is that until it was automated, I didn't realize how much time I had been wasting editing and uploading the file manually. It was a small but very noticeable win last week when I could just upload the MP3 and click Publish, and that was it.

I'm not sure what the lesson is here. I never automate a task too soon, but 5 years was a long time. Maybe it's just this: it's never too late to get a better workflow.

37signals rebrands to Basecamp

I first blogged about 37signals a couple times back in 2002, and I’ve been a fan ever since. They had a huge influence on the way I approach design and the way I like to build products, not to mention a big impact on a whole new class of “software as a service” web apps.

The decision last week to go all-in on Basecamp left me puzzled. Daniel and I discussed this at length on Core Intuition. It’s one thing to focus all your efforts on a single product, but seems quite another to rename the whole company around it. I still feel that once you make that choice, your hands are tied from ever thinking big again, from ever wanting to grow beyond the scope of a single product. It’s like saying “our best product ideas are behind us”, and I know that’s not true for 37signals.

On the other hand, I’m sure 37signals understands their business better than I do. And maybe even big decisions are temporary anyway. I’m excited to see how it plays out in another year or two.

You can listen to Core Intuition episode 123 and let us know if we’re off base or not. Last week’s show also has more about choosing a product lineup, managing time, and thoughts on App.net’s Backer. Thanks to Smile’s PDFpen for sponsoring the podcast.

Requiring the latest OS

Brent Simmons has a pair of posts on dropping support for older OS releases and how the upgraded percentage goes up quickly:

“When making decisions like this, I don’t think about what conditions are were I to ship today — I think about what conditions will be like when I actually do ship, and I think about conditions six months out as we do support, testing, and maintenance releases.”

Good advice. And remember, very few developers actually ship on time. Even if you think your app is going to ship before the next major version of the OS does, your app will probably be late. More people will be able to run it than you first expected.

Ending the App Store top 200

I was chatting with some developers this week, complaining about this post on spamming the App Store and wondering if we’d ever have a better App Store, when I finally realized how we get there. The block for me had always been the top 200 lists. We all know that you can game them, buy your way in, and apps that make it in even on their own merits have a huge advantage over everything else, sometimes for months. But I couldn’t conceive of how you could actually get rid of them and if it would make the store better or worse.

The answer is in Beats Music. They have no overall top 200 list! Instead, they have a bunch of people — musicians and writers who deeply care about music — curating playlists. The top 25 playlists in a genre are so buried in the app that I had to search them out just to write this blog post, because they seem to carry no more weight than any other playlist. Much more common are playlists like “our top 20 of 2013”. That’s not a best-selling list; it’s based on real people’s favorites.

There are literally hundreds or maybe thousands of other playlists. Intro playlists for a band, related artists that were influential to a singer you like, playlists for a mood or activity, and more. This extra manual step makes it much easier for an algorithm to surface great music: just look for playlists that contain songs you already like, and chances are good that you’ll discover something new.

I wrote about Beats Music earlier, how it underscored to me that Apple needs to find the next product category to fall in love with, just like they used to feel about music. Of course we know that Apple already loves apps. Show that by doubling down on featured apps, staff picks, and app playlists.

How would this fix the junk problem in the App Store? Simple. No one in their right mind would ever feature one of these ad-filled, “re-skinned” cheap apps. Great recommendations mean less reliance on search, making scam apps more difficult to find by accident. (This focus is so complete in Beats Music, for the first couple days of using it I didn’t even realize you could search for a specific song or album.)

This idea isn’t new. Here’s Jared Sinclair on app playlists, with the twist that they’re based on apps you have installed and use:

“App playlists should be rigorously simple: just a list of apps. Not all the apps ever downloaded, but the apps that a given user currently has installed on their device. The assumption is that if somebody has an app on their device, they probably like it.”

That would be great. But seeing Beats Music ship with almost no traditional music charts at all — in an industry that has embraced the top 40 for decades — tells me that the Beats approach would also work for apps. I think you need both an “installed” playlist and many more fully curated playlists to actually replace the top 200 in the App Store.

Apple will need to ramp up their staff to do this, but if a new company like Beats can do it, surely a company as huge as Apple can also try. And they’ll have help from app fans everywhere. Writers are already doing this: see Federico Viticci’s must-have iPad apps of 2013 (could easily be an app playlist) or all the photo apps mentioned on The Sweet Setup (favorite photo apps playlist) or TechHive’s 5 apps for budgeting (my playlist would’ve added MoneyWell).

Apple shouldn’t wait until Thursday to feature a few great apps. Feature apps all the time. They’re on the right track with some of the “best of” sections in the store, and with the “Near Me” feature. Go a little further and it will make all the difference to bubble up great apps, and let the junk in the App Store fade away. For the first time I can imagine the store without a top 200 at all, and it looks amazing.