Case Study: Buildspace

The large companies that use Dojo are widely known. This series features lesser known users of Dojo, and their stories. This time, we interview Ahmad Hazli Hasmi from Buildspace, a Kuala Lumpur-based web based app for the construction industry

BuildSpace Bill Manager

Q: Why did you choose Dojo?

A: When we first started this project, we were battling to find a good JavaScript framework that can help us to develop our product. One of our major hurdles was to develop grid that can behaves like Excel (able to view large data, formula, row linking, display HTML, etc). We’ve gone through quite a number of libraries and toolkits until we decided to go with Dojo. Reasons are simply because Dojo grid comes with good, solid and rich features that we can extend to meet our requirements. The lazy loading is an awesome feature. We able to load and display 100 columns with 4000 over rows in a single grid without any issue on the browser. It is also pretty easy to extend modules and with XHR handlers and Deferreds, we managed to get what we want on our app and it removed a lot of headaches through out development periods. Basically with all the fantastic widgets, we are able to develop a solid application not just in term of the functionality, but also with a great UI.

Q: Were you previously using another toolkit?

A: During R&D, before we officially started to develop Buildspace, we spent a lot of hours finding a suitable library. We have experience with all kinds of libraries and toolkits like ExtJS, Backbone, and jQuery. At the end we decided to use Dojo as our base.

Q: How does your application use Dojo?

A: Our application consists of 2 parts, back-end and front-end. We use PHP for our back-end that basically will do all the heavy duty work (handling requests, calculations, database transactions, authentication). On the front-end, it is 100% Dojo. We write a very minimal HTML layer, where all of our HTML is actually part of the widget templates. There is no HTML rendering from the server-side, it is all done on the client-side and AMD plays a major role here..

Q: Overall what is your experience with Dojo?

A: We all love it! Dojo comes with a solid and extensive features and above all that, it comes with great documentation which really helps us a lot. With our current system architecture, we are now able to split our team into two, front-end and back-end, where the front-end team is purely a group of Dojo ninjas.

Q: What’s your favorite thing about Dojo?

A: Dojo grid is the first reason why we chose Dojo. The features and its extensibility really helped us in developing our application. AMD is another great thing that we love. The modularity and flexibility of AMD helps us to decouple our application so our developers can focus more on their expertise in developing the app.

Q: What are your future plans with Dojo?

A: We are planning to upgrade our current Dojo 1.8.3 to 1.9 and to maintain our code base in sync with the latest version of Dojo as we benefit from its improvements. We are also planning to come out with a mobile version which probably will ride on Dojo Mobile.

BuildSpace Project Breakdown

Thanks!

Thanks Ahmad for telling us about your experience with Dojo. Please also check out the Buildspace demo (username: demo@buildspace.my , password: demo123) or review a series of demos and tutorials! If you would like to share your experience, please contact us.

About Dylan Schiemann

Known for things called Dojo, SitePen, and Comet.
This entry was posted in Case Studies. Bookmark the permalink.

2 Responses to Case Study: Buildspace

  1. Raj says:

    Trying to access http://demo.buildspace.my/ but the link is broken.

  2. Shahril says:

    Sorry for the inconvenience. We had to restructure our infra and relocated all our servers for the past 3 weeks. Our demo app can now be accessed as usual.
    Cheers!

Leave a Reply

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

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>