Tiggr is built with JSF, RichFaces, Seam and Flex – interview with Tiggr architect: Sasha Piskun

(Cross-posted on the Tiggr blog)

Sasha Piskun is Tiggr’s Chief Architect. Sasha recently moved to Exadel’s Concord office from Exadel’s Donetsk office in Ukraine. He has many years of experience designing and building large enterprise applications. We are very happy to have him in Concord where he leads Tiggr development and prepares Tiggr Mobile App Builder release in late summer. Learn more about Tiggr Mobile Apps Builder and sign up for private beta here.

Please describe the application.
Tiggr (http://gotiggr.com) is web-based application for building and sharing interactive HTML prototypes. Here are some main Tiggr features:

  • Web-based, nothing to install or download
  • Use large number of web components and layout containers
  • Use jQuery Mobile components to design mobile prototypes
  • Create highly interactive prototypes by defining events such as opening a pop-up and navigating between pages.
  • Share and collaborate during design with users and customers to get feedback
  • View and share the prototype in any web browser and mobile browser to get feedback
  • Create and use page templates
  • Create and use custom components
  • Add notes and comments to prototype with annotations feature
  • Export to HTML to view the prototype locally or use as starting point for application UI.

You should be able to create prototype which look and behave as close as possible to the real application and Tiggr will allow you to do that. Anyone can try creating their first prototype at http://gotiggr.com.

I also want to take a step back and tell readers why mockups, which many are familiar with are different than prototypes. Many readers are probably familiar with mockups and might be wondering why not use mockups. Mockups are used in many projects, usually during project requirements phase to show how the UI will look.

Mockups is good tool to use, however, mockups suffer from a number of drawbacks today. First of all, mockups are static. Today, interfaces are very interactive with Ajax-like features and it also very common now to use pop-ups in application UI. Expressing such interactivity or navigation is just not possible with static mockups. The most you can really get from a mockup is a image.

Secondly, mockups don’t give you a realistic view of the UI. Mockups are typically drawn using lines and shapes such as boxes, circles, and rectangles. You sometimes also get hand-drawn like components. With such tools you can create an outline or draw the shape of various UI elements; however, this won’t give you a realistic view of the user interface.
There is a big gap between the mockup and how the application will look inside a web browser.

Thirdly, sharing and collaborating is usually done using the same old approach – e-mail. Most mockup tools let you save the mockup as an image which can then be shared via e-mail. Getting feedback or collaborating on the mockup becomes a challenge. You end up e-mailing the mockup image back and forth among project members asking for feedback followed by the resending an updated mockup image.

How many users were there for this application, and what stage is it in currently?
Today Tiggr is used by thousands of users. We see a steady increase in new registrations and users.

How large was the development team, and what were the different roles?
The team that develops Tiggr consists of 1 System Architect, 6 Java developers and 4 Flex developers. Tiggr team also has 2 quality assurance engineers. This team structure is rather flexible, the actual number of people working depends on the scope in current release.

What resources did you use (books, web sites, consultants)?
As the creators of RichFaces, we used our expertise in-house to build the application. Same thing for Flex. We have used Flex on numerous projects and have very strong Flex experts in-house who we used for build Tiggr.

What have the users said about the application?
We have been getting very positive feedback. Although there are a number of existing mockup creation tools out there, the market was ready for next generation tool. Just an image is not enough today. Users want to view the prototype in a web or mobile browser, users want to define events and actions such as navigation, open a pop-up or hiding/showing a component.

What is your development platform?

Tiggr technology stack consists of the following:

  • JSF 1.2
  • RichFaces 3.3.3
  • JQuery 1.5.2
  • JQuery Mobile 1.0.a4
  • FreeMarker 2.3.9
  • Seam 2.2
  • JPA/Hibernate 3.3.1.GA
  • Flex 3
  • Flamingo 2.1

As for development tools (IDE), our team uses JBoss Tools and Flash Builder 4.

Tiggr uses an interesting mix of technologies. We used JSF with RichFaces for pages such as Login, Projects list page, and Profile page. The back end is Seam, and naturally we used JPA for persistence. I guess so far it’s not that interesting. Now, when you open any particular project, the actual editor where you design the prototype is Flash/Flex. The Flex portion talks to the same Seam-based back end. The communication between Flex and Seam is done with Exadel Flamingo (http://exadel.org/flamingo).

I’m sure some readers might ask, why not use HTML everywhere, even for the editor? When we launched Tiggr last year, we wanted (of course) to get something fast out there. We had Flex expertise in-house and knew that what we are trying to do can be done with Flex. Today it’s definitely possible to accomplish with HTML5. It’s possible that HTML5 support in some browsers wasn’t as good then as it is today. So we didn’t want to spent time trying to figure out which JavaScript library would work best. Having said that and moving forward, we are considering switching entirely to HTML5 for the entire application.

What is your deployment platform?
Tiggr is deployed on Tomcat and Nginx (HTTP and reverse proxy server).

Tiggr was always in the Cloud as it’s a web application and available to anyone and anywhere with an browser and Internet connection. Up until last month, it was hosted on Exadel servers. Tiggr has experienced a tremendous growth. To accommodate this growth as well as increase performance and allow for better scalability, Tiggr application is now deployed on Amazon EC2. Amazon EC2, the industry leading Cloud Platform, will provide Tiggr with unlimited growth potential, increased performance, allow for better scalability and better security.

Which JSF implementation did you use?
We use Mojarra (JSF 1.2) as the implementation with RichFaces 3.3.3.

Did you use any custom or third-party components?
We use jQuery 1.5.2 and jQuery Mobile frameworks.

Did you use any other technologies (like Tiles, Hibernate, Spring, etc.)?
In addition to JSF/RichFaces and Flash based user interface, we also use Seam 2.2, JPA/Hibernate (3.3.1.GA), RESTEasy (1.1.GA), FreeMarker (2.3.9).

Is there a URL where we can see the completed system?
Absolutely, any one can try Tiggr today at http://gotiggr.com. If there are any questions or feedback, this is the place to tell us what you think: http://getsatisfaction.com/gotiggr. Lastly, check this blog and Tiggr on Twitter: @gotiggr.

Great, thank you for your time.

Published by

One response to “Tiggr is built with JSF, RichFaces, Seam and Flex – interview with Tiggr architect: Sasha Piskun”

  1. […] Interview with Tiggr architect: Sasha Piskun Posted: June 23rd, 2011 | Author: max | Filed under: Articles | Tags: article | 1 Comment » var addthis_product = 'wpp-261'; var addthis_config = {"data_track_clickback":true};(Cross-posted on Maxa blog) […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.