Archive for June, 2005

* Miva and Quickbooks

Posted on June 30th, 2005 by Dave Johnson. Filed under Miva, Quickbooks.

Just a short rant about how horrible it is to work with the Quickbooks API and Miva to syncronize our product sales data.

First of all Quickbooks is not so bad … my main problem is that they make it really quite difficult to access the API, in particular, from a .NET web server. I guess that living primarily in the world of .NET shields one from registering COM components and this sort of thing - it generally just works. But with the Quickbooks API you have to run some exe and change DCOM permissions plus a few other things and even then you are lucky if it works. If you read the forums there are lots of questions and the answers are few and far between. Once you are able to access a Quickbooks company file from a web server (which can break if you look at it wrong) I was happy to see that their API used simple XML messages to communicate - I like this very much. So I used xsd.exe to create some classes based on the sample xml messages that our company would be using so that we did not have to worry about all the other features we would not use. Of course it did not like my XML. In the end I discovered that their version of “XML” requires that all tags have a specified order … ummm yeah thats really nice. So having had several other small setbacks I am finally at a stage that I can add customers, invoices, products and payments through the API. I am not my khakis.

The other half of this was getting the sales data out of our Miva store. We were using our own storefront before but its a long story. This was not so hard because I simply (once I found out where / what database the data was in) had to use our FTP Sync product to get the DBase files and query them from a .NET application. The part that annoys me is that everyone builds Miva components to sell them … I mean even though we have a Miva store we have to spend more money to get a proprietary Miva Script compiler just to write simple scripts! I don’t quite understand why everyone loves this product when you have to pay to do more or less anything! We should probably be using OSCommerce.

The ultimate goal of this whole process was to get our product sales from our Miva store integrated into our Quickbooks. There is a product that we could have purchased to do this for about $500 (USD) + whatever amount of time it took to install and test (I am not sure if it would have supported our coupon module) but instead I have spent about 30 hours doing the integration myself and it seems to be working well. So lets say the price was about the same for a slightly less “finished” (maybe?) product.

I will be sure to put up my code + quickbooks and miva instructions / tips so that others can possibly benefit from my pain :)
And next week I will put up my thoughts on integration with our new accounting software - MS Office Small Business Accounting ;)


* Search Context/Clustering

Posted on June 30th, 2005 by Dave Johnson. Filed under Search, Tagging, Web.

Michael Mahemoff takes an interesting view on Ajax-isizing search results here Ajaxifying the Address Bar Interface.

I certainly agree to a certain extent - particularly that it makes sense in the intranet environment. As far as public search goes, i am becoming more partial to Vivisimo. It automatically builds a cluster tree of your search results (as well as just the straight goods) such that you can then browse the results by context. Searching “goog” as Michael talks about brings up Stock Quotes, Investing, Blog, Pictures etc - pretty cool I think. Now all it needs is to Ajaxify the cluster tree so that you can browse it in “real time”.

Mayby they will use our Ajax tree control when we release it.


* AJAX and Data Latency

Posted on June 28th, 2005 by Dave Johnson. Filed under AJAX.

I stumbled across a blog by Jonathan Boutelle from almost a year ago now about pre-loading data and latency issues in web applications. With the recent rise of Ajax to super stardom(ish) it seems even more applicable today. He makes good points about comparing the value of reduced latency to the cost of download and factoring those against the odds that data will be requested.

Today, however, in the age of Ajax what may be a more important question is how to determine when and how much data to load rather than if one should simply pre-load data in general - of course the two are inherently intertwined. The most important reason for using Ajax in my mind is to be able to pre-loading a small subset of data (data that is going to be needed almost no matter what) and allow the user interactions to define what other data is loaded.

I would say that Ajax is the solution for dealing with large data sets on the web.

For example, if you are browsing your emails in Oddpost you only want to pre-load the latest 10 emails that the user needs to see on the screen (and realistically maybe a few more) and then if the user begins to scroll through their emails, requests to the server need to be made to get more data. To determine how many new email records to request one must consider the rate at which the user is scrolling (this will also determine how far ahead we need to buffer) and the time it takes to retrieve the data - there will be some optimum number of records to request and some optimum record buffer size given the latency of the requests to the server.

Of course this also brings up the issue to bloated XML requests (read SOAP) to get data from the server but I will talk about that tomorrow maybe.


* AJAX is the New Black

Posted on June 24th, 2005 by Dave Johnson. Filed under AJAX, Web, Web2.0.

t is an amazing thing that if you look at the popular tags you will find that ajax is very well represented. Thanks to google and adaptive path ajax has appeared out of nowhere - at lest to those people who didn’t know about XMLHttp back in Internet Explorer 3.0. Check out the grafolicious analysis of one well represented XMLHttp tutorial site …We have had our own “AJAX” based web components for some time now … in fact we just released the V3 beta of our web combobox (read google suggests lookup) check it out -


* Folksonomy Based Enterprise Web Applications

Posted on June 24th, 2005 by Dave Johnson. Filed under AJAX, Web, Web2.0.

In the most recent essay from Adaptive Path, Janice Fraser discusses the new and exciting ideas appearing on the web such as,, Flickr, and Wikipedia. The most interesting and relevant comment, however, was this:

“What will happen when amateurization and folksonomies make their way into enterprise web applications? What happens when IT managers can tag Oracle’s product documentation with their own words? Where will our bookmarks go when the idea of the “webpage” becomes obsolete?”