Archive for June, 2012

Announcing Titanium Studio 2.1.0

Friday, June 29th, 2012

Titanium Studio 2.1.0 is the first release in several focusing on UI simplicity, ease of use, and speed.

New simplified perspective

On starting up Titanium Studio, you’ll notice a new “Configure” page with several options, the most prominent of which is the “Titanium Studio UI” radio. Switching to “simple” removes a significant amount of clutter from the UI, and is the default option for new users. If you wish to switch back and forth, either return to the dashboard, or choose a new perspective from the area at the upper-right of the screen.

Modules/SDK

  • You can now install Titanium Modules from the help menu much like you can SDKs.
  • Speaking of SDKs, there is now the option to download both the current and previously-released SDK versions.
  • You can now add new platforms to existing projects.
  • When working with Mobile Web, go to Run Configurations… and you can auto-search for other installed browsers.

Language Support

  • We’ve added a new high-performance JavaScript Style validator that does much of what JSLint does, but in a fraction of the time. Try turning it on in Preferences > Studio > Validation > JavaScript
  • The JavaScript outline view now descends into conditional statements.
  • Fixed a bug with slow typing in large files where word wrap was enabled.

Additional changes

  • We’ve re-enabled support for the “dropins” folder.
  • Tweaks/Fixes to the Find bar, project and packaging wizards.
  • Upgrades to the console view for Android logging.

Read the Release Notes for additional details on all improvements available in this release.

Updating Titanium Studio

You should be automatically prompted to update your Titanium Studio software. If you do not see the prompt, you can select “Check for Updates” from the “Help” menu from within Titanium Studio.

Once you’ve updated Titanium Studio, you’ll then get an update for the Titanium Mobile SDK.

Announcing Titanium Mobile SDK 2.1.0

Friday, June 29th, 2012

The Titanium platform team is pleased to announce Release 2.1.0 of the Titanium Mobile SDK. This release follows in our recent tradition of quarterly feature releases.

New in 2.1:

  • Support for the new ACS Access Control Lists feature, allowing users to share ACS objects
  • Increased application code security on Android and iOS platforms
  • Drag-and-drop map annotations on iOS
  • Improved scrolling on Mobile Web, including kinetic and elastic scrolling


There’s also a larger-than-usual set of parity improvements and bug fixes. This includes some long-awaited features on Android:

  • Routes on map views
  • Linear background gradients
  • Pinch and swipe events


In addition, horizontal layouts have been standardized across the platforms; all platforms now recognize vertical swipe gestures as well as horizontal swipes; and all media player types now sport a standard volume property.

As a member of the Titanium Mobile core team, there are two other items that I’m excited about:

Unit test framework. Anvil, our new unit test framework, is destined to replace the aging Drillbit framework. Anvil will allow for more automated testing of the Titanium Mobile codebase, and extend unit test coverage to the Mobile Web platform. A unit test framework might not be the most exciting feature in the world, but we’re pretty happy about it.

Community contributions. In recent months we’ve gotten some great contributions from the Titanium community, including drag and drop map annotations, and enhancements to scrollable views. We have gotten better processing community pull requests in recent months and we are trying to improve further.

Read the Release Notes for additional details on all improvements available in this release.

Download and Installation

Updating the Mobile SDK

You should be prompted to automatically upgrade your Titanium Mobile SDK from within Titanium Studio. If you do not see the prompt below, you can manually check for updates by selecting “Check for Titanium SDK Updates” from the “Help” menu within Titanium Studio.

For More Information

For more information, you may view the related API Documentation: Titanium Mobile SDK 2.1.0 API docs.

Q&A: Appcelerator’s Approach to Supporting New OS Releases

Monday, June 18th, 2012

Reposted from the Think Mobile blog on appcelerator.com by VP of Products Jonathan Rende.

There have been numerous questions about our support around iOS 6 over the past few weeks. With this event, it makes sense that Appcelerator states our philosophy around support of new OS releases inclusive of iOS 6.  Below are a few questions and answers that I’d like to share.

When is support targeted for new OS versions?
We target backward compatible support for 30 days after official release of that version. Also, we target new features in the release on a priority basis after that and have quarter releases where prioritized new features are added. We review Jira for items listed and the number of watches of those to help us prioritize the requested features.

How do we test against new OS versions?
We receive pre-release or preview versions of new operating systems and typically wait until the latter part of the cycle so we focus our efforts and resources on the likely release candidates.

If Appcelerator finds issues during testing of a new OS, what is the approach for dealing with those issues?
Our approach is to work around issues when we identify them. If we cannot work around them, we report these issues to the OS provider.

What versions of Appcelerator’s platform would receive fixes for those issues?
We always target applying fixes to the current shipping version and upcoming release. We reserve the right to apply the fix to supported versions prior to the shipping version on an as needed basis.

Do you have a notification process for customers that may be impacted?
The notification process would be through our normal support practices whereby we fix an identified issue and when closed.  All tickets associated with it are notified.

If we find issues with our application on top of a newer OS version, what is the support process and turnaround time?  In particular, once OS versions go live, how quickly can we expect fixes for problems?

Again, we support new releases within 30 days of release. For any issues that show up, it depends on the issue: it may be an application bug, a platform bug, or an iOS bug. We need to review these on a case by case basis.

 

Jonathan Rende is the Vice President of Products at Appcelerator.  Working with the rest of the product team, he is responsible for the success of the existing products, upcoming product plans/investments and the disruptions we aggressively attack. His objectives are to enable customer, community and partner success alike for their businesses and related activities and works out of our Mountain View corporate offices

Mobilize Your MongoDB! – Part 3

Thursday, June 14th, 2012

Editor’s Note: Reposted with permission from the OpenShift developer blog, and author Grant Shipley.

During Part 2 of this BeerShift series, we went over all of the required dependencies required for the BeerShift application to run. We installed Titanium Studio, Xcode, the Android SDK, and the OpenShift client tools. We also signed up for OpenShift and created an application for our backend REST services and added a mongo database.

In this blog post, we will go over the backend REST services and get everything up and running on the OpenShift cloud.  We will also register for a brewerydb.com API key and add it to our application so that we can make remote REST calls to look up beer and brewery information.

Step 1:Sign up for an brewerydb.com API key (it’sfree)

Instead of storing such a large amount of beer data that can quickly grow out of date, I decided to rely on a third party to retrieve this information.  In this sample application, we will only be using the beer name, description, and brewery information. However, the API that we are using provides more information including images that could be incorporated into the application.

In order to sign up for an API key, head on over to http://www.brewerydb.com/developers and sign up for an account.

Once you sign up for an account, you will need to identify the application that you are writing with a brief description. After providing that information, you will receive an API key via email a short time later.

Step 2: Download the BeerShift backend source code

In order to start using the beershift backend source code, we will need to clone the git repository and add it to our IDE.  Luckily, Titanium Studio, which we installed during the last blog post, has built in git revision control functionality that makes this process very painless.  Start up Titanium Studio and click the import project button on the left hand side of the screen.

Select to import from a Git Repository as New Project and click Next.

 

In the URI field, enter in git://github.com/beershift/BeerShiftWeb.git

Once this source code has been downloaded, Titanium Studio automatically creates a new project for you.  Click on Open Project on the left hand side of the screen and the source code for the project will be visible.

Step 3:  Add your OpenShift git repo as a remote to your project

Now that you have a project that contains the source code for the backend services, we need to add your OpenShift application that we created in part 2 of this series to your git configuration.  This can be done with a few commands at the terminal prompt.

The first thing we need to do is find the directory that our project was created in.  This is typically under the Titanium Studio Workspace location that you set when you started the IDE.  If you don’t know the location, you can always right click on a file in the project and view the properties for that file.

On my system, the project source files are located at: /Users/gshipley/Documents/Titanium Studio Workspace/BeerShiftWeb

Issue the following commands at a terminal prompt:

$ cd /Users/gshipley/Documents/Titanium Studio Workspace/BeerShiftWeb

$ rhc domain show –l yourOpenShiftUserName

You should see a giturl for the beershift application that we created inpart 2 of this series that looks similar to:

Copy the git URL beginning with ssh:// and type the following command:

$ git remote add openshift ssh://239ce12ccf4953b9f3637fb4cdac5e@beershift-onpaas.rhcloud.com/~/git/beershift.git/

Making sure to replace the git URL above with the one from your application.

Step 4: Add your brewerydb.com API key

In step 1, we signed up for a brewerydb.com API key.  In this step we need to add that key to the config.php file in our project.

Now that you have your API key added, you need to need commit your code and push your backend services to OpenShift

$ git commit –a –m “ Adding my API Key”

$ git push openshift

Verify that your application is up and running by pointing your browser to beershift-yourDomainName.rhcloud.com

Step 5: How did this all work, right out of the box?

You are probably wondering how the database is working without any configuration?  If you take a look in the mongodb.php file under the config directory, you will notice that we are using environment variable to authenticate to the database.  OpenShift sets these environment variables on your host machine so that you don’t have to remember them.  This makes deployments and application portability across machines very easy.

Step 6: Understand the code

I created a video that will walk you through how the code and configuration works.  Instead of covering it here in this blog, I suggest that the reader watch the video.

In the next part of this blog series, I will go over the mobile application code in detail and then we will put all of the parts together to make an application that runs on iPhone and Android with a MongoDB backend hosted in the cloud.

Updated training videos

Friday, June 8th, 2012

Appcelerator Training has updated its online video training series Building Native Apps with Titanium. You can watch this free ten-part video series by visiting http://vimeopro.com/appcelerator/building-native-mobile-applications

This series has been updated to cover key Titanium 2.0 features, including Appcelerator Cloud Services, Mobile Web, and the new composite layout specification. Also updated are the accompanying labs, which are posted at https://wiki.appcelerator.org/display/td/TCAD+Course+Labs Most labs include a sample project to download. Finished code for one lab is typically provided as the starting point code of the next lab. But you can skip to the chase and download all the lab code from https://github.com/appcelerator-training/tcad-code

The videos are a great way to learn Titanium. But I encourage you to attend a live class with Appcelerator or one of our training partners. Such classes offer opportunities for real-time assistance, question and answer, plus interaction with your peers to create a superior learning environment.

Once you’ve watched the videos, why not take the next step and become a certified Titanium developer? Visit the Marketplace to purchase access to the TCAD (Titanium Certified App Developer) exam. If you pass, you’ll join an elite group of roughly 1,000 certified Titanium developers. You’ll be listed in our DevLink directory and receive logos to include in blogs, web sites, or your LinkedIn profile. Certification will help you demonstrate your skills and knowledge and stand out in the competitive mobile development market.

(In order to keep the same URLs and not break any inbound links, we’ve replaced the old videos with new files. Unfortunately, this sleight-of-hand also preserved the last-update date making the videos look as if they are 8 months old. Sorry for the confusion that causes.)

Tim Poulsen,
Training Curriculum and Certification Lead