Frustration with web application complexity
I enjoy working on web applications. I like JSP and Java. But it gets so frustrating sometimes, trying to write complex applications using HTML as the user interface. The web wasn’t designed for this.
Take my newest assignment. Basically, we want to be able to fill in the values of an XML message, given the schema definition. Unfortunately, XML is not a nice flat list of parameter names and values. It can be as complex and hierarchical as you want it to be.
So we have these challenges:
- How do we present this hierarchy to the user in a way that makes sense?
- How do we map this complex set of values to the flat parameter/value pairs you get with HTML forms?
- How do we allow for the user to specify multiple values? What if they’re complex types, each with their own set of values?
Now, it would be one thing if there was only one schema we had to deal with. One mapping. That’s easy to hard-code right in there. But no, we have no idea what the schema’s going to look like. It’s all dynamic.
So we end up having to come up with elaborate parameter naming schemes to try and translate back and forth between the hierarchical and flat structures. I spend all my time just getting it to work, without having time to really think through the usability and design.
It’s getting rather tiring. I think I’d like to work on a project with less functionality and less complexity, so I can concentrate more on the details. It would be so nice to work on a simpler interface, something more on the same level as Yahoo Mail or Google search. Or maybe I just need another GUI person to help me out.
March 28th, 2004 at 9:18 am
Macromedia Flash is the way to go! It has a java-like language, webservice connectors, databind-components (grids etc.), and RMI for java and .net. It’s just beautiful
) but also very underrated (atleast in Denmark anyways…)
MM also just released MM Flex (beta release) which is like asp.net done the right way (no HUGE post-backs). It allows for run-time compiling of flash code using eg. java beans, and at the same time allows for doing advanced processing on the client (as desc. above). In other words: a smart client with with zero deployment.
MM has some nice streaming media presentation on their site that I recommend you check out.
God! I sound like a MM sales rep. don’t I??
)
March 28th, 2004 at 12:26 pm
Yeah, one of these days I’ll have to check out Flash. It might be nice to abandon the asynchronous request-response model. And for web applications, it’s not like you have to be index-able by search engines. Though accessibility could still be a concern.