Vision Smarts' blog

Our latest news and technical articles

Startups, stop it with proprietary formats and “lock-in”

by Benoit - Feb 28

 We often get questions about whether our CCTV viewing app Webcam HQ will work with a particular brand of IP cameras. Most of the time, the answer is yes, no problem, because most cameras use standard video formats such as MJPEG or RTSP+H264.

Sometimes though, the query is about a cool new product that does not seem to be compatible or interoperable with anything. The sleek web site, the exuberant product specifications don’t list any standard. The new gizmo almost certainly uses standard formats (because they are more reliable and vastly cheaper than developing new ones), but the company went out of its way to hide them or bury them under proprietary layers.

Maybe the CEO heard about lock-in and thought it sounded cool. Maybe the designers felt that their hardware and software were so exquisitely integrated that they couldn’t stand the idea of them interoperating with more pedestrian devices and services.

This is not by any means limited to cameras or to video coding standards. There are official or de-facto standards for all kinds of gadgets, connectors, and software APIs. Some companies choose to maximize the usefulness of their products by making them interoperable, some choose not to.

If you are small or medium-sized company, please consider which is the most likely scenario:
Option A: one of your existing customers buys another one of your products because they feel they have to, “to protect their investment”, but they wouldn’t otherwise (wonder why?), or:
Option B: a potential new customer would have purchased your product, but doesn’t because it is not compatible with the gear they already own, or their favorite software.

If you are a large conglomerate with mediocre products, sadly Option A may be the most likely. But if you are a startup, the number of potential new customers vastly outstrips your current user base. Not to mention that if your early adopters won’t buy your new product willingly, you have some bigger problems.

So, please, do yourselves a favor: stop it with the proprietary formats and the non-standard APIs. You are not locking anybody in. You are mostly locking yourselves out.

Webcam watching app for the new Apple TV

by Benoit - Oct 30

tv

We are publishing a brand new tvOS app for the fourth-generation Apple TV today. In a nutshell, Webcam HQ lets you aggregate up to 15 internet (IP CCTV) cameras on your TV screen. It uses UPnP for easy discovery and can display any MJPEG stream, which is to say virtually any webcam. The app has its own website, please check it out for more information!

Why a webcam app, you will ask, when all the apps we have released so far are barcode scanners? Well, our specialty is video processing and image recognition, not just barcodes, and there are many exciting things that a smart app could do with home security cameras.

A few companies are already selling smart cameras and online services to monitor them automatically and view them from anywhere. We would like to give people the flexibility of using the cameras and the equipment they already own, to save money and their privacy.

As a start, our new app let you add any kind of internet-connected camera, not just one brand. Please stay tuned for more features soon!

Image credits

Barcode & QR Scanning with the Vuzix M100 Smart Glasses

by Benoit - Feb 27

Vuzix-M100

We have been following the various Smart Glasses product announcements with a lot of interest. So when the M100 became commercially available, we decided to give it a try and take our image processing algorithms for a spin.

First impressions

The M100 is very well built, light, and comfortable to wear. The unit can be mounted on eyeglass frames, or worn with an over-head band. The display can be placed above or below the eye, at an adjustable distance. It fits on either side, which is handy if your dominant eye is the left one, like approximately one-third of the population. That’s a lot of flexibility.

Another nice touch is the inclusion of a high-capacity battery pack. Apps that continuously use the camera are bound to drain the built-in battery faster than your average smartphone app.

There are four buttons on the main body/ear piece: power, select/back, volume up, volume down. They take some time getting used to, as they have more than one function and can easily be confused for one another. Clearly, the upcoming gesture and spoken controls will be useful.

Finally, an Android companion app is available on Vuzix’s web site. It connects to the M100 via bluetooth and acts as a remote control to launch and navigate apps, enter text, etc.

Developer perspective

We purchased the SDK from Vuzix at the same time as the glasses. Once the device-specific files are installed in Eclipse, the M100 behaves like any Android device: build, deploy, debug, etc. This gives the developer more power than, say, Google Glass, which restricts what can run on the device or what can be displayed. The M100 is a full-fledged Android 4 device where all the APIs are accessible (except of course APIs to absent hardware, such as the phone or GPS). From a developer perspective, it does not get any better than that!

Barcode and QR code scanning

As James Lavery points out in a recent post, the main difficulty with scanning barcodes on the M100 (or any smart glasses for that matter) is the distance between the camera and the barcode. With a smartphone, one takes the camera to the code, hovering at about 10cm until it is read. With smart glasses, bringing a small object within 10cm of your face in order to scan its barcode would be awkward. Bringing your face 10cm from a barcode in a hard-to-reach place is simply not going to happen.

Unfortunately, the size of a barcode in the camera image decreases in proportion to the distance. Even just at arm’s length (40-50cm), most barcodes are too small to be read by standard decoders.

The following images illustrate the problem. The QR code is version 6, low error correction, 2cm wide (or about 1/2mm per dot). The UPC is 3cm wide. The pictures were taken at (roughly) 18cm, 25cm, 50cm and 75cm. The right column zooms in on the barcodes in each image.

18cm_50pc

18cm_crop

18cm (& detail)

25cm_50pc

25cm_crop

25cm (& detail)

50cm_50pc

50cm_crop

55cm (& detail)

75cm_50pc

75cm_crop

75cm (& detail)

At 18cm, both codes are easy to read. At 25cm, the bars of the UPC start to blend together and may be difficult to read with standard algorithms.

How do we deal with this? The answer is a combination of user interface tweaks and specialized algorithms.

  • Zoom. A digital zoom does not add any information nor does it make the image sharper. However, it helps the user see what they are scanning and correctly position the barcode. It also limits the search area and lets the software focus on the area of interest.
  • Scan line. Our barcode scanner offers the option of displaying a red line at the precise location where the barcode will be read. Again, this gives more control to the user.
  • Specialized Algorithms. Our original UPC/EAN scanner was developed for the iPhone 3G, which had a lot less CPU power and produced images that were, believe it or not, even blurrier than the ones above.

The result? We can read the 3cm-wide UPC in all the images above, and the 2cm-wide QR code up to 50 cm. The distance depends on the physical size of the codes. Larger codes will be readable from further away and conversely.

Pic2shop demo (available for download)

We have built a custom version of our comparison shopping app pic2shop for the Vuzix M100. It is designed to scan regular UPCs and EANs, as well as QR codes. If the M100 is connected to the internet, pic2shop will show the product name, image and shopping information.

Here is the scanner screen:

pic2shop_scanner

and the result:

pic2shop_result

The application package (apk) is available for download here. It is a time-limited demo, so be sure to check back here for updates.

A few more things to note:

  • Use the volume up or down buttons to launch the scanner.
  • Pic2shop only scans EAN13, EAN8, UPC/A, UPC/E and QR codes.
  • Like the regular pic2shop, this demo exposes a barcode scanner Intent, so you can call it from any another app. A sample “client” application is available on GitHub. Since it is a time-limited demo, please do not use this mechanism in shipping apps, but contact us if you need a long-term barcode scanning solution.

Applications

I agree with James Lavery, field service (remote assistance, step-by-step guides, documentation), warehouse picking, ticket scanning all seem likely application candidates. I firmly believe that the most useful apps will originate from the users and from the developers who work closely with them.

With no keyboard and no touch screen, visual and spoken input will be even more important than on smartphones. It is also clear that very careful user experience design will be critical for adoption. Ideally, one should never have to use the buttons nor the companion app, except maybe at the start or the end of a task. I look forward to trying the gesture interface and Nuance’s speech recognition, which should both help a lot in this regard.

Conclusions

We are very excited to finally have our hands on powerful smart glasses and to be able to freely experiment with them. They are a great platform for the kind of image processing and pattern recognition software we are currently developing. Expect more cool demos in the future, and if you have applications ideas, please drop us a line at contact@visionsmarts.com.

 

Shopping in the smartphone age

by Benoit - May 20

At Vision Smarts, not only do we make barcode scanners and comparison shopping apps but we also license barcode scanner SDKs to retailers worldwide.

So with all the recent articles about showrooming, we can see a little of both sides of the issue.

I should state right away that I believe “showrooming” to be a sensationalist term that frames the debate in a negative way. It implies that:
1. Smartphone-wielding shoppers come to a store with no intention of buying anything.
2. Stores are nothing more than spaces where stuff is put on display.

