Is this my third post in one day?
I realized today that I need a single place to store, save, and refer to lots of little tiny bits of information… things like notes to self, lists of movies, lists of books, things I don’t want to forget, birthdays, etc. It’s irritating as fuck when i write something down and lose the paper, or when I’m curious what my to-do list was like a year ago so that I can compare it to how busy I am during my senior year. So… I have a feeling that I need to get smart with database programming and php like… yesterday.
Idea for a web app:
It would basically be a running list of anything you want, with a ton of meta-data that could be added quickly. The interface would be simple containing (ideally for people like me who want it fast, now, simple, etc) a textbox where you could basically type your item with some kind of syntax that would tell the app that this is the item (maybe put it in [brackets]). Then you could have simple syntax that would quickly tag the item… The trick would be the ability to add all kinds of meta-data and tag each short entry with as many terms or types of information as you’d like.
For example, I could enter:
[revise wr327 paper] cat:assignment due:20060317 cat:writing cat:school.wr327
(’cat’ means ‘category’ btw. I could replace it with ‘tag’ but i want something descriptive so I can have ‘due’ and the potential for ‘name’ or ‘date’ or something at the “level” of category)
and it would store all that info including a date-timestamp or various other types of automated data like ip address, browser, etc. It would be REALLY spiffy if the app would suggest tags based on ones you already have (like gmail’s auto-complete of email addresses… sounds like I need to learn ajax.)
Then, I’d have a nice shiny published interface that would let me sort my list by any of those categories or tags or other data that I’ve created, quickly generate html ordered lists so that I can copy/paste that into my blog to share with others, etc etc.
This wouldn’t be a social-networking tool or group-aggregate-data networking at all. this would be a personal application, ideally web-based and public in order to be easily accessible from any location, and it would be used as a feature-enhanced book of post-it notes or pocket-notebook.
I’m sure that this could be done! I’d like to learn how to create a tool like this. Can anyone here see problems with my idea or forsee things that I may need to learn that I probably haven’t thought about? I’m one of those girls who has crazy big ideas and doesn’t realize that they’re way over my head. From what I understand, I could do this (minus the auto-complete stuff) in php and mysql… and a lot of hard newb-destroying work.
Also, is it weird that I think of my ideas all from a “user” and “this is what I want it to do and result in” standpoint and not from a “hey I know how to program this, maybe I can program something else that’s cool”?








