Salesforce + Accelerate and Simplify Enterprise Mobile App Development in the Cloud

We just made it incredibly easy and fast to build enterprise mobile apps connected to Salesforce API with the Salesforce Mobile Pack for has two plug-ins that make it super easy to connect to Salesforce:

  • Salesforce OAuth API – this plug-is includes everything you need to connect to the Salesforce API via OAuth 2. Examples include Salesforce API, SOQL, and Chatter API
  • Salesforce Contacts API Sample App – this plug-in includes the OAuth 2 implementation plus a Contacts sample app. The mobile web app allows you to view, edit and create new contacts on Salesforce using the REST API.

A step by step tutorial shows how to import and use the plug-ins.

Screen Shot 2013-07-31 at 1.31.42 PM
Importing the Salesforce plug-in

The Salesforce Contacts API Sample App has a complete app that allows to view and edit contacts in your Salesforce account. Use this app to learn how to use Salesforce API or as a starting for your app.

The Salesforce OAuth API has everything you need to get started. It includes a number of examples to get you started: using Salesforce API, using SOQL, and use Chatter API.

The drag and drop visual app builder makes it incredibly easy to build or modify the app UI. You simply drag and drop components into the phone area. For example, editing the edit contact page from Contacts app:

Screen Shot 2013-07-31 at 1.36.56 PM
Editing app UI in visual editor

You are not limited to what the plug-in provides. You can build any app UI using the visual editor and connect to any Salesforce APIs. Here is an example defining a service that connects to Salesforce:

Screen Shot 2013-07-31 at 1.48.53 PM
Salesforce API for editing a contact

Our guide shows in detail how to setup any Salesforce API service.

By combining the power of Salesforce and dev. tools – we just made it super easy to build enterprise mobile apps entirely in the cloud. Visit for a special promo code for Salesforce developers.


Creating jQuery Mobile App with Wordnik API [Tutorial]

Learn how to create a jQuery Mobile app with Wordnik API using Tiggzi Platform.

Android Tutorial: Building Hello World App in Tiggr

This tutorial uses Tiggr, a Web-based Mobile Apps Builder. If you don’t have an account, sign up for one. It’s fast and easy.

Creating New Project

  1. Enter a new project name: AndroidHelloWorld

  2. From the Native App tab, select Blank Mobile Application:
  3. Click OK to create a new project. Once the app builder editor is loaded, you will see the following:

    Now that we got the project, we are ready to build the UI. 

Continue reading “Android Tutorial: Building Hello World App in Tiggr”

Why You Need Interactive and Clickable UI Prototypes for Your Next Project

If you’ve been building web or mobile applications, you probably know how tough it is to describe UI requirements in a text document. It’s even more challenging for the person reading the requirements to understand what the heck the author meant.

Sometimes visual aids help. It’s probably safe to assume that many projects include pictures or drawings in the requirements document to help visualize the UI. Any visual aid in a requirements document will help.

It’s also possible that many projects use a somewhat better solution than just inserting images or drawings into a requirements document – a mockup tool. A mockup tool is specialized software to create, well, a mockup of the UI. With a mockup tool you use lines and various shapes (rectangles, boxes, etc.) to create the outline or shape of the various UI elements.

The problem with mockups…

However, mockups suffer from a number of drawbacks. First of all, mockups are static. Today, most user interfaces are very interactive with AJAX or AJAX-like features. Expressing such interactivity or navigation is just not possible with static mockups.

Continue reading on

Exadel Tiggr links for 2010-08-31

Exadel Tiggr links for 2010-08-31:


2009 was a good year. RichFaces is more popular than ever today. Exadel has participated in hundreds of RichFaces engagements this year. I don’t remember how many trainings I’ve done this year but just since September I had a RichFaces training every other week. The forum is very active. RichFaces now has two books, one is mine, Practical RichFaces (Apress). The other books is called JBoss RichFaces 3.3 (Packt). There is also RichFaces DZone RefCard available.

