Category Archives: Indie

App Stores

A snowflakeEvery once in a while developers drop interesting nuggets of information on Twitter or their weblogs on the state of Apple App Stores and how they relate to their businesses.

In late November longtime Mac and iOS developer, Panic, announced they would discontinue Status Board.

“First, we had hoped to find a sweet spot between consumer and pro users, but the market for Status Board turned out to be almost entirely pro, which limits potential sales on iOS — as we’ve learned the hard way over the past couple of years, there’s not a lot of overlap right now between “pro” and “iOS”.”

Panic is a shop I look to for direction and inspiration. They build solid, beautiful, easy to use applications. Their ratio of Mac to iOS Apps is pretty interesting. Their main Mac applications; Coda and Transmit, are aimed squarely at professionals. If you look at their remaining iOS applications two are complimentary to their Mac counterparts; Coda and Transmit, and the third, Prompt, is most likely built using code and knowledge gained from their other apps. That is not meant as a criticism. It makes total sense. Coda and Transmit are their big dogs, why not make iOS versions of them? I’m looking forward to Panic’s year end report. The last two have been amazing reads.

This morning as I was scrolling through my Twitter timeline, trying to avoid political talk, I noticed an exchange between Michael Love and David Barnard. As suspected, iPhone is the money maker and iPad is not pulling its weight.

Not long after that exchange I saw a nice tweet from James Thomson, of PCalc fame. It looks like the iOS App Store is his primary source of income.

Depending on the podcast I’m listening to, Core Intuition vs. Accidental Tech Podcast, I’m either excited about the state of the Mac or completely bummed about it. Regardless, it feels like Apple is pushing the iPad toward the Prosumer market and keeping the Mac alive for Professionals, mainly those creating iOS Apps (Hey, we need a platform for creating apps, right?)

Having said all that, I’d still like to take a shot at the Mac software market. I don’t need to make millions, but it would be nice to make hundreds. 😀

Passion Project: Mixing C++, Objective-C++, and Swift

I know a lot of folks have had to go through the process of bridging to C++ so you can use it from Objective-C or Swift. In my case I’m using it from Swift, so I thought I’d share what the middle Objective-C++ layer looks like. If you’ve done any Objective-C it will look like straight Objective-C, until you look a little closer. That’s when you’ll notice a C++ namespace, new, and delete statement. This code is a straight passthrough to the underlying C++ code — it’s here so Swift code can communicate with the C++ code.

Here’s the code that bridges to our Creatinine Clearance calculation.

https://gist.github.com/Fahrni/ed5c386bec659985b439306ac67cabd3

You’ll notice a class called PKMConvert that has a class method called genderFromPKMGender. I created a set of mirror enums. One on the iOS side the enums use NS_ENUM syntax, on the C++ side they’re straight C style enums, so this code converts between the two. It’s just a simple mapping.

Another thing you’ll notice is I’m still using “old” C++ syntax to create and destroy objects. I’ve been thinking about updating the syntax to C++11 so I’d use unique_ptr instead. We’ll see if that happens. It’s not a big deal.

Something I’ve been mulling over is releasing the entire PKMath C++ Library as an open source project once I have it working for iOS/Mac, Android, and Windows. I don’t know that it would be overly useful for anyone, but there you go.

Since I haven’t actually written any Swift code in the new RxCalc to use the Objective-C++ code I thought I’d share one of my unit tests for the Creatinine Clearance example above.

https://gist.github.com/Fahrni/423d34cc900679ff35f4bf99c9d0a778

Here’s how the different layers look from 30,000 feet. I like pictures, don’t you?rxcalc2layers

Passion Project: Update One

I’ve made a couple runs at the freelance iOS developer life. The first time things went really well, but I was offered a gig by one of my clients and it too good to pass up. A couple years into that position — leading a team developing a Windows video decoding SDK — I got the itch to go back to iOS and the Mac. Around the same time our oldest daughter decided she wanted to move back to California. I took a week off to help move here, and think on this idea of going back out on my own. I decided to give it a go. This time around I failed, miserably.

