Happy Earth Day

April 22nd, 2008  |  Published in Earth Day, General

Go out and enjoy the weather. It has been exceptionally beautiful here in Ottawa for past couple of days. So take time off your computer and just enjoy mother nature.

Interesting User Interaction Research

April 22nd, 2008  |  Published in General

Developing for iPhone - lets get started

April 14th, 2008  |  Published in General, iPhone

So now that I have my iPhone all ready to go and had my moment of joy playing with all the features on this phone, its time to move into development. This device provides a lot of power to the developer but there are still few things that we need to look at before diving head first into development:

1. iPhone supports an amazingly powerful feature set that can make your applications visually attractive and engage your users with great amount of interactivity.
2. Touch screen can bring thousands of creative ideas right to your finger tips (literally)

3. Limitation of no background apps running is sort of a deal breaker but I am hopeful that Apple will change its stance after a while.

Over the next few days I will be posting my experience in developing a simple iPhone application and sharing my thoughts and struggles with you via blog. So what sort of application can we make on iPhone that would be simple yet fun? There are few ideas that I am debating between but feel free to make a suggestion.

Let the fun begin!

User Interface Library - Prototype and Scriptaculous

April 8th, 2008  |  Published in Javascript, Projects, Prototype, Scriptaculous, UI  |  3 Comments

Lately I have been working on a User Interface library that runs on top of Prototype and Scriptaculous framework. Please note that this library is in very early stage and I am planning on releasing the source code soon. Still have a lot of issues to fix and address but I wanted to float the idea in public and get wheels rolling.

So what does this UI library have?

This library will have the following components:

  • Layout
  • Splitter
  • Panel
  • Button
  • Menu
  • Tab
  • Tree
  • and more…

These will be the foundation layer components. With support of Prototype based class inheritance I have also been working on some widgets such as:

  • CheckBoxTree
  • AjaxTree
  • AjaxPanel
  • ButtonMenu
  • ContextMenu
  • Toolbar
  • Accordion
  • and more…

As mentioned earlier I am still working towards first public preview release but if you have any suggestions or comments please feel free to post them here. I should have a first public preview ready for you soon (can’t promise dates yet)

This library is in no-way meant to compete against ExtJS or Dojo or other such libraries but I believe that with community support we can bring an amazing UI layer to Prototype and Scriptaculous framework.

The main focus is to provide solid foundation layer and believe that our community will build and contribute amazing set of Widgets.

Here are screenshots for Button and Splitter (using Firefox 2.0)

UI.Button

Splitter

Developing for iPhone

April 1st, 2008  |  Published in General, iPhone  |  1 Comment

So I have finally decided to jump the ship and move onto iPhone. I have been playing around with the SDK for a while now and the simulator is just amazing and it will be interesting to move onto that platform.

Full browser support: Makes it fun to write interactive web applications that can really push the limits what we can offer to the end user interms of interactivity and amazing experience.  I can’t wait to try the new CSS based animation techniques that they have introduced in Safari and I hope that W3C makes it a standard soon.

Apart from porting web applications to iPhone, I am also looking forward to build native Objective-C based applications.

So those of you who already have an iPhone, want to share your experience so far? And for those who are still waiting to buy one, what are you waiting for?

ProtoFlow - Now supports Keyboard and Mouse Wheel Events!

March 31st, 2008  |  Published in Javascript, Projects, ProtoFlow, Prototype, Scriptaculous  |  29 Comments

Well it doesn’t get any better than this. I have been over whelmed by the response that community has given to ProtoFlow. While I am still working to fix some issues with image positioning, Fabian and  Martin posted a add-on for keyboard and mouse wheel support. After integrating their code I had to release it to general public asap. Thank you guys for your contribution.

By default both keyboard and mouse wheel support is turned on. To turn keyboard support off you can set options: enableKeyboard to false and to disable the mouse wheel events just turn enableMouse to false. Notice how the mouse wheel effect only works when your mouse is over the ProtoFlow object.

The latest code should be up here.

Small update to ProtoFlow.

March 26th, 2008  |  Published in Javascript, Projects, ProtoFlow, Prototype  |  14 Comments

I have released another small update to the script. It has now been tested in IE6 and IE7 along with Firefox 2.0 and Safari. I have also added docs to the project.

I think this script should be in stable condition now. If you stumble upon any bugs or have any suggestions please post them in your comments to this thread.

You can find the latest version for download here.

Nitobi AJAX survey

March 24th, 2008  |  Published in Javascript

Ajaxian posted the result from Nitobi AJAX survey. It is interesting to see the results from this survey. What caught my attention was the Javascript framework question.

What toolkits or frameworks are you using in your projects?

This was quite a different result than from our last survey.

  • jQuery: 144
  • Prototype: 143
  • Scriptaculous: 127
  • YUI: 99
  • Ajax for ASP.Net (Atlas): 91
  • Mootools: 65
  • Dojo: 63
  • ExtJs: 61
  • Nitobi: 61
  • Spry: 29
  • GWT: 19
  • JMaki: 6
  • Mochikit: 2

Even though I consider Prototype and Scriptaculous to be one framework (since you can’t run Scriptaculous without Prototype) it is interesting how many developers are using these frameworks. Honestly, I wasn’t surprised at JQuery being at the top, it is a very useful toolkit and so is Prototype. On the other hand, I was disappointed that YUI scored so low. I think YUI is a very well thought out framework that can really provide a very solid foundation for web applications.

What are your thoughts? What framework/toolkit do you use for your AJAX application?

Complete survey results can be found here.

How to surpress Firebug console on non-firefox browsers.

March 18th, 2008  |  Published in Firebug, Javascript  |  1 Comment

Firebug is the most useful Javascript debugging tool out there. Occasionally when doing a large piece of Javascript development I tend to use the console utility which cause other browsers (such as IE) to crash your script. So here is a small piece of code that I have found to be extremely useful in making other browsers immune to the errors. Simply add this at the start of your script and let the magic begin!

if (!("console" in window) || !("firebug" in console)) {
	var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
			"group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
	window.console = {};
	for (var i = 0; i < names.length; ++i) {
		window.console[names[i]] = function() {};
	}
}

I will be posting more Javascript tips in coming days.

Workspace

March 14th, 2008  |  Published in Projects, Workspace

Workspace is our little project that has been under some development for past 1 year. We launched a little preview a while back and had a great response - over 2400 users gave us exceptional feedback.

What do you do with all this feedback? Well we listen to the feedback and we quickly realized that we need to do some major work. Therefore, today we are announcing that we will stop sending out further beta invites  to our users. The reason is simple. We want to work hard to get the new features and updates integrated as soon as possible.

So what should you expect in our next release?

  • Better UI framework
  • Completely new editor
  • Better support for FTP and SFTP protocols
  • Support for SVN (and CVS)

These are just few of the new things we are currently working on. At this point we are not publishing any release dates but we will make an announcement soon - very soon!