The SDK that changed my life

This week marked the 10 year anniversary of the original iPhone SDK. Craig Hockenberry wrote a great blog post about it and since I wasn’t part of those pioneers that figured out how to make apps without an official SDK, I’ll let him tell the tale. It’s a great read.

However, I can tell you how that event changed my life.

Back in 2008, I was working as a freelance web developer. I hated it but not as much as that job I left a year earlier. At least I was somewhat calling the shots and wasn’t on the verge of a nervous breakdown anymore.

When Apple announced the iPhone SDK, I was very exited. Unfortunately the program was only opened to developers within the US. But a few months later, Apple allowed people from other countries to apply so I did. To much of my surprise, I was accepted into the program!

I managed to find two projects to work on: Linguo, a language translator and Steps, a pedometer. I had previous experience with Objective-C having ported a Windows app to the Mac a few years back so I picked up Cocoa Touch rapidly. My goal was to have both apps approved and part of the July 11 App Store grand opening.

Apple only approved my developer program application in April and the deadline for the grand App Store opening was late June so there wasn’t much time to be all done on time. Luckily, I could rely on a talented part-time employee to help me out and actually hired one of my clients to work on the user interface, app icons and website. I knew it was a financial risk and a lot of work but deemed worth it as this was a one time opportunity for what would end up a huge success and change the industry.

Then the day finally arrived – the App Store opened on July 11, 2008. Both Linguo and Steps were part of only 500 apps available for the grand opening.

Back then, developers didn’t receive daily sale figures so you would have to wait a whole month before knowing how much money you made. When I finally saw that amount, I was in shock – it was more than half my annual salary and knew right then that my life would change.

Over the last 10 years, I’ve developed many apps. Most of them are no longer available but every single one of them was an important part of what me and Edovia have become. These were the building blocks that made it possible eventually to release Screens, which will celebrate its 8th birthday later this year.

Every year brings new challenges and developing apps is hard work. There are times of doubt but the reward is so gratifying. I am very grateful of where I am right now and I know that the iPhone SDK has changed the lives of many.

Back to the iMac (Pro)

I’ve always been a fan of the MacBook Pro+Thunderbolt Display setup. It worked very well, the monitor was amazing and it offered me the required versatility that I needed at the time as I had an office both at home and with other fellow developers.

iMac 5K

Then in 2014, came the iMac 5K. We’ve been spoiled by Apple since 2011 with the Retina Display (let’s face it, I’m not getting any younger and my eyes could use a break) and figured that I would switch to a MacBook Pro+iMac setup while Apple works on the Retina Thunderbolt Display or whatever they would end up calling it.

This dual computer setup is less ideal for me as I would code on both and syncing source code via Dropbox or some other sharing service is no option. Having to commit unfinished work to Git on one Mac only to keep working on the other is really a pain in the butt and is prone to human errors.

A very expensive and frustrating experience

“Finally”, Apple announced late 2016 new MacBook Pros and 5K external Retina displays to go along. Great! I thought. I could get rid of the iMac 5K and go back to my ideal laptop and external monitor setup.

The word ‘finally’ is in quotes because the 2016 MacBook Pro and LG Ultrafine display has been nothing but a frustrating experience. Luckily, I never had any keyboard issues many have been experiencing (yet) but the setup never really worked well. Not to mention the poor build quality of that LG display, which would wobble every time I would hit a key on my keyboard or just refuse to turn on unless I made some dance or forced reboot the MacBook Pro.

The fact that Apple gave away its display business to LG reflects how the company feels you shouldn’t plug in an external monitor to their laptops. If you do, then they don’t care about the experience.

Then came the iMac Pro

So I bit the bullet this week and got an iMac Pro. My intention is to use an iPad Pro on the rare occasions that I’m not working from home and use that time to do tasks other than coding, like blogging for instance.

If I really need to use Xcode, I can always fire up Screens and connect to my iMac Pro!

As a backup, I have a late-2013 MacBook Pro that still works very well.

Apple seems to have done a pretty good job with the iMac Pro. It is the most expensive computer I’ve ever purchased but I intend to keep it for a very long time.

Let’s hope this doesn’t end up being another expensive and frustrating experience!

My LG UltraFine 5K Display Review

hkn62

Well, I’ve annoyed my Twitter followers a lot those past few weeks so I’d better write a review!

I like having a one computer setup. For years, I had a Retina MacBook Pro attached a Thunderbolt Display and that worked quite well. Then in 2014, Apple announced the iMac 5K – I just had to get that beautiful, gorgeous Retina display! My plan was to have a two computer setup for a couple of years until Apple releases a Retina Thunderbolt Display or whatever it would be called it at that point.

