Archive for the ‘iphone’ Category
Announcing RedLaser 2.5
About 72 hours ago, the RedLaser 2.5 update was published to the App Store. It was a soft-launch with our new partner, TheFind, which is the fastest growing search engine for shopping in the US with over 400 million products in its search index. In the 2.5 release we also improved our scanning speed (6% faster), and made a handful of interface improvements.
Behind the scenes, we were racing to get the technology ready for Black Friday, and in our rush, we made a mistake. In the US (and initially in the UK, too), we completely replaced Google Product Search with TheFind. We were overconfident in the volume of search results that would be immediately available from TheFind alone. Over the last 72 hours, based on your feedback, we and TheFind realized that this wasn’t the right decision for RedLaser users. In response, effective immediately, as of this posting, we have re-enabled Google Product Search results and are now providing them along with TheFind’s Product Search results. This means that in almost every case, we will have substantially better search results in version 2.5 than in the last version, 2.2.

The only case where RedLaser will now display fewer results is for some products on Amazon.com. The reason is that Amazon has a policy that prohibits querying their API from mobile applications unless they give explicit written permission. We asked for permission a few months ago, and were told “No.” We then tried a number of work-arounds and unfortunately, Amazon asked us to remove them as well. Despite the limitation, in some cases Google and TheFind may be able to provide Amazon results and will include them when possible.
Meanwhile, we knew it would be extremely frustrating to users if we removed Amazon with nothing in its place. So we began working on a partnership with TheFind. TheFind, we soon found out, has an incredible product search engine that is comparable to Google. They include products from over 500,000 stores and online sellers, a number that continues to grow. By featuring results from TheFind, we can now show local results for many products, a request of many RedLaser users. They also have coupons, reviews, local addresses, and comprehensive store information, which we can’t wait to start tapping into. Previously, with Google as our primary search provider, we were limited in how we could improve RedLaser. Occipital is first and foremost a mobile computer vision company. (That means we’re rocket scientists when it comes to image processing, but not when it comes to crawling the Internet for products.) Despite a lot of great ideas, we didn’t have the resources to focus on both computer vision and better results. With TheFind, we now have a partner committed to helping Occipital improve mobile product search relevance, the accuracy of barcode data, as well as providing information never before available in RedLaser, starting with local results (They’re rocket scientists when it comes to shopping.)
We’re confident that our partnership with TheFind is going to be a great one ― one that is focused on creating the best user experience possible and eventually paving the way for a new kind of shopping. Occipital will continue to build the best vision-based technology to power RedLaser’s barcode scanner (and barcode scanning is just the tip of the iceberg), while TheFind will innovate new ways to provide you great shopping search results. We stumbled a little with our rushed launch, but we’re back on track, and we hope that RedLaser will always be your trusted companion for mobile product search.
Keep the feedback coming. We’re listening and improving.
Thank you for using RedLaser.
Additional Release Notes:
- TheFind and Google Product search are now enabled for the US and UK. Google Product Search also supports searching for results in Euros, so RedLaser can be used today with Google Product Search in Europe. In other vicinities, we currently cannot surface listings. Let us know if you have data sources we should look into, and if you have one that can already be searched via barcode, check out RedLaser custom apps.
- Custom Apps improved: As in 2.2, you can create a RedLaser custom app that searches just about any website with barcode, and in 2.5, we’ve improved the launch screen to make it seamless, and added a built-in browser so you don’t have to redirect back to Mobile Safari after you’ve scanned in your custom app ( use “noexit=YES” ). We’ll keep improving Custom Apps so that RedLaser is even more useful in areas where our coverage is poor.
Cutting the Clutter with RedLaser
Sumocat from GottaBeMobile posted about of how he used RedLaser to organize his office by cutting the clutter of loose books. The before/after image he included with the post was so cool that we couldn’t help from posting it here as well.
I grabbed a book, scanned its barcode, put it in the box, then confirmed the search results matched. … Once I filled a box, I numbered it, emailed the list to my work email, and cleared the list for the next box.
Check out the imagery. The only thing that could be better than the super RedLaser arrow with drop shadow would be a timelapse video showing the the whole process.

