Business – Cocoaneticshttps://www.cocoanetics.com
Our DNA is written in Objective-CMon, 28 Aug 2017 14:39:38 +0000en-UShourly1https://wordpress.org/?v=4.8.239982308Coach or be Coachedhttps://www.cocoanetics.com/2017/06/coach-or-be-coached/
https://www.cocoanetics.com/2017/06/coach-or-be-coached/#respondThu, 29 Jun 2017 12:29:06 +0000https://www.cocoanetics.com/?p=10498About a year ago, I got contacted with an unusual request: how can users with iPhone to participate in WebRTC video conferences?

All other desktop browsers already did support WebRTC, and Safari on Mac needed a plugin for it. But Mobile Safari never supported Flash or any other plugins. But I knew how to achieve this and this resulted in the development of the Klickerr.com app.

Since Klickerr.com launched today, I would like to tell you something about it. Besides the question how I solved the riddle, you might like it as way to offer coaching services for pay to an international audience. Or you might be interested in learning new skills from international experts.

BSA Banner

On Klickerr experts in a wide variety of topics offer their services via video conference. Experts can offer their services in all languages they can speak. They can specify a topic, a duration between 5 and 90 minutes and a price between $5 and $1000. Klickerr keeps a small percentage of that and the rest is paid out to the expert.

Be it that you want somebody to critique your yoga postures or you need marketing advice. Be it that you want to understand some area of physics or deepen your programming skills. Klickerr will have you covered … when enough experts have listed their services. Of course, I was the first to add something to the Technology – Apps section.

As a service provider – I prefer the term “expert” – you can specify at what times you’d be available to be booked. Clients send an inquiry for a specific service and time. If the provider accepts then the client has to pay in advance for the service. Then all that remains is for both parties to meet in a private chat room and commence the session once the scheduled time arrives.

As an expert you probably want to have the session on your Mac and in Chrome, because there you have a built-in camera and the ability to share your screen.

WebRTC on iOS

As a fresh startup Klickerr needed to have their platform first solely on the web. As alluded to earlier, most desktop web browsers already support WebRTC natively or via plugin. But how did we get iOS to play with that?

The answer is a combination between universal links and an iOS WebRTC SDK. Users can do all the session initiation from Mobile Safari, but when it comes to starting the video conference the link leads to a different sub-domain which is set up in the site’s app association file as being representable by the iOS app.

The process is explained in-depth by this talk I gave in 2015. At this time my experience was with integration the prod.ly site and app. But having researched this a year earlier was the basis for the approach I suggested to Klickerr.

Tapping on the session link opens the app which you needed to have installed before hand. If you haven’t installed it yet, the universal link opens from the web server and there you find a smart app banner and instructions on how to install the iOS app. The universal link contains all information to hand over the video conference to the iOS app.

From WWDC 2017 we know that some form of WebRTC- support is coming to Mobile Safari, but the current solution via app makes Klickerr available to everybody on iPhones and iPads right now.

Some Mild App Review Trouble

The app does not do anything if you don’t open it via universal link. So we only show a label that no session is currently active and that the user should go to klickerr.com to start one. I had a simple openURL to leave the app and go into Mobile Safari.

We noticed that the user is taken to Safari to sign in or register for an account, which provides a poor user experience.

They kindly provided us with this advice:

To resolve this issue, please revise your app to enable users to sign in or register for an account in the app.

We recommend implementing the Safari View Controller API to display web content within your app. The Safari View Controller allows the display of a URL and inspection of the certificate from an embedded browser in an app so that customers can verify the webpage URL and SSL certificate to confirm they are entering their sign in credentials into a legitimate page.

The openURL was easily replace with a Safari View Controller. Once I had submitted this update, version 1.0 passed and got approved.

Some time passed and we did some UI improvements all around the app. This update was rejected for a different reason, referencing “Section 4.2 – Design: Minimum Functionality”.

Your app provides a limited user experience as it is not sufficiently different from a mobile browsing experience. As such, the experience it provides is similar to the general experience of using Safari. Including iOS features such as push notifications, Core Location, and sharing do not provide a robust enough experience to be appropriate for the App Store.

One several occasions I had stressed the fact that Mobile Safari was incapable of WebRTC and therefore the app was providing functionality that a web site couldn’t on iOS.

I couldn’t believe that Apple wouldn’t understand this distinction, I even offered to remove the link to Klickerr.com or the Safari View Controller because those were the only way how you could assume that the app was a repackaged version of the website. This went back and forth about 5 times with 2 new submissions that also got rejected with the same reasons.

I was at the end of my wits, but in the end the response offered:

Please let us know if we misunderstood your app, please let us know. So we can set up a phone call to understand your app.

Three days later I got a call from the United States, while flying with my drone next to a wind turbine. Once I had landed it, I explained to the friendly app reviewer why this app was necessary for users to be able to participate in Klicker. The worst case scenario would have been that would have to go live with the previously approved 1.0 version which would lack the improvements I had made, but would technically be functional.

After a bit of explaining, imploring and some mild begging, the reviewer agreed to grant us a one time exception. We would get the update approved, provided that the next update would contain functionality so that users could launch video sessions from within the app.

App Reviewers are Human, too

The learning from this episode was this:

if you are trying something new where you don’t know that Apple would approve it, make a minimum viable first version and see if Apple approves this. You can hold it back from being published if they approve it outright, but you gain valuable insight.

if you don’t seem go get anywhere by responding to messages in Resolution Center, then ask for a phone call to explain in person. Having to dedicate some time for a conversation with another human being might cause the app reviewer to be more receptive to your explanations and special circumstances.

reviewers have the Guidelines, but have some liberty to interpret these. Sometimes you can be successful by explaining how a slightly different interpretation chimes better with the rules and cause the coveted approval to occur.

it goes without saying that you should be polite, appreciative of being granted a conversation and respectful. You can catch more flies with honey than you can with vinegar.

Conclusion

I think the idea behind this platform is great. Google tried something similar in 2013 – limited to native English speakers in a few countries – but they ceased 2 years later, because it didn’t grow at a pace they had wanted to see. The service offered by HackHands might be seen as similar, but this service is driven by clients seeking help for specific topics with a sort of auction system for finding a provider and exclusively for programming topics.

The iOS app I built for Klickerr is only a small part of the entire platform. Nevertheless I would like to see it flourish and become the place to go for one-on-one expert advice, if only to know that had a small part in it.

