Hacker News new | past | comments | ask | show | jobs | submit login

At the risk of belaboring the point from my other sub-thread...

Suppose you've developed an application that has a graphical user interface. For the sake of simplicity, you rejected all of the overly complex GUI toolkits out there and rolled your own, with the assumption that all of your users can see what you're drawing on the screen. So you didn't implement your host platform's accessibility API (assuming you're running on a host platform with an accessibility API.) Now, a blind person needs to use your software. How do you fix that problem without software?

Beyond that specific example, the point is that, as the GP said, trying to change the environment to eliminate inherent complexity is often not feasible.




I implemented my own UI framework once on top of WPF:

http://bling.codeplex.com/

But I did something different: rather than wrap high-level APIs in even more higher-level APIs, I instead focused on making it "simple to express the math." So for a table, you could use data binding to simply express some constraints on cell width, height, adjacency, and so on. So I never bother using what WPF calls a table (or list or whatever); I would just use canvas and organize the cells using a few lines of math. That is quite liberating!

It is not always the case that GUI toolkit goes in the direction of increasingly more abstraction.


As I mentioned, rethinking your approach is also valid. Making bad assumptions upfront is the cause of a lot of added complexity.

Maintaining complex software is also infeasible. Maybe we're doomed.


Most of the complexity in these GUI toolkits is unrelated to accessibility or other "essential but non-obvious" features, so I don't think this is a good point.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: