"You can't. (This is to prevent people from using this method as a way of submitting a link, but with their comments in a privileged position at the top of the page. If you want to submit a link with comments, just submit it, then add a regular comment.)"
That's dumb. So many "tell HN" threads or "Ask HN" threads require you to post a link. And people already abuse the first post privilege in some cases anyway.
Nice one. And nice of you not to call it a 'start-up'.
It's really nice to see useful little projects like this take shape so quickly, do you have a way to track the user if they should wipe their machine / switch browser ?
There's no session info at all; the id in the url is a reference to a backend data store object. That's why I have the bookmarking call-to-action the first time you see the calendar page.
As it's built on appengine, it wouldn't be too hard to tie everything to a google account. I actually wrote about half of that, but it got dropped because I decided I preferred a more polished, less featureful project.
The site appears to work without js enabled, except for dismissal of that popup. Perhaps you could default the popup as display:none and bring it up with js? Certainly I was able to set a goal and check in without js (well done!) except that I had to inspect element and delete the popup to do so.
The popup only appears the first time any given detail page is loaded, even if javascript is disabled. Reloading the page should clear it. The close button on the dialog now does this if there is no javascript.
Entering something other than a number in the "times" field results in the following error:
Traceback (most recent call last):
File "/base/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 509, in __call__
handler.post(groups)
File "/base/data/home/apps/resolution-tracker/1.338888254051474539/resolution.py", line 69, in post
r.threshold = int(self.request.get('threshold', 1))
ValueError: invalid literal for int() with base 10: ''
As you're seeing, as soon as you make it usable by anybody, people start complaining about form validation and usability issues. You should decide now how much effort you want to put in.
I built it for me, and it's sufficient for what I need. As I have other projects demanding my time, I'm planning on only fixing bugs, and not adding any new features.
For the most part, this was an exercise in taking a project to completion, which I've always had trouble doing. I think that I succeeded in that, and I'm not particularly interested in turning it into yet another ongoing, never-finished project.
Good thoughts. Too many pies, not enough fingers is what gets a lot of us in trouble.
Consider open sourcing it on github, and if anyone asks for anything just reply with "patches welcome" You'll probably never get anything from it, but who knows?
If you allow people to tie in an email address when they're overdue with their goals than you've got a really nice hook to slip in some commerce at a much later date.
I was going to say the exact same thing. I don't trust myself to remember to check in; I'd rather be prodded by default. What I'd like to see in an upgrade would be the ability to add goals to any date, and have the option to have email reminders go out before and/or with overdue goals. I might even pay a dollar per month for that "advanced" feature, and I'd be sure to use the service because I hate wasting money.
If you actually look at what I use tables for, it's:
1) Laying out the calendar (programmatically generated)
2) Having an element with a working 'vertical-align' CSS property
3) The layout of the form on the initial page.
Everything else is done with CSS. Except for 3, which was because I was running out of time, I don't see how getting rid of the <table> tags helps things. I hope you don't want me to encode the positions of all the calendar dates in the CSS file.
Just so you know, Google, one of the most successful sites on the Internet, uses layout tables, and so does HN for that matter. I also use tables, and I've visited popular, funded, and cutting edge TechCrunch50 websites with over 100 errors in their markup while my code passes xhtml strict with 0 errors.
When evaluating product/business decisions I use what I call the live-or-die criteria. Will my company (or product, in this case) live or die by this decision?
If not, move on to something more important.
HTML tables vs. CSS is one of those decisions that really doesn't matter. No product has ever failed because they used HTML tables, so why worry about it? Use whichever helps you get the job done faster.
I agree. Ideally, pure CSS is certainly the way to go, but it's not yet supported well enough to be used exclusively IMHO in every situation. I get a kick out seeing "savvy" people demand "table-less" web development, but with no mention of cross-compatibility or w3c validity.
I have to thank you so very, very much for this application. It is changing my life, no joke. I'm an adult with ADD and perfectionism. Everything I've ever succeeded at has been a last-minute adrenaline-filled fire drill. My hopes for this year are things that can be accomplished only through slow-and-steady actions, repeated daily.
Your tracker is the first thing that has ever worked for me. Even after just 8 days, I can tell that this is different from every other new years. I can do bits and pieces of my daily goal whenever I find time, and your app keeps count. I can keep my goal in mind without having to remember the numbers or play head games. There is nothing complicated, no 'options' to vacillate over, no pretty pictures or quotes to distract me and no features to figure out. The calendar--like Seinfeld's 'Don't break the chain' is a tremendous visual motivator.
34 comments
[ 3.9 ms ] story [ 87.5 ms ] thread"You can't. (This is to prevent people from using this method as a way of submitting a link, but with their comments in a privileged position at the top of the page. If you want to submit a link with comments, just submit it, then add a regular comment.)"
It's really nice to see useful little projects like this take shape so quickly, do you have a way to track the user if they should wipe their machine / switch browser ?
As it's built on appengine, it wouldn't be too hard to tie everything to a google account. I actually wrote about half of that, but it got dropped because I decided I preferred a more polished, less featureful project.
I hope it will take off, it's a really nice example of how it's done. I'll try to live up to your standards the next time I release something.
> You need to check in -2 more times this week to meet your goal.
Traceback (most recent call last): File "/base/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 509, in __call__ handler.post(groups) File "/base/data/home/apps/resolution-tracker/1.338888254051474539/resolution.py", line 69, in post r.threshold = int(self.request.get('threshold', 1)) ValueError: invalid literal for int() with base 10: ''
As you're seeing, as soon as you make it usable by anybody, people start complaining about form validation and usability issues. You should decide now how much effort you want to put in.
For the most part, this was an exercise in taking a project to completion, which I've always had trouble doing. I think that I succeeded in that, and I'm not particularly interested in turning it into yet another ongoing, never-finished project.
Consider open sourcing it on github, and if anyone asks for anything just reply with "patches welcome" You'll probably never get anything from it, but who knows?
Good luck.
1) Laying out the calendar (programmatically generated)
2) Having an element with a working 'vertical-align' CSS property
3) The layout of the form on the initial page.
Everything else is done with CSS. Except for 3, which was because I was running out of time, I don't see how getting rid of the <table> tags helps things. I hope you don't want me to encode the positions of all the calendar dates in the CSS file.
If not, move on to something more important.
HTML tables vs. CSS is one of those decisions that really doesn't matter. No product has ever failed because they used HTML tables, so why worry about it? Use whichever helps you get the job done faster.
Also, make error messages pretty, please:
http://resolution-tracker.appspot.com/view?id=d
Your tracker is the first thing that has ever worked for me. Even after just 8 days, I can tell that this is different from every other new years. I can do bits and pieces of my daily goal whenever I find time, and your app keeps count. I can keep my goal in mind without having to remember the numbers or play head games. There is nothing complicated, no 'options' to vacillate over, no pretty pictures or quotes to distract me and no features to figure out. The calendar--like Seinfeld's 'Don't break the chain' is a tremendous visual motivator.
I'd be happy to pay ala shareware.