Unfortunately, that day never happened. Instead, Phil Schiller briefly mentioned during the October 2016 Keynote event that Apple worked with LG on a new UltraFine 5K display and was now the official external monitor for the MacBook Pro. That Apple wasn’t releasing a new external display was expected at that point but my hopes were still high as Apple was seemingly involved in the design of the display.

That 4K Display That Never Worked Well

Being the impatient person that I am, I ordered an UltraFine 4K display to test out while the 5K version would become be available. After cleaning out all the styrofoam that got everywhere when unboxing the display, I plugged in my MacBook Pro the UltraFine 4K – nothing. The damn thing wouldn’t turn on. After multiple reboots, cable plugging/unplugging, it finally complied.

After a few days of use, my MacBook Pro wouldn’t recognize the display when plugged into the left side Thunderbolt ports. A SMC and NVRAM reset didn’t help. Only one of the right Thunderbolt ports would let me use the display.

I then proceed to return the display within the 14-day period in order to get a refund from Apple.

That 5K display that was DOA

The first 5K display I received had the same issues as the 4K except that it worked for about a minute and then just died. Since I had similar issues with the previous display, I went to the Apple Store to exchange the laptop for a new one, thinking that something was wrong with it. Unfortunately it didn’t solve the issue and had to, once again, send the display back to Apple and order a new one.

The second display has worked well since I’ve received it so maybe there are some quality control problems over at LG or software issues at Apple. Who knows! ¯_(ツ)_/¯

The Good

As expected, the display is gorgeous. This is great since once you start looking at it, you forget about its bland design. Where’s the aluminum? Where’s the glass?

Having only one cable to plug in is great.

The Bad

The thing wobbles like a Bobblehead. I don’t have the most stable desk but that was never an issue with my iMac.

Sound quality is not great. The volume level is also broken. You cannot go over two notches without being way too loud. Hopefully a software update will solve that issue.

I sometimes need to unplug USB accessories (iPad, etc.) when I plug in my MacBook Pro because they stop working or charging.

This seems to have been fixed in macOS 10.12.3 but I still need to open my MacBook Pro’s display before unplugging it because the display won’t turn on otherwise. This also could be solved by a software update.

The overall construction quality not what you would expect from a product endorsed by Apple. This display is more expensive than a Thunderbolt Display and yet it feels much cheaper. That Apple is fine with that is beyond me.

It smells weird while it’s turned on, although it seems like the smell is slowly going away as weeks go by.

Conclusion

I’m keeping the display but I think Apple made a mistake by leaving the display market. Like John Gruber and Ben Thompson discussed on The Talk Show #179, Apple probably never made much money from their displays but they did it because the user experience was important. I’d love to learn the rationale behind that decision.

Apple handed a part of its business to LG on a silver platter and instead of seizing the opportunity to impress Apple users, LG did the minimum required and left most disappointed.

Ten Years

January 2017 marks the tenth anniversary of being an independent developer. It all started in August 2006, when I got laid off by my employer and found another job that turned out to be very bad for me. So bad that I thought I would end up with a nervous breakdown so I had to do something about it.

I resigned later in December, took a few weeks off during the holidays and started being my own boss in January 2007. Then a few weeks later the iPhone was announced.

I still had to work as a contracting web developer, which I hated but not as much as that last job. It wasn’t up until April 2008, when my application to the Apple Developer Program was approved, that I could finally do what I wanted: make my own apps.

I was able to release two apps for the July 11 App Store launch and since then, I’ve been very fortunate to do what I love. Every year brings its challenges but I wouldn’t be doing anything else.

How to be a successful indie developer*

* Not a guarantee

There has been a lot of words written lately about how hard it is to make a decent living as an independent software developer. While I agree that it has become harder every year to stay on top of things and keep making it in a crowded space, it is possible if you apply these rules:

  1. Find a real problem to solve
  2. Make sure that those that have that problem are willing to pay a fair price for your app in order to solve it
  3. Make a great app

That is what I did with Screens and I’m making a pretty good living out of it. Of course, the app was released back in 2010 when there weren’t as many apps out there and it was easier to get noticed but it is still a proof that a $19.99 iOS app ($29.99 on the Mac) is possible.

Yes, it takes a lot more time, money and personal investment nowadays to make it as an indie but that’s what we call doing business. This isn’t 2008 anymore and it is not enough to just release a $1.99 app out there and hope to make it. Solve a problem and ask good money for it and you’ll have more chances to become successful.

Back to the Mac

