ARti Source Code Released

Abstract cloud computing service background. Technology and data concept. 3D Rendering

We’re pleased to announce the release of the Augmented Reality for Titanium (ARti) application source code. We first announced this back in the first week of January and we had hoped to release the source shortly thereafter but ran into some issues that required us to release the code along with a 1.6.x build of our MobileSDK.

The core of this application will hopefully spark Titanium developers to push for more advanced and different applications. It truly shows what can be done with tools provided in its raw forms. ARTi is released under the Apache 2.0 license and is available to all that want to play with it. We hope that by putting tools like this into your hands, that community developers can focus around hacking, forking, and generally improving the applications that are produced. ARTi, we feel, is a great stepping stone towards this goal.

If you are looking to improve or develop more around the ARTi code, consider adding the following tools and enhancements:

  • Accelerometer Controls
  • Converting 2D Matrices to 3D
  • Updating information based on location
  • Additional Facebook improvements like checkin

NOTE: ARti only works for iOS and only under the emulator, iPhone 3GS and iPhone 4

To run ARti you’re going to need to download and install Titanium Mobile 1.6.0 RC1.

To install the MobileSDK, you’ll want to download and then extract into your Titanium directory. On OSX, your Titanium directory will be under either /Library/Application Support/Titanium or~/Library/Application Support/Titanium.

Now, you’ll need to restart Titanium Developer to pick up the new release. Once restarted, remember to change the ARti application SDK version and then click the ‘Save’ button.

Here are the links to what you need to get started with ARti.

Titanium Mobile 1.6.0 RC1
ARti Source Code

NOTE: If you’re experiencing issues with this please do a clean pull from github. What’s currently in GitHub is currently working.

Code Strong!