Please check out the Klickerr.com website and if you feel like you have some coaching in you, list your services! Or maybe pass on the word about this being launched.

]]>https://www.cocoanetics.com/2017/06/coach-or-be-coached/feed/010498Day of the Dayhttps://www.cocoanetics.com/2016/01/day-of-the-day/
https://www.cocoanetics.com/2016/01/day-of-the-day/#respondSat, 02 Jan 2016 12:13:50 +0000https://www.cocoanetics.com/?p=10036Manning offers three books (including mine) as Deal of the Day, for January 2nd. Here’s your chance to get a great deal on several great books!

]]>https://www.cocoanetics.com/2016/01/day-of-the-day/feed/010036Growth Spurthttps://www.cocoanetics.com/2015/12/growth-spurt/
https://www.cocoanetics.com/2015/12/growth-spurt/#respondSat, 19 Dec 2015 19:02:52 +0000https://www.cocoanetics.com/?p=10001In January 2016 the Cocoanetics blog as well as my iOS development business will exist 7 years. The business entity behind it – Drobnik KG – existed for twice as long. At the end of 2015 there will be several fundamental changes.

BSA Banner

I had founded Drobnik KG together with my brother and father as holding company for our real estate. The idea for that I had gotten from Robert Kiyosaki’s books Rich Dad Poor Dad and Cashflow Quadrant. My father was running the business and insured a nice and steady growth.

7 years ago I started with iOS development, soon after the first iOS SDK was released. I published some apps of my own and also started taking on contract work. The basis of my income however was formed by selling closed source components. During this time I grew my revenues in leaps and bounds until at the end they were on par with the real estate income.

Most notably we become iOS development partners of ELO Digital Office in Germany and International Color Services in USA. For both we are to this date acting as the external iOS development department. Two of my colleagues have a full time job from that. I like to be jumping around and tackling new challenges where they might present themselves. On a recent project I took on the tasks related to architecting an API and SDK, senior developer stuff. Having a blast.

The Big Change

By the end of 2015, we had sold all our real estate at a profit. My father/CEO passed his 74th birthday this year and goes into his well-earned retirement. I am stepping up from being a limited partner to being the new CEO and majority stakeholder. For legal reasons – to keep a limited partnership intact – I am keeping my brother with a minority share in the company. As I’ve learned from earlier dealings with Apple, you cannot form a company with yourself.

As of 2016, Drobnik KG will basically be me and the people who work for us. When we formulated the new company contract I decided to have these three focus areas:

Software Development

IT Consulting

Dealing in Hard- and Software

At first I was tempted to drop everything and only do iOS development, but the advice of the notary was to formulate it a bit more broadly. So I picked these three areas which sort of fit together.

Cocoanetics – as the brand name under which everybody knows me – keeps growing in fame and does our notoriety amongst Austrian companies in need of iOS app development. Several times a month we are getting contacted by companies who would like to subcontract me – personally – out to larger clients.

There is a definite increase of such contacts, but the time I have for actual development work shrinking all the time. Which leads me to the conclusion that I could do either of two things: I could sign up for several-month-long contracts and make good money doing all the work myself. Or I could increase our human resources.

For a while I was leaning toward the option that would allow me to lean back and just rake in the cash. But that’s not how I work. I am happiest if I am in the company of smart people whom I can teach the trade, whom I can mentor and who I can care for. I had learned from of Robert Kiyosaki: I want to be a business owner, not merely be self-employed.

Careers at Cocoanetics

The next question I get asked a lot: remote possible? Contracting?

Well… I don’t see that feasible. At contractor – by definition – does not work with the vision I have of having smart people around me. Also some of my clients are local to Austria and require that we sit down with them regularly. Also I don’t see my mentoring skills really working remotely over Skype.

There are people – who I admire greatly – who pulled off the virtual company. But we are virtual already! Both “my guys” are closer to the center of Austria, near Linz, whereas I am working in the capital Vienna. This mostly works because both of them have ownership of the big projects we run for our clients. With one of them I am on a project together at the moment and he’s coming by railway to Vienna about once a week just so that we can synchronize.

So the point is: remote only works if I can have you work on the project by yourself because you have my full confidence that you will make the client happy. But here we have a chicken-and-egg problem: As an experienced developer you probably have the skills, but you would be costing me too much for it to be economically feasible. As an inexperienced developer you need my guidance and help, and for that we need to be seeing each other regularly.

At this point I am willing to start expanding the team, but only by Junior developers. And only by people who are close to Vienna. For the first few month it will have to be a local job and as your skills grow you can be more and more independent. In the long term you might be able to be take on external client projects around central Europa, where you would be on-site for months at a time. Mid term we probably can reduce face time necessary to occasional visits. But short time, we need to work together.

We have a so-called Collective Agreement that governs the salaries for employed developers in Austria. So even as a Junior Developer you would get remunerated quite well. But I can only employ people who are legally able to live and work in the European Union. Or Interns. There the laws are less stringent as far as I know.

Personally, I don’t put much stock in formal IT education. I am looking for bright individual who possess the mental make up necessary to be happy developing software. I am more impressed by good abstract thinking skills, mental flexibility and if you quickly grasp complex and new concepts.

You know how to get in touch, the infos are all there. If you can see yourself living in the world’s second most-beautiful city, Vienna, and love to develop iOS apps, then we should talk.

]]>https://www.cocoanetics.com/2015/12/growth-spurt/feed/010001Deal of the Dayhttps://www.cocoanetics.com/2015/11/deal-of-the-day-5/
https://www.cocoanetics.com/2015/11/deal-of-the-day-5/#respondMon, 02 Nov 2015 18:01:04 +0000https://www.cocoanetics.com/?p=9954Manning offers three books (including mine) as Deal of the Day, for November 2nd. Here’s your chance to get a great deal on several great books!

Use promo code dotd110215au to get 50% off any of these books throughout July 28th.

BSA Banner

This book took up the better part of 15 months to polish into the only one its kind. It just might be the very first vertical tech book.

I am not referring to the way how you would place it on your shelf. A horizontal book typically would only cover one technology layer. A vertical book, like this one, slices through multiple technologies that are to some degree connected to barcode technologies. Using barcodes as a common theme, it introduces several other technologies which complement barcodes nicely: RESTful web-services, OAuth, iBeacons, Core Location, NSURLSession, MapKit, Core Image, AVFoundation and many more.

You also get a €150 value included for free with this book: you get a free license to use BarCodeKit, the only modern framework for generating 1D barcodes on iOS and OS X.

I’ve been asked if this book has lost some of its relevancy due to the growth of Swift. To this I can say “certainly not!” because all of the presented concepts work seamlessly in Objective-C and Swift. Also, most of the sample code is already available in Swift on the public GitHub repo.

iWoman is a simple and intuitive app for women to keep track on their menstrual cycle. In-app purchases add the ability to keep track of sexual intercourse, daily basal temperature measurements and to have the data passcode protected. iWoman was the first app Drobnik had published on the app store in late 2008.

BSA Banner

Oliver Drobnik, founder of Drobnik KG and Cocoanetics.com shared this history of iWoman:

“I built the first version of iWoman mostly as an exercise to learn Objective-C in 2008. It was actually the second app I submitted to the app store. The first was DropClock which would measure vertical distances by letting people drop their iPhone onto a soft pillow. But – for some weird reason – Apple never approved this app.

