Archive for December, 2007
December 20, 2007
Awhile back someone in the Zoho Creator forum asked how to best design a ZC application and I wrote back to the effect that since there isn’t much design involved, it’s best just to suffer through the documentation and play with the interface until you get something close to what you thought you wanted. I’ll now amend that sentiment slightly by stating that it can’t hurt at least to try and write Deluge code that does not induce nausea.
Version 0.01 of Zyndafeed used a kludgy series of shows and hides in conjunction with 50 statically defined form fields to support up to 50 photo uploads. This worked OK from the outside but the implementation is embarrassing and in any case prompting the user with the option to fill out up to 50 text fields on one page is probably ridiculous in the first place.
Version 0.02 takes a different approach (and reduces signficantly the size of our Deluge script) by providing a separate form devoted to image uploads. A one-listing-to-many-photos relationship is established by inserting a listing’s unique_id as a non-unique identifier for rows in the Photos table. When it comes time to generate the feed, any image in the Photos table with a listing id that matches a listing’s unique id gets appended as a a child node. With this change not only are we providing Ted and the BuggyRocket customers with more flexibility (remember that we need to support at least 25 uploads per listing) but we’re also adhering closer to the DRY principle.
Design considerations when hacking out a Zoho application? It can’t hurt. In any case we’ll see what Mark thinks of this new version when he gets a chance to try it out and reply. Some ideas for more features include a monolithic view of listing data instead of views spread over 5 separate screens and some useful filters on whatever views are in place.
December 13, 2007
The AppJet homepage says type some code into a box, and we’ll host your app on our servers which pretty much sums up what they allow you to do.
This app reads JSON from
this Zoho Creator app and converts the values to call the Google Chart API.
Here’s the source.
December 11, 2007
I got an email from Mark this morning saying he was in his first ice storm and that there’s one branch “above the power line that I’m concerned could fall and leave us offline for awhile” so who knows when we might hear from him. Best of luck, Mark!
December 11, 2007
This incomplete version of Zyndafeed has some interesting characteristics, most of which aren’t particularly flattering, but at least we can fix the first two:
1. Photos in the wrong place (fix in next version)
Currently the form labeled New asks Ted how many photos he needs to upload (with a maximum of 50) and then dutifully renders only that number of upload fields for him to complete. Now that Mark has clarified the requirements to support a range beyond 25 photos, leaving them here is pretty ridiculous. In the next version we’ll break them out into their own form. We’ll also fix the 50 photo fields that are currently hindering attempts to edit the existing records in the Main view.
2. Photos published in XML feed (fix in next version)
We still need to render a new XML element for each photo before we have compliant custom XML feed. After we get #1 squared away this shouldn’t be a big deal.
3. Non-intuitive form behavior (won’t fix)
Even after we do make photos a separate part of the application, Ted may still suffer at the hands of some non-intuitive (albeit innocuous) application behavior — if he fills out a few photo fields at the bottom then later hides those fields, then submit the form, any data in those hidden image upload fields would still be sent.
4. Unfortunate code (won’t fix)
ZC’s simple back-end is sometimes a limitation. We’ve managed to commit more than a few unspeakable crimes against all that is holy in the land of law-abiding script writers:
- The lack of dynamic field definition means that our only way of supporting up to 50 image upload fields is to statically define each field up front then show or hide the required number of fields as appropriate.
- The lack of one-to-many relationships marches us down the ill-advised path of generating our own unique-ids.
- Both the inability to add a new record from a script and the inability to update existing records (without also creating a new row) make our table “design” and the scripting required to maintain it unwieldy to the point where we hope we don’t have to maintain it too much. Oh well, at least part of any necessary maintenance can be done via the GUI and if it gets much more complicated we actually will check the source into Subversion.
I’ll update again when the next version is published; separate photo functionality and a complete XML feed should present something Ted could conceivably use to cover the listing entry duties of his job.
We’ll also take a look at how Zoho CRM might hook into the process Mark needs to enable.
December 7, 2007
Howdy doody folks…it’s me again. Your friendly (non)contributing author, Alan Bradford. After the invitation from Pete last August, things have been pretty hectic around my place. You see, in August I also got a call from the ASU Technology Office in response to a blog post I had written about going back to school full time. Long story short, I am now officially getting paid to blog for ASU. Which is actually exactly why I have something to say here at LoZC.
One of the great features of Zoho Creator is the ability to easily embed an application (view or form) on a website or blog. I recently updated the contact page on my blog for ASU, so I wanted to show everyone here how easy it was. Once you have your application created, the fun begins. In my case, the application is a simple contact database. I will use this as the example in all the screenshots. So before I get started with fancy thumbnail images and steps, I’m assuming you have already learned how to create an application. For those of you who don’t know how yet, I’ll wait a few seconds for you to create a Zoho account and make your first application. (Seriously folks, it’s so easy.)
Okay. Ready? Let’s learn… (click the images for a bigger view)
Step 1: With your application open in edit mode, click on the big yellow button to access the application.