1 COMMENT

  1. “only under the emulator” ?

    So this won’t work deployed as an app?

    (I suppose I’ll pull it down and give it a go 🙂 )

    thanks anyway! 🙂

    K

  2. @Tony cheers. 😉

    So. Do we need to install the facebook module separately? I’m getting the ti.facebook module not found error too.

  3. Just tried the 1.6.0 RC1 and also the latest 1.7.0 from github. Both complain about ti.facebook

    The modules link above (in comments and the article) only contains Android module code. I’m trying to build for iOS.

  4. @Tony thanks. I’ll try it again.

    It’s definitely not in the mobile SDK – at least not in the latest RC1 or 1.7.0

    (I did clear the build folder etc. And restart Ti Developer)

  5. OK. Tried a fresh pull with the module code too:

    It detects the ‘third-party’ module zip to install it, then fails building with a builder.py error, followed by a run.py

    Where would you like me to send the details/output/log? Helpdesk or Lighthouse?

    Probably not a good idea here in a blog comments 😉

    For anyone else reading this : TITANIUM ROCKS!! OK!!?

    good 😉

  6. same here. wiped out the content of the /build/iphone folder and rebuild.

    File “/Library/Application Support/Titanium/mobilesdk/osx/1.6.0.RC1/iphone/builder.py”, line 1003, in main
    execute_xcode(“iphonesimulator%s” % link_version,[“GCC_PREPROCESSOR_DEFINITIONS=__LOG__ID__=%s DEPLOYTYPE=development TI_DEVELOPMENT=1 DEBUG=1 TI_VERSION=%s” % (log_id,sdk_version)],False)
    File “/Library/Application Support/Titanium/mobilesdk/osx/1.6.0.RC1/iphone/builder.py”, line 924, in execute_xcode
    output = run.run(args,False,False,o)
    File “/Library/Application Support/Titanium/mobilesdk/osx/1.6.0.RC1/iphone/run.py”, line 39, in run
    sys.exit(rc)
    SystemExit: 1

  7. I suppose “/Library/Appcelerator Support/Titanium” is ~/Library/Application Support/Titanium.
    I will try this out! Thanks!

  8. Getting the same error with SDK 1.6.0.RC1

    [ERROR] Error: Traceback (most recent call last):
    File “/Library/Application Support/Titanium/mobilesdk/osx/1.6.0.RC1/iphone/builder.py”, line 1003, in main
    execute_xcode(“iphonesimulator%s” % link_version,[“GCC_PREPROCESSOR_DEFINITIONS=__LOG__ID__=%s DEPLOYTYPE=development TI_DEVELOPMENT=1 DEBUG=1 TI_VERSION=%s” % (log_id,sdk_version)],False)
    File “/Library/Application Support/Titanium/mobilesdk/osx/1.6.0.RC1/iphone/builder.py”, line 924, in execute_xcode
    output = run.run(args,False,False,o)
    File “/Library/Application Support/Titanium/mobilesdk/osx/1.6.0.RC1/iphone/run.py”, line 39, in run
    sys.exit(rc)
    SystemExit: 1

  9. I’ve actually tried using Ti SDK 1.5.1 on it but has issues of it’s own.
    While setting up the permission for Facebook (1)after pressing the OK button on the last page from Facebook it doesn’t return back to ARTi (2)and ARTi seems to have trouble picking up the login session.

  10. Hey guys,

    OK, I know my way around Ti fairly well, this is just irritating the hell out of me.

    So, I did all the walk through says – I grabbed the source code, imported, threw the module in the correct folder, and updated so that I could use MobileSDK 1.6 RC1 properly.

    When I build, I am always using iOS and 4.2.

    When I build using the MobileSDK 1.6 RC1, I get this error:

    [INFO] One moment, building …
    [INFO] Detected third-party module: ti.facebook/0.1
    [INFO] Titanium SDK version: 1.6.0.RC1
    [INFO] iPhone Device family: iphone
    [INFO] iPhone SDK version: 4.2
    [INFO] iPhone simulated device: iphone
    [ERROR]
    [ERROR] Error: Traceback (most recent call last):
    File “/Users/MDavid/Library/Application Support/Titanium/mobilesdk/osx/1.6.0.RC1/iphone/builder.py”, line 1003, in main
    execute_xcode(“iphonesimulator%s” % link_version,[“GCC_PREPROCESSOR_DEFINITIONS=__LOG__ID__=%s DEPLOYTYPE=development TI_DEVELOPMENT=1 DEBUG=1 TI_VERSION=%s” % (log_id,sdk_version)],False)
    File “/Users/MDavid/Library/Application Support/Titanium/mobilesdk/osx/1.6.0.RC1/iphone/builder.py”, line 924, in execute_xcode
    output = run.run(args,False,False,o)
    File “/Users/MDavid/Library/Application Support/Titanium/mobilesdk/osx/1.6.0.RC1/iphone/run.py”, line 39, in run
    sys.exit(rc)
    SystemExit: 1

    When I switch over to TiSDK 1.5.1 and build it, I get this error saying that the FB module isn’t there:

    [INFO] One moment, building …
    [ERROR] Third-party module: ti.facebook/0.1 detected in tiapp.xml but not found at /Library/Application Support/Titanium/modules/iphone/ti.facebook/0.1
    [ERROR] Error: Traceback (most recent call last):
    File “/Library/Application Support/Titanium/mobilesdk/osx/1.5.1/iphone/builder.py”, line 534, in main
    sys.exit(1)
    SystemExit: 1

    Any ideas?

    I’d really love to start playing around with ARti, looks like a lot of fun and I have some great ideas for it!

    Cheers,
    //MD

  11. With 1.6.0 I get ti.facebook not found.

    With 1.5.1 I get:

    [INFO] One moment, building …
    [ERROR] Third-party module: ti.facebook/0.1 detected in tiapp.xml but not found at /Library/Application Support/Titanium/modules/iphone/ti.facebook/0.1
    [ERROR] Error: Traceback (most recent call last):
    File “/Library/Application Support/Titanium/mobilesdk/osx/1.5.1/iphone/builder.py”, line 534, in main
    sys.exit(1)
    SystemExit: 1

  12. If you select 1.5.1 it gives the below error message. I’ve then shuffled the ti.facebook folder around on the system to suit the error location below and now it runs fine on 1.5.1 (I get other errors on 1.6.0)

    [ERROR] Third-party module: ti.facebook/0.1 detected in tiapp.xml but not found at /Library/Application Support/Titanium/modules/iphone/ti.facebook/0.1

  13. Did as requested Tony and here is the output:

    [INFO] Compiling JavaScript…one moment
    [WARN] JavaScript compiler reported “Be careful when making functions within a loop. Consider putting the function in a closure.” at cameraar.js:134
    [WARN] JavaScript compiler reported “Unescaped ‘-‘.” at dates.js:17
    [WARN] JavaScript compiler reported “Unescaped ‘-‘.” at dates.js:18
    [WARN] JavaScript compiler reported “‘lblLocal’ is already defined.” at windetail.js:50
    [WARN] JavaScript compiler reported “‘lblSelected’ was used before it was defined.” at winsettings.js:43
    [INFO] One moment, building …
    [ERROR] Third-party module: ti.facebook/0.1 detected in tiapp.xml but not found at /Library/Application Support/Titanium/modules/iphone/ti.facebook/0.1
    [ERROR] Error: Traceback (most recent call last):
    File “/Library/Application Support/Titanium/mobilesdk/osx/1.5.1/iphone/builder.py”, line 534, in main
    sys.exit(1)
    SystemExit: 1

    I did delete the build directory contents to force a full re-build as well. Same result.

  14. I finally got it working. I had to make the following changes:

    In winmain.js:
    Replace

    var facebook = require("ti.facebook");

    with:

    var facebook = Titanium.Facebook;

    Replace:
    facebook.requestWithGraphPath("search",{q:searchTerm,type:"place",center:center,distance:String(win.distance)},function(e){

    with:

    facebook.requestWithGraphPath("search",{q:searchTerm,type:"place",center:center,distance:String(win.distance)},"GET",function(res){

    Replace the loop that processes the results with:

    var data = [];

    //Ti.API.info(JSON.stringify(e.result));
    var e = JSON.parse(res.result);
    Ti.API.info("Length: "+e.data.length);
    for (var c=0;c<e.data.length;c++) {
    Ti.API.info(e.data[c].id);
    data[c] = {title:e.data[c].name,
    id: e.data[c].id,
    name:e.data[c].name,
    lat:e.data[c].location.latitude,
    lng:e.data[c].location.longitude,
    street:e.data[c].location.street,
    city:e.data[c].location.city,
    state:e.data[c].location.state,
    zip:e.data[c].location.zip
    };
    }

    I apologise if the formatting is messed up. I hope this helps others. This should be run with 1.6.0RC1 which already has the facebook module. You do not need to include the facebook module that was in the github. Delete the Build and modules directories in your project, and rebuild.

    Titanium rocks!!!

  15. Scratch that, I had mirrored module folders. All fixed now. One was on my HD one was in my user folder. Modules need to be on the HD not in the user folder’s library.

  16. I had to build using the 1.6.1 mobile sdk in order to get it to work but other than that it works great!

    I’ve trying to get it to work in landscape and in order to do so I’ve applied a 2dmatrix rotation on the overlayView. However, the width always remains the same 320px. Did you guys ever try getting it to work in landscape?