NTR Lab
Homepage >> Experience

C/C++

Tagology

Client:  www.tagology.net

Task:

To build a platform for Tagology, a language based on logos and binary code. It required a website where users view, search, add and change Tagology tags in an iPhone application intended for tag decoding.

Solution:

NTR Lab created an ASP.NET website that allows the user to:

  • Learn about Tagology principles;
  • Register for free;
  • Create tags in different categories in visual editor and assign meaning to them;
  • Modify tags in visual editor;
  • Comment on tags;
  • Receive notification emails from the site;
  • Search tags by meaning or image.

The iPhone application decodes tags generated on the site. The camera runs in video mode and is constantly extracting images, finding and decoding available tags. The user simply points at the tag and waits until it is recognized. The application also:

  • displays tag meaning immediately after decoding; meanings are taken from either a local database or the server;
  • selects preferred languages (primary and secondary) from the list of languages supported; and
  • saves all decoded tag histories and meanings in the selected language.

iPhone application is available on App Store.

Technologies: ASP.NET, MS SQL, C#, iPhone, C++, Objective-C, SQLite, Web service, SOAP

SafeShopper client

Client: SafeShopper

Task: SafeShopper is an application to view the Gluten allergy information of food products by scanning their EAN-13 barcode. The decoded barcode is passed to a web service that determines whether the product is safe or not safe.

Solution:
Develop an application that retrieves food product information by EAN 13 (EPC) barcode. The client runs on mobile phones and decodes the barcodes using the video mode. The user scans the barcode for a few seconds while the image is extracted and decodes the EAN-13 barcode. Product information is retrieved via web request to the central SafeShopper database and compared to the profile of the user. The application has a customized user-friendly GUI and the product information screen adjusts automatically to fit the information to the device screen.

Technologies: Symbian S60 3rd edition FP1 and FP2, Symbian S60 5th edition, C++, REST Web Services

OBS (Object Based Services) client

Client: www.mobiubiq.org

Task:
To provide a system that allows users to scan barcodes and provide access to object-based services, i.e. perform actions with the recognized object, such as viewing information, opening a website, blogging, saving the barcode as a bookmark, etc.

Solution:
Develop an application that enables services based on the recognized QR barcodes and EAN 13 (EPC) barcodes on the phone.

The client runs on mobile phones and decodes barcodes. The camera runs in video mode to extract the image to decode either a QR barcode or an EAN-13 barcode when available.

The user need only point at the barcode and wait until it is recognized; upon recognition a request is sent to the service directory with the string of the decoded barcode. The service directory returns data for the object and a list of relevant services.
The application has a customized, user-friendly GUI.

Technologies: Symbian S60 3rd edition FP1 and FP2, Symbian s60 5th edition, C++, Web service, iPhone, Objective-C, Twitter API
 

EAN-13 and QR barcodes decoding software

Client: www.mobiubiq.org

Task:
Develop a Symbian OS C++ application that decodes a QR barcode and EAN 13 (EPC) barcode and passes the decoded data to the J2ME application responsible for data processing on the Nokia platform.

Solution:
The system consists of two programs running on Nokia N95 and N96; one is a Symbian OS C++, and the other is J2ME midlet.

  • The C++ application works with the camera of the mobile phone and responsible for barcodes decoding.
  • The J2ME application communicates with C++ application via sockets.

The J2ME application commands the C++ application to decode a barcode: the user does not take a picture, since the camera runs in video mode and is constantly extracting an image as it decodes a QR barcode or an EAN-13 barcode from the extracted image. Once the barcode is decoded (or an error occurs), the C++ application sends the result back to the J2ME and goes to background until the next command.

Technologies: Symbian, C++, J2ME

Everest – cross-platform data processing tool

Initial data:
A desktop XUL tool working with text files: it presented data in the table and performed filtering and searching queries on the data.
The tool consisted of two parts: XUL client and C++ server. XUL part was responsible for GUI and C++ part did data filtering. The client and server communicated with each other using disk files.

Task:
Our task was to increase the speed of data processing, fix application bugs and add multiple data source support: application-specific input and output files and the ability to import and export the files.

Result:
The C++ server was designed and developed from scratch as a command processing service. It communicates with the XUL client using socket, and provides a 70-80% performance increase for data filtering.
The XUL client was modified to support open/save in its own data files format that combines data and filtering criteria for user convenience; export/import to CSV format; data type mapping screen with type correctness checking was added to the application. Some GUI changes were made: modifying menu items, icons, controls, event handlers, etc. Some business logic and GUI problems were detected and fixed.

Technologies: Mozilla XUL, JavaScript, C++, SQLite.
 

Artificial Intelligence based technology for Internet white pages

NTR Lab has released the beta version of QuickHydra Advanced Internet White Pages. They present a dynamic database of businesses across the US, including type of business, location, exact address, phone number and email.

Unlike other white page listings that are created using human agents, QuickHydra’s innovative technology automatically extracts, analyzes and annotates the key information from public websites - from simple email addresses, and phone numbers, to difficult-to-capture physical addresses. To create this complex system, NTR used a proprietary, new technology with Artificial Intelligence elements.

Additionally, companies may register themselves to achieve an earlier listing.

PiSafe Desk - secure information

Description: Develop a secure data transmission and storage system for computers or computers and mobile phones.

The system uses two-dimensional bar codes to deliver the security keys and a combination of encryption and authentication/authorization for user verification. Compression methods are used to optimize the amount of data stored and transmitted. A specially developed protocol for package header descriptions enables post-processing of information received on mobile phones.

Functionality:
The application allows the user to do the following actions:

  • Capture and decode 2D barcodes in manual or continuous modes;
  • Setup capture modes and image sizes;
  • Save captured images to the phone;
  • Process the captured information from the barcode and present it to the user as follows:
  • Manually enter safeuri ‘access’ key to obtain data to be processed from the server.

(more…)

Embedded software development for video broadcasting systems

Client: Xperinet, Inc., Maryland, US

Description: Development, evolution and maintenance of home entertainment system (using online video processing/broadcasting).

A software suite to analyze horse racing statistical data

Description: A software suite that collects and analyzes information on all horse races run in the US and Canada. Betting information is tracked and saved in a real-time, multi-threaded mode for each race; tactical, statistical, and analytic data for every race is uploaded and processed daily. Clients use custom algorithms via the analyzer program to crunch the massive amount of data to evaluate the current functional state of any horse. Status: Active development

Remote database monitoring system Cerberus

Client: SATS, Inc. (USA)

Description: The system delivers secure, proactive monitoring and administration of databases, servers, applications, and websites. Cerberus runs continuous diagnostics on the state of a database system, and analyzes it for problems and trends.

The system works on Unix, Linux, Windows and Solaris.

Microsoft gold certified partner

ISO 9001