Kevin Yank has an article posted on Sitepoint entitled “Simply JavaScript: The Three Layers of the Web”. What I love about it, is that he does a masterful job of outlining the separation of content from presentation from behaviour. I was just talking about this the other day, how HTML, CSS and Javascript make up the 3 legged table of the web; each is required if you are trying to build something stable.
These days, everyone seems to understand separating presentation from markup, but I still see <a href=”#” onclick=“doSomething();”> all over the place. Hopefully, as more and more people keep repeating the message, separating behaviour, the same way we separate presentation, will work its way into our collective folk-knowledge.
If you are a beginning webmaster, spend some serious time reading about these separations - you’ll be a better webmaster for it.
In case you’re wondering, I haven’t forsaken BambooInvoice, just had lots of other neat stuff “on my plate”. Anyhow, my taxes are due for the quarter, and I needed to figure out how GST I’ve collected, so that I know how much blood the government wants to squeeze from me. Seems as good a time as any to add that functionality into Bamboo. So under the reports section I’ve added a new quarterly report tool.

The 4 quarters are hard-coded dates (that might be configurable in a future version), but notice the “Custom Date Reports” option? Yeah, I think that’s ugly and unelegant also. So I’ve been trying to think of a way to allow the end user to gracefully select their date range besides a clunky text input. Pop up calendars seem like an obvious candidate, but they seem so obtrusive for what I want.
The measure map slider seemed absolutely perfect, but after I implemented it I realized how limited it is in an application like Bamboo. Firstly, how do I set the bar? Only for this year? What if I want to run a query starting from 3 years ago? Secondly, it’s hard-coded at 120 data points. Who knew? And currently it is powered by an XML file. It wouldn’t be too hard to convert that to a database call, (heck, they even provide the .fla source files), but now I’m trying to change the tool fundamentally, and it isn’t even really appropriate to start with. Too bad, since the guys at Adaptive Path did some great work on that one.
So then I set about to find a Scriptaculous equivalent… but I’ve not yet turned up anything notable. There are about a billion examples of using javascript sliders, but nothing that I found that worked nicely for dates. I’m debating building my own, but that seems like an awful lot of work, and you know, good programmers are lazy and dumb.
So my question is - what is the most elegant way to build that interface? If you have any suggestions or pointers or links, please leave them in the comments!
If you’re asking for help, please don’t use those words…
There are 2 types of information you should be conveying; specific details and general attitude. The latter is so much more important then the former.
What kind of specifics should you give? Anything relevant really. In essence, be detailed and specific. No need to write an novelette. No need to explain why you are doing what you are doing. I look for:
- If you’re using my software or code, what version?
- Can you recreate the problem? How?
- Can I see the problem live? Where?
- Was it working before? What caused it to stop?
The general attitude though is more important. First of all, please be polite, and please speak in full sentences (yes, even if u r email plz, kthxbye). Take a few moments to explain how you’ve already tried to help yourself. Is there documentation you could read first? Explain what you read. Have you searched for answers yet? Time to start. Basically, just show that you are trying, and you aren’t just wasting the time of the person whom you are asking.
After you’ve given help, do 2 things. First, I polite “thanks” is always appreciated. Next, if you are part of a community, take a few moments to help out others around you as well. Answering other people’s questions is a fantastic way to learn - and to become more skilled yourself.

Ah yes, and I’d be remiss if I didn’t like link to Eric Raymond’s “How To Ask Questions The Smart Way”.