Category Archives: Mobile

MEET THE TQUILA TEAM: Tim Davies


Tim Davies, UI / UX Practice DirectorMeet Tim Davies, Practice Director UI / UX. Tim joined Tquila in July 2012.

A design geek at heart, if you don’t see him engrossed in the latest online design gallery then, as a big gamer, you will find him playing military airsoft! Why not challenge him to a game…

Here’s what Tim has to say about his role at Tquila:

What I do

“User Interface concept and designs for mobile apps. Mapping a user journey and creating sales concepts and pitch materials to present to clients. I take part in client consultation and workshops to help clients get maximum impact from their applications and interfaces. I also deal with project management and oversee road mapping.”

Why I love my job

“It sounds like a cliche, but no two days are the same. This role has opened my eyes to a whole new way of working, I work fast, I work agile and I work fast again! Alongside some of the most talented people in the industry. Every day brings a new challenge with diverse projects.”

Why I love Tquila

“Tquila is a fun and creative brand that pushes the boundaries of traditional technology and helps customers achieve more from their Salesforce solution. We get to help customers see the bigger picture – and for me in particular – get to convince them of the importance of mobile! There is such a great culture here and the atmosphere is electric.”

Follow Tim on twitter @RandomTrashy

Want to be part of this? Check out our job openings or send your CV to careers@tquila.com

Tagged , , , , ,

Sencha App with Salesforce API using a Sinatra Proxy


In my last article, I presented the Sencha Framework and some of the advantages this product has over other mobile solutions. Convinced that I had a wonderful tool in my hands I decided to create a simple app. The aim is to have an app with two tabs. The first with an intro page and the second with a list of leads retrieved through the Salesforce REST API. The list must be sorted and provide basic interaction by displaying additional details of a selected lead. As soon as you start playing with mobile applications and a remote API you have to face a common javascript limitation: the Same Origin Policy. You may like to read the Wikipedia article if you want to know more about that rule. Briefly, “The policy permits scripts running on pages originating from the same site to access each other’s methods and properties with no specific restrictions, but prevents access to most methods and properties across pages on different sites”. Said differently, your cute javascript mobile application hosted under xyz.com domain _can not_ request any data from salesforce.com domain. Such a shame but imperative to keeping the web safer.

Continue reading

Sencha Touch: More than a trendy mobile JS framework


Mobile appsA few weeks ago, I started to think about my next project, a mobile dashboard app for Salesforce. As I’m a Ruby/Javascript dev, not an IOS dev, I spent some time investigating which framework would best meet my requirements:

  • The ability to generate IOS/Android apps, to remain device agnostic
  • Using a language I know, improving my skills rather than diluting them
  • Not requiring a heavy env install (it’s never as simple as they say)
  • Well documented, to avoid banging my head against the wall from looking into a raw source code of thousands of lines
  • A promising future – I don’t want to waste my time learning already obsolete technologies

Some of the candidates were RubyMotion, PhoneGap – Cordova, JqueryMobile, Titanium, and RhoMobile. My final conclusions are not based on intensive trials but more on web investigations and personal intuitions. Here are the pros and cons of these different solutions:

  • RubyMotion: promising and really trendy. RubyMotion’s creator was one of the invited speakers at the last Ruby Lugdunum conference. The product is still too young, expensive (not free) and only generates IOS apps
  • PhoneGap – Cordova: a complete framework, now part of the Apache foundation. Able to generate apps for all devices, but looks complicated (too much recent evolution, with Adobe then Apache, heavy IDE with XCode, Eclipse, plugins …).
  • JqueryMobile: everyone loves this framework but it’s a little bit old now. Furthermore, JqueryMobile apps are known to be slow and are obviously not even fake native apps but pure web apps designed for mobile.
  • Titanium: I have no real explanation for why I didn’t choose this option. Maybe because they’ve changed their business model, presentation, name, and documentation too many times in recent years. Maybe because when I have tried it years ago I was really disappointed.
  • RhoMobile: another player using Ruby – and well-established. Positive points, but then it was bought by a big company (Motorola), and furthermore, performance is known to be less than average.

SenchaIn the end, one candidate kept my attention: Sencha. If you work in the Salesforce ecosystem you might have heard about it. Sencha has been blogged about a lot and its presence at Dreamforce 2012 was impressive.

My first experience with Sencha had me hesitate. As with Phonegap – Cordova, there is a lot of documentation available. Furthermore, Sencha’s offering is split into multiple components (ExtJS 4, Sencha Touch 1, Sencha Touch 2, Sencha Architect…). It’s hard to figure out initially which one to use: are they working together, or do they have different destinations?

Even if I am not a huge fan of an integrated environment I thought that maybe, in 2012, Sencha might have achieved something phenomenal with their architecture. Using the 30-day free trial, I started to create my first mobile app to display points of interest on Yelp!. It was cool, the tutorial was easy to follow, but at the end, even if my app worked, I didn’t understood any of the JS code that was generated: it was a bunch of hashes with a lot of obscure configuration options.

A few days later, I started a new app with Sencha Touch 2. Sencha Touch 2 is the latest version of Sencha Touch, and is the component to use if you want to build mobile apps. It’s Open Source and free to use even for commercial purpose. Sencha Touch 2 has the ability to compile your code into fast native Android, Blackberry and iOS apps. Obscure configuration options generated by the architecture became much easier to understand, as Sencha Touch 2 is in fact a classic MVC framework. I recommend watching the following videos to discover what Sencha Touch has to offer, and how to create your first applications cleverly:

  • Discover Sencha Class System. Understand how structurally different Sencha Touch 1 and 2 are, and why the new version is so pleasant to use, with a much more robust and compact syntax.
  • The Sencha MVC framework architecture part 1 and part 2

A lot of people complain about the Sencha Touch documentation. I agree that the main documentation site is a rudimentary API description, and that tutorials are usually not detailed enough. However, Sencha released a learning platform for Touch with access to great content. You can also find interesting blog posts on their website.

In my next blog post, I will explain how I created a simple app that displays records from Salesforce, using Heroku, Sinatra and Database.com.

Tagged , , ,