Is it me or is UI development the red headed step child of the programing world?
-
I have always had a preference and a fascination for UI development. I consider myself a very capable developer in all layers of an n-tier application, but I am a visual person by nature and I love solving usability problems and creating good UI (having worked in WPF, Flash(actionscript), and Web Forms and MVC). However it often seems like many developers automatically consider a UI developer to be a CSS or a script monkey. Good UI work in any platform requires the same dedication to proper development patterns and practices, and throws plenty of considerable brain teasers your way. Yet consistently, I see UI development kind of pushed to the lowest priority, or slapped together in painfully bad ways. Why is it that most developers will cringe and crucify someone who slaps together their data access and business logic, but then give the interface code that kind of lazy treatment? I am curious what others thoughts are on this. Do you see a different story? Are you fortunate enough to have consistently been on projects where the UI is coded well?
-
I have always had a preference and a fascination for UI development. I consider myself a very capable developer in all layers of an n-tier application, but I am a visual person by nature and I love solving usability problems and creating good UI (having worked in WPF, Flash(actionscript), and Web Forms and MVC). However it often seems like many developers automatically consider a UI developer to be a CSS or a script monkey. Good UI work in any platform requires the same dedication to proper development patterns and practices, and throws plenty of considerable brain teasers your way. Yet consistently, I see UI development kind of pushed to the lowest priority, or slapped together in painfully bad ways. Why is it that most developers will cringe and crucify someone who slaps together their data access and business logic, but then give the interface code that kind of lazy treatment? I am curious what others thoughts are on this. Do you see a different story? Are you fortunate enough to have consistently been on projects where the UI is coded well?
I agree, and a shame you didnt post this in the SB or lounge, it is an interesting topic. Other manufacturers of devices to be used by the public spend a lot of money on UI issues. The feel of buttons, layout of dials, switches, indicators, in order to arrive at an inherent logic. SW UI is exactly the same, it is a science of psychology and an art of design. Perhaps SW engineers are happy to have hairy UIs, but if you want to sell the beast, a good UI is WAY more important than an optimised bit of code, or a tuned coms pipe.
============================== Nothing to say.
-
I have always had a preference and a fascination for UI development. I consider myself a very capable developer in all layers of an n-tier application, but I am a visual person by nature and I love solving usability problems and creating good UI (having worked in WPF, Flash(actionscript), and Web Forms and MVC). However it often seems like many developers automatically consider a UI developer to be a CSS or a script monkey. Good UI work in any platform requires the same dedication to proper development patterns and practices, and throws plenty of considerable brain teasers your way. Yet consistently, I see UI development kind of pushed to the lowest priority, or slapped together in painfully bad ways. Why is it that most developers will cringe and crucify someone who slaps together their data access and business logic, but then give the interface code that kind of lazy treatment? I am curious what others thoughts are on this. Do you see a different story? Are you fortunate enough to have consistently been on projects where the UI is coded well?
Why is this in the backroom? Anyway, as a computer scientist I care about complex algorithms and data structures. Screw the UI. If you start taking away development time from the Real Deal and putting it into UI, you get Windows Live products and Vista - a nicely wrapped piece of crap that sells well to the unwashed.
-
Why is this in the backroom? Anyway, as a computer scientist I care about complex algorithms and data structures. Screw the UI. If you start taking away development time from the Real Deal and putting it into UI, you get Windows Live products and Vista - a nicely wrapped piece of crap that sells well to the unwashed.
DannyStaten wrote:
Good UI work in any platform requires the same dedication to proper development patterns and practices
I don't think the OP was suggesting the dev time should be taken away from the core of the project. It seems to me that he would like the same level of professionalism to be applied to both the core and the UI.
-
DannyStaten wrote:
Good UI work in any platform requires the same dedication to proper development patterns and practices
I don't think the OP was suggesting the dev time should be taken away from the core of the project. It seems to me that he would like the same level of professionalism to be applied to both the core and the UI.
Are you sure? Because it does seem like he's saying that putting the UI on the lowest priority isn't the way to go.. Of course you could pump more time=money into the project, hire an UI guy to do the UI and get a proper program and a nice UI, but it's not the 90's anymore.
-
Are you sure? Because it does seem like he's saying that putting the UI on the lowest priority isn't the way to go.. Of course you could pump more time=money into the project, hire an UI guy to do the UI and get a proper program and a nice UI, but it's not the 90's anymore.
I may not have been clear in how I worded it, but I was not suggesting that UI should be given higher priority than any other aspect of software design. I am just mourning two things: 1. The tendency for UI to be pushed to the back burner compared to other aspects of development. 2. The attitude by many that UI development is a lesser discipline that doesn't require the same design patterns and prowess as other development.
-
I agree, and a shame you didnt post this in the SB or lounge, it is an interesting topic. Other manufacturers of devices to be used by the public spend a lot of money on UI issues. The feel of buttons, layout of dials, switches, indicators, in order to arrive at an inherent logic. SW UI is exactly the same, it is a science of psychology and an art of design. Perhaps SW engineers are happy to have hairy UIs, but if you want to sell the beast, a good UI is WAY more important than an optimised bit of code, or a tuned coms pipe.
============================== Nothing to say.
This is my first real discussion on code project and I thought it was more about airing a grievance than general discussion. I guess I should have put it in the lounge.
-
Why is this in the backroom? Anyway, as a computer scientist I care about complex algorithms and data structures. Screw the UI. If you start taking away development time from the Real Deal and putting it into UI, you get Windows Live products and Vista - a nicely wrapped piece of crap that sells well to the unwashed.
harold aptroot wrote:
Anyway, as a computer scientist I care about complex algorithms and data structures. Screw the UI. If you start taking away development time from the Real Deal and putting it into UI, you get Windows Live products and Vista - a nicely wrapped piece of crap that sells well to the unwashed.
Not to be antagonistic, but that's exactly the attitude that I find frustrating. There are complexities in organization, data structure, and algorithm that all are part of UI development. I am not saying one discipline is superior to another, or more important. I am saying that UI development is generally looked on with this kind of attitude. However you have to maintain the UI just like you have to maintain any other layer of code. The most functional business logic is useless if the user interfaces don't function just like the most functional UI is useless if it doesn't connect into real functionality. So it just seems frustrating that as a general attitude, developers say "screw the UI." To me that is just as dumb as saying "screw the database." It's all important.
-
I agree, and a shame you didnt post this in the SB or lounge, it is an interesting topic. Other manufacturers of devices to be used by the public spend a lot of money on UI issues. The feel of buttons, layout of dials, switches, indicators, in order to arrive at an inherent logic. SW UI is exactly the same, it is a science of psychology and an art of design. Perhaps SW engineers are happy to have hairy UIs, but if you want to sell the beast, a good UI is WAY more important than an optimised bit of code, or a tuned coms pipe.
============================== Nothing to say.
Erudite__Eric wrote:
but if you want to sell the beast, a good UI is WAY more important than an optimised bit of code, or a tuned coms pipe.
Can anyone say Mac? Elegant UI and brilliant Marketing are the two keystones to that company's success in my opinion, though that is another discussion entirely.
-
harold aptroot wrote:
Anyway, as a computer scientist I care about complex algorithms and data structures. Screw the UI. If you start taking away development time from the Real Deal and putting it into UI, you get Windows Live products and Vista - a nicely wrapped piece of crap that sells well to the unwashed.
Not to be antagonistic, but that's exactly the attitude that I find frustrating. There are complexities in organization, data structure, and algorithm that all are part of UI development. I am not saying one discipline is superior to another, or more important. I am saying that UI development is generally looked on with this kind of attitude. However you have to maintain the UI just like you have to maintain any other layer of code. The most functional business logic is useless if the user interfaces don't function just like the most functional UI is useless if it doesn't connect into real functionality. So it just seems frustrating that as a general attitude, developers say "screw the UI." To me that is just as dumb as saying "screw the database." It's all important.
Well that's what you get for posting it in the backroom. And screw the database as well. edit: actually, the business logic would still be fine without any kind of UI (not even a command line), just stick the input in the code and recompile.. sure that doesn't do the trick for users, but screw users as well. (anything else that needs screwing?)
-
harold aptroot wrote:
Anyway, as a computer scientist I care about complex algorithms and data structures. Screw the UI. If you start taking away development time from the Real Deal and putting it into UI, you get Windows Live products and Vista - a nicely wrapped piece of crap that sells well to the unwashed.
Not to be antagonistic, but that's exactly the attitude that I find frustrating. There are complexities in organization, data structure, and algorithm that all are part of UI development. I am not saying one discipline is superior to another, or more important. I am saying that UI development is generally looked on with this kind of attitude. However you have to maintain the UI just like you have to maintain any other layer of code. The most functional business logic is useless if the user interfaces don't function just like the most functional UI is useless if it doesn't connect into real functionality. So it just seems frustrating that as a general attitude, developers say "screw the UI." To me that is just as dumb as saying "screw the database." It's all important.
-
I have always had a preference and a fascination for UI development. I consider myself a very capable developer in all layers of an n-tier application, but I am a visual person by nature and I love solving usability problems and creating good UI (having worked in WPF, Flash(actionscript), and Web Forms and MVC). However it often seems like many developers automatically consider a UI developer to be a CSS or a script monkey. Good UI work in any platform requires the same dedication to proper development patterns and practices, and throws plenty of considerable brain teasers your way. Yet consistently, I see UI development kind of pushed to the lowest priority, or slapped together in painfully bad ways. Why is it that most developers will cringe and crucify someone who slaps together their data access and business logic, but then give the interface code that kind of lazy treatment? I am curious what others thoughts are on this. Do you see a different story? Are you fortunate enough to have consistently been on projects where the UI is coded well?
DannyStaten wrote:
I am curious what others thoughts are on this
I do not do GUIs but do backend servers.... My preception is that it takes a lot of time to get everything just right in a GUI. For example if you write something for a browser you must test it in all of them. If stand alone then you probably test on different OSes. And there are differences you must work around. So you spend a lot of time in a very specific area. In constrast to GUIs my stuff seldom needs to run on different OSes and even when it does I can target specific versions of those and insist that it run on nothing else. But last time I created a server/system that didn't require multiple languages was probably 20 years ago. I must have an extensive knowledge of the OS, at least one database and OS specific stuff (including scripting) along with the target language. I will probably end up dealing with external protocols which require custom work and could end up being required to deal with an additional main language and even different OSes within a system solution.
DannyStaten wrote:
many developers automatically consider a UI developer to be a CSS or a script monkey
Not me. However where I might consider hiring a developer with server side java/unix skills to work on a .Net system it is unlikely that I would give the same consideration to skills in GUI development. It is a depth versus breadth tradeoff. I do consider it likely that a 'good' GUI developer is going to have much more depth knowledge in their specific area than probably any general purpose 'good' backend developer.
DannyStaten wrote:
consistently been on projects where the UI is coded well?
How would I know? I am not competent to judge the code itself. Nor the artistic expression of the display itself. Often I don't even see the GUI visually and seldom see the code. The fact that I can cobble together a single dialog box after several days doesn't translate into me being able to judge what 'well' means.
-
I have always had a preference and a fascination for UI development. I consider myself a very capable developer in all layers of an n-tier application, but I am a visual person by nature and I love solving usability problems and creating good UI (having worked in WPF, Flash(actionscript), and Web Forms and MVC). However it often seems like many developers automatically consider a UI developer to be a CSS or a script monkey. Good UI work in any platform requires the same dedication to proper development patterns and practices, and throws plenty of considerable brain teasers your way. Yet consistently, I see UI development kind of pushed to the lowest priority, or slapped together in painfully bad ways. Why is it that most developers will cringe and crucify someone who slaps together their data access and business logic, but then give the interface code that kind of lazy treatment? I am curious what others thoughts are on this. Do you see a different story? Are you fortunate enough to have consistently been on projects where the UI is coded well?
Ok for a moment here I'll pretend this isn't the backroom.. The previous project I worked on had no UI. It generated data pseudo-randomly, and then spit out a couple of lines to a command window (I suppose that could be called an UI, but I don't). It could get away with that because the entire purpose of it was to compare the quality/performance of several heuristics in an A* search. The project before that, there was an UI, and two guys were put on that almost exclusively. It worked out well enough IMO, but what do I know. (the customer was happy, I suppose that means they did something right) The current project is pretty much UI-only, and that's why I will quit ASAP. Not because I look down on it, but because I can't do it - I could mess around, but it will suck. I wasn't trained to do that kind of work. I don't have any clue why they wanted to hire me for it (I never claimed I could do it), and they only succeeded because they didn't tell me in advance what the job entailed and they made it sound nice..
-
Ok for a moment here I'll pretend this isn't the backroom.. The previous project I worked on had no UI. It generated data pseudo-randomly, and then spit out a couple of lines to a command window (I suppose that could be called an UI, but I don't). It could get away with that because the entire purpose of it was to compare the quality/performance of several heuristics in an A* search. The project before that, there was an UI, and two guys were put on that almost exclusively. It worked out well enough IMO, but what do I know. (the customer was happy, I suppose that means they did something right) The current project is pretty much UI-only, and that's why I will quit ASAP. Not because I look down on it, but because I can't do it - I could mess around, but it will suck. I wasn't trained to do that kind of work. I don't have any clue why they wanted to hire me for it (I never claimed I could do it), and they only succeeded because they didn't tell me in advance what the job entailed and they made it sound nice..
harold aptroot wrote:
Ok for a moment here I'll pretend this isn't the backroom..
Yeah I have been reminded many times that this ought to have been in the lounge. I wasn't sure being that it was leaning towards expressing regret or frustration about the state of UI development in many places. With regards to your current project, you have my sympathies. I dodged a bullet recently when I turned down one opportunity in exchange for my current project... The one I turned down was said to be WPF, C#, WCF and Silverlite when I interviewed so it was right down my alley. I felt nuts to turn it down but went with my gut.... I later found out that most of the needed work is in Java (which I haven't done in years) but they didn't even mention that. So I know how things can feel deceptive when interviewing etc. Good luck.
-
I have always had a preference and a fascination for UI development. I consider myself a very capable developer in all layers of an n-tier application, but I am a visual person by nature and I love solving usability problems and creating good UI (having worked in WPF, Flash(actionscript), and Web Forms and MVC). However it often seems like many developers automatically consider a UI developer to be a CSS or a script monkey. Good UI work in any platform requires the same dedication to proper development patterns and practices, and throws plenty of considerable brain teasers your way. Yet consistently, I see UI development kind of pushed to the lowest priority, or slapped together in painfully bad ways. Why is it that most developers will cringe and crucify someone who slaps together their data access and business logic, but then give the interface code that kind of lazy treatment? I am curious what others thoughts are on this. Do you see a different story? Are you fortunate enough to have consistently been on projects where the UI is coded well?
A few years ago I was hired to work on a mobile system for field workers who maintained, monitored and fixed water production sites and equipment. They were mostly non computer literate, had spent a lot of time working with paper based systems until given this system on touch screen toughbooks a year or so earlier, and resented the time and difficulty and non-intuitive (to them) methods of data entry. I spent a lot of time working on the UI, custom controls, different ways of entering different types of data, speeding up entry of data, making the flow and use of the screens more intuitive and so on. As a result all of those workers who were previously actively hostile to 'IT' and resented their system, and any changes to it, embarrassed it almost completely and thought the sun shone out of my arse. Accuracy of data we got from the system improved, the time data came in was improved, support calls reduced and so on. Of course after about another year and a half the company decided to buy in a system to replace it which all the users hate and the things I had improved (data accuracy, support calls, etc) have all got worse again.
Every man can tell how many goats or sheep he possesses, but not how many friends.
-
I have always had a preference and a fascination for UI development. I consider myself a very capable developer in all layers of an n-tier application, but I am a visual person by nature and I love solving usability problems and creating good UI (having worked in WPF, Flash(actionscript), and Web Forms and MVC). However it often seems like many developers automatically consider a UI developer to be a CSS or a script monkey. Good UI work in any platform requires the same dedication to proper development patterns and practices, and throws plenty of considerable brain teasers your way. Yet consistently, I see UI development kind of pushed to the lowest priority, or slapped together in painfully bad ways. Why is it that most developers will cringe and crucify someone who slaps together their data access and business logic, but then give the interface code that kind of lazy treatment? I am curious what others thoughts are on this. Do you see a different story? Are you fortunate enough to have consistently been on projects where the UI is coded well?
Well as a LOB developer I'd have to argue with you there, I spend my time in 2 areas, stored procs and the UI, everything else can almost be automated. UI presents it, DB crunches it, the other bits are just transport. I find I spend about 75% of my time doing the UI and I'm not a specialist (I'm a great proponent on battleshit grey),
Never underestimate the power of human stupidity RAH
-
I have always had a preference and a fascination for UI development. I consider myself a very capable developer in all layers of an n-tier application, but I am a visual person by nature and I love solving usability problems and creating good UI (having worked in WPF, Flash(actionscript), and Web Forms and MVC). However it often seems like many developers automatically consider a UI developer to be a CSS or a script monkey. Good UI work in any platform requires the same dedication to proper development patterns and practices, and throws plenty of considerable brain teasers your way. Yet consistently, I see UI development kind of pushed to the lowest priority, or slapped together in painfully bad ways. Why is it that most developers will cringe and crucify someone who slaps together their data access and business logic, but then give the interface code that kind of lazy treatment? I am curious what others thoughts are on this. Do you see a different story? Are you fortunate enough to have consistently been on projects where the UI is coded well?
UI Development, or making management happy with it? I'm fine with usability, at least decent with the code behind it, and apparently have the graphic design skills of a deaf bat. I do not do pretty very well, however most of my interfaces are rather slick and easy to use. Thus it makes my life, and the lives of those who actually use it far easier, but management refuses to touch it. Which drives me nuts, as I've made most of the functions fobbed off on me easy enough to do that we can(and have) hand it off to anyone in the company with short explanations. I had a complete overhaul of a system prevented from release for over a month because it wasn't pretty enough, it worked in 1/10th the time, dropped the load on the SQL server to a tiny fraction of what it was, more responsive, more intuitive, and gosh darn it, just not that pretty. After a few attempts, I handed it to someone else who tossed a few tweaked CSS classes in places and suddenly all was beautiful. I could rant about what the code was like before I got here, and how actually designing the interface rather than plugging a bunch of parts together reduced the number of connections from an algebraic equation to 3(or less, if the information is already loaded). But it's all been re-written now to a fair standard.
-
UI Development, or making management happy with it? I'm fine with usability, at least decent with the code behind it, and apparently have the graphic design skills of a deaf bat. I do not do pretty very well, however most of my interfaces are rather slick and easy to use. Thus it makes my life, and the lives of those who actually use it far easier, but management refuses to touch it. Which drives me nuts, as I've made most of the functions fobbed off on me easy enough to do that we can(and have) hand it off to anyone in the company with short explanations. I had a complete overhaul of a system prevented from release for over a month because it wasn't pretty enough, it worked in 1/10th the time, dropped the load on the SQL server to a tiny fraction of what it was, more responsive, more intuitive, and gosh darn it, just not that pretty. After a few attempts, I handed it to someone else who tossed a few tweaked CSS classes in places and suddenly all was beautiful. I could rant about what the code was like before I got here, and how actually designing the interface rather than plugging a bunch of parts together reduced the number of connections from an algebraic equation to 3(or less, if the information is already loaded). But it's all been re-written now to a fair standard.
Distind wrote:
it worked in 1/10th the time, dropped the load on the SQL server to a tiny fraction of what it was, more responsive, more intuitive
Amen to that! That's exactly the kind of thing that a developer who applies the same disciplines, design principles and elegance of coding to the UI development can do. That is a perfect case study for why UI development should be given equal care and consideration as all other aspects of development. Unfortunately, it so rarely is given much importance. It also demonstrates how UI development is so much more than applying CSS styles.
-
I have always had a preference and a fascination for UI development. I consider myself a very capable developer in all layers of an n-tier application, but I am a visual person by nature and I love solving usability problems and creating good UI (having worked in WPF, Flash(actionscript), and Web Forms and MVC). However it often seems like many developers automatically consider a UI developer to be a CSS or a script monkey. Good UI work in any platform requires the same dedication to proper development patterns and practices, and throws plenty of considerable brain teasers your way. Yet consistently, I see UI development kind of pushed to the lowest priority, or slapped together in painfully bad ways. Why is it that most developers will cringe and crucify someone who slaps together their data access and business logic, but then give the interface code that kind of lazy treatment? I am curious what others thoughts are on this. Do you see a different story? Are you fortunate enough to have consistently been on projects where the UI is coded well?
UI development is probably the most difficult aspect of writing an application. The hardest part of UI development is conveying to the end user what your paradigm was during development. "Intuitive is in the eye of the beholder, and the best UI is the one that requires the least amount of prodding by the manufacturer to get the user on-board with the concept. I like UI stuff, but I lean so far into the developer side of things that I tend to do things that make the most sense to me - as a developer. And as I've often discovered, my idea of how a program should be presented to a user is often way to the left or right of center when you consider the opinions of others.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass." - Dale Earnhardt, 1997