May 28, 2004

Today at work an engineer showed me a web app he wrote to configure some data in a database - this avoids account managers calling him up several times a week to enable this or disable that. Sure, sure, trivial - but nobody had time to actually write the thing. Anyway, my friend is brilliant (brain the size of a planet) and yet he was using POST in his HTML forms for a simple query. Why? Because he didn't know. And hey, he's 'posting' the request right? I convinced him to switch to GET because "Hey, people can bookmark the stuff. You know, put links to the current settings of that in an email, or a trouble ticket, or whatever." I didn't go into the evangalism - I didn't need to, he got it immediately. (The people here are bright. Really bright.)

One step closer to the righteous day when all Web Services are REST Services...

So what went wrong? Why was POST in there to begin with? I think it has to do with not caring - moving from having nothing but a SQL-Plus command line or a custom console app to a Web page is so much of a leap that the little things like GET .vs. POST aren't noticed. Also - and I think this is important - the name of POST just doesn't lead to good usage. Now if it had been named UPDATE, many more people would be put off and probably use GET right away.

No comments: