Archive for October, 2012

Get Started with Titanium and Augmented Reality

Tuesday, October 30th, 2012

One compelling feature of Titanium is the ability to (out of the box, using our JavaScript API) overlay native views over the camera view.  This enables the creation of augmented reality applications which can display contextual data for your users, with a combination of the device’s compass, camera, and accelerometer.

Appcelerator super user Trevor Ward has released a new book through Packt Publishing to help you get started.  If you’re at all interested in adding augmented reality to your application, be sure to check out Trevor’s book here.

CODESTRONG 2012 Mobile Conference Wrap-up

Monday, October 29th, 2012

Rainn Wilson of NBC’s “The Office” kicked off CODESTRONG Monday morning keynote, interrupting Jeff Haynie’s keynote. What a way to start a conference!

It takes cutting-edge developers and innovative enterprises to be a part of the next-gen mobile revolution. And it takes one hell of a conference to bring them all together. On October 21-23, 2012 CODESTRONG Mobile Conference was just that type of event, drawing 600+ mobile developers, enterprises and partners from around the globe to San Francisco, where they spent three days with mobile’s movers and shakers. In addition, over 5,000 individuals from around the world watched CODESTRONG via Ustream.

Mobile developers celebrated partnership announcments from high profile technology partners, empowering the entire mobile ecosystem. Announcements made during CODESTRONG included:

Electrifying excitement filled the air, as CEO Jeff Haynie addressed those in attendance. Haynie’s keynote address underscored Appcelerator’s mission: to enable developers and enterprises to deliver transformative mobile experiences to the world.

Prior to CODESTRONG 2012, we asked our mobile development community to share videos about what excites, inspires and motivates them about the mobile industry. We call these video shorts Mobile Manifestos, and a few were shared during the Conference.

Two of our favorite Mobile Manifestos:

A humorous and musical take on the Mobile Manifesto was supplied by Stephen Feather.

Mobile Dev Challenge asked Titanium developers to submit innovative, disruptive mobile technologies and services. Over 100 entries were received, and the top two winners received a free trip to CODESTRONG 2012. Between the twelve total winners, $32,000 in cash and prizes were also awarded.

Pictured above, Ivan Mathy of App Studio submitted the winning app to the Appcelerator 2012 Mobile Dev Challenge. Here’s the video of Ivan demonstrating App Studio.

Be Humble – Give Back: CODESTRONG planners knew you don’t simply bring together such incredible programming talent and not provide a forum to change the lives of others, so Appcelerator held a Hackathon with a socially conscious emphasis, called Hack to Help. Challenging ten teams of mobile developers to stay up from 9 pm Sunday through 9 am Monday, Hack to Help’s ten teams focused on a mobile app to help a partnering charitable organization.

“This event really allowed our amazing community to pay it forward to some charities that are doing great work, all while demonstrating the capabilities of our Titanium platform.” said Haynie.

In just 12 hours, Hack-to-Help succeeded in generating more than half a million dollars worth of apps customized to meet the needs of a variety of charities, including the Avril Lavigne Foundation, Room to Read, Special Olympics and the Michael J Fox Foundation.

In closing, we want to highlight developers and technology partners transforming the world through mobile. These are leaders and innovators you want to follow, as they change the entire mobile landscape – and we are so honored that they have chosen Appcelerator as their mobile technology solution.

Mobile Innovation Award Winners:

  • Aaron Saunders from Clearly Innovative – awarded as a prolific contributor: Aaron received this award for his contributions to the community in helping others realize their potential using Appcelerator Titanium platform through the Clearly Innovative blog, numerous module contributions, and quality Q&A responses (#1 Q&A expert).
  • Russ Frank – recognized for his contribution to the Titanium Platform: Russ Frank received this award for his impact to the core Titanium platform through high quality pull requests.
  • Ruben Fonseca – honored for contribution to Marketplace: Ruben received this award for his contribution to the Marketplace both in volume of modules published (8 modules) and popularity (TestFlight module) enabling developers to create complex mobile apps with deeper 3rd party integrations in less time.
  • ForgedUI – acknowledged for Innovation in Platform Integration. ForgedUI is the #1 module in the Marketplace, enabling developers to make better looking apps faster.
  • David Bankier – acknowledged for Innovation in Platform Integration: TiShadow provides the capability of quickly testing Titanium UIs across many devices.
  • Ketan Majmuran, Pratik Patel, Kaz Konno, Sivakumar Veerappan – honored for their community leadership. Ketan, Pratik, Kaz and Siva were recognized for their leadership demonstrated by consistently hosting local meet-ups to engage and educate developers.
  • Trevor Ward & Boydlee Pollentine – Trevor and Boydlee were recognized for their contributions todevelopers’ Titanium education. Trevor has published “Augmented Reality using Appcelerator Titanium” and Boydlee has published “Appcelerator Titanium smartphone app development cookbook”. Together they are authoring “Appcelerator Titanium; Patterns and Best Practices”.
  • Jeff Bonnes – honored for Titanium Evangelism. Jeff was recognized for his contributions evangelizing the Titanium platform. Jeff tirelessly highlights key Appcelerator news and amazing applications and technology being built on the platform.
  • Ben Bahrenberg, Dan Tamas, Javier Rayon, Shannon Hicks, Angus Fox – received the Active Titan Award: These Titans are recognized for their active involvement on the platform. They tirelessly provide feedback, push the boundaries of the platform and help us deliver a better product for developers.
  • Anurag Kumar, CEO of iTexico received the Partner Award for being a tireless Titanium advocate & betting his business on Appcelerator. iTexico has worked closely with Appcelerator’s sales and professional services teams to jointly win & deliver outstanding applications for some of our most important customers.
  • Tim Graham & Sumeet Saxena of GlobalLogic received the Partner Award for being an outstanding integration partner, specifically for their diligence in delivering modules for Appcelerator and our Strategic ISV partners and working with our professional services team to deliver outstanding apps.
  • Ivan Skugor, Minh Nguyen, Paul Dowsett, Christian Broussea – honored with the Q&A Active Participation Award: Recognized for being an active contributor in the Q&A and tirelessly answering developer questions.
  • Stephen Feather, Vui Nguyen – awarded for providing best Mobile Manifesto Video.

Electrifying. Exciting. Innovative. Didn’t get a chance to make it to 2012 CODESTRONG Mobile Conference? You can see highlights of the Conference VIMEO channel, and we even used Storify to document the incredible energy our participants felt and shared through tweets, “likes”, messages, photos, videos and “+’s” while in attendance.

Hope to see you at CODESTRONG 2013!

Developer Preview: Appcelerator Custom Cloud Services (Node.ACS)

Monday, October 15th, 2012

About one month ago we launched the Appcelerator Custom Cloud Service (Node.ACS) based on node.js to a small group of developers. Since then, we have received a lot of valuable feedback and incorporated it into our latest Node.ACS framework.

We are delighted to announce that the developer preview is now open to the public with many new features. Sign up for a free Appcelerator Developer account and you are ready to create and deploy a node.js-based custom Cloud Service in the Appcelerator Cloud in 5 minutes!

Check out the latest Node.ACS documents for more details.

Here are the new features available in the latest Node.ACS developer preview:

  • Websockets
  • App access Log
  • Publish/Unpublish multiple app versions
  • Custom CNAME
  • Remove an app from the cloud
  • Improved ACS integration
  • Studio integration

 

Integration with Studio brings a number of useful features including:

  • Easy setup of Node.ACS projects
  • Import Node.ACS services into your Titanium Mobile projects
  • Editing a Node.ACS project automatically updates all referencing client applications
  • Simplified workflow for running local client-server projects

Refer to documents on Studio integration to download and get started with the latest version of studio with Node.ACS integration.

As always, we want to work closely with our developers to improve our services. So please send us your feedback and comments by posting your messages at Node.ACS google group.

Building Titanium Mobile From Source Now Requires Node.js

Wednesday, October 10th, 2012

The upcoming Titanium SDK 3.0.0 includes a new Node.js-based command line interface for building your applications, which means now in order to build the SDK from source, you will need to have Node.js installed.

1. Install Node.js from http://nodejs.org.

2. You can now proceed with building the same as before.

Please let us know if you run into any issues with the change and we’ll be happy to assist.

Mobile Cloud Services: Data Persistence Across Devices

Monday, October 8th, 2012

TodoListACS Screenshot

As always, we are looking at ways to empower the mobile developer to transform the world through innovative and leading-edge technologies.  Cloud services is a great example of integrating easily scalable features in your application, such as custom data and user integration.

In response to developer requests, we’ve integrated  Appcelerator Cloud Services into the ToDo List sample application, available within Titanium Studio.  This provides user tracking and cross device data persistence. When finished, we’ll have created a very simple event driven application that allows users to create a new user, login to the application with an existing user, and manage a single list of tasks that will remain persistent across multiple devices running iOS, Android, and/or Mobile Web.

The Basics

The sample that we are basing this application on is the Todo List application available in the Samples section of Titanium Studio. While this sample is a basis for what we are doing, it is not required in order to follow along. However, if you’d like to see the original project, you can import it from Titanium Studio, or you can view the project on GitHub.

The project we are about to build is also available in our TodoListACS repo on github. Please be aware that if you import the project from GitHub, you will need to copy the tiapp.example.xml file to tiapp.xml and enable ACS in order to get your own set of ACS project keys.

The Breakdown

There are only 6 files that comprise the TodoListACS app and most of them are UI related. We’ll step through them one at a time and briefly describe whats going on.

app.js

There is nothing exciting going on here, we’re just bootstrapping the application. Regardless, here is the code.

ui/ApplicationTabGroup.js

This is where we build out our tabs and the windows attached to them. Notice we make a quick adjustment for Android to add a menu option for adding new tasks. We will listen for the open event on the entire tab group so that we know its ok to open up the login window.

ui/ListWindow.js

The ListWindow will control the list views for both completed and uncompleted tasks. There are quite a few things to take notice of in this module. First, notice that we use a simple flag passed into the module to let us know which list we are dealing with. Different options are used when a user clicks on an item in the todo list rather than the done list. We also add a listener on the todo list for newly added tasks. Rather than making a second call out to ACS to get the task list, we simply append the newly added ACS task to the table view. Finally, we add one more app level event listener to update the task lists. Whenever a task is deleted or marked as completed, we query ACS for the task list and separate them by their status.

ui/AddWindow.js

The add window is a simple modal form with a single text field for adding new tasks

ui/LoginWindow.js

The login window is another modal form for entering a username and password. Once a successful login is registered, this window receives and event that closes it.

todo.js

This is the module that brings it all together. This module would replace the db.js file in the original sample application. The first part of this module deals with users and authentication. When the login window is displayed pass the credentials to the login method, however, if the user does not exist, we immediately pass those credentials along to the register method to create a new user.

The second section of this module uses ACS objects to create and track the tasks for the logged in user. Cloud calls are asynchronous so whenver a call is returned from ACS we fire an event to let the application know that the call has been completed and to update the UI as necessary. For example, when we call the fetch() method, we query ACS for all the users tasks, when that call is returned, we fire the ‘app:update_tables’ app level event with the list of fetched tasks. The ListWindow module is listening for this event and displays the tasks accordingly.

The Exercise

While this pretty simple example is complete, there are a few things that could be expanded upon as an exercise for the reader.

  • Logout – There is a logout method in todo,js, but it has not been implemented into the UI. Adding a logout that re-activates the login window should be a simple task.
  • Sessions – Currently you must login every time you start the app. A quicker way would be to store the ACS session and restore the session on startup if the user had not already logged out.
  • Sharing – A bit more advanced would be to add a sharing feature that allowed users to share their tasks with other users.

Resources