Why Flex for Resourcemint

After initially trying to do it the traditional web application way using HTML/CSS/Javascript. We soon realized the problem at hand. One of the basic limitations of HTML is it’s static nature, and despite that we can add a lot of bells and whistles using Javascript and make the application buzz-word enabled and much more responsive to user gestures, still the fact remains that it was supposed to do with documents and not applications.

Also Ajaxified web documents break the rules of semantic web, and standards compliance and are inaccessible most of the time. It forces the developer to resort to ‘tagrobatics’, excessive and non-meaningful usage of markup for the sake of those slick context menus and animations. We must realize that the traditional web is just about textual content sprinkled with an image here and there, styled using a stylesheet and with a dab of Javascript thrown in to further enhance the user experience. But when one’s trying to imitate desktop applications using these things it complicates matters. In order to satisfy our lust for a richer user experience we have stretched the medium too far. When all one has is a hammer, everything looks like nails.

With Flex we deliver applications for the flash platform, the client tier is not the regular static text and images delivered by the web server along with certain scripts to be fired at a handful of events available (which admittedly can be used to accomplish quite complex tasks), but this is the truly rich and stateful client with support for custom events, at least a hundred kilobytes of persistent data storage. It makes us capable of imitating the desktop experience in the browser. We’re no more thinking in terms of text and markup. We now don’t respond to clicks and load events, rather we respond to custom events (like useradded, datechanged etc.) which helps us to think about the application from a business perspective.

The Flex application client is responsive. It can respond to user interaction, mouse movements, clicks and also to timer events. Also because Flash Player is a smart client it can save on network overhead and bandwidth usage by downloading data once and manipulating it at the client tier without repeatedly communicating with the business tier. For example, in resourcemint whenever the user changes the dates of a todo item all the related dates also shift. If we’d been using the traditional Ajax thing, this would’ve been really cumbersome to accomplish. We’d have to traverse the entire DOM to find out date strings and perform date operations on them after converting them to a better format and somehow tell the server that something has changed, or we’d have to send this change back to the server and the server would then have refreshed the entire page to reflect the changes.

But with Flex the client connects to the server and downloads an entire project dataset which can then be manipulated at will at the client tier and later on synced with the server whenever the user chooses to, or at certain intervals. A detailed comparison between Ajax and Flex can be found at Wikipedia.

September 27, 2007 at 11:05 am 1 comment

Technology for Resource Mint

We never talked about the technology we are developing Resrouce Mint in. Here goes…

We started with Ruby on Rails and MySQL, with loads and loads of Javascripts and cross-browser compatible tableless CSS. Having learnt a lot and about 20 man-days later we’re junking the CSS, Javascript/AJAX approach and switching to Flex :-) (call it learning while building a product).

So now we are testing out Adobe Flex 2.

We almost also junked Ruby on Rails for JRuby and later Java, but I guess changed our minds to launch this version in Rails and Flex, learn from the experience and then at some later stage change the codebase, if need be.

More details to be posted by my colleagues.

August 31, 2007 at 2:45 pm 1 comment

Project Planning in Resource Mint

We started with the concept that we would create/edit Milestones, To-Do Lists and To-Dos in Basecamp and pull these from there, and then do the planning in Resource Mint.

However, this would mean that the user would need to have to open two browser windows (orTabs) with Basecamp and Resource Mint open on them respectively, and toggle between these to create a Project Plan in Resource Mint.

This was getting too cumbersome from users’ daily use perspective.

Change in concepts

We are now building with the concept that we will create  Milestones, To-Do Lists and To-Do Items in Resource Mint, and push these to Basecamp, once the project plan is complete.

What do you feel about this, as users?

August 1, 2007 at 6:15 am Leave a comment

More on Constraints/Predecessors

One very important feature that most Project Planning web applications out there miss-out on is the concept of defining Constraints or Predecessors.

MS-Project does this; however, it is far too complex for an average user’s understanding or production use. A couple of months back, while searching desparately for some simple easy-to-use project planning tools, I came across the template (pjm_template.ots) prepared by Open Office volunteers. You can also find the same at: http://documentation.openoffice.org/HOW_TO/ (WordPress does not allow uploads of .OTS files; so cannot upload the same here).

This was pretty simple to use; all tasks had numbers, and one could assign task numbers in a Predecessor column, for defining constraints or predecessors of that task, which had to finish, for this task to start. This is called the Finish-to-Start relationship in academic Project Management terms.

However, this template had two major drawbacks:

  1. It does not have facility to enter Resources (ofcourse one could modify the Macros written here to achieve that)
  2. It works for only one-project, and assumes that project teams are working dedicatedly on a single project (this is unrealistic in most small company teams; it is these teams which are the targeted users of Resource Mint)

We have used a similar concept and innovated a more user-friendly way of assigning and removing predecessors to tasks or ‘To-Do Items’ in Basecamp terminology.

See the screenshot below to see what we are building.

Applying constraints or defining Predecessors to To-Do Items

August 1, 2007 at 6:02 am Leave a comment

Screenshots of the application

Here are some screenshots of the product under development:

Resource Mint UI

This is how the screen for a Detailed Project View, and a single resource’s All Projects View is going to look like.

CONSTRAINTS VIEW

We are working on a way to define constraints on To-Do Items so that if completion of a To-Do gets delayed or starts late, the revised dates of completion of those, and the To-Dos (and thus the Milestones) dependent on those can come up.

The concept basically defines human-readable numbering against all To-Dos and Milestones, so that the Manager could enter those numbers against another To-Do Item or Milestone, thus defining the constraints on commencement of those To-Dos.

I’ve picked up this idea from a free Open Office Project Management template, which I found several months back while desperately searching for an effective Project Management tool.

Here’s the screen concept prepared in Excel:

Defining Constraints on To-Dos

July 20, 2007 at 12:53 pm 1 comment

What is Resource Mint?

We love Basecamp project collaboration tool! It has helped us improve our Project Communication with our customers. Our customers love it too.

However, Basecamp has not solved the issue of internal project and resource management. After experimenting with several open source tools, and various versions of spreadsheets, we decided to write our own tool, using Basecamp.

PRIMARY CHALLENGE

In an environment where we have several small (websites or TYPO3 extension writing) projects open on Basecamp and a limited number of developers working on them, we have to have developers shuffle between projects often, depending upon customer responses, and other holdups.

In such a situation, we need to commit to customers as to when we will get back to them with firm estimates of their requirements or when do we have the next developer free to start working on a project.

Our biggest problem with Basecamp was that To-Dos do not have Completion Dates and Hours Estimates.

ENTER RESOURCE MINT

To solve this challenge, are designing a system to help our internal project and resource management. Here are some of the features of the product under development for Phase-I :

  1. Enter Estimated Completion Date against each To-Do
  2. Built-in alerts on To-Do dates exceeding Milestone dates
  3. Enter estimated hours against each To-Do
  4. Re-organise To-Do allocation among individuals and compare the occupancy status

July 20, 2007 at 12:23 pm 1 comment

Welcome to the Resource Mint Blog

Welcome to the blog of the upcoming site of Resource Mint – http://www.resourcemint.com – a Resource Management solution for Basecamp users.

July 18, 2007 at 9:54 am Leave a comment


Categories

Recent Posts

Blog Stats

  • 7,301 hits

Top Clicks

  • None

Feeds


Follow

Get every new post delivered to your Inbox.