Mobile AR: Qualcomm vs String

Hey Everyone,

As a part of our continual efforts at Watson D/G to explore new technologies and discover what they can do for interactive advertising, we experimented with both the QCar SDK from Qualcomm, and String for iOS. Both platforms have their individual strengths and weaknesses, but in the end, both prove to be excellent. For this demo, we used the demo release version of String, and QCar v1.0.0. Our goal was to create a a multi-platform experience, note differences in workflow, and share what we came up with. :slight_smile:

Video below of our demo extending the car skid script from the tutorial project:

https://vimeo.com/25654703

Workflow:
The general workflow for AR really isn’t any different from any other Unity project. Overall, we’d say String is a little bit easier to work with, because of the in editor desktop preview using your webcam. Using QCar you have to publish to the device every time you want to test anything. As a workaround, another camera was set up to use in editor, and disable/enable when publishing to device. Qualcomm’s marker creation process is a little more robust; everything is generated for you on their online developer portal. One annoying using String; you will need to manually tweak the world scale through trial and error if you’re trying to get something sized just right. Qualcomm’s solution places a plane in your scene that represents the marker (and textured), allowing you to position and scale things relative to it, eliminating guess work.

Tracking and Performance:
We can’t accurately gauge performance head to head - testing on a Nexus S and a iPad 2, which are very different from each other. We will say however, that String’s solution breaks a little less and finds the target faster. Qualcomm’s solution on the other hand tracks a bit more accurately, and allows for quite a bit more freedom in choice of a marker. String’s marker requires you to have a black border, surrounded by a white border. On the positive side, this allows you to frame just about anything you want inside, so long as it isn’t too symmetrical. This makes it easier to frame existing art (or posters), like done for the movie transformers. Unfortunately, If at any point the camera can’t see the entire Marker, the experience breaks.

Qualcomm’s marker can be just about anything, with a few limitations. It’s internal content needs to be pretty complicated and full of contrast, which is a bit harder than it sounds to make interesting. It tracks based on points generated throughout the image, so you can zoom in to only part of the marker, or stand back and frame the entire thing. It also allows for you to create box shaped markers (imagine using a cereal box as a marker, that can cull objects that pass behind it).

Conclusion:
Overall both solutions work surprisingly well and we’re excited to possibly use these in commercial projects. In the creation of the car demo, we were able to deploy the same solution to both Android and iPhone, with very little effort. In choosing which one is better of the two, it really depends on the project and what kind of marker you require. It will be interesting to see Qualcomm’s iOS solution when it becomes available to give a full head-to-head comparison. If both solutions remain in the state they are in, we think String will need to re-evaluate their pricing plan (this is assuming QCar iOS will be free).

Hey there Aron,

Some nice work on your website - and thanks for sharing the above information.

Here at SL we are keen to explore the types of experiences we can develop using String. So far we are very happy with the results, we’ve created a couple of small demos, but nothing as nice as your car one, yet.

I’ll keep you posted.

And the pricing? As far as i heard String cost 79 Developer Licence and 399 per title u use it in.

Also, how do you set this up? Is there a String something on the Asset Store now?

String does have a price - QCar is free. There isn’t anything for String on the asset store, it’s setup goes a little bit beyond just importing Unity assets. You need to add a few of their libraries to your Xcode project.

So i asume we need to visit strings website and there is some buy/download/beta something? Hopefully with some tuts?
Adding librarys is no problem, if the god of header search path is with me.

Marjan,

It is all very well documented - in terms of setting up anyways - I have only used the iOS version with Unity, had something running very quickly indeed.

£799 if you are a pro user - per app - per year.

799??? Thats new to me. I am Berlin, not superexpensive London, UK!
Berlin always claims to be poor. But sexy. Might stick with ARToolkit.

I agree that String is good but they seriously need to rethink their pricing if they want to compete against Qualcomm’s free iOS AR solution… which apparently is about just as good.

Basically to use String commercially, it’s $1000 per YEAR, per APP. Good luck…
http://poweredbystring.com/licensing

Well if thats really there pricing, which i didn´t not check and cannot confirm its making things difficult. I make apps for car manufacturers. pretty big players actually. But all i hear from them is “we want this, but have no money.”
How should i even offer that? Carge them every year 1000? Thats nothing they can oversea and the are most likely not willing to pay that (app is done, in the store, after one year nobody downloads it anymore, what then. Take out of store?)

The pricing is also something we are having to look at as a company. Per app, per year is pretty pricey for small/indie developers. However, in our experience, developing AR for the iOS is much easier because of the small variant in devices. Working with Android is a pain because you have to develop for the lowest possible device you want to run on and can limit your quality.

I am interested to know how many polys/tris you are running in the car AR app. We’ve only been able to push about 2K tri’s without hitting serious framerate problems (down to 15-18 FPS).

The price is indeed beefy
But at the time they are there after all, Qualcomm has not even gotten their lib to work outside their own CPUs on android, so I’m not going to hold my breath before it has proofen that its working reasonably at all on iOS actually

Forgot to mention that string wants to force us to show a “splashscreen” with their logo. God. Thats so… 80s. “Made with Macromedia” anybody???

Well they allow you to not show that, by paying roughly 7000,–. Per App. Per year. Peanuts!

The splashscreen is really something you should really get used to as game dev. its normal for middleware, its the only way to make them affordable, by driving sales passively.

It doesn’t bother me to have their splash screen with my app. I understand trying to become a “household name.” But this may be the most expensive plug-in for Unity I’ve seen.

Unless they are trying to uphold some standard of practices, I don’t know why they are imposing such a high fee. If I were pioneering Augmented Reality on mobile devices, I would want as many people as possible using MY company’s product. Having a high barrier to entry means developers are already looking for alternatives before even using your product. Hence this thread.

Hm, tja…
I guess there is not THAT many Augmented Reality Projects people are planning. And we don´t know how big their development team is. And how long they worked on that. But i saw there Press Video which was promoted on the Unity Homepage Blog, and the only Number i could here was 79 devoloper licence and 399 if you put that in an app. What i see on their webpage now is quite a different story.

And for the logo… I myself am even not allowed to speak about customers projects, nor am i allowed to put a made by me somewhere in the app. Nor would they allow a made by unity or made by strin or made by this or that.
And of course the are not willing to pay 7000,-- to avoid that. Not per year. And not by title.

And while i talk about this all the time for no reason, actually, it seems to my that string will be bought by some company sooner or later, to make a platform or product more appealing.
Unity could by them. Apple could for sure. Remember Unity offering Beast although that alone would cost several thousands of dollars, as the stated? Then string would be a best buy i guess.

(Is any Unity guy listening?)

Agreed, on the long run its extremely expensive.
I understand the per App fee but not the per year, that makes no sense at all. After all either you pay yearly subscriptions to get the always current of something or you license it for the lifetime of an app, but not both.
But I already failed to see the point of per server + per app on photon so I might just be too stupid to understand such concepts

@marjan: The not talk about projects is nothing new to me either, thats why my portfolio is that empty. But “want the best but at $0” is a thing that I luckily was able to avoid mostly on my customers end. Either they wanted the best or they wanted what they could pay and its normally not so much of a topic as I list them the options, pros and cons and implications on their desired end result as well as the budget to give them a solid base to decide upon.
That being said if they don’t want and splashes, then they should expect 6 figure fees normally, realtime middleware standard is the requirement of the initial splash (not needfully one per tech, but one for sure + mentioning in credits + pr material). There is not much to talk about it, only about them realizing simple facts or getting a 7 figure budget to develop an own technology if they dislike it

At the time the solution is simple: use string or use something inhouse created basing on a more or less efficient form of camera streaming and processing. If Qualcomm ever gets anything done that will add to the mix, but what, when and with which impact will have to be seen, if its solid it will surely impact how String is seeing the whole topic - they will also realize after the first dozen or so mails on teams being interested clearly stating that they have no interest to pay an infinity for the lifetime of an app even if its not going to use new features and that they have no interest in paying for such a support contract forcefully.
Its a matter of time and experience they will definitely gain to reconsider the situation, market value and market potential if its offered at reasonable licenses.

$7000 might sound like much but if its “wave all crediting” and onetime per app with free updates for 12 months and support contracts beyond that, it would have to be considered fair.
Just cause Unity plays exception offering the waive of credit at $1500 does not mean much, its the only AA+ engine that even offers waiving middleware crediting (now idea how they worked out their deals with nvidia etc, cause physx and other things used contain a similar crediting requirement)

The Splash screen is nonsense. I’m sure there are folks that don’t mind,I’m not one of them, particularly with their pricing structure. How many UT Pro developers smiled proudly after their first splash-free build knowing that you payed for the privilege. Now to have some obscure middleware vendor stick their tramp-stamp on my product? Make it open source and advertise all you want, but if I’m paying top dollar… Step off.

( the opinions expressed here are that of an arrogant American who simply doesn’t take sh-t as nicely as other folks might… ; ’ )

B.

At their pricing structure, yeah the splash screen is nonsense at least in the higher ups beyond the $400 one.

But at one time, it would be adequate.
My reasoning here is that the splash screen is to driver other interested parties to them, but if they force you to pay the share of all your future “driven over” customers anway, why show the splash? Paying for the priviledge for lifetime advertisement?

Keep in mind, beast costs $100k per title and has splash, crytek and UE3 cost beyond half a million per title and have splash and unless something obscure happens, I would guess that unity 4 non-source might have splash back again too to fight fairly against UDK as it will need it at the pace UDK works up and with the upcoming UDK Android and UDK OSX at which point UE / UDK is missing only the webplayer platform from Unity, one which UT is shooting itself pretty regularly with non sense licenses (percentage revenue share on asset bundle cache for example), undocumented technical limitations (unpredictable support for mono frameworks) and an undefined support policy (unclear policy on what browsers are supported and turnaround time for fixes if it gets fucked up, …)

Also, its kinda lame trying to hide the tech you used, in any other field thats called poser, cause you claim to have done something when you didn’t, so anyone really worried about it should reconsider the desire to put his own name in the credit or as author if not putting the name of the tech in which did 95-99% of his work. Thats just bad to inexistant business ethics