The older you get the quicker a year passes it seems. 2013 was a good year for us at Cocoanetics. Not really exceptional, we’re still waiting to get our great chance. But we cannot complain either, 2013 gets the “solid!” predicate.
Here at Cocoanetics there are three developers working on two projects for external clients and one working on our own products. We are thankful to our clients to keep putting their faith in our abilities as iOS developers and we feel that we put high quality work into those projects.
Long Term Contracts
This is not a given nowadays as many companies are looking to countries where iOS development can be gotten at a much cheaper rate then we have to charge being located here in central Europe.
We believe that in both cases our clients are happy with what we deliver, but looking forward, we are actively working to increase the amount of automated testing for all our projects as well as enhance manual testing where our resources permit that.
Having such long term contracts allowed me to hire a full time employee in April 2012 and my goal for 2013 was to bring him to WWDC. Even the quick sellout of the conference couldn’t keep me from making this plan a reality. In retrospect this was an amazing feat and I don’t dare to make a prediction for WWDC 2014. I would love to repeat this, but the “solid!” from the introduction means that there is little room to repeat such an extravaganza every year. We’ll see how it turns out.
Regarding the “own products”, the two top netting were Linguan, our Mac-based localisation tool and DTRichTextEditor, a rich text editing component. At the time of this writing both are about 2 years of age, give or take a few months. The monthly income that Linguan yielded was less then a single sale of the editor. A couple of hundred dollars per month were not enough to invest seriously into the mac app.
Linguan
The straw that broke the camel’s back was when Apple made app sandboxing mandatory in Spring 2013. From this point on you could only fix severe bugs. This was the time when it started to dawn on us that we had to sell Linguan or retire it. We waited to see what Apple would announce in terms of developer tools at WWDC but the only related announcement was that there would be a new XML-based XIB format. This meant that you could remove the need remote-control ibtool for parsing/modifying XIBs which was one of two problems for sandboxing.
So in August my partners and me decided to seriously go looking for somebody to acquire Linguan from us. I even tried to contact Daniel Pasco from Black Pixel, but never got any response, except a tweet that he is getting too many emails. Poor guy! When setting the sale price at first we went with about 3 years worth of sales because 2-3 years of profits seem to be the norm for determining the valuation of a business. That came to a round 10000 Euros.
Shortly later we dropped the price to 7500 Euros, about 2 years of profits. I did so with a heavy heart since Linguan was my brainchild and never lost my belief that Linguan could be great and net way more if only somebody gave it some serious love. Eventually I started to get some emails, some with low-ball offers, some proposing weird cooperation constructs. Finally one shining knight appeared who won the head of the princess. Ireland-based Peer Assembly acquired Linguan and my hopes are now that they will do the necessary work to make Linguan sandbox-compatible.
My hope is that in 2014 Linguan “will do the Phoenix” and reemerge from the development dungeons refreshed, renewed and even more awesome.
DTRichTextEditor
Right until right before WWDC I had always assumed that Apple would add something to iOS 7 that would make DTRichTextEditor obsolete. Then they did and they didn’t. TextKit being iOS7-only meant that if you wanted to use UITextView for editing HTML or other rich text you would have to forego supporting iOS 6 or less. Also there are many things missing from TextKit that DTRichTextEditor has: customisability, support for text attachments (images, videos, custom objects). The most important piece still missing being a way to create HTML from NSAttributedStrings.
I did see sales of the editor going down right in front and shortly after WWDC. No surprise there. Many of my other components on my parts store had great demand at a time only to fall to the wayside later. I’m suspecting that both open source projects as well as low-price commercial components are commoditizing components.
But did DTRichTextEditor fall into oblivion? Now that iOS 7 penetration hovers around the 74% mark? Actually it didn’t! My sales team (aka my wife) is reporting stronger sales of it than ever before. So either people are unhappy with TextKit or there is something in my component that people need or want and cannot get otherwise.
DTCoreText
This ongoing demand is driving additions and improvements in DTCoreText my open source project that DTRichTextEditor is using for parsing HTML, rendering and creating HTML. In 2013 DTCoreText went from version 1.1.0 all the way to 1.6.10, more than two dozen releases!
It rarely happens that somebody is willing to sponsor enhancements for DTCoreText. I found that when I began to tag GitHub issues with “Sponsor Needed”. But it seems to me that my clients are way more willing to pay for enhancements that are not “given away”. So there were a couple of additions to DTRichTextEditor funded by the large corporations using it, and of course some of the things found their way back to DTCoreText if they were related to the core features there.
DTCoreText is also the most watched and most forked of all my open source projects. Many people seem to be using it and understanding it enough to send pull request with fixes and enhancements. The most wonderful addition in 2013 was the implementation of CSS style cascading. It took a couple of tries to get it working, but with the help of extensive unit testing we got this nicely stable in record time (versions 1.6.4 – 1.6.6).
Machine-readable Codes
I was ready to turn my back on anything rich text related around WWDC 2013, but while I keep making money with it I will keep supporting it. But my attention turned to another technology when broad support for it got announced at WWDC. I’m referring to barcodes, or as Apple keeps calling it: Machine-readable codes.
My inspiration was well explained in the most recent episode of the Cocoanetics podcast, but the gist of it is that I am seeing an enormous dormant opportunity arising from iOS adding such broad support for barcode scanning and generation. In the past you had to either license an expensive third-party scanning library or fight your way through cross-platform open source libraries. iOS 7 is a game changer there.
The built-in ability to scan the most common barcode symbologies will enable a new breed of mobile apps that bring together the digital and physical worlds. In the past barcodes only had value to cashiers at the point-of-sale because those guys had a database to access to retrieve product names and prices. Now every iOS developer will be able to make apps that provide some great value to their users for allowing them to query, inventory, organise and look up physical products via their barcodes.
This inspiration formed the basis for the Product Layer project which I and several of my friends are going to put some serious work into in 2014.
My Book
Loving to write it was always a given that one day I would be writing a book. I tried to get my foot in the door with Erica Sadun’s publisher by offering to act as tech reviewer for several of her books. The first book idea I pitched to them was about reverse-engineering, never got any response there. Still I reviewed chapters sent to Erica to her reviewer-fans and provided feedback and suggestions, pointed out issues and suggested better ways to state something.
By an amazing coincidence I got contacted by a book publisher in September. He told me that they are looking for some iOS experts to make half-size books (200-300 pages) to improve their offerings in the iOS area. Being full of ideas I immediately had 3 book ideas to offer which I used many words to describe to him. He then asked me which of these I felt the most passionate about and to this I truthfully responded: “the one about barcodes!”
I put down my initial experience about getting from a proposal to a book contract in a blog article. Since then I spent about 80 percent of my time working on the book.
The first feedback I got from my writing sample (a section from a longer chapter) was that my style is quite different from other books by the same publisher. I was writing more “tutorial style”, quite “terse” and for a higher skill level of iOS developer than is the norm. But I uttered a big sigh of relief when they came back to me and told me that this style is great for the intended audience.
I like to belief that my approach to this book is also different and intriguing. Instead of focussing on a single technology or API like most other books I am doing a “vertical tech book”. The idea is to use barcodes as the common thread across all chapters, but look at several different technologies that were added in iOS 7. Each such technology would be taught in the context of barcodes.
So even if you are not (yet) that much into barcodes, but were wondering about some of the hot new topics in iOS 7 then this book will interest you as well. The main advantage of this approach for myself is that this is making it way more interesting to research and write for me as well.
Being a novice book author who does not speak English natively it is very important to have a good publisher at your side who can teach you a few tricks on how to present the material in a way that people can do something with it. Over several meetings with an Instructional Designer and my Development Editor I learned about many things that I would have never discovered myself. Things that greatly increase the quality of my writing.
I am learning a great deal and I am looking forward to seeing the final result some time in the middle of 2014 printed on actual paper. You will be able to pre-order the book in a few months and then you will be able to access the already written chapters in their draft stage. I have one more chapter to deliver before this pre-order capability is started.
Other Plans
Amongst all these activities there were recruiters from Google and Facebook knocking at my door, some friends at Apple reiterated their question if I wouldn’t want to consider moving to Cupertino. To all of them I said the same thing: I like to live and work in Austria and I also like to do a little bit of enterprising. Google even offered to buy my business, but this only made me smile: one of my clients sees Google as their main competitor. I smiled because I imagined the kind of heart attack they would get if I sold out to Google. Isn’t it nice to be looking out for the health of my partners like that?
Honestly, I am hesitant to predict what precisely is going to happen to my business or products or activities in general in 2014. 2013 has shown that 3 people can live of the current level of activities, survive, but little more. If the level of income stay where it is now then we won’t have to worry about surviving 2014.
But I do have some dreams: I would like to work with even more people as part of the same company. Also it would be great to move from the current room I call my office to an actual office. Maybe have sufficient room to be even able to sub-let a part to friendly startups. I want to be around creative and enterprising people, hoping that this would make me personally a little less jaded.
Speaking of startups: maybe Product Layer is destined for greatness as well. We’ll know more when there is something to talk about publicly.
Either way I am hoping that you found 2013 to be good to you as well. Merry Christmas and a Happy New Year! May 2014 be even better to all of us!
Categories: Administrative