My attempts to go indie have always been predicated by a desire to develop a product. I thought I could bootstrap my indie life doing freelance work. This was definitely a mistake. Once you start doing client work you’re on that hamster wheel of how do I get my next client? Drumming up work is difficult. I failed at that and I’m also a slow developer. I don’t crank out code quickly, which you need to be an effective freelancer. Get it done so you can move on to the next deal.

When I finally found a full time job I decided I’d work on passion projects and see how that worked out. I’ve had many starts and stops on various projects, but I keep coming back to RxCalc. It was my first iOS app. My brother, Jerry, and I worked on it together. Jerry is a clinical Pharmacist and wanted an iOS app to help him do Pharmacokinetics Calculations. He did all the math and designed the workflow and I turned both into Objective-C. We shipped in June 2009 and RxCalc went live in the store July 4, 2009 (nice bonus.)

I’ve been slowly working on a rewrite of RxCalc. My first iOS app was messy, but it has proven stable — I haven’t had a crash report since the 1.0 release in 2009 — but the code is cringeworthy. I’ve cleaned it a bit over the years as well as shipping a 1.2 release that included some new functionality. That release included much cleaner code, but I’ve wanted to add IAP to it for additional calculation models and port it to Android, and maybe even a Universal Windows App.

When Jerry and I originally started developing what was to become RxCalc it began life as a Palm app in C++ and the Pharmacokinetics math library was portable C++. It built on Palm, Windows, and iOS — it built first time on iOS with zero change. When I was learning Objective-C I decided it would be best to port PKMath from C++ to Objective-C. That was really easy. It didn’t take long at all.

Here we are in 2016 and I decided I’d better get started with my grand plan to make PKMath portable, again, and build for iOS, Android, and Windows. Why? Just because. Remember, this is a passion project. I don’t make any money on RxCalc, but I do have a plan to change that with this new version.

Will write C/C++ for foodThe new C++ PKMath library is written. I’ve built a small layer of Objective-C++ over the top of it so I can write the new UI in Swift. The old RxCalc was 100% Objective-C, the new one will be a mix of C++, Objective-C++, and Swift. That sounds kind of weird, but there is a means to an end.

Android is my next target. I’ve started working on JNI wrappers around the PKMath library. This has proven to be extremely difficult. It’s going to take some time to wrap my brain around how this all works. I’ve managed to write a simple sample that uses PKMath to calculate an Ideal Body Weight and display it in an Android view, but that’s as far as I’ve gotten.

As for Windows it’s the thing I’m most familiar with. I’ve spent most of my 25+ years as a developer building Windows applications. The downside is I’ve never built a Universal Windows App and I’m not sure how to properly build PKMath for it. I’ll figure that one out and I imagine it will be as easy as wrapping C++ in Objective-C++.

Progress is slow and I’m easily distracted. We’ll see how it goes. More updates to come.

P.S. — I find Swift to be the most enjoyable language I’ve ever used. Doing the new RxCalc UI has been a lot of fun.

Indie Itch

AHHHHHH!I’m getting that itch again. I have so many ideas and never enough time to execute on them. I have a feeling this is a fairly common trait in people. We have big dreams but don’t possess the skill, patience, or business acumen to pull it off. It can be quite frustrating and lead to unnecessary stress in your life.

Distracted. That’s me. I have too many ideas and seem to like bouncing around a bit too much. Besides thinking about too many projects I also value an occasional side job that pays a little bit. When I find those jobs they’re prioritized over my own work, but never over the day job.

Lately I’ve been focused on the day job, one side gig I’m advising on (a startup), and my weird obsession to make RxCalc‘s Pharmakokinetics math library cross platform. Ultimately I’d call the last two a distraction from what I’d really like to do, which brings us back to the Indie itch.

