Thomas Ummels is a freelance Javascript developer who created the web based Gantt chart tool www.tomsplanner.com. A Gantt chart application to create and share project schedules, project plannings and project timlines. Easier than MS Project and faster than Excel. No more messy Excel spreadsheets with tom'splanner Gantt chart templates. The Gantt chart software is almost entirely written in Javascript using the latest Front End technolgies including Jquery and ecluding Ext-js. Tom'splanner enables you to share your Gantt charts and project schedules online.

Freelance Front-End/Javascript | Creator of Gantt Chart Software Tom'splanner

Friday, February 5, 2010

Best practice: Asynchronous Tracking

Don't you want your users to have to wait until the google analytics code is loaded in your page before they can start working? Well I don't! So that's why I didn't include google analytics on the Tom's Planner tool itself until now. Because it is all about performance with these kind of apps. But I just found out about asynchronous tracking. Check it out: Asynchronous Tracking. Seems best practice to me.

Wednesday, January 27, 2010

Why the iPad is good news for JavaScript developers

To my surprise the iPad does not support Flash. This means that flash will be less and less of a viable option for public accessible website or webapplications. Which means more work for the JavaScript developers :-) And it is the fun type of work. Writing JavaScript code for flashy applications is a lot of fun and challenging I can tell you from my experience from building Tom's Planner!

Tuesday, January 26, 2010

pushing the limits

Did you know that IE has a maximum on the possible left offset a html element can have! Somewhere around 1 point 3 million. I didn't know that. Really strange.
click here for an example

Tuesday, December 8, 2009

magic mouse

Something completely unrelated to JavaScript. But related to Development in general: Apple's magic mouse.

When coding more than once you will find your self scrolling through pages and pages of code. So a good scrolling mechanism has it's benefits. Here enters apple's new magic mouse. I just got one and it is really really good.

It has a touchpad and to scroll you just have to swipe over it. It senses how hard you want to scroll by measuring the speed of your swipe gesture. This makes it possible to scroll really fast and it also has momentum so your page keeps scrolling although you just swiped once. When you see the part of the code scrolling by on your screen you were looking for just tap your mouse and it stops scrolling. Also you can swipe horizontally so it is a lot easier to handle long lines of code.

I truly believe that you can speed up your coding significantly by just simply using good hardware. A fast and responsive computer, really big screen, a good set of headphones and from now on a magic mouse from apple for me.

Labels:

Friday, October 23, 2009

Ext-js good to knows

I have been working with the Ext-js framework for quite a while now and there are two things that seem counter intuitive (to me) but are good to be aware of:

1. if you add a component to a container you should call the doLayout method of the container and not the component itself if you want the component to be rendered correctly. If you know how the ext-js framework is set up this totally logically but if you are building an app. it seems really illogical.

2. If you apply the layout type 'fit' to a component it means the content of the component will fit the component not that the component will fit it's container.

And if you are just starting with Ext-js spend some time studying the difference between an Ext-js Element (encapsulated dom element) and an Ext-js Component (a purely js object). It will help you to find your way around in the API a lot easier.

And a last remark: don't be discouraged by the framework in the beginning. I have worked with a couple of different javascript frameworks now (jQuery, Mootools and YUI) and this is by far the one with the hardest learning curve and has the barest documentation. But when applied in the right context Ext-js can be really powerful and worth the effort.

Wednesday, May 20, 2009

printyourtwitter.com

Recently I built printyourtwitter.com. I built it for fun and because I wanted to print my own tweets . But it turns out that there is a lot of interest for it. Yesterday it was featured on the nerdboytv channel (item starts at 1:45).



From a technological point of view it is interesting to note that this is a 100% clientside app so the infrastructure for this app is minimal. I just serve the 11k of html from my own server and all the js, css and images files are being served from amazon s3 servers. That makes the infrastructure needed for this app really simple and minimal. Which is nice thing if you see what kind of impact it already is making.

Also mentioned on: computeridee.nl, bright.nl, dutchcowgirls.nl and pcmweb.nl, jimlyonsobservations.com and featured on the dutch radio 1 show 'tros radio online' (last 4 minutes).

And the latest buzz on twitter.com

Thursday, April 9, 2009

10 Checks Before Launching Your Javascript

Inspired by the the article 15 Essential Checks Before Launching Your Website a small list of simple checks to a avoid unnecessary errors when getting your js code in production.

It does not contain the plain good old best practice rules on how you write your js code but these checks are mainly about code snippets that help you develop and debug your code in a fast and easy way that should not be around in the live version.
  1. check for console statements (console.log, console.startTime....)
  2. check for debugger statements
  3. check your outcommented try catch statements
  4. check for large outcommented old code fragments. If you are at the stage of going live this might be the time to get rid of it.
  5. look for fixed url's which might work in the development environment but not on the production server
  6. if you are using google maps make sure you have an api key for the live server
  7. check for credentials in your comments or code (like usernames and passwords)
  8. when using javascript libraries or frameworks make sure you include the minified production version and not the fully commented debug version.
  9. off course the same goes for your own js files
  10. and this last check works for me personaly: check on the "TO DO" string in the js code. When I still need to do some work on a part of the code I always flag it with a //TO DO comment.
This list is probably far from complete. Anybody any suggestions?

Labels: , ,


 
Thomas Ummels, freelancer and senior Javascript developer. Creator of the Gantt chart software www.tomsplanner.com. A Gantt chart tool that anables you to share project timelines and Gantt charts online. An alternative for Excel templates and/or MS Project. It is faster than Excel. Gantt chart templates enable you to create Project plans and schedules fast and easy. The Gantt chart tool is written in Javascript using the latest Front End technolgies including Jquery and ecluding Ext-js. Although Thomas Ummels has extensive experience using the Extjs framework. Tom'splanner enables you to share your Gant charts and project schedules online.