shazamaramack | 14-Mar-06 at 5:57 pm | Permalink
sounds like a straight foward php/mysql app… you could totally do it!
you could do the auto-complete stuff with javascript, but I would worry about that LAST. get the rest of it working first.
lutraphile | 14-Mar-06 at 5:59 pm | Permalink
Also, is it weird that I think of my ideas all from a “user” and “this is what I want it to do and result in” standpoint and not from a “hey I know how to program this, maybe I can program something else that’s cool”?
Not at all. I mean, I don’t know from code, but I think that way in a lot of other areas. I dream something up and then I learn how to build it. For example, I see a hat that I like and then I acquire the skills to customize & knit it.
vanbeast | 14-Mar-06 at 6:27 pm | Permalink
Have you ever looked at any of the mindmapping apps out there? That might be a good interim solution… or just use a wiki.
I started to develop something similar to what you’re talking about a year ago. It was a little more strictly defined, you had to define a template before you could add data to it, but the template was wide open.
Now with another year’s worth of experience under my belt, I can see where I tripped up. You’ve got some interesting ideas too… I like the idea of shortcuts to enter data.
As far as do-ability, no problem. You’d have to think out your schema carefully. You’d have to decide if you wanted to go really simple or more complex… it’s the difference between a CGI page and an actual app. Either way would work, it’s just a matter of which way you want to take it.
I’d also suggest that you brush up on your regexes. That’s going to be the best way to parse your short-form entry.
If you’re feeling particularly adventurous, you could look at Ruby on Rails. It packages in all sorts of neat ajax/js magic that could help you down the road. But, it does mean learning a new language :P
buddha_x | 14-Mar-06 at 7:14 pm | Permalink
Reminded me of http://tadalist.com.
Close, but I’m not sure you can add tags. The movie’s fun anyway!
vanbeast | 14-Mar-06 at 7:18 pm | Permalink
tadalist is only a list. There’s no due dates or tags, and categorization only happens at the “which list does this belong to” level.
It’s great if you just want to make lists, but sorta limited otherwise. The result of 37signals’ “Get Real” and simplicity policies.
starladear6 | 14-Mar-06 at 7:59 pm | Permalink
yeah, vanbeast described mostly why this isn’t what I want to do.. the whole “use the mouse to click and do things” is really time-consuming. I could just use livejournal’s to-do lists or continue to create lists as tagged entries.
thanks for the link though. it’s a fun video.
vanbeast | 14-Mar-06 at 8:27 pm | Permalink
the best part of your idea is reusing the web code to write a command-line wrapper for it :)
Do you read 43folders or lifehacker? Both super awesome sites that talk about productivity a lot.
avador | 14-Mar-06 at 10:52 pm | Permalink
I will take that to the next level…yea, you should probably be initially thinking from that user/result standpoint, but don’t ever limit yourself to where you aren’t thinking, hey I can do this, so I can do something else just as or cooler? I see you having a future in Disney Imagineereing, if you are interested. I wish I had the tech skills to pursue something like that. Or better.
(can I add the obligatory yet outdated, you go girl here? Eh, I just did!)
djwikkid | 14-Mar-06 at 11:35 pm | Permalink
the app you are talking about sounds an awful lot like pyGTD. pyGTD is centered around David Allen’s “Getting Things Done” system of productivity, but does a great job at letting you keep text files of what needs to be done, then running a python script that will show you exactly what needs to be done when, and how long it will take. pyGTD is all client side though, you’d have to keep track of your text files… granted, they’re just text files ;)
You should also check out Voo2Do which has a VERY simple ajax based interface to rapidly enter projects / tasks. Remember The Milk is also great, while the data entry isn’t as nice as Voo2Do, Remember The Milk makes up for that with notification: when a particular item is due or overdue, it can do any of the following: send you an email, SMS text or send you an IM.
Finally, i’d recommend taking a look at sproutliner which is very much customizable for any sort of list you’ll need.
djwikkid | 14-Mar-06 at 11:51 pm | Permalink
oh yeah, one other thing…
no, i think it’s very forward thinking of you to think of things from the user’s point of view. so many applications are built by programmers who are instructed to “make it just like bestselling app xyz”. Even more apps exist because someone just thought “yeah sure, people will use it”.
few apps solve a problem, fill a void, satisfy a need. if you have a frustration that’s been bugging you, and you know of a way to do it better.. PLEASE by all means… BUILD IT :D innovation = teh good.
I have a major gripe about project / task management software in particular. Lots of software i’ve used (Web based and pc based) satisfies the needs of everyone who doesn’t use the product itself. Sure, a app can build a Gantt chart - who besides your manager reads it? Sure the app can tell you exactly what percentage of the product is done - but… you could get that information just by asking the folks working on it. In fact, the people who need to use the software day to day, are the ones entering and updating tasks, projects. most software handles that like the following:
[task page]
You want to create a task? cool. what project? oh, you don’t have a project do you? well, click here, and fill out the project form.
[project page]
Alright, what client does this belong to? oh. you haven’t entered a client yet? ok, well.. go to add new client form. oh, you might also want to search for them too, just to make sure you don’t enter duplicate information. when you’re done, come back to the project page, enter your project then go back to the task page so you can add your tasks.
whew. One of the reasons I like Voo2Do, is when you are entering projects, you do it as if you were entering information into a spreadsheet:
[__ project name __] *tab* [__ task __] *tab* [__due__] *tab* [__notes?__]
and of course, as you would expect, as you type into the project name box, previous projects you’ve used will display below, allowing you to click on the name, or use the arrow keys to select the project, then hit enter.
this is clearly designed from the user’s point of view, and IMHO if you were to come at programming projects from and end user’s viewpoint, you’d be far ahead of the game :)
procyon112 | 16-Mar-06 at 3:20 pm | Permalink
Actually, something this simple I was thinking might be perfect for a little xml schema to store it via webDAV, then just an XSLT transform to view it, with a little php on the xslt generated page to post changes. That way, a custom viewer could be written for it and update it directly over webDAV, say via an outlook or korganizer plugin, for when you want more power/speed over what the webapp can provide.
But, if you wanted full functionality, a little plugin for an existing wiki engine….