I still dream of having a small company, say one to five folks, all dedicated to creating a business graphics like Visio or OmniGraffle

Why? Because I love those apps. I loved my time contributing to Visio and there is plenty of room on the platform for more great productivity tools.

There is, of course, another great option. Go to work for Microsoft or The Omni Group and contribute to these awesome apps. 

This ties neatly back into a post from earlier today. Yeah, I’d love to to to work at Microsoft working on the Mac and iOS versions of Visio, but I kind of doubt Microsoft cares much about porting Visio to either (I’ve heard rumor of an iOS viewer for Visio, which would be great.) 

Sorry for the stream of consciousness dump. Had to get these thoughts off my chest today. I’m felling really restless, this helped calm my mind.

Dash

A wonderful bouquet of flowers.iMore: “At this point, though, it’s time to forget working it out. Mistakes were clearly made on both sides, and there may be no way for the real truth to ever be known, or for everyone to win. But there’s a way to stop anyone else from losing further: Fix it, unilaterally, because you’re Apple, and you can.”

I was going to write about this, but Rene Ritchie capture my feelings perfectly. Mistakes were made on both side.

It would be nice for Apple to forgive and forget.

Vesper: A Post Mortem

A wonderful bouquet of flowers.John Gruber: “What went wrong was very simple. We never made enough money. Why we didn’t make enough money, what we should have done differently to make more money — those are complex questions (which I’ll tackle below). But what actually sunk Vesper was not complicated. Even as a relatively popular app at a relatively high price (for iOS), revenue was never high enough. Brent took a job at the excellent Omni Group in September 2014, and from that point onward the writing was on the wall. We could have, and probably should have, shut Vesper down a year ago. But we loved it too much. Or at least I did.”

Brent Simmons: “This is the last app on the App Store where I wrote all (or almost all) of the code. Odds are excellent that there will never be another app written largely by me on any app store.”

It’s hard to make decisions like this. Vesper was the result of a lot of hard work by a small group of dedicated people. Vesper will be missed, by them the most.

The most fascinating part of this entire post mortem from John and Brent is the belief that creating a Mac App first may have lead to success. Obviously these guys know their Mac brethren better than I, but I always thought a subscription model was a better option for them, and I wrote about it in 2015.

I think the idea of a sustainable business is the right way to look at this, but pricing an app at $9.99 isn’t the proper solution. The proper solution is to charge for their “fast, reliable, unlimited sync.” That’s the value, the app is just a way to get to your data.

Obviously there are a few really great companies out there making a go of it but the market has changed so dramatically from the time Brent started Ranchero. At the time the Mac wasn’t nearly as popular as it is today and the App Store model didn’t exist. Sure, you still needed a great product and had to work hard to get the word out, but people still understood the value of software. Today iOS and Mac Apps have been reduced to commodities and commodity pricing. Most people expect free and get it from companies that make their money other ways, including services, which is why I think the service is the most valuable component. Does it mean you should only do services and not native clients, no. The client side provides the great experience and the service opens the door to the magic of data flowing from one point to another. Without both sides you can still have a great experience but it may not be as great as it could be.

Thanks John, Brent, and Dave for giving us Vesper.

Premium Apps

Do you listen to Under the Radar with David Smith and Marco Arment? If you’re an iOS or Mac Developer you should consider it, it’s good.

The latest episode — Improving the App Store, Part 1 — is going to be quite controversial. I wouldn’t be surprised if Part 2 includes a bit of laughter and talk about how much mail they received.

Duct Tape, fixer of all things!I’ll admit, at first I was a bit miffed by how they couched their apps as Premium, maybe it was a bit of sour grapes on my part, but the more I listened the more I realized they were right, they do make premium apps. Once I got past that idea I was able to focus on what they were after; a Premium App Store.

The big question is this: What the heck is a Premium App Store? Well, I have some ideas, and they won’t align with what a lot of people believe is premium, but you have to find a way to separate Premium Apps from everything else.

