Our DNA is written in Swift

Years of Barcodes

My last 15 months had a common theme: barcodes. At this point all my research, coding and writing is finally allowed to move into the public sphere, plainly visible for all who care. And incredibly interesting for those who don’t just yet.

I’ve always believed tackling a topic from many sides at the same time. When I began researching the barcode APIs which Apple had added in iOS 7 I found several other areas starting to move as well.

Besides the book contract – which I am obliged to mention to you as often as I can – I started to research the connection of barcodes and product information. First I implemented an interface for retrieving product titles from Amazon Product Advertising API, later being stumped by the licensing terms which prohibit use of this data in mobile apps.

This misadventure caused me to form the initial seed for a platform that would allows us developers to make apps using barcode scanning and getting product names. The first name I had for it was P-API, as Product API, but somebody in the US of A convinced me that this would be a bad name. Then somebody suggested – akin to how Foursquare was previously described – “the missing Product Layer for the Internet”. And so ProductLayer was born … in spirit.

Then in the fall of 2014, my book was more or less feature complete, I spoke about these barcode entanglements at Cocoaheads Krakow. If you haven’t seen it yet, please watch this 15 min video where I explain my book and some basics about barcode technology. It might be a couple of months old, but its still as relevant as ever.

A nice talk, if I dare say so myself. 🙂

Speaking of which, I held two hour-long talks at Mobiconf 2014, one of them also giving a great overview of what you need to know about barcodes as an iOS developer. At the time of this talk, development on the ProductLayer backend – done by my smart partner RenĂ© Swoboda – had been going on for several months already.

My idea had been to collect e-mail addresses of developers with a teaser page and we collected about 400 addresses, but for reasons I cannot fathom nobody stepped forward wishing to trust upon our platform. So my partners and I decided to go ahead and produce the first app ourselves.

I am quite active on Twitter and every time I see something interesting I would tweet a statement about that, sometimes include a picture. When doing that about new products you are interacting with we felt that you want to share your notions about a specific products with the entire world… or at least your close friends on various social networks.

This is A way for you to “opine” about specific products and share your micro-product-stories with your friends, wherever they are: on, on Facebook or on Twitter. With more social networks to come. This is main benefit number 1: post once, and many people see your opinion about a specific product. Benefit number 2 are product lists: think Amazon wish list, but under your control. You can create lists of a number of different uses and any app using the ProductLayer platform can be authorised by you to access these lists.

I created the official iOS app in about 3 months and at the time of this writing it is under review by Apple. At the same time, over the course of almost a year I worked on the ProductLayer iOS SDK, all open source on GitHub. This has matured to version 0.4 which I feel is stable enough to now try and convince you to use it. That’s my other hat at ProductLayer, I am the Developer Evangelist.


One of the prerequisites of the barcode generation chapter in my book was the ability to create 1D barcodes. After finding that there was no “proper, modern” framework that would allow me to do that, I started my own, dubbed BarCodeKit. Several awesome volunteers contributed and added new supported symbologies. I am sure, if there was no BarCodeKit, there would not be a book.

Since I got started on my book, I wanted to give owners of it a goodie: a free commercial development license. Own my book and you have a free license. Don’t own a copy, you have to pay 150 Euros. I figured that this would be a no-brainer. Would you rather pay around $30 for book and BarCodeKit, or 150 Euros for only the license?

Moving Public

In the many months of working on the book I had 2 sales of such a paid license. So I today I decided to move the BarCodeKit source from my private GitLab repo into public view on GitHub. The potential benefits of this source code being public by far outweigh the potential loss of 1 sale per year.

Barcodes with iOSThe sample code for my book was also in my private repo and we published ZIP snapshots on Geoff Breemer awesomely (and painstakingly) converted most of the Objective-C sample code into Swift, so you can see how the sample work in both languages. That’s also now on GitHub. You can still get the source via Manning, but I am certain I don’t need to spell out the benefits of interacting with the code (and me) on GitHub.


At this point several threads in the fabric of my developer life are now joining into a beautiful tapestry, one that it also no longer hidden from the public.

I encourage you to pick up a copy of my book to learn about the great potential that barcodes are holding. I have been working very hard to make it as plain as day for you to see that there are awesome new app opportunities for you. All you need to do is build them.

Trust me on this one: my occupational hazard is that now I see barcodes everywhere I look. Each crying out to me “there should be an app for that!”

Categories: Business

Leave a Comment

%d bloggers like this: