Tuesday, 27 November 2007

iMatrix.app beta

Well... Now I am ready to announce first milestone - iMatrix application (beta) is ready! Nearly all planned functions are implemented:
- 2D code can be extracted (CRT/LCD monitors, paper or other media); FEC + BCH implemented; some correction of perspective or other geometrical effects....
- redirect to web links;
- creation of records in Contacts, Calendar or Notes;
- initiation of Phone call or E-Mail message;
- Synchronization of purchased codes with iMatrix server.

Now we can start testing and improving it. Big hole is a web site that is a must:( Working on it hardly at the moment.

Want to play with it?
1. Register on www.iMatrix.LT and create some codes.
2. Install iMatrix on your phone: add new source to Installer: www.iMatrix.LT/repo/repository.plist, refresh sources and go to 2D codes -> iMatrix.

Thursday, 22 November 2007

What are these squares?!

Most of us knows what barcodes are and feel their importance in our lives:) Virtually any thing we have has or had label with barcode on it. This set of white and black lines automates job of cashiers, simplifies logistics and significantly reduces human factor:)

Humans need more and more... Barcodes came close to limits - they cannot keep as many data as we need. Next logical step was to use two dimensions in stead of one. It means useful utilization of area plus new features like error correction that allows correct reading of code even if it is damaged partly. Lines became squares. Of course, detection of 2D codes needs more powerful devices and sophisticated mathematical algorithms. Fortunately, modern electronics can supply required things.
There are plenty of different standards on 2D codes, some of them are QR Code and Datamatrix. Both offers reasonable informational density, comparable error correction possibilities; both require similar processing power. For me, the most important feature is an ability to capture and process 2D code by low resolution cameras built into modern mobile devices. I use QR Code.

To scan barcodes, either laser guns or linear image sensors are used. To detect 2D code we need real picture and use CCD or CMOS sensors similar to ones built into digital cameras.

In spite of possibilities of modern 2D codes to keep huge amount of data (even 16 KB), consumer phones offers relatively low optical resolution products. Take into account noise in dark environment, focusing problems and dirt on lenses... As a result we are limited in code size. General rule is - the bigger squares and higher contrast between black and white elements - more reliable reading we have.

My application is based on QR Code that can keeps 27 decimal digits and offers correction in case of corruption of 30% of the code.

123456789012345678901234567

It is enough for indexing services I plan to create.

Wednesday, 21 November 2007

First capture works!

I started this project about two weeks ago and passed some rubicons already: istallation of tool-chain required for development and activation of missed frameworks. Taking into account that it's my first experience with Apple's products, that's not too bad! Actually, my favorite products, including development studio, come from B. Gates hands:) Therefore, using command line tools became amazing surprize for me! Objective-C... another new universe... but, anyway, two weeks after I have application that captures images and process them somehow.... It reality it decodes QR Code successfully! It's time to implement major function...

Let's start...

Hello everybody!

That's my first experience in blogging and, hopefully, it'll be usefull;)

The main idea behind this blog is to log a history of porting my Matrix application to iPhone platform and establishing life feedback with potential users.
My dear friends, let me introduce idea step by step... 2D code processing applications for mobile terminals become my hobby more than one year ago and I need time to share some ideas with you.
iMatrix platform offers atractive and simple way of handling data input into limited (mobile) devices and in particular case - into Apple's iPhone. In general, phone must capture image of 2D code using built-in camera, process picture and extract code from it. That's minimally required functionality. All other features need that background.

Let's start....