Brent Simmons, UXKit Again

I have no illusions that I can talk any iOS developers into Mac development. I will say that it’s fun, though, for a bunch of reasons. Your apps run on the same machine as your development environment. You have the freedom to distribute outside the app store. You have a chance to write something that all your peers — many of whom are also programmers — will run all day long on their Macs. (And you have a decent chance of making better money. Mac users tend to be loyal and supportive and awesome.)

I’m not kidding myself, Edovia wouldn’t exist if it wasn’t for Apple and its respective App Stores. However, I’ve had this urge lately to try to make it on my own, without Apple’s help. Of course, there’s no way out of the App Store for iOS apps but you can still hold the reins of your destiny on the Mac side.

Just a few weeks ago, Screens for Mac made more than 90% of its revenues on the Mac App Store. My goal is to increase the percentage of copies sold directly drastically by the year’s end.

It’s not only about the money. Of course, having FastSpring taking roughly 9% off every sale compared to the hefty 30% taken by Apple on each sale is nothing to sneeze at.

For me, the real gain is to be able to push bug fix releases in the matter of minutes, not days, and taking care of my users in a much less frustrating way. Direct customers also tend to be less of a pain compared to App Store customers and easier to work with.

As for UXKit, I don’t understand all the fuss. Yes, AppKit is sometimes frustrating compared to UIKit but seriously, just learn the damn thing.

I don’t know why but for me, shipping a Mac app has always been something special over an iOS app.

Trust

Peter Cohen, NSFW: Note to Apple: Innovation shouldn’t cost stability

But Yosemite and iOS 8 are fraught with enough difficulties for enough users that I feel like neither of them are fully baked.

There are so many reliability and stability issues with both OSes that at some point we cannot trust them anymore and that’s a shame because these new features are truly great.

Trust is hard to gain and even harder to re-gain once your users have been burned by your promises. This, coming from the same company that took 2 years to implement copy and paste in iOS.

Price Trolls

$4.99. This is the price you’ll have to pay for Pixelmator, a desktop-class photo editor. I don’t know if the ridiculously low price was set at Apple’s request (a $19.99 price tag at the end of a Keynote demo would have much less impact) but if this trend continues it may hurt the App Store on the long run.

Of course, the makers of Pixelmator can afford such a low price since they’ll get a ton of promotion and the download volume will make up for it but this is not the case for most developers.

It sends the message to consumers that they shouldn’t pay much for quality software and that developers asking for a fair price are greedy. Eventually, it will be no longer profitable to develop for the platform and we’ll start seeing less quality apps on the App Store.

Unavoidable

Jared Sinclair:

I conclude from all this that anyone who wants to make a satisfying living as an independent app developer should seriously consider only building apps based on sustainable revenue models. I suspect this means through consumable in-app purchases, like those in Candy Crush Saga or Clash of Clans, or through recurring subscription charges, like those in WhatsApp.

The marketplace has changed drastically over the past few years and I think we’re going to see more and more freemium apps, such as Arment’s Overcast. As for Edovia, it is quite possible that our next major releases will offer new features through In-App purchases.

I have always been against the race to the bottom and priced Screens accordingly. The freemium model (or at least the Charge-Less-For-Basic-Functionalities-And-Offer-In-App-Purchases-For-Pro-Features model) is now something to consider and perhaps, unavoidable on the long run.

Furthermore, I have grave doubts that any solo developer would have the capacity to ship and maintain either kind of business working alone. She would probably have to consolidate her business with other indie developers in the same position. The marketing budgets of the major competitors makes me doubt that even a consolidation strategy is tenable.

I’ve been pretty successful with Screens because I was able to hire excellent developers and designers. The app would not exist without them.

 

The Indie Life

Yesterday, I’ve tweeted this regarding Kevin Hoctor leaving NoThirst Software for a new position at Apple:

Screen Shot 2014-07-03 at 9.04.04 AM

Let it be clear to everyone, I wish Kevin all the best and I am convinced that his experience will be greatly beneficial for all the Mail and Notes users. And let’s face it, 99% of us dreamed at some point to work for Apple and would really have a hard time to turn down an offer if it came by.

However, it seems that more and more people I know are moving away from the indie life.

I will tell you this: I cannot blame them to do so and I find myself thinking about doing the same from time to time. Here’s why.

The Game Has Changed

Let’s face it, the app gold rush is well over. It is now much harder to make it into the market and it requires more planning, financial investment and time. On top of that, competition is fierce, your app may get sherlocked1 by Apple and become a part of the next OS release or may lose traction because a VC funded company is offering a free alternative and has near to unlimited funds for market it while they figure out how to monetize it.2

