FreshBooks API JavaScript Library
As I mentioned already, here I’ll explain the motivation, the idea and the implementation of freshbooks api javascript library. Rich client web applications are trend. There are a lot of processing which could (and should) be moved from a server to a client machine. There are different technologies to achieve this, but browser native javascript is most common way. There are plenty of powerful javascript frameworks. That’s why I think is always useful to have js library which communicates with web services and APIs with none or minimum usage of server side technology which in many cases does nothing more than spends server resources in order to generate web page interface.
FreshBooks API PHP 5 Library
If you are interested in SAAS concept (as I am) I’m sure you have heard of FreshBooks . This is an great and easy to use online invoice, time tracking and expence service. In my opinion this kind of software has a great potential. I suppose at the moment it cannot have big companies as clients. Still majority of companies are not so big I guess – so that market must be huge.
As a developer I’m more intereset in API they offer. Like their user interface and general usability, the API request/response XML structures are nice, consistent and simple. Actually, you don’t have to deal with XML – there are some 3rd party libraries for various languages. Yet, I was not impressed with php/symphony library. I was thinking of something more zend framework like object oriented implementation. So I decided to offer my own implementation.
Don’t Forget to Index Database Tables
Your dynamic web page opens too slow? Your desktop application window freezes during a query execution? The most common cause of these problems is lack of proper indexes on tables. During a development of a web application in particular, it’s hard to notice this problem – there’s just test data, your are using local development server without real life load and everything seems to be working just fine. Then you launch a site, it’s DB grows and pages start to open slower and slower and finally server even stops responding.
Multilingual (multilanguage) web applications
Developing multilanguage web applications (internationalization i18n , localization l10n) is not trivial. You should integrate multilanguage support on 3 levels at least. As your application should have MVC layers, your localization should be applied on Model, View and Controller as well. I’m going to write here about strategies to accomplish this on each level.
Creating Google Visualization Data Source in PHP
Sooner or later your web application needs some kind of graph, chart or similar. Google has really cool API for this purpose – Google Visualization API. It’s client side javascript library, and the output is SVG or flash SWF depending on particular graph. But like with any output you can control this from php.
How Does Google Make All Those GDATA APIs?
If you have ever visited this page http://code.google.com/apis you would find impressive number of available APIs to use google services in your own applications. Some of them have specific way to be included in your projects but most of them use a common platform. Google call it GDATA. It’s both format specification for the data to be received and sent to/from clients and the protocol how to do that. Actually there isn’t much of new technology it’s all about xml and http and that’s why it’s simple and great. To be more precise it’s not even new specification but it’s an extension to atom syndication xml format and atom publication protocol (AtomPub). So it’s really great that behind this there is a standard so there must be great tools and libraries to create and use atom based services like google gdata apis.