Here are my thoughts on how to create a Premium App Category. This category would be front and center in the iOS App and Mac App Stores.

I belive a Premium App would be defined by the following traits:

  • Paid up front
  • Price starting at $9.99 and up for iOS and $19.99 and up for the Mac
  • No Ads
  • No In-App Purchase for tokens or fake money. Think Games.
  • Not a “Marketing Style” applications. Think Starbucks
  • Embraces new OS features where applicable
  • Possesses a level of fit and finish worthy of an Apple product

Some of these ideas are very subjective, others are objective. The idea of a Marketing Style application may be difficult to define as well as the Fit and Finish requirement. That’s fine. The App Stores already have this level of subjectivity and maybe there’s room for a bit more for this level of application.

I believe this small set of requirement could separate a small swath of excellent Indie and BigCo Applications from the Application Salad that exists today. Developers like David and Marco walk a fine line. They make their living writing applications in an extremely overcrowded app market. Something like a Premium App Store could make a YUGE difference in their bottom lines. Then again, it may fall on its face.

I think we’re going to find out really soon what Apple thinks. A few months back app developers received a questionnaire. That questionnaire was, as I recall, very marketing centered. I would expect the App Store to change quite a bit under Phil Schiller and I think those changes will begin as a set of marketing programs aimed at helping developers improve their “image’ in the eyes of users. I’d expect Apple to reach out to developers they believe have a strong product and offer to help them market their applications. This could be the beginning of an effort to indirectly build a Premium App Store.

That’s just a few thoughts on the matter.

Another Indie Gone

Jon Grall [via Medium]: “With well over 2 million apps by now (officially 1.5M as of July 2015), the iTunes App Store is an incredibly crowded place where it’s almost impossible to get noticed. Despite the persistent myth of the app developer millionaire, it’s extremely hard to make a profit — let alone a living — as an iOS app developer. The Google Play Store is a similar story, except with the added bonus of rampant piracy and a zillion devices to support. There really isn’t gold in them hills, at least not anymore, and independent app development will soon be in sharp decline, if it isn’t already.”

We will continue to see this downward trend until developers charge real money for their products and services and users understand they have to pay for those products and services.

Patronage

This week Marco Arment released a new version of his podcast player, Overcast. I’ve heard a lot of great things about Overcast and Mr. Arment is know for releasing high quality, very useful, applications. So it’s no surprise it’s a popular pod catcher.

Overcast 2 brought streaming to the application as one of its major features but that was overshadowed by Mr. Arment’s new revenue model; Patronage

If you’d like to help Mr. Arment make a living and keep bringing us great software you can pay him in three, six, or 12-month increments which come to $12US annually. Not a bad deal for the application and, more importantly, the service that backs it.

According to Mr. Arment

“If only 5% of customers become monthly patrons, Overcast will match its previous revenue.”

A new revenue model is born. I think its a great idea.

@FiftyThree’s Paper

Fast Company: “In the interest of simplicity, the team finally settled on two key gestures: Swipe left to turn a line of text into a bold subheading. Right to turn it into a bulleted list item. Reasoning that the most popular use case for text entry would be the creation of shopping lists and other to-do lists, they chose these two gestures to start with. Users can also hold their finger down on an item to “grab” it and change the order of the list, eliminating the need for traditional (and far more tedious on a touchscreen) copy-and-paste functionality. Other gestural formatting, they figured, could come in time, once people were used to the new gestural formatting paradigm. It is, after all, an admittedly ballsy move to tinker with how people have worked with text since the dawn of personal computing.”

This is one of the most useful and most beautifully designed iOS Apps you will ever use. Folks probably think of Paper as an application for illustrators and designers, but it’s so much more than that. If you’ve ever used Visio or Omni Graffle you can use Paper to create similar drawings. With Paper for iPhone they’ve added text to the mix to make it a world class citizen for taking notes of all kinds, think Evernote, Notes, or Vesper.

It’s definitely worth a download.