iWoman was an overnight success, for a long time ranging amongst top sellers in the health & fitness categories. Two years later, in late 2010, iWoman 2.0 brought much exanded functionality, in-app purchases and a complete visual redesign. In retrospect, iWoman proved to be a good commercial success in the long run, netting sales of $48.K ($32.9K after Apple’s share) over its 8 year life span so far.

Unfortunately the sales were spread out over so many months that I didn’t ever have the resources available to keep iWoman current and fresh. Because of this no updates were made since Summer 2012. This was always been a chip on my shoulder. On one side I was emotionally attached ot this app being my first published one, on the other side I needed to make a living and could not take care of my baby.”

Stefan Eipeltauer, CEO of FOKUS KIND Medien said about the acquisition:

“We are excited to pick up this app which perfectly fits into our portfolio of pregnancy-related mobile apps. We will continue to work with the previous owner to fix some pressing bugs and – later this year – overhaul the UI to give it a more modern feel. Cocoanetics has proven to be a great software development partner and we are looking forward to working with them on this and other apps.”

BSA Banner

Vienna, Austria – ProductLayer announces that today, April 1st, the share holders are signing the papers of incorporation for ProductLayer GmbH. Additionally a customer reward program is announced that changes everything you thought you knew about social networks and gamification.

Users on prod.ly, ProductLayer’s social network around physical everyday products earn points for activities which contribute value to the network: completing product information, uploading product photos, sharing opines and voting on products. Today the company announces that from now on all points will be convertible in cash.

ProductLayer’s Chief Developer Evangelist Oliver Drobnik says:

“Traditional gamification systems try to make users do something that is in their interest by creating a fake social pressure to use their systems. This essentially makes their users slaves to the cause.

We believe that by giving all points a real money value users will no longer feel cheated out of their share of earnings. Rather, we see our users as partners in our business. We need them to grow big and want to reward the users with money.”

“Traditional Kickstarter works that users pre-order a product, which gets made and having a product causes the kickstarting company to be funded because it is now worth something.

We are reversing the process: Users use our product prod.ly first. The more users we get the more valuable our product – and thus ProductLayer – will become. When we then get big funding we are going to distribute part of the venture capital according to point values earned by the users”.

Effective today the prod.ly iOS app has been updated to show the monetary amounts users have accrued so far.

Sign up for a free account via the iOS app and start making money by sharing your everyday product interactions with the world. Social networking has never been as lucrative before.

]]>https://www.cocoanetics.com/2015/04/make-money-socializing/feed/49559Years of Barcodeshttps://www.cocoanetics.com/2015/02/years-of-barcodes/
https://www.cocoanetics.com/2015/02/years-of-barcodes/#respondFri, 27 Feb 2015 16:14:57 +0000http://www.cocoanetics.com/?p=9485My 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.

BSA Banner

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.

Prod.ly

This is prod.ly. A way for you to “opine” about specific products and share your micro-product-stories with your friends, wherever they are: on prod.ly, 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 prod.ly 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.

BarCodeKit

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.

The sample code for my book was also in my private repo and we published ZIP snapshots on manning.com. 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.

Conclusion

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!”

]]>https://www.cocoanetics.com/2015/02/years-of-barcodes/feed/09485Deal of the Dayhttps://www.cocoanetics.com/2015/02/deal-of-the-day-3/
https://www.cocoanetics.com/2015/02/deal-of-the-day-3/#respondSun, 22 Feb 2015 17:13:52 +0000http://www.cocoanetics.com/?p=9475Manning offers three books (including mine) as Deal of the Day, for February 22th. A new chance to get in on a sweet deal!

Use promo code dotd022215au to get 50% off any of these books throughout February 24th.

BSA Banner

This book took up the better part of 15 months to polish into the only one its kind. It just might be the very first vertical tech book. I am not referring to the way how you would place it on your shelf. A horizontal book typically would only cover one technology layer. A vertical book, like this one, slices through multiple technologies that are to some degree connected to barcode technologies. Using barcodes as a common theme, it introduces several other technologies which complement barcodes nicely: RESTful web-services, OAuth, iBeacons, Core Location, NSURLSession, MapKit, Core Image, AVFoundation and many more.

You also get a €150 value included for free with this book: you get a free license to use BarCodeKit, the only modern framework for generating 1D barcodes on iOS and OS X. Regardless of where you have gotten your copy of Barcodes with iOS from, please go to your Amazon.com site and drop me a short review. This is invaluable so that people can know what they are missing.

To get the word out about the recent paper-version release we are interested in finding a couple of people review the book on their blogs. We’d be happy to supply free copies for this purpose and also a couple for giveaways. Email me if you have a blog and are interested in this promotion.

]]>https://www.cocoanetics.com/2015/02/deal-of-the-day-3/feed/09475Book, outhttps://www.cocoanetics.com/2015/01/book-out/
https://www.cocoanetics.com/2015/01/book-out/#commentsThu, 22 Jan 2015 08:27:02 +0000http://www.cocoanetics.com/?p=9438We are happy to announce that my book Barcodes with iOS is out now. The final PDF edition arrived January 21st in the inboxes of people who had pre-ordered via the Manning Early Access Program (MEAP).

You can order it on Manning.com (50% off with discount code mldrobnik) or amazon.com or – if you are in Europe – you might prefer Amazon.de. Either way is fine… as long as you buy a copy!

BSA Banner

My journey started in October 2013, when writing started. This being my first book, I needed to learn a few things before I was ready to make my debut as author.

With the first 3 chapters complete the manuscript was sent out to 10 industry experts who should comment on the quality and give an Amazon-style 5-star rating. It came out at a whopping 4,2 Stars. This caused the book to be green-lit of the preorder program.

The MEAP for the book started in March 2014. The first few chapters were accessible in raw form, as I submitted them to my Developmental Editor. Who preordered the book got to see all chapters as I handed them in, but without all the polish and editing that would follow.

In the following month I had worked reviewer’s suggestions into the manuscript and so we updated the 3 available chapters. This feedback was invaluable because in particular the chapters less directly related to barcode scanning needed some direction.

In May 2014 we already had 5 chapters ready. The first 3 chapters got locked for pre-production at the same time. This meant that I shouldn’t edit them any more but leave this to editing and graphical professionals.

On the last working day of May I handed in the final chapter… or so I thought. Mid of June was WWDC time and Apple released iOS 8. Besides removing the “7” from the book title I needed to go over all chapters and insert information about changes that would arrive with iOS 8 in fall 2014. The complete and iOS8-updated manuscript was on the MEAP on July 8th, a mere month after WWDC.

At this point a second round of reviews happened for chapters 4-7. This time I improved my “how would you rate it on Amazon score” to 4,6 stars on average. I call this a good basis for the polishing that would follow.

Publishers call the time when you are writing “pre-production”. As soon as you lift your fingers from the keyboard the book enters the “production” stage. Then the experts really take over. A tech proofer goes over your source code and technical details with a fine tooth comb. A native English speaker adjusts your language to sound native, too. A graphical designer takes your Omnigraffle vector art and adjusts it to fit the usual Manning style.

A seemingly endless back-and-forth ensued where you have to answer around a dozen or so Author Questions (AQs) to clarify something to the editors. The most painful part was editing the index. I had my mind set on grouping all Objective-C symbol names by prefix and add a description to all, like if it is a constant, a function, a class or a method. My editor patiently implemented all my change requests, until finally on January 9th she wrote:

I got these changes marked. Can you believe you’re ready to publish?! I’m sure it seemed like you’d wait endlessly

This day the book went to the printing presses. So now we know that it takes about 3 weeks to produce physical instances of my Book class.

Acknowledgements

The final part you have to deliver, after most of the editing is done, is the so-called Front Matter. Amongst these brief sections which are near the front cover there is also a section where I get to thank people. To make sure that my thanks are seen by the maximum number of eyes, I’m reproducing this section here:

I am thankful to …
Erica Sadun, who—four years ago at a developer conference in Seattle—put the notion into my head that someday I could be a book author too. When I got the opportunity to provide technical feedback for several of her books, I found that my commentary was both welcome and highly relevant. This has inspired my writing ever since.

Scott Meyers, for asking me on behalf of Manning if I would consider writing a book. He supported my idea of writing a “vertical book,” slicing through several different technologies, as opposed to writing a “horizontal book,” covering only a single technology. I could have chickened out at several points before we signed the book contract, but Scott’s trust in me—which was entirely based on a few blog articles I had sent him as samples—kept me in the game.

Bert Bates at Manning, who taught me how to shift from writing blog articles to designing instructive book chapters. I had arrived at my own “tutorial style” over several years of writing blog tutorials at cocoanetics.com, and initially there was doubt that my style would work for a Manning book. Bert believed in me and convinced the powers that be that my style was perfect for an advanced-level Manning book. He also gave me a ton of instructional tools that I am using to this day, even in blog posts.

Sean Dennis, my development editor at Manning, who guided me through giving the book a professional structure and feel. Often he would play dumb and nagged me to explain something better. At first I cringed, but after having made the changes, I always found that Sean’s suggestions had made the book much better as a whole. It was also Sean who suggested I use Discogs for the networking chapter’s sample app, being an audiophile himself.

The people who contributed to BarCodeKit: Andy Qua, Jaanus Siim, Brendan Duddridge, and most importantly Geoff Breemer. BarCodeKit is the key ingredient that made chapter 5 possible. I also thank Geoff Breemer for migrating this book’s sample source code to Swift. This book’s code listings are all in Objective-C, but because of Geoff’s work you get the free bonus of seeing how it looks in Swift, too.

All the other people at Manning who helped polish this book into its published form, in particular Andy Carroll, my copyeditor, and Katie Tennant, my proofreader, for making me sound like a brilliant native English speaker. Also my technical proof-reader, Gregory Hill, for helping me eliminate several embarrassing mistakes in the source code.

René Swoboda and Roland Moser, who believed in me when I pitched them the ProductLayer.com product information service for a startup, the idea for which came to me as a result of researching barcodes. Their enthusiasm made me realize that I wasn’t alone in my vision: mobile apps that interact with physical products via bar- codes will be highly relevant.

My colleagues Stefan Gugarel (cameo in figure 3.1) and René Pirringer, for taking on the majority of client consulting work in our company while I was working on this book. They allowed me to concentrate on building sample apps and writing book chapters while sitting next to them in our basement office, which I lovingly started to refer to as “the mine.”

My father, Klaus Drobnik, for passing on to me a passion for engineering, structured analysis of complex topics, and teaching. And, of course, for all the other things he did for me, growing up, that I could never thank him enough for. In his role as head of our family business, I thank him for having my back while writing has kept me from contributing to our company’s bottom line.

Last but not least, I wish to thank Apple, Inc. The iPhone SDK and the subsequent App Store revolution allowed me to reinvent myself as a full-time self-employed software developer and blogger of technical tutorials. And now I’m even a published author! Apple enabled me to boldly go where I had never gone before.

Author Copies

As an author you are entitled to 25 copies of the book for your own personal use. For the immediate future I will just leave the stack on my dining room table and marvel at it. Later I might be handing these out to several distinguished individuals.

As is tradition with all iOS-related items that I receive, I also wanted to do an unboxing video of these. So there YouTube video is here:

Conclusion

I still don’t really believe it, 15 months later. Is it really over yet? Maybe this will change as soon as I hold an author copy in my hands.

While working on the book for all this time I was unable to take on client work. Thankfully I was able to sustain myself from the other income I have from my company.

Now that the work is over I am looking for a new contract, something where I could sink my teeth into for around 4-6 months. Ideally something to do with either barcode scanning since this is where I am an expert now.

And so will you, if you buy my book.

]]>https://www.cocoanetics.com/2015/01/book-out/feed/229438Deal of the Dayhttps://www.cocoanetics.com/2014/12/deal-of-the-day-2/
https://www.cocoanetics.com/2014/12/deal-of-the-day-2/#respondWed, 03 Dec 2014 10:47:43 +0000http://www.cocoanetics.com/?p=9387My barcodes book is Deal of the Day at Manning on December 3rd! Get 50% off with the promo code below.

BSA Banner

You can buy Barcodes with iOS from Manning at half price with promo code dotd120314au only on this day.

In this talk I give a quick overview of how the book came together and why you should care about barcodes.

]]>https://www.cocoanetics.com/2014/12/deal-of-the-day-2/feed/09387Proudly prod.lyhttps://www.cocoanetics.com/2014/10/proudly-prod-ly/
https://www.cocoanetics.com/2014/10/proudly-prod-ly/#respondWed, 29 Oct 2014 12:14:46 +0000http://www.cocoanetics.com/?p=9354Disclaimer: I am the ProductLayer Developer Evangelist. My job is to convince you to build apps using our platform. Contact me if you have any questions.

Have you ever tweeted about a product that has you excited? Have you ever posted about a product on Facebook that really annoys you? Are you a “digital native” who feels right at home in social networks, keeping loose contacts with your friends and business associates?

Until today, whenever you would post something to a social network, this information would drown in the flood of other people’s posts. There was no way of finding other people’s opinions about physical products, except perhaps Amazon product reviews. But wouldn’t you trust more your friend’s opinions than those of complete strangers?

Today ProductLayer announces solutions to the problems above. We proudly present: prod.ly – a social network on which your friends share their opinions on various physical products.

BSA Banner

prod.ly is pronounced “proudly” because we believe that people want to share their product experiences if they are proud about their purchase. If they are exhilarated by the quality of an item, the great value for money or the way an item boosts their social status, they will want to share this with their friends in a lasting way.