Step 2: At the top of your form (or view), there is a “more actions” button. Hover over it and then select the “embed in your website” button.

Step 3: A popup window will display. In this window is a field with a bunch of code. If you like the way the form looks, simply copy the code and paste it into a page on your blog or website.

Step 3a: You can also customize the look and contents of the form if you like. Click the “customize items” tab to change things such as the submit/reset button labels, set a URL for the page to point to after a user clicks submit, customize the message that displays after a form is submitted.

Step 3b: Crazy about customization? Don’t stop now! Click the “customize look” tab to change the color of the form border and heading. This is perfect for making the form blend into the existing look of your website or blog.

Step 4: After you’ve customized your form to your heart’s content, copy the code and paste it into a page on your website or blog that accepts HTML. In my case, I pasted the form of my application on my Contact page in Wordpress.

Sorry if you were expecting something more complicated, because we’re all done. Feel free to check out my finished product over at Geek Stew.
A couple of considerations when you’re building your application with the intent to place it on a website.
- You will probably want to know when a new record is added.
- Your customers/visitors will probably want to know that their information was received after they clicked “submit.”
Creator makes this easy by allowing you to set email notifications in forms. You can set your application to automatically email you letting you know there is a new record. You can also set an automatic email to be sent to the person filling out the form, provided an email address was one of the required fields on your form. From the edit interface, there is a familiar button at the top of your form that says “more actions.” Hover over it and select the “set email notification” button. I’ll give you a thumbnail to whet your appetite:

Stay tuned for a step-by-step tutorial on how to use the email notification features. It may have to wait a while though, because I need to study for finals…
December 6, 2007
- and you know what they say about Poodles…..? Well, you could say a lot of things about poodles, but specifically, I was referring to their finicky nature. As you’d imagine, we’ve discovered in trying to launch this nifty Zoodle prototype, that despite Pete’s five submissions of our feed, Oodle has not replied to our small potatoes endeavor. No worries, there are other dogs in the kennel, so to speak.
Fortunately, I have been working with a developer of a nice new real estate listing syndication site that will distribute our feed data to Oodle, Google Base, and a slew of other advertising mediums for us. We’ll title our new prototype Zyndafeed.
The process of creating these CSR friendly tools forces one to really think about how an application is going to be used, and what’s going to matter to the telephone reps on the front line.
Ted may not like the fact that by using ZC to gather the essential data we need, we are practically forcing him to complete multiple forms. In other words, in order to complete the attributes section of the listing, he first has to complete the basic listing data - essentially we have multiple ZC forms within this one app, and this makes the process of submitting essential BuggyRocket listing data a multi-staged endeavor.
Though a multi-staged approach may seem clumsy to some, it also provides natural checks and balances so that Ted can’t skip ahead and neglect an important required data field. Not surprisingly, real estate sites like Zillow, Trulia, PropSmart and others have specific required fields that must be completed in order for the listing to be displayed. Our multi-stage approach helps minimize the likelihood that an important field is accidentally omitted.
But what if a customer calls Ted and isn’t ready to do business with BuggyRocket yet? Good question! - We’ve asked it too. Zoho has a nice little CRM app called, not surprisingly, ZohoCRM. It will allow Ted to capture a prospects contact info for brochure request purposes, as well as to schedule future marketing efforts and follow-up.
What is surprising is that there doesn’t appear to be a seamless integration available between Zoho Creator and ZohoCRM. Hmmm? How is that possible? Don’t know, but from an end-user perspective it seems a bit odd to not be able to unify the mighty possibilities of Zoho Creator with the simple, yet relatively elegant CRM software available under the same roof. (However, a separate account is required to use ZohoCRM and up to three users can use it for free.)
Aside from that grievance, I don’t have too many reservations about using ZC for our CSR users. After playing around with our prototype, the only other feature I would really like to see is dynamic image upload capabilities. It’s a bit cumbersome to have to to create a massive form simply because we need to upload more than a couple pictures. It’s not unlikely that we will need to upload 25 pictures or more. That could get rather bulky!
Next time we post, we hope to provide you with results from our new Zyndafeed app.
December 3, 2007
Raffic was kind enough to send along these buttons for use by Zoho Creator fans who wish to say it proud from within their own ZC-powered sites and applications. 
Our sidebar has been lacking these since we launched the new site so many thanks to Raffic.
Enjoy!