The web is incredibly empowering. Perhaps that's why when something is so thoroughly broken, I feel it viscerally in my stomach. Nausea and gnashing of teeth ensue.That's what happened today when I opened up my browser to look for monthly parking in San Francisco and found IMPark's monthly parking search online. At first glance, everything seems fine.
But peer deeper into this web app and you'll find the soul of a twisted, infuriating, horribly broken waste of electrons.
Just because you set your form elements to be something in your outgoing HTML doesn't mean that you'll be in the correct state. They're doing an elementary AJAX call (why the hell is this in ajax anyway?) to refresh the cities. But what if I select USA, then refresh? This JS totally assumes that it will always be in the correct state -- but my browser stores form values after reload so as to avoid data loss. Incidentally, this is what happens also if you use the BACK button. And contrary to popular belief, the back button is great. Users love it. I love it.
What ensues isn't pretty...
OK, rookie mistake. But what happens when I select something, anything? I should be able to click to Canada, then back to USA, right?
WHAT THE... How did we get here? Wow, total error fail. I hate you.
Lesson 2: Let me navigate the way I want to navigate OK so I've searched for San Francisco. Here it is.
But for some reason, I can't cmd-click to open each of these lots in a new tab. This is a habit I've picked up to avoid the general latency of the web -- why round trip and go back/forth when you can just open a ton of tabs and triage as you see fit there? Actually, this is a form element, of type submit. Are we in like 1995 again? What the hell is the point of
Lesson 3: Test your damn app people. Please. OK, so I'm looking for lots cheaper than $250/month in my area. Yes, that's a parking space, not rent. That's the extortionary fee charged by my current apartment building in South of Market.
Oh, I guess there are none. Oh wait. That's not right.
IRONY OF IRONIES: The creators of this godforsaken mess were nominated for the MSDN Code Awards. Microsoft, HOW COULD YOU!?
I feel the KnowledgeTech development team should win the award because the Monthly Parking System project is a true testament to Microsoft technologies and tools and their high-level of integration and cohesiveness.
For Microsoft's sake... I hope not.