Every product – which is identified by a globally unique barcode – has its own home page on prod.ly. Our vision is that in the not so distant future those product microsites will be the place for people to go to find more information about specific products. Instead of liking some generic page on Facebook you will be able to attach your liking or disliking to the product in question. You will be able to see photos that your friends and other user are sharing, showing products from different angles and in various situations. You see product information curated by your friends, which could help you with your buying decision. You see opinions and reviews about those products. What do you love?

We understand that users will rarely want to post a full-on product review. We believe that short emotional statements – akin to tweets – will be what the users of prod.ly will want to share. We call these “opines”. prod.ly enables you to share opines as well as full-on product reviews. Where you see some info missing, you can simply add it, to the benefit of all other users.

prod.ly is powered by the distributed product database by ProductLayer.com. A free API gives developers access to this product information – including user interactions – from any mobile app or website. prod.ly is the user-facing web front-end to ProductLayer. We are looking for development partners to build the social client apps which would tap into this new social network.

Today we are soft-launching prod.ly as a public BETA. Users can sign up for a free user account on the website. We’d love to hear from you, you are welcome to share your impressions and comments with us.

]]>https://www.cocoanetics.com/2014/10/proudly-prod-ly/feed/09354Barcodes Book complete on MEAPhttps://www.cocoanetics.com/2014/07/barcodes-book-complete-on-meap/
https://www.cocoanetics.com/2014/07/barcodes-book-complete-on-meap/#commentsTue, 08 Jul 2014 08:08:47 +0000http://www.cocoanetics.com/?p=9222After I had handed in the seventh and final chapter of my Barcodes book, Manning is now also making this available on the Manning Early Access Program (MEAP). This makes the complete book content available for readers who prepurchased a copy.

BSA Banner

There’s going to be a bonus section on OAuth 1, based on my recent work building an Open Source OAuth consumer plus a few minor tweaks related to API enhancements in iOS 8. But generally speaking all code that you will find in the book and samples will continue to work in iOS 8. Which is why we are considering dropping the “7” from the name. iOS 7 is the minimum deployment target for using most of the APIs discussed.

There has been a rumor that the Aztec and PDF417 Core Image generators have been made public in iOS 8, but so far I have not been able to verify this. I have an open Radar about this and also I emailed an Apple evangelist asking for verification. Until I do we have to continue assuming that those generators are still private.

Having said that, I am thankful to everybody who buys a MEAP copy of my book. Please let me know if you see anything iOS 8-related that should be mentioned, apart from the authorization changes for Core Location.

]]>https://www.cocoanetics.com/2014/07/barcodes-book-complete-on-meap/feed/19222Open Letter to Long Lost Contactshttps://www.cocoanetics.com/2014/06/open-letter-to-long-lost-contacts/
https://www.cocoanetics.com/2014/06/open-letter-to-long-lost-contacts/#respondSat, 21 Jun 2014 07:08:11 +0000http://www.cocoanetics.com/?p=9190I extracted all E-Mail addresses from my archive, dating back almost 6 years. From the resulting 7303 I filtered all that didn’t seem to address individual people. That left 5466.

For a while I considered sending an email to all of these via Mailchimp. I even wrote the letter below, in English because I figured that most people would understand that. But then I decided against sending a mass e-mail, fearing that it would cause me more trouble than positive outcomes.

Instead I’m posting it on my blogs. Much less of a nuisance …

BSA Banner

Hi,

I am trying to reach out to long lost contacts. For this purpose I scanned my email archive for all email addresses in the to and from fields and imported this list into a Mailchimp list. By sending this email to this list I can see who remains subscribed and which emails bounce.

Sorry to bother you like this, in bulk, but I saw no other way how to go through this list of 7000 people. If you feel bothered by this, simply ignore it because this is the only message I will ever send to this list.

However if this reminds you that we had an interesting contact in the past, please feel free to get in touch again by any of the means mentioned below.

Since I don’t know whether we had professional or personal contact let me mention updates for both sections. And you may ignore whatever you are not interested it. Deal?

Business Updates

Over the past 8 months I wrote an iOS development book on barcodes and how you can leverage these in your iOS apps. This book gives you an overview on the bar codes supported by iOS 7 and up and will open your eyes for new app ideas everywhere you see a barcode.http://www.cocoanetics.com/2014/03/read-my-book/

Now that my book is almost finished I am on the lookout for new development work. If you need something developed, I might be what you are looking for. This article gives you an overview of what I have to offer.http://www.cocoanetics.com/2014/06/for-hire/

Personal Updates

I moved back to Austrian’s capital Vienna in April, into an apartment that I owned for 17 years now. I am recently single/divorced. I lost 11 kilos since the beginning of the year with a combination of Herbalife and lots of physical activity. http://oliver.drobnik.com/2014/04/bmi-normal/

I have to admit that during my time in the countryside I let many personal connections lapse. You might even say it was my arrogance, believing that I won’t need friends because I had received the ultimate life upgrade: marriage.

Let’s not dwell on the past, though. It is no problem if you make mistakes. It is only a problem if you don’t learn from them.

I’m curious what happened to you since we last spoke/e-mailed. What’s going on in my personal life you can see at any of the social media outlets mentioned below. If you feel like talking, get in touch. If not, then just save my address…. you never know.

Conclusion

Whether we had business or personal dealings in the past… if we lost our connection, let’s re-connect!

But if you don’t want to hear from me ever again, simply ignore this update.

kind regards
Oliver Drobnik

]]>https://www.cocoanetics.com/2014/06/open-letter-to-long-lost-contacts/feed/09190For Hirehttps://www.cocoanetics.com/2014/06/for-hire/
https://www.cocoanetics.com/2014/06/for-hire/#commentsWed, 11 Jun 2014 11:05:22 +0000http://www.cocoanetics.com/?p=9174Over the last 8 months I worked almost exclusively on my book on Barcodes with iOS 7. That meant that during this time I could not take on any new projects. That has changed now, that my book is feature complete. There are some edits remaining to be made, as well as adding info on enhancements coming in iOS 8.

But as I need to earn a living I am now back on the market for taking on project work. I am acting Developer Evangelist for our Product Layer startup and am now looking for contract work to fill the income gap. I’ve summarized my skills and interests for your reference.

BSA Banner

For your consideration…

Oliver Drobnik holds an IT engineer’s degree from Austrian college Spengergasse. Unfortunately that was way before Bachelor’s degree became a thing in Europe. So this is roughly equivalent to a Bachelor of Science.

Oliver has been developing iOS apps since the SDK was released in Summer 2008 and turned full-time iOS developer in January 2009. This equates to 5.5 years experience at the time of this writing. He started out with a few apps of his own, started to sell proprietary software components via his parts store and maintains several well-known Open Source projects. Most notably DTCoreText. You can see a list of clients here.

