BuySellAds.com

Until Dec 3rd, 44% off all Manning books, including Barcodes with iOS! Promo code: mobicftw
Our DNA is written in Objective-C
Jump

A Logo for Product Layer

Two of my friends and me have been working on an idea for a startup in our spare time. The idea for this came to me when I started to experiment with applications using barcode scanning and when I found that there is really no good API on the web that would allow me to get some basic product details for a scanned bar code.

Granted there are several data silos around and the 500 pound Amazonian gorilla, but the general problem remains. Generally those services only want you to use their product infos for helping to sell more products. My idea was that there should be a neutral service that lets you get product names and images for any kind of product and you should be free to do whatever you like with this data.

I was using the name PAPI (Product API) internally until Jonathan Libov suggested to me to paraphrase Mr. Foursquare himself, “the product layer for the internet”. This name immediately caught on with all people I told about it, it stuck. So I went with it and also reserved the name on Twitter as well as .com and .net domains.

The next step was to have some sort of cool logo. A project name is step one to make it “more real”, step 2 must be to have a logo that inspires us. This is the story of how I got a logo designed on 99 Designs.

Read more

Linguan Acquisition Update

Earlier this year we announced that we are now looking for somebody to acquire our Mac app Linguan.

We had half a dozen interested parties inquire, but in general our initial price target of 10000 Euro was too steep for all. So my partners at BytePoets and I discussed this matter and we are now dropping the price.

Read more

DTRichTextEditor 1.6.5

The update for DTRichTextEditor adds support for building for arm64 and fixes two bugs.

Read more

Can you Smell the iBeacon?

iBacon

iBeacons are one of the hot new topics introduced with iOS 7, though I have not seen any actual real life use case for it.

Last week I received my Developer Preview Kit from Estimote and also I have begun to research iBeacons for inclusion in the book I am currently working on. Here are my findings.

There are two words that you should know to understand the difference between the two modes of operation:

  • Monitoring – this refers to a low-power region-monitoring, you get didEnterRegion: and didExitRegion: delegate messages
  • Ranging – this means a higher-power activity where you get the signal strength from individual iBeacons and can estimate distance to them from this

Read more

DTCoreText 1.6.9

This new version improves DTCoreText on many fronts. I wanted to get this out because quite a few improvements had amassed since 1.6.8.

Read more

Radar: Accessibility-based Tools crash app running in iOS 7 Simulator

This bug in iOS Simulator is interesting because it is the first bug we found where a crash in a simulated iOS app can be triggered by having a Mac app using Accessibility running outside of the simulator. I filed it and am reporting on this here because I’ve gotten this as issue on my project now two times.

Submitted as rdar://15478255 and to OpenRadar.

Read more

DTDownload 1.0.3

This is a maintenance update for DTDownload.

Read more

Updating CocoaPods

CocoaPods is being under constant development, and as the zero as major version number suggests, it is still in unstable status. So you should only be mildly surprised if calling the pod command outputs that a newer version is available. Here are some tricks for updating.

Read more

DTFoundation 1.6.0

There are some API changes in this release of DTFoundation that require a bump of the minor version.

Read more

Wrapping a Dynamic C-Array

For version 0.2.0 of DTMarkdownParser I needed an array that would allow me to look up the string range for individual lines of a string. My initial approach was to simple use the provided method of NSValue to wrap an NSRange in it. The problem with this approach is that as the number of ranges in the array grows so does the time needed to find a range at a higher index.

Jan Weiß of Geheimwerk suggested to replace this approach with one based on C memory allocation and searching functions. This required me to brush up on my dynamic C-array allocation skills which had become somewhat rusty from only using Objective-C objects for everything. The techniques I’ll be discussing in this blog might be of great value to you, too, if you ever find yourself needing to quickly find a scalar value (i.e. a number or struct) in a dynamically sizing array.

Read more