Messy -> RedLaser + Boxes -> Organized
What I really like about this is that this is exactly the organization system I’d like to use for all sorts of physical items, like massive (print) photo collections, and souvenirs that you don’t want to throw away but also really don’t want to waste shelf space for. The challenge is speeding up the electronic cataloging process so that it’s easy to do this. Thanks for showing us how RedLaser can help with that!
Create RedLaser Custom App in 60 Seconds!
We’ve been getting a lot of requests that look like this:
I love RedLaser, but can you please add my favorite site X to your search results?
Can you send the barcode I scanned to site X for logging?
We thought this might happen, so we embedded a feature in RedLaser 2.2 that lets you search any website by barcode. But until now, we haven’t announced the feature.
RedLaser Custom Apps is now live! After you’ve installed RedLaser, check out this page: redlaser.com/apps (best viewed on an iPhone).
![]() Pre-built popular custom apps |
![]() Build your own custom app |
![]() Your new custom app! |
Try building an app by following the instructions and let us know what you think. We’d also love some suggestions for other sites to add to our “popular” custom apps list.
We’re excited to see what RedLaser Custom Apps get built and used!
By the way if you like RedLaser, we also launched two other iPhone application last week -FoodScanner (partnership with DailyBurn), and Snapture (partnership with SnaptureLabs). All three of these apps are doing well – they’re all in the top 100 paid apps on the App Store and RedLaser is at #2!
******* EDIT *************
We just added the option to convert scanned barcodes to UPC if the site you are searching only supports UPC format. On the RedLaser Custom Apps page, when building an app, simply check the “Convert to UPC” box, and the app you create will convert to UPC before searching.
Tutorial: Downgrading iPhone OS 3.0 to 2.2.1
As iPhone developers, you have to test your software on every OS version. This would be fine if there were a reasonably simple way to switch between iPhone OS versions. As it turns out, there isn’t. Upgrading is easy — but downgrading isn’t allowed by default within iTunes.
There is, however, a way to do it. I figured it out the hard way, so I’m posting these instructions to help anyone else who might be in the same situation. Partial credit is due to other tutorials that I borrowed information from.
If you’re getting iTunes Error 1600 and iTunes Error 20, this tutorial should help.
Disclaimers: Don’t do this with your personal phone, because you have to remove iTunes and completely reset the phone. Restoring everything later is probably possible via backup, but make sure there’s nothing important on the phone before proceeding. I don’t think this works on the 3GS phone. But don’t even try it.
Downgrading from iPhone OS 3.0 to 2.2.1
- Completely Uninstall iTunes 8.2 AND Apple Mobile Device Support
- Install iTunes 7.7 (find it on an old version website).
- Download the 2.2.1 (or 2.2) ipsw file for your phone.
- Launch iTunes, connect to USB, and enter DFU mode (see below).
- iTunes will mention restore mode. Click OK and then Shift-click “Restore”
- Choose the ipsw file you downloaded. Wait for restore.
- If this completes successfully, congratulations! You’re done! If you get Error 1013 (as I did), ignore and continue.
- Hold the Power and Home button for 15 seconds, then press Power for 2 seconds to reset your phone.
- You should now have the “Emergency Call” screen. If your phone has service, it should activate itself.
- If you’ve switched phones (to a 3GS for instance), you will need to either purchase phone service for it, or activate it via jailbreak.
- Once activated, you’re ready to start testing!
Let us know if these instructions work for you!
RedLaser 2.0 – First realtime barcode scanner for the iPhone
We believe that the future of mobile search is visual – using the camera in your mobile device to to get information about any object or landmark in your vicinity with no typing necessary. Not only will we recognize things via the camera, we’ll be doing it in realtime and overlaying results in augmented reality fashion. We launched our first mobile visual search application, RedLaser, about a month ago.
Today we’re excited to announce that we’ve released RedLaser 2.0, which lets you scan barcodes in realtime. This means you don’t have to take a photo, just hold it over a barcode and we scan it from the video feed. It’s available on the App Store, and we’ve cut the price temporarily to $0.99.
Here is RedLaser 2.0 in action:
Currently the realtime mode only works on UPC barcodes (which is most barcodes in the US), but we’ll be adding EAN (books/European barcodes) support soon. We’ll also be releasing a new version of our SDK that gives developers access to the new mode.
Barcodes are just the beginning, look for more mobile visual search technology from Occipital soon.
Announcing RedLaser: iPhone Barcode Scanning
The Occipital team is extremely proud to announce, as of this writing, the availability of RedLaser in the US and UK Apple iPhone App Stores for $1.99 USD.
RedLaser has been quietly in development at Occipital since our last release. It’s the first accurate UPC/EAN barcode scanner for the iPhone. While barcode scanning might sound simple, it’s surprisingly challenging given iPhone images — in particular, out-of-focus images.
After scanning a barcode, RedLaser queries Google Product Search, and returns online prices. It also lets you pull up results on Amazon via Safari, and email a product list. There’s also an SDK for developers.
RedLaser is also our first mobile visual search application. Mobile visual search is about visually querying the world in your vicinity. Today, that means you can point your phone at a barcode and we’ll help you find information about a product. In time, we’ll be expanding the possibilities, helping you find information faster and more precisely (oh, and it’s definitely more fun than typing!).
Here’s a short video of RedLaser in action, enabling quick in-store price comparison:
We hope you like using RedLaser!
Composing 2D Similarity Transforms
Similarity transforms come up often in computer vision and gestural interfaces. The results below are a straightforward application of definitions, but didn’t come up in a quick web search, so I though they may be useful to document here on the blog.
In 3×3 matrix form, a similarity transform parameterized by a scale, rotation, and translation is represented as:
[s*cos(th) -s*sin(th) tx ] [s*sin(th) s*cos(th) ty ] [ 0 0 1 ]
Say you have two similarities, T1 and T2, with their parameters as follows:
- scale: s1,s2
- rotation: th1,th2
- translation: (dx1 dy1), (dx2 dy2)
- In matrix form, T3 = T2*T1.
- th3 = th1 + th2
- s3 = s1*s2
- dx3 = s2(cos(th2)*dx1 – sin(th2)*dy1) + dx2
- dy3 = s2(sin(th2)*dx1 + cos(th2)*dy1) + dy2
Making the iPhone go faster
We need things to go fast. Really fast. So when came across Ryan Block’s old post about the iPhone’s vector floating-point coprocessor, I was encouraged. But how to access this new coprocessor? I was excited to find some examples on Matthias Grundmann and Wolfgang Engel’s Google code project, vfpmathlibrary.
They’re just getting started and only have 4×4 matrix operations coded up so far. Hopefully we can collaborate with these guys to expand the library and do some performance testing on different applications. More to come on that.
Android performance 3: iPhone comparison
The internet is just incredible. Within 30 minutes of logging onto the #iphonedev IRC channel on freenode, I got timing results for the iPhone on the simple loop benchmark from my last post. Thanks to ‘august’ for the help.
Here’s the benchmark converted into objective-C:
NSDate *start = [NSDate date];
int arr[8*320*480];
for(int i = 0; i < (8*320*480); i++)
arr[i] = i;
NSDate *end = [NSDate date];
NSLog(@"%g", [end timeIntervalSinceDate:start]);
Results:
- iPhone (2.1 firmware, Objective-C): 9.5 milliseconds
And, from last time:
- G1 (R29 firmware): 922 milliseconds.
- G1 (R29 firmware): Loop only. 520 milliseconds.
Conclusions:
Objective-C kills the Java implementation on Android. It’s almost exactly 100 times faster. Note that I’m unsure if the memory allocation is included in the timing, so a more conservative statement is that Objective-C can run a tight loop 50 times faster than the Dalvik JVM. It’s also true that real applications aren’t full of tight loops, and a real Android application won’t be 50 times slower than an iPhone counterpart. Nevertheless, all else being equal, it will be slower, and potentially a lot slower.
For now, we’re sadly going to put our Android development on hold and switch to iPhone, and keep an eye out for performance improvements.



