Quickly Build HTML5 and PhoneGap Mobile Apps

New Tutorials on Building Mobile Apps with Tiggzi Backend Services

Posted: December 28th, 2012 | Author: | Filed under: Tutorials | Tags: | 6 Comments »

Try our new tutorials:


Creating Mobile Apps With Tiggzi For KidSenz

Posted: December 20th, 2012 | Author: | Filed under: Articles | Tags: | 1 Comment »

kidsenz

Guest Post by Ambika Pajjuri from KidSenz

Hello fellow Tiggzi developers. I am founder of KidSenz, a company that delivers news videos and blogs in a kid safe environment, and wanted to share my experience with Tiggzi

I was looking for a product that let me bring my app to life fast and in the most cost effective way. Instead of learning native programming languages and environments, I wanted to use HTML5. The idea was to build a Beta product as soon as possible to help figure out what works and doesn’t so we could pivot and iterate fast, before launching into production.

I tried a few tools including Sencha, Brightcove and Tiggzi that enable the use of HTML5 for mobile app development. As a novice to mobile apps, I found Tiggzi to be the easiest and most user friendly development environment.

The features I found very useful include:

  • Tiggzi’s drag and drop, re-size, element nesting capabilities and built-in defaults significantly reduced the learning curve so I could focus on the business problem.
  • I didn’t have to deal with the CSS since it was generated. This enabled me to focus on creating a good app rather than the code behind the scenes.
  • Tiggzi provides out of the box support to attach to various backend options such as SendGrid, Twilio, Parse, AT&T, and Singly via REST API - this is in addition to support for their own database.
  • Support for custom Javascripting and HTML that makes it easy to add functions when out of the box support does not exist.
  • Automated generation of the iOS/Andriod/Windows apps to get them to the app-store/marketplace with Phonegap
  • Easy to use test and demo environment
  • Access to the native capabilities via Phonegap - I have not used this capability so far.
  • Cloud based development and backup

The KidSenz app I created delivers a number of educational videos in various categories along with associated blogs and a simple quiz (more details when we launch since we are currently in Beta trials).

Working with Tiggzi has been a great experience. The documentation has been good with plenty of examples. What I like best is the availability of examples to work with various backends. Last but not the least, support from Tiggzi has been outstanding. They respond quickly to issues and helped ease qualms about working with a cloud based system.


Tiggzi Updates its New HTML5 App Builder with Windows 8 Support, plus jQuery Mobile 1.2, PhoneGap 2.2, and Push Notifications

Posted: December 19th, 2012 | Author: | Filed under: API, Database, jQuery Mobile, New release, PhoneGap, Tutorials, Windows Phone | Tags: , , , , , | No Comments »

Windows 8 Support

Windows 8

Tiggzi’s new HTML5 app builder has been the default builder for the past couple of weeks and we continue to update it with new features. One such feature is new Windows 8 support. In addition to jQuery Mobile/PhoneGap apps, you can now build Windows 8 apps with native support such as Snap View, Search Charm, Share Charm, and Live Tile.

To create a new Windows 8 app, click the “More create options” link from the Apps page and then select Windows 8 App as the app type. Try our Windows 8 app tutorial.

jQuery Mobile 1.2

We also upgraded to a much better jQuery Mobile version 1.2.

Selection_773

PhoneGap 2.2

We also upgraded PhoneGap to version 2.2. This means Tiggzi’s cloud build has also been upgraded to PhoneGap 1.2:

Selection_774

If you use Tiggzi Mobile App Tester for Android - go and grab an update so it also uses the latest PhoneGap version.

Push Notifications

A long requested feature - Push Notifications feature has been added to Tiggzi Backend Services.

Selection_772

Want to try it? Try our new Push tutorial.

New Tutorial: Building a ToDo App with Tiggzi Backend Services

Build this app and learn how the app builder is fully integrated with backend services.

 

 


TechCrunch: Cross-Platform App Maker Tiggzi Launches Windows 8 Support

Posted: December 19th, 2012 | Author: | Filed under: Articles, Windows 8 | Tags: , | No Comments »

TechCrunch coverage of Tiggzi’s new Windows 8 support: http://techcrunch.com/2012/12/14/cross-platform-drag-and-drop-app-maker-tiggzi-launches-windows-8-support/


Find the Sports News You Want with the ESPN API Plug-in

Posted: December 17th, 2012 | Author: | Filed under: API, Plugin | Tags: , | No Comments »

espn-api-red_200