Particularily, Oliver loves to tinker with niche/new technologies and develop libraries/frameworks with clean interfaces, good documentation and sufficient unit tests. He likes to teach software development techniques and best practices. He loves to stamp out app prototypes.

Oliver is based in Vienna, Austria and not interested in permanent relocation to other countries. Work is either remote or on-site on weekdays. You can get in touch by e-mail if you have an interesting project that could benefit from his involvement.

]]>https://www.cocoanetics.com/2014/06/for-hire/feed/19174Deal of the Dayhttps://www.cocoanetics.com/2014/04/deal-of-the-day/
https://www.cocoanetics.com/2014/04/deal-of-the-day/#respondThu, 10 Apr 2014 11:57:57 +0000http://www.cocoanetics.com/?p=9032My publisher Manning is highlighting 3 of their iOS titles on April 11, all three are the “Deal of the Day” meaning that you get 50% off with promo code “dotd041114au” if you purchase them on this day.

BSA Banner

The three books cover different levels on iOS development, the “Hello!” one aiming at beginners, the “in Action” covering advanced topics and mine “Barcodes” going for a vertical slice of iOS 7 technologies. Manning has many more books to a wide range of development topics.

The titles with the MEAP stamp are still in development but you can preorder them to read all the chapters the authors have already handed in. Of course you also get the finished book (digital and/or soft cover) when it is done.

“Reading this book has made me very excited about adding barcode printing support to Tap Forms. The possibilities are endless and my mind is already buzzing with ideas. It’s a very well written book with tons of great information. Oliver has done a wonderful job and I’m looking forward to reading the rest of the chapters.”

“I’ve been an SAP developer for 15 years and have extensive experience with implementing inventory management with barcodes. We are developing a product for use in small business that helps with inventory control.

Oliver’s work with barcodes on the iOS platform gives us a great head start and will no doubt save us countless hours of effort. It’s easily worth every Euro spent and more.”

“Love the fact that someone is doing a deep dive into this topic. Lots of potential.”

]]>https://www.cocoanetics.com/2014/04/deal-of-the-day/feed/09032Read my Book!https://www.cocoanetics.com/2014/03/read-my-book/
https://www.cocoanetics.com/2014/03/read-my-book/#commentsThu, 06 Mar 2014 16:12:50 +0000http://www.cocoanetics.com/?p=9011For the past four months I have been working almost exclusively on my Book Barcodes and iOS 7, which is why there have been only very few tutorial blog posts on Cocoanetics.com. Now the first fruits of my labor of love are yours for the picking.

My publisher Manning has started the MEAP pre-order program for the book. This MEAP program gives you – of course – the final book when it is finished, but you can also read the chapters in their raw unedited state as I finish them.

Even better, you can read the first chapter for FREE, no purchase necessary. This chapter gives you a solid overview over the barcode types that iOS 7 can scan, explains their differences and shows where they are used.

BSA Banner

My goal with this book is that you – as an iOS developer – should be getting not only your money’s worth, but much much more. Essentially I am paying you to read my book.

iOS 7 does not support generation of 1D barcodes. Still I wanted to have a modern and powerful way to have this functionality present in this book which is all about all types barcodes. So you are getting the most current version of BarCodeKit completely for free. As long as you own a copy of the book in any form you can use BarCodeKit to create 1D barcodes in all your apps. Of course there is info on how to use Core Image but not just the publicly available info. I got the best way to scale QR codes straight from Apple DTS.

In chapter 5 – which is already complete – I am teaching you how to print individual Code 93 stickers like you would with a serial number for hardware inventory tracking in an enterprise, using Air Print and roll-fed printers.

So far you get the first three chapters on the MEAP. 4 and 5 are done and will come online as well soon once my development editor and I did a few edits.

All chapters after the first one contain sample apps and a detailed tutorial how they are put together. Make no mistake: those are not the kinds of tutorials you would find anywhere on the web. Instead they are all original and practical.

For example chapter 4 shows how to produce and validate Passbook tickets without a server. There’s even a Ruby detour in this part for compiling and signing Passbook passes.

Chapters 2 and 3 originally were one chapter but I had to divide it in two and the book is much better for it. Now chapter 2 gives you a solid introduction to AV Foundation media capture, unlike you have ever seen it before. This introduction alone would be worth the purchase price of the book. I teach you how to build a simple camera app and work the various camera settings.

Chapter 3 builds on the groundwork laid in chapter 2 and adds native barcode scanning. Again you are getting way more than you can get on the web. Through my extensive research into it I am able to give you performance tips and tricks and even expert advice how to optimise the UI for the kinds of barcodes you are supporting in your app. There are big differences!

Barcodes serve as the common theme for all chapters, the final two chapters – which I have to write yet – will look at how to best communicate with a web API using OAuth for user authentication. You’ll also learn how to correctly use NSURLSession for having iOS perform background updates without your app even running.

In the final chapter I chose the theme Context. There are four layers of context when a user scans a barcode:

if the barcode is a serial number then the context is a specific product instance

if the barcode is a product number then the context is a product model

Core Location tells you if the barcode is scanned in the vicinity of a brick&mortar store.

iBeacon technology can tell you in which location inside the store the user scanned the barcode

Few developers had a reason to dive really deep into these topics and so I felt they make a great addition to the book as well.

Barcode technology is 40 years of age this June. That is to say that it is incredible well understood and established. And nothing beats FREE. Everybody can print barcodes at literally no cost. And when Apple added broad support for it in iOS 7 this became a sweet spot: all iPhone users now have a great mobile barcode scanner in their pocket. One with always-on Internet, and with sensors to give contextual information about the user’s situation.

I believe that this nexus will enable a new breed of exciting apps that center around physical things. You could be the maker of some of these apps!

Once you know what this book teaches you about barcodes and related technologies in iOS 7 then you will suddenly see opportunity – and get app ideas – everywhere, since you never have to look far to find yet another box with a barcode on it.

So please do yourself – and your future – a big favor!

Buy the book and also read it! Through March 18th you even get 50% discount with promo code “bwiaunch50”!

]]>https://www.cocoanetics.com/2014/03/read-my-book/feed/209011Google Analytics Alternativeshttps://www.cocoanetics.com/2014/02/google-analytics-alternatives/
https://www.cocoanetics.com/2014/02/google-analytics-alternatives/#respondThu, 20 Feb 2014 09:44:07 +0000http://www.cocoanetics.com/?p=8995We use Google Analytics in some of our apps, but lately some people have grown dissatisfied with it. In particular non-technical people find it confusing how data is being presented. We iOS engineers had to wait for a long time for Google to finally add arm64 support.

If marketers are going to be using analytics tools, Mixpanel or Localytics. If developers want data to play with, Flurry.

This is as far as my research went, stopping short of calculating cost. Google’s main advantage is that it is offering their analytics services for free. Most independent analytics providers need to charge for API calls above a certain level.