My blog traffic has been steadily growing this year. To make it easier for readers, I have tagged all my RichFaces howto’s, tips and tricks with richfaces-howto tag. Now you can find all the posts quickly. And of course I also started using Twitter ( this year. My first tweet and my first follower @kito99 via

If you tried JSF 2 (and you should, it’s much better than JSF 1.2. Here is a great post by Andy Schwartz and here is my JSF 2 series), you will notice that core Ajax features in JSF 2 are very similar to what has been available in RichFaces for a very long time now. You will see that f:ajax tag in JSF 2 works very similar to the popular a4j:support tag (see this blog post and this for more info). The RichFaces team is already working on RichFaces 4 which will be based on JSF 2.

This year I attended and spoke at a number of conferences. I started with JSFdays in Vienna, Austria in early April. End of April I attended JAX in Maintz, Germany. In June, I spoke at JavaOne 2009 and beginning of September presented at JBoss World in Chicago. My final conference was JSFSummit in Orlando in December.

With trainings and conferences (and some personal travel), I flew over 150,000 on United this year which makes me 1K again. I’m looking forward to system wide upgrades (for international travel) and new unlimited upgrades United announced earlier this year. If you travel frequently, I definitely recommend trying to stick with one airline. Even if you just get entry level status, travel usually becomes more pleasant.

Next year already looks very interesting. I already have three trainings booked and two conferences. I will be presenting and teaching RichFaces workshop JSFdays 2010 in Vienna in February and presenting for the first time at TheServerSide Symposium in Las Vegas in March.

If you have been reading my blog, you will know that we have been doing some interesting stuff with JavaFX. Exadel has been working on JavaFX plug-in for Eclipse and Flamingo framework. We have also worked on JavaFX and JSF integration. Although we could wished for a stronger “acceptance” of JavaFX this year especially in the enterprise, nevertheless, the community has been growing very strong. I have approached Sun on two different occasions with an offer to work together on some of the enterprise features for JavaFX but never got a reply back. Now that Oracle-Sun deal is close to being final and once Oracle takes ownership of JavaFX, we hope it [Oracle] will start using more JavaFX in the enterprise.

2010 (how are you going to say 2010?) is looking to be very interesting year. We have RichFaces 4.0, our JavaFX plug-in for Eclipse is going to be open source and have been adding very interesting mobile feature to Flamingo such as connector for Android. JavaFX and JSF integration also sounds very interesting. Stay tuned.

Happy New Year!

10% discount for RichFaces workshop in Germany

I’m doing 1-day RichFaces workshop in Nuremberg, Germany during Herbstcampus conference. Enter “Max Katz” in the registration code “Buchungscode” field to get 10% discount.

Flamingo 1.8.2 Just Released

Flamingo 1.8.2 was released. It’s mostly bug fixes and we improved JavaFX-Spring integration. Read more on Exadel blog ».

As for what’s coming up, Flamingo 2.0 will have JavaFX server-side push feature.

JavaFX and Spring CRUD

Exadel Flamingo RIA framework comes with CRUD application generator. Using the maven-based generator, you can easily generate JavaFX user interfaces connected to Spring or Seam back-ends. In this post I showed how to do it Seam. Let’s do the same with Spring framework. There are just a few simple steps.

  1. If you don’t have, download and install JavaFX SDK 1.2 for your operating system.
    1. Set JAVAFX_HOME variable
  2. Download Exadel Flamingo
  3. Unzip the downloaded file
  4. Run flamingoinstall (if you are on Linux, you will need to make the file executable)
  5. Inside flamingo/bin, run flamingo create project . Just follow the wizard questions, in most cases you can accept the default values. My answers are shown in bold.
    max@:~/Exadel/Flamingo/flamingo-1.8.2$ ./bin/flamingo create project
    [INFO] Scanning for projects...
    [INFO] ------------------------------------------------------------------------
    [INFO] Building Maven Default Project
    [INFO]    task-segment: [com.exadel.flamingo.maven.plugin:flamingoapp:1.8.2:create-project] (aggregator-style)
    [INFO] ------------------------------------------------------------------------
    [WARNING] While downloading
      This artifact has been relocated to javassist:javassist:3.3.GA.
    [INFO] [flamingoapp:create-project]
    discovered andromdapp type --> 'flamingo-seam'
    discovered andromdapp type --> 'flamingo-spring'
    Please choose the type of application to generate (flamingo-seam, flamingo-spring):[flamingo-spring]
    Please enter the location in which your new application will be created (i.e. c:/java/development):
    Enter the project name (e.g. myproject): [javafx-spring]
    Please enter the root package name for your project (e.g. com.mydomain.myproject): [com.sample]
    Will this project have Flex or JavaFX user interface? (flex, javafx): [javafx]
    What kind of database are you using? (hsql, mysql, oracle, postgres, mssql, db2, sybase, none): [hsql]
    Enter the JDBC URL for your database (e.g. jdbc:hsqldb:.): [jdbc:hsqldb:.]
    Enter database username: [sa]
    Enter database password: []
    Do you want to update the database schema each time you deploy? (y, n): [y]
    Enter the entity class name (Flex source files to view and modify entities will be generated as well): [Person]
  6. Once generation is completed, go to javafx-spring/web and run this command: ant -f build.xml create-keyEntry
  7. Go one level up to javafx-spring/web and run: mvn package
  8. Copy javafx-spring/web/target/javafx-spring.war to Tomcat
    8) Start Tomcat
  9. Go to http://localhost:8080/javafx-spring and start the JavaFX applet.

You will see an application shown below:

Login screen:

Main screen (before entering users):

Adding a user:

Main screen with users:

Learning JSF 2

If you are starting to learn JSF 2, this post by Andy Schwartz is an excellent place to start. It summarises and gives an excellent overview of features in JSF 2.