We’ve just made the ESPN Headlines API and Sample App plug-in available. The API allows you to interact with ESPN’s various news stories. (ESPN publishes hundreds of unique pieces of text content each day, covering dozens of sports and hundreds of athletes and teams.) To make it easier to use the API to make mobile apps in Tiggzi, we created a plug-in with some ready-made services (interfaces) to use the ESPN API.

To add this plug-in to an app, you will just need to follow these steps in Tiggzi:

  1. From the Tiggzi builder, select Create New and then From Plug-in.
  2. Click the check box for Sports/ESPN Headlines API and Sample App, and then click on the Import selected plugins button.
  3. Open Services/ESPN_Settings file and set your API key. If you don’t have, get one from http://developer.espn.com/

Once you’ve created a new app based on this plug-in, you actually have a simple ready-to-run demo app. Just click the Test button in the right upper corner of the screen to see it work. In this tutorial, we’ll first walk through the sample app included with the plug-in. Then, we’ll show you, “under the hood,” some of how to the API is used in developing the app.

The App

To find news you are interested in using the app, you follow these steps:

  1. On the start page, select a sport (e.g., Golf) from the available sports displayed in the list:
    ESPN-plugin-1
  2. You will then be sent to the Leagues page which contains the list of existing leagues (if applicable). Select the Professional Golf Association league:
    ESPN-plugin-2
  3. The Headlines page shows. The headlines are listed by titles and preview images. Select one of the headlines.
  4. The Details page will display a short description of the news with the cover photo (if available). At the end is the URL of the original article on the ESPN web site.
  5. Use the Back button to return to the previous pages and search for other news.

Under the Hood

Now that we’ve walked through the app, let’s take a peek under the hood.

Services

Services from the plug-in are linked to UI components as part of the design of the app. The following REST services that are defined in the ESPN API plug-in are used in the app.

ESPN_SportsList service

The ESPN_SportsList service is used for getting the list of available sports. REST Service Properties displays the URL, main settings, and whether a proxy is used as shown below:

Selection_736

Request Parameters contains the parameter sent to the ESPN service:

Selection_737

The service can be instantly tested and the response created automatically based on the return response (JSON):

Selection_738

Response parameters:

Selection_739

The other services are set in the same way with their own parameters.

ESPN_SportByName service

This service is used to get a list of leagues for a given sport:

Selection_740

The {sportName} value is substituted in mapping when the service is running based on the selected sport:

Selection_741

ESPN_LeagueHeadlinesByAbbreviation service

This service is used to get the headlines for that sports league.

Selection_742

{sportName}, and {abbreveationName} are set when the service is running:

Selection_743

ESPN_GetNewsById service

This service is used for getting the details for each news item:

Selection_744

Mapping the UI to the Services

The final part in the app design is mapping service parameters to UI components. Here’s an example of this in action showing response parameters being mapped to output components:

Selection_745


Webinar: Building Windows 8 Apps with Tiggzi

Posted: December 8th, 2012 | Author: | Filed under: Events, Webinar, Windows 8 | Tags: , , | 3 Comments »

The latest Tiggzi mobile app platform allows you to build Windows 8 apps for tablets and desktops with native Windows 8 support. This support includes special Windows 8 capabilities such as Snap View, Search Charm, Share Charm, and Live Tile! Join our webinar to learn how build Windows 8 apps with Tiggzi.

When: Thursday, December 13, 11am Pacific Time
Register: https://www1.gotomeeting.com/register/611432329.


HTML5 App Builder is Now the Default Builder

Posted: November 14th, 2012 | Author: | Filed under: New release | Tags: | 6 Comments »

You might have noticed this but since Tuesday, November 13 when you create a new project, it opens in our new HTML5/JavaScript builder.

Our new HTML5/JavaScript builder:

We are just a few weeks from official GA and want to get as much feedback as possible from you.

Any projects created before November 13, will continue to open in the old builder (Flash). You are probably wondering what’s going to happen to your old projects? At some point very soon they will be converted and will start opening in the new builder.

We are also in the process of launching a new docs site at http://docs.tiggzi.com.

Lastly, if you really still want to create a project in the old builder (although we don’t recommend it at this point), click on Create more options link.


Building a Windows 8 App in Tiggzi

Posted: October 29th, 2012 | Author: | Filed under: Tutorials, Windows 8 | Tags: , | 4 Comments »

This tutorial is going to show you how to build a Windows 8 app in Tiggzi’s new app builder. Before proceeding, here are a few things to keep in mind:

  • The new builder is now in beta.
  • You should use Firefox to build and test the app in the browser. IE10 support is coming