If you are unhappy with Google Analytics there are serval options to choose from. In my poll Mixpanel and Flurry were recommended most often. Some services allow you to install their software on your own server, calling it the “Enterprise” variant. In any case moving away from Google always comes at a price, be it in monthly charges or a substantial upfront free for a standalone installation.

]]>https://www.cocoanetics.com/2014/02/google-analytics-alternatives/feed/08995From Barcodes to ProductLayerhttps://www.cocoanetics.com/2014/02/from-barcodes-to-productlayer/
https://www.cocoanetics.com/2014/02/from-barcodes-to-productlayer/#commentsTue, 11 Feb 2014 14:40:51 +0000http://www.cocoanetics.com/?p=8969One fine day, late summer 2013, I noticed that Apple had added a ton of new functionality to iOS, in particular related to barcodes. This set a train of thought in motion, the fruits of which are just now beginning to show.

BSA Banner

Apple investing into barcode technology opened my eyes to the technology. Our eyes have learned to not see the barcodes and consider them as white noise. The iOS 7 news were beginning to undo this learned barcode noise filter in my brain.

I began to see barcodes everywhere. UPCs on physical products, serial number barcodes on devices and boxes, delivery service tracking labels, and many more.

Barcodes are simply numbers which are represented in a fashion that can be deciphered by a barcode scanner. This technology – based on a laser – has been around 40 years this year in commercial use. Scanning technology based on CCDs is relatively new, but is now on par with lasers. So much so that all iOS 7 devices have a built-in barcode scanner, available for free to be used by any developer.

In short, barcodes are a mature technology – being 40 years in production – and they meet up with the rise of mobile technology. Always-on Internet connectivity, mobile sensors and a camera for scanning form a technology nexus. Everybody with an iPhone is carrying the ability to scan barcodes and retrieve information about them over the Internet.

So went my thought process.

Then I began to research into what sources of product information could be tapped to make sense of those scanned numbers. I found the Amazon Product Advertising API and toyed with some queries. But then I found their terms of service which forbid use of this API in mobile applications and on websites optimized for mobile devices. Bummer!

Searching for Product Info

My search continued, I found a few more silos of data, until I contacted GS1 the worldwide authority managing product numbers. They refer to them as GTINs, Global Trade Identification Numbers instead of UPCs or EANs… this was only one of many hurdles to understand when diving into barcode technology.

You would expect for the standards body to have a database of all products… but you would be wrong. They have around 6 million products in their GEPIR database, accessible only through an obscure SOAP-based API. Do I hear a “yuck!”?

Next I talked to a US-based company which had collected – mostly by scraping – 30 million products. But there it dawned on me that the only way to be able to offer product information that is unencumbered by licensing issues would be to collect those yourself.

Enter: A Book Contract

Then in September I got contacted by a book publisher’s Acquisitions Editor, who asked me if I would have a book in mind. It so happens that I had 3 ideas to pitch, but I felt the most passionate about barcodes. After a short back-and-forth about the TOC, the book contract was signed and I went to work on it.

The book “Barcodes and iOS” which will be done and published later this year is looking at barcodes as a common thread throughout the book. It explains what kinds of barcodes are supported by iOS 7 and where they are usually used. With this foundation it goes on to explain a variety of technologies somehow related to barcodes. The point of the book is to open your eyes to the promises of barcodes meeting mobile devices. With this book under your belt you will begin to see opportunities for a new kind of mobile apps everywhere.

To this date I have produced 4 out of 7 chapters. The first three are with 10 reviewers for the first review and I hope they like what I created.

The Product Layer for the Internet

Around the same time when I started working on the book I put together a vision document about a web-based Product API which I sent to a few interested people for feedback. I called it PAPI, but I was told that this is an unfortunate name, in particular for US people.

One piece of feedback came from Jonathan Libov who on July 28th, 2013, mailed me:

What’s the elevator pitch? “Product information as a service” is not such a bad one IMO. Or, to paraphrase Mr. FourSquare himself, “the product layer for the internet”.

And so the baby got a new name. Thanks Jonathan!

The whole thing was cooking on small flame for a couple of months, until in December 2013 I decided that I wanted to try out 99 Designs to have a logo for ProductLayer. Even if is not ideal from a marketing point of view, having a logo for the project somehow made it “more real”.

At that time I had pitched ProductLayer to several of the people around me, amongst them one who decided to quit his full-time job and start working on it full time as of February 2014.

What is it?

ProductLayer – from the point of view of mobile app development – is the API you need to build product-centric apps. It will be a modern and simple JSON/REST-based API which lets you retrieve basic product information for each scanned bar code.

ProductLayer aims to get to the sweet spot between both worlds: official sanctioned product information and where this is – initially – lacking, crowd-sourced info. Initially it will happen that many products are not found by a barcode you scan. But the SDK which I will begin to work on after I finished my book will offer a way for any app using it to contribute simple product information back to the database. This way the first person adding a book title is multiplying the benefit to all subsequent people scanning the same book.

Of course there needs to be a commercial angle to this to be sustainable. We are going to work this as a start up. There are multiple places where revenue can come from. Affiliate commissions, advertising on product web pages, selling anonymous analytics to product vendors and many more.

As a developer we want to you to be able to experiment with many different kinds of apps. If you have one that sells incredibly well and causes lots of traffic on our servers then there will have to be a certain fee for that. But we will never ask you for a share of your profits. Rather we want to do tiered plans based on actual usage. A free tier up to a certain amount of traffic and then several tiers above that that adjust monthly to your needs per app. A couple of dollars per month to cover the cost.

The details for that will have to be hashed out, but the idea is that you are successful with your apps and have happy customers. And out of this bliss you will be happy to support ProductLayer which is the platform you built your product-centric apps on.

The Failure of Crowd-Sourcing?

There are several companies out there who tried crowd-sourcing data and who failed. We believe that this is a risk to us as well, but with a key difference. We want to be the platform and interesting and useful apps should be a multiplier. The more useful apps there are, the more users will use them. The more users scan products, the more products will be in the database.

We will be promoting your app heavily on multiple channels and also frequently highlight the coolest ideas. This will be free marketing for you.

On top of that we are working on a few strategies to get “official data” in there and to add gamification elements that allow users to correct other user’s mistakes and report spam.

In a way you could say we are still in the feasibility study stage. There are many unknowns. So we need your help.

Your Chance to Something Great

We launched a teaser page a few days ago at productlayer.com. There you can pre-register for a developer account. We are using this pre-registration number to gauge global interest in such a service. I might have been wrong; maybe I am the only developer who feels inspired by barcodes and product information… the registration stats will tell us.

Once we reach a certain number of registrations we can proceed with a private BETA where we will work with you on building prototypes for your ideas based on our API/SDK. The first version lets you query for GTINs, pictures, create products and upload pictures, plus a few more features. In time for you shipping your app we will have a stable v1 API that you can go into production with.