1. is simply not true for most shoppers, and 2. does not have to be.

The informed shopper

People are mostly looking for a good deal and for convenience. A good deal is not just getting the lowest price, but finding the product that best meets one’s needs at a fair price. Careful shoppers used to do their online research at home, now they use their smartphone, that’s why they are carrying one and paying those data charges. Price is an important factor, but there are other equally important ones. Price does not have to be the absolute lowest, it only needs to be reasonable compared to online offers. Checking reviews and reading product specifications are at least as important as comparing prices. On the other hand, when already in the store, the most convenient option is likely to buy right away and not have to wait for the delivery truck. Convenience also entails not having to return a product because it was a bad choice pushed by a salesperson on commission.

So what is a brick-and-mortar retailer to do?

Nowadays, most retail stores stock a dizzying array of similar products but offer little help for choosing between them. It is no wonder that shoppers will pull their smartphones in an attempt to get some clarity.

A curated product selection that only keeps the best products in each category and price bracket would be very helpful to most people. A smaller selection would also give sales associates a chance to get to know the products and provide informed advice. Since retail stores already have the local presence and a knowledgeable staff, they can also offer demos and training sessions. Those will not be easily replicated online.

Stores can also amplify the convenience factor. Many retailers now offer in-store pickup. Why not add home delivery of items purchased in the store? As an avid reader I find the following offer genius: “Don’t want to carry heavy books around all day? Buy from your phone while in store and have them delivered!”. Bookstores should also sell the ebook (as a download voucher, similar to a cell phone prepaid card) next to the paper copy. Indie bookstores could sell ebooks on all platforms (kindle, nook, kobo, DRM-free epub, etc) and demonstrate again the power of being independent.

Charging $5 “just for looking” may not be the best idea (but it is a great marketing gimmick, on par with Ryanair’s standing room only flights). Econsultancy has many more great recommendations, as usual.

What about those smartphones?

If someone is using their smartphone in your store, chances are they are using it at your competitors’. They are also using it at work, in the subway and at their friends’ houses. Retailers need to make sure that everytime someone is interested in one of their products, they know where to get it.

Online retailers, led by Amazon, have known this for a long time. They rely on extensive affiliate programs to shepherd blog visitors and app users to their web sites. Brick-and-mortar retailers need to do the same in order to exploit the opportunity presented by smartphones. Companies like Retailigence will take your product and inventory data and make it available to all interested app developers. You can make sure that whenever a product you carry is scanned or discussed online, in social networks or in videos, Internet and smartphone users will know they can get it immediately from your store down the street.

Do you want to start a conversation about shopping in the smartphone age? Please drop me a line at benoit.maison (at) visionsmarts.com.

 

Pic2shop turned 4 today!

by Benoit - Apr 03

The original pic2shop icon How much is that in app-years? 40 at least?

On April 3rd, 2009, the email from Apple “Your application status is Ready for Sale” meant that the iPhone finally had a barcode scanner app and that we were in business!

The first iPhone and the iPhone 3G did not have an autofocus camera, which made barcode scanning very difficult (many said impossible). Some image processing tricks and a lot of experimentation made it a reality. Truth be told, the first version did not work that well, and used non-documented iPhone APIs with sometimes haphazard results. The next iterations were considerably better, thanks to upgraded iOS SDKs and fierce competition from RedLaser.

What started as a side project is now a company that publishes several popular apps and licenses barcode scanner SDKs for iOS, Android and Windows Phone to clients on four continents!

In a nutshell:

  • Pic2shop: scan any product’s barcode and instantly get prices, links to stores, public libraries and all useful info on one screen. Also for QR codes.
  • Barcode Scanner HD: the same fast scanner and independent results as pic2shop, optimized for iPad.
  • Barcode Library: quickly catalog all your books, games, CDs, videos with our world-class barcode scanner.
  • Pic2shop PRO: build your own barcode app with your own web server
  • VSBarcodeReader and VSReaderQR: native SDKs for iOS, Android and Windows Phone 8.

To celebrate, all our apps are 50% off or free today and tomorrow. Enjoy!