In this tutorial, we are going to build a Windows 8 app to search Twitter. We will use the Twitter search REST API to find all tweets using a term entered in the app.

Creating a new Windows 8 project

To start, let’s create a new Windows 8 project.

  1. Sign into Tiggzi.
  2. Click on APPS in the upper-right-hand corner of the screen.
  3. Click on the More create options link to the right of the Create button.
  4. In the new screen, enter an app name. Let’s use “TwitterWindows8″.
  5. Select the Windows 8 App radio button. Notice that, once Windows 8 App is selected, the Open in new (beta) app builder check box is automatically checked. (Windows 8 app support is only available in the new builder.)
  6. Click Create to open the new project in the new builder. (It should display a welcome screen as shown below.)

Creating the UI

We will create the UI by dragging and dropping components from a left sidebar palette and setting component properties from a right-hand sidebar.

  1. Using the left sidebar, expand Pages and select home. In the middle of the screen, you will see this:
  2. Click the black screen.
  3. In the right (Properties) sidebar under Custom, find the Rows field and make the entry “120px;auto;1fr”. A new row will appear.
  4. From the Design (components) palette to the left, select an input component under Controls and drop it inside the cell at the first row/second column:

    The result will then look like this:
  5. Select the new input and then click the icon (as shown) to select the parent container:
  6. Under Custom properties, set Column align to “start”.
  7. Now select a button component from under Controls and drop it inside the cell at the second row/second column.
  8. Select the new button’s parent container by clicking the icon as you did for the new input and set Column align to “start”.
  9. Select the button and change its label by entering “Search” into the Text field under Common properties.
  10. You can also now test the app by clicking the Test button in the upper-right corner of the browser screen.

    Note: We recommend Firefox for previewing the app. We are still working on IE 10 support.
  11. Now, let’s continue building the UI by adding a listview component. Select a listview component from the Containers components and then drop it inside the cell at the third row/second column.
  12. Select the component and, under Common properties, change the Height to “160px”.
  13. Next, select a grid component from the Layouts components and drop it inside the listview.
  14. With the grid selected, set the Rows field under Custom properties to “auto;auto;auto”.
  15. Then, set its size by entering these values into these fields under Commonproperties:
    1. Width: “600px”
    2. Height: “160px”
  16. Select an image component from the Controls components and drop it into the first row/first column of the grid you just created.
  17. Select the image component’s parent (via the small icons) and set its Column align to “start”.
  18. Select a label component from the Controls components and drop it into the second row/first column of the grid.
  19. Select the label’s parent (via the small icons) and set its Column align to “start”.
  20. Reselect the label and set the Text field under Common properties to be blank.
  21. Select another label component from the Controls components and drop it into the third row/first column of the grid.
  22. Select this label’s parent (via the small icons) and set its Column align to “start”.
  23. Then, reselect the label and set the Text field under Common properties to be blank.

(Saving is not required till the end, but, if you want, you can save at the end of each section by clicking on the Save button in the top menu bar of the editor.)

Creating a service

We’ll now create a Tiggzi “service” component (service interface) that can be used in building our app. We’ll use a Twitter Search REST service for our service component. We just need to define some things about the service and specify the request and response parameter we’ll be using for input and output.

  1. In the upper-left part of the screen, click on Create New and then click on “Service” from the drop-down menu.
  2. Enter “TwitterSearch” as the name and click the Create Service button.
  3. If you look on the left-hand side, you’ll see the new service listed under Services. Click on this TwitterSearch label to open the service editor on the service.
  4. Now, under the REST Service Properties section, enter “http://search.twitter.com/search.json” as the URL and select “jsonp” as the Data Type.
  5. Open the Request Parameters section underneath this section by clicking on Request Parameters.
  6. Enter “q” into the text input box and click Add.
  7. Open the Response Parameters section underneath this section by clicking on Response Parameters.
  8. Enter “results” into the text input box and click Add.
  9. Click the green + button in the same row as the results response parameter to make a sub-element of results.
  10. Enter “profile_image_url” into the new text input box and click Add. The result will look like this:
  11. Click the green + button in the same row as the results response parameter again to make another sub-element of results.
  12. Enter “from_user” into the new text input box and click Add.
  13. Then, click the green + button in the same row as the results response parameter one last time to make another sub-element of results.
  14. Enter “text” into the new text input box and click Add.

The result will look like this:

Mapping the service to the UI