Me tweeting about it got us a few hundred developers in 2 days. I’m hoping that this blog post piqued your interest as well and you will go pre-register, too. Emails entered there will not be used for any other purpose then becoming a developer account.

]]>https://www.cocoanetics.com/2014/02/from-barcodes-to-productlayer/feed/58969Mysterious Sudden Twitter Famehttps://www.cocoanetics.com/2014/02/mysterious-sudden-twitter-fame/
https://www.cocoanetics.com/2014/02/mysterious-sudden-twitter-fame/#commentsTue, 04 Feb 2014 11:23:52 +0000http://www.cocoanetics.com/?p=8955Monday afternoon, in the Cocoanetics offices. Colleague René is discussing with us an approach how to centralize some code without inheritance and is drawing on the whiteboard. Suddenly my iPhone begins to vibrate.

My first thought was that this must be the silent ringing when there is an incoming voice call. It didn’t stop even though we tried to ignore it for a few seconds. Then I glanced at the phone and noticed that I was getting a flash flood of push notifications from Tweetbot.

BSA Banner

You know, I am somewhat vain when it comes to my social network. I had enabled all available notifications in Twitter on my iPhone, my iPad and both of my Macs. And all of these were getting hammered. The Mac notification center showed 100…200…300 new notifications, rapidly rising all the while the iPhone was massaging the table.

I checked my follower count, assuming that this was a glitch in Tweetbot or maybe Twitter. But it was rising rapidly. Earlier this morning the follower count on @cocoanetics had slowly grown over several years to 8676, I assume because people liked my theme there limiting personal tweets, reporting interesting news about developments in the Apple world and retweeting brilliant and humorous related tweets. But once our initial laughter had subsided I had shot past 10,000 followers.

But it didn’t stop there. Only the notifications did, because I disabled those in all my Tweetbots. About an hour later the follower number had crossed 25,000, falling short of famous former iOS developer and now exclusive author Matt Gemmell.

And so the investigation into the sudden rise of my fame started…

Facebook’s Paper uses DTCoreText

Shortly before the follower avalanche began Salavat Khanov had sent me a screenshot of the acknowledgement screen in Facebook’s new Paper app mentioning DTCoreText. This component allows you to parse HTML and display it on your own terms without needing a web view.

Could that have been the reason?

Probably not, since this is a Facebook app and not connected with Twitter. Although – of course – I welcome the advertising for me by mighty Facebook.

Olympic Cyber-Terrorism?

At first glance I had suspected all those followers being accounts created by bots. Some certainly look like this, not having any avatar image, no followers or no tweets. A great deal of accounts seemed to have cyrillic names, causing me to consider a connection to the upcoming Olympics on Russian soil.

I was spinning conspiracy theories. Could this possibly be a preparation for a bot-driven offensive of tweets against the Games, Russia or president Putin?

But what possible gain would those alleged cyber terrorists have from tripling my follower count? The only one I could think of is that maybe they wanted to butter up my account in preparation to sending out tweets through this account. While writing this I realised that I should maybe change my password to prevent that.

Hm, 64 applications being able to access my account? So I went and revoked all but a few just to be safe.

Third-Party App Security Problem

Doing a search on Google revealed that every now and then somebody found that their Twitter account followed some people. In fact some of my followers related accounts of people experiencing the same problem.

Twitter’s advice on the matter is to change your password and revoke third-party access for all apps you don’t need anymore. And when people do this usually fixes the mysterious growth. But my follower avalanche proves that there is a much greater security problem inherent in the way how Twitter authorises third-party apps.

There are two levels of security for Twitter apps: basic and direct message. The higher security needs special approval and is only granted for Twitter clients. The lower security is able to do everything else, like follow people.

Apparently it is possible for nefarious forces to collect OAuth-tokens or hack third-party web apps such that they can collect the “keys” to thousands of Twitter user’s accounts. Then even if those keys are the basic security level they are able to have thousand accounts suddenly follow a specific account.

So you see, here is the irrefutable proof that it is technically possible to compromise a third-party web app and remote-control your Twitter account. One solution might be for Twitter to employ some heuristics to discover unusual activities with twitter accounts, but it doesn’t look like something like this exists at present. Another solution might be to have much finer-grained security levels.

One question remains unanswered:

Why @Cocoanetics?

I can think of three reasons why my professional account got targeted to be the unsuspecting recipient of such a windfall of followers.

Somebody with access to my account planned nefarious things with it

Extortion: “Nice follower count. Would be sad if something were to happen to it”

A hacker/spammer made a mistake and intended to target another account

Of course I am happy to have a higher number of followers showing when somebody new checks out my Twitter profile. Certainly they will feel that I have more influence since so many people are following me. So this becomes a self-fulfilling prophecy.

Since the peak above 25k the number has begun to slowly drop as those people realise that they didn’t intent to follow me, wondering how are what did that on their behalf. I had come within arm’s reach of my idol Matt Gemmell (former iOS developer, now author) who sits at 27k followers.

I would be very pleased if I would remain above 10k because this is the next big round number above the 8600 I had before. I can understand the reasons why people would pay for getting tons of followers. The feeling is great. You feel powerful. Like you have more to say and more people are listening than ever before.

But I didn’t pay or will ever pay anything. This is what makes is such an amazing occurrence.

I tweeted to Twitter Support multiple times during the avalanche. They have yet to respond to my messages. I have a feeling that they never will because of the embarrassment such a gaping security hole might be causing them.

Linguan is a Mac-based tool for comfortably editing localization strings in iOS and Mac apps. It is used and loved by more than 10,000 users. Linguan also verifies that when new languages or features are added to localized apps that there are no translations missing.

Linguan was developed and marketed by Drobnik KG in partnership with Byte Poets GmbH, also based in Austria. Both companies had too much else on their plate to be able to put the amount of time into Linguan that it deserved. Therefore the decision was made to search for a buyer.

BSA Banner

Denis Hennessy, CEO Peer Assembly said about the acquisition:

“Linguan has become a part of our workflow over the past year and I’m very excited to be taking over the reins. As more and more App Stores open around the world, it’s no longer an option for developers to ship their apps in English only. We have some big features planned for Linguan in 2014 – stay tuned!”

We are extremely happy to find agreement with Denis Hennessy for the acquisition and that he shares in our vision about Linguan’s future. We believe that we are putting the app into the best possible hands as Peer Assembly has shown that they are diligent and productive about the projects that they take on.

The next challenge Peer Assembly will be facing with Linguan is to implement support for sandboxing which is a requirement by Apple for Mac app updates since March 2013. This restriction had prevented us from doing any interesting feature additions to Linguan since then.

Peer Assembly is an OSX/iOS development team based in Ireland. They develop apps for clients (many featured by Apple) as well as several or their own OSX and iOS apps (such as the highly rated Goal Streaks and Focus Time). Find out more at peerassembly.com