The App Store market is now mature and near 7 years old. Apple does bring a tonne of new potential customers every day but many from the current user base have found apps that suit their needs and may not be interested in your offering.

I have spoken with other successful developers and many told me the same: sales are generally down. They are still doing great but there are more and more competitors are also taking a slice of the same pie.

Media attention is also harder to get as they get overwhelmed with review requests and press releases.

Pretty much anyone will tell you that making a great app is a good start. I wholeheartedly agree but while this makes a lot of sense and is one of the best way to get noticed by the media and Apple, it is not a guarantee of success and riches.

Take Screens for Mac for example. It has been featured many times by Apple and recently even got a custom page on the Mac App Store

1799883_823389157700734_4414570806805730274_o

You would think that the VNC app that Apple seems to prefer should be pretty successful, right? Well, yes and no.

How about Screens for iOS, which got featured in the iOS App Store Utilities section for months?

1504347_729857183720599_621917676_o

Sales are doing better than its Mac counterpart but not as much as you would imagine.3

To be quite honest, I can say that I am a successful independent app developer and making a pretty good living out of it. Unfortunately, it is far from being enough to hire a team, or at least one extra individual to work with. I do hire contractors from time to time and while I really appreciate their input and work, it is not the same as building a team.

Working With Great People

This is one aspect that I find frustrating about the (my) indie life. Of course, I feel very fortunate about being able to make a living out of apps I’ve developed. I also appreciate the liberty that my lifestyle brings.

However, I sometimes miss working with people. Being able to brainstorm with fellow developers, plan features with them and challenge each other is something that I often wish for.

Craig Hockenberry spoke about this at NSConference 2013. His talk, Independent, But Not Alone is available on Vimeo and I invite you to watch it. I should probably watch it again myself!

Outside of the social events, it is pretty easy to feel isolated from others when you are an independent software developer and I totally understand when someone gets fed up with the situation and chooses to go work for another larger company.

Another great talk to watch is from Rob Rhyne, delivered at the conference I happen to organize with some friends in Montreal.

While listening Rob’s talk, a slide really caught my attention:

Screen Shot 2014-07-03 at 1.38.51 PM

For an app such as Screens, this is quite true. Of course, if you’re working on a less complex app you can manage to do pretty well by yourself along with a graphic designer but for more complex projects, a team is something very valuable. A team will get more involved into the app on a daily basis than a contractor that is there only for a certain amount of time. The involvement level is (generally) not the same. A team is also composed of individuals that you get to know, hang around with and develop a complicity and a relationship.

I can also understand that someone would feel tired of a similar situation and would want to work with other talented people and decide to leave everything behind to pursue a new venture.

Other Aspects

Being your own boss is great but also brings some other challenges:

  • You need to stay away from daily distractions.
  • Finding your motivation can also be hard.
  • Financial instability. It is sometimes nerve racking to see your sales go down for no reason.
  • Dealing with boring paperwork and business responsibilities.

Luckily, I’ve managed to control most of these aspects from the experience of being self-employed for almost 8 years. I have hired a support person and an accountant (both part-time) for anything else I cannot/will not handle.

Getting paycheck every two weeks, working with a team of talented people and being a part of exciting new projects sure is tempting. Yes, you would lose some of the perks you would have as an indie developer but no situation is perfect and sometimes a drastic change is what is prescribed. Considering other opportunities, even if you do not commit to them, is sane.

The Future Of Independent Development

I believe that we will see a consolidation of the market at some point. This reminds me of the early 1990s, where any kid with a few thousands of dollars could start his own snowboard company. Eventually, the market got saturated and many of those companies disappeared, got acquired or merged together in order to gather forces, improve their products and be more competitive. This is the normal process for any mature market.

Another trend we should see in the future is more collaboration and joint ventures amongst indie developers. By doing so, you get to work as a team, share the work load, bear the risks together and create better apps. I feel this approach would be very interesting because it would bring the best of both worlds: the freedom and perks of the indie life with the pleasure and experience of working with a team on projects you could not achieve on our own.

Of the two, this is the most interesting solution to me.

Let’s Discuss

I’d love to hear what you think of this and how you see the future of independent software development. Thanks for reading.


1 Many people will say that this is actually a good thing if you can take advantage of the situation and offer something better over the default implementation.

2 This is why I tend to develop app for niche markets. Staying away from the mass market makes me sort of immune but of course there are some downsides.

3 Of course, the iOS App Store will outsell the Mac App Store any day so it is expected that sales will be better for iOS.