Now, we have REST service parameters on one side and UI components on the other side. Next, we’ll connect them together in the Data section of the editor as a data mapping called “restservice” that uses the service component called “TwitterSearch”.

  1. Select the home tab above the service editor.
  2. Click on the Data side-tab.
  3. From the Type drop-down menu, select “Service”.
  4. From the Component drop-down menu, select “REST Service”.
  5. Click the green button to the right.
  6. In the row that will have appeared under Components List, click the blue Edit Mapping… button
  7. A Component Properties sidebar will appear to the right. From the Service drop-down menu, select “TwitterSearch”.
  8. Now click the Edit Mapping… button again. A new screen, the mapping editor, will scroll in from the right with the Request Mapping tab selected.
  9. On the right-hand side under Components, expand home and then expand the first sub-item under it.
  10. Click on the q parameter on the left-hand side, drag the cursor to the label Text under the expanded sub-item, and drop.
    The input component is now mapped to the REST service input.
  11. Now click on the Response Mapping.
  12. Expand results on the the left-hand side, collapse the input component on the right-hand side, and expand the listview component and it’s subitems until everything is exposed.
  13. Then, using the same drag-and-drop approach as above, define the following mappings:

The results parameter is the collection of all tweets found through the query. We are mapping it to the parent listview container to get automatic looping. The rest of the mappings are straightforward.

Invoking the service

We are almost done. We have a UI, a service component for using a REST service from the app, and a data mapping connecting the UI and the service together. All we need is a triggering event for the data mapping to invoke the service. For this we’ll use a panel hidden away at the bottom of the screen.
  1. Select the Design side-tab.
  2. Find the Show Events Panel tab all the way in the bottom-right corner of your screen.
  3. Click this tab to open the events panel.
  4. From the Component drop-down menu, select the button component.
  5. From the Event drop-down menu, select “Click”.
  6. From the Action drop-down menu, select “Invoke Service”.
  7. From the Service drop-down menu select “restservice” (the service data mapping you created).
  8. Click the green button to add this event.

You have now set up the app to invoke a service through clicking the Search button in the app.

Testing the app

Now we can test the app. Just click the Test button in the upper-right corner of the screen and enter any term to search for. You should get a result that looks something like this:


Some Guidelines on Getting Your PhoneGap App Approved by Apple

Posted: October 23rd, 2012 | Author: | Filed under: PhoneGap | Tags: | No Comments »

Here is a great post by Andrew Trice on how to get your PhoneGap app approved by Apple. As Tiggzi uses PhoneGap, exactly the same guidelines apply.


Building a Mobile Search App with Tiggzi Database, Part 2

Posted: October 22nd, 2012 | Author: | Filed under: Mobile Backend, Tutorials | Tags: , | 1 Comment »

Last week we put posted Building a Mobile Search App with Tiggzi Database tutorial that shows you how to search a database for a particular search term. The way the search worked, is that the entire word has to be matched. For example, you could enter ‘Apple’ but not ‘Ap’ to search. In this post we are going to show you how to use a regular expression to get all objects that start with a particular letter. As for our data, are going to use US States.

Building the UI

To start, the UI that we need looks like this:

  • For input we use a search component
  • Below the input we have a grid, with one column and a label inside.

That’s all we need for the UI. Let’s now create the database.

Creating a database

  1. Create a new database by going to http://io.tiggzi.com.
  2. Go to Collections tab and click Import button.
  3. Upload States CSV file to the database. Once the collection is created, it should look like this:

That’s it for the database. Let’s now add a REST service to search this collection.

Adding a REST service

  1. In Tiggzi app builder, select Project > Create New > Database Services
  2. Select your database
  3. Expand States collection and check Query service.
  4. Click import Selected services button. A query search for States collection will be created.
  5. Let’s test the service. As we want to make the search a little bit more flexible, we are going to use a regular expression. For where param, enter the following:
    {"States":{"$regex":"^C", "$options":"i"}}

    The above will return all states that start with letter C or c. “$options”:”i” is what specifies the query to ignore the case.

We are done with the service. Let’s move on to mapping.

Mapping the service to the page

The input mapping looks like this:

This is JavaScript mapping:

return '{"States":{"$regex":"^'+value+'", "$options":"i"}}';

This is output mapping:

Invoking the service

The last thing we need to do is to invoke the service. Select the input search field, then Events > Add Event > Search. Add Action > Invoke Service, select the service instance.

Testing the app

To test the app, enter any letter, for example ‘n’ and click the magnifying glass inside the search input: