As I explained in my last post, JSON offers almost endless possibilities for dynamically manipulating and displaying content from you Zoho Creator databases into your own Web site. By turning your entire database into a single javascript variable using a series of nested arrays, JSON allows you to select and display records based on date/time values, user credentials, user cookies, URL parameters, form controls, and your custom CSS styles to match the data precisely to your Web’s format and style.

However, there are a few drawbacks to using JSON feeds to provide your site content, so I wanted to use this post to weight some of the pros and cons of using JSON feeds to deliver custom content to your site.


Pros:

I outlined many of the benefits of using JSON feeds to deliver dynamic content to your site in my last post on The Web for You as well as my September 10 post on Land of ZC. Let me summarize the benefits of JSON below:

  • Match the style of your content to your site:
    Using JSON feeds along with document.write commands, you can make use of your customized Web site styles to display the information from each record in your database. For example, you can make use of simple <h1> <p> <div> <span> and other common tags to specify how the data should be displayed. Furthermore, you can programmatically change the display depending on the content. For example, you might want to display specific values (such as “free” in a catalog) in bold or using a specific color.

  • Select which records or fields within a record to display based on content:
    Since you can analyze the data before choosing whether or not to display it, you can choose to display or hide certain information based on certain parameters (such as date/time fields, visitor information, or parameters within the URL).

  • Perform operations on data:
    Because JSON is a javascript function, you can manipulate data before displaying it. For example, you can perform mathematical operations on numerical fields, split or combine text-based fields, or compare or manipulate date/time fields.

  • Display variable data using the same page template:
    One of the most powerful uses of JSON feeds to display data is the ability to build a single Web page that can display variable content based on parameters passed to it (most likely through the URL). An example of how this works can be found on my Recommended Resource list. In this sample application, I am loading data from a Zoho Creator database containing information about a variety of resources on the Web. The main page displays a list of all of the resources in the database using the custom styles of my Web site. When you click on the link for a specific resource, you are taken to a new page which displays the complete details for that resource from the same Zoho Creator database. However, rather than creating a new Web page on my site for every resource, I simply pass the specific resource ID (from the database) to a single page via the URL (http://lockworldherald.com/documents/ResourceDetails.aspx?resource=1 and http://lockworldherald.com/documents/ResourceDetails.aspx?resource=15 both use the same Web page, but display different information).

Cons:

  • Search Engine Optimization (SEO) problems with your content:
    The biggest drawback to using JSON feeds to dynamically display the data on your page is that the information displayed is completely invisible to most search engine indexing. The robots and spiders which scan your site automatically for the search engines can not see the data because it is written to your page after the page has loaded.
    This applies specifically to Web pages using Microsoft Office Live Basics, or other HTML-only Web hosting solutions. If your server allows you to write your pages using codes which can be run on the server before the page loads, the search engines will be able to “see” and process the information on your page.

  • Zoho Creator record limits:
    For most of the data views you create using Zoho Creator, the maximum number of records you can display is 100. I assume this holds true for JSON feeds as well, although I have not had the chance to test it yet. If your database has more than 100 records, you may not have access to all of the information in your database.

  • Javascript run times:
    If you have a lot of records or a very complicated script for displaying those records, you might significantly increase the load-time for your page. Likewise, the more text contained within each record, the longer it will take to load the page. For relatively small databases (small fields with a limited number of records), JSON will work quite well. But for every record you add, or more complicated fields, your page may start to load slowly, making it less desirable to your viewers.

  • Incompatible with pages designed with Microsoft Office Live Basics page-design tools:
    As with the AjaxIncludes content management solution I discussed previously, the javascript required to use this feature will not work on a page designed with the Microsoft Office Live Basics (MOLB) page designer. This has to do with the design of MOLB, which loads any HTML you add to your page after the page has loaded. What happens is that your call for the javascript variable (http://creator.zoho.com/{Username}/json/{view number}/) is not completed by the time your javascript is trying to process the variable. (I’ve been trying to figure this out for a long time, but I finally discovered why MOLB can’t handle calls for scripts on a thread in the MSDN Office Live Developer Forum – look way down the page for a post from Chris Beiter on August 24).

Summary:

While JSON can be used to give your site a high-tech look and feel with limited programming knowledge, it has one major drawback in that the content you display is essentially invisible to search engines (the primary source of traffic for most sites) – unless you are using JSON with server-side scripting. I would not recommend using JSON to deliver the primary content to your site for this reason. However, if your site’s functionality is more important than Search Engine Optimization (SEO) (like my site, LockworldHerald.com) or if the application you are working on is only a small portion of your site, JSON is a powerful tool for delivering dynamic, customizable data to your visitors.

That’s all for today. In my next post, I’ll introduce a third type of content-management for your site that utilizes both the AjaxIncludes scripts, the JSON feeds, and a new system that promises to provide an easy-to-use content delivery mechanism without damaging your SEO. That’s a pretty significant promise, and we’ll see how well it works next week.

Leave a Reply:

Your email address will not be published. Required fields are marked *


*