|
_Maxxx_ wrote: many people misunderstand MVVM (the 'there must be not code behind' ers being a
majority group!)
There really doesn't need to be in most cases. Most of the time I have seen code behind, its been that the developer was lazy and didn't have a strong enough framework. I just wrapped up an MVVM project and didn't have *ANY* code behind. I mean ZERO. All windows, dialogs, controls, etc. had the code behind .cs DELETED. Not even a call to InitializeComponent() . I have a generic event -> command mapper in my framework, so I just use that in the XAML and I pretty much end up with as much code as I would if I would have done the code behind -- except I don't have code behind. I know its not a requirement of MVVM, but I just don't like it. It makes me feel like I'm splitting a class between 2 .cs files and I'm going to use up a lot of my time deciding if a method should go in the VM or in the code behind.
Now, I realize that if you need code to manipulate the visuals, it shouldn't go in the VM... but thats just another case of the developer being lazy. If you *really* need code to manipulate visuals, you should make it a generic / reusable control, not part of the view.
|
|
|
|
|
I found this [^]to be a good read.
Too much of heaven can bring you underground
Heaven can always turn around
Too much of heaven, our life is all hell bound
Heaven, the kill that makes no sound
|
|
|
|
|
Not really something you can teach IMO... you either have an eye for detail or you don't. If you don't have an eye for detail or don't care about stuff like aligned UI, shifted pixels, etc... you probably shouldn't be doing UI work and leave it for the guys that like that stuff.
|
|
|
|
|
Some information from Microsoft here[^].
|
|
|
|
|
Well, thats kind of what I meant. I'm a UI / designer / software engineer guy and I know what looks good & professional and what looks bad & cheezy, but its not something I can explain or teach to somebody. Its just something that I have a "feel" for. It does go beyond pixel alignment, etc. obviously... like you may have a dialog and it could be all perfectly aligned and fully 100% usable, but its possible that it could look visually more appealing if you laid it out another way. I could tell you to use the Segoe UI font on your UI and to generally use the system colors, but thats not really explaining anything.
What I'd suggest is looking at all the popular applications out there and kind of trying to figure out what people like UI wise. For example, one of the most copied UIs out there has always been Office. People have been copying it since day one. Personally, I think Office 2007 looks better then 2010, but thats just me... On the other hand, I don't think Visual Studio is that great of a UI.
|
|
|
|
|
I quite agree with you, UI design is not something you can simply explain. Your must have a sense for design in order to create a good look and feel. Beauty, they say is in the eyes of the beholder but as far as UI is concern, it's in the sense of the designer.
|
|
|
|
|
I believe it is something that can be explained to developers and can be improved if you seek to educate yourself. Don't think you will never be able to improve. Good design follows patterns just like good coding does and can be learned. If you are a Windows developer, I recommend you read Microsoft's UX guide. One of the things I like about it is they use old versions of Office and Windows to point out their own bad examples. About Face: The Essentials of Interaction Design by Alan Cooper should be on every developer's bookshelf as well. I am reading Designing Web Interfaces by Bill Scott & Theresa Neil and can recommend that as well.
|
|
|
|
|
I sure there are lot more of those good books out there that provides GUIDELINES on how to design interfaces but you should still be able to judge between good designs and bad ones relative to the project at hand, that was what I meant by having a sense for design
-- Modified Saturday, August 20, 2011 12:29 PM
|
|
|
|
|
Of course it can be taught!
Where did you get that dreamy eyed nosense?
Maybe the belief that it can't be IS the problem.
|
|
|
|
|
Oh, absolutely!!!
thats why every musician sells million of records...
thats why every fashion designer is famous and selling millions and on the runways in Paris...
thats why Megan Fox has a bunch of oscars...
thats why ever painter can roll with Picasso and Rembrandt...
thats why everybody can dance like Michael Jackson...
thats why every chef is famous and has a show on the Food network...
UI design is just like every other "artistic" venture out there... you might be able to teach somebody the basics, but in order for them to take it to the next level, they have to have some sort of talent.
Thats why if you stepped out of your little bubble and into the real world, you'd see that some people cut hair at SuperCuts for $5/hr and some people cut hair for $2000/hr at salons in Beverly Hills.
|
|
|
|
|
I know some very good musicians that have no interest in selling records and I hardly think Megan Fox's Oscars have much to do with the type of talent were talking about here. And I am sure that you would want Michael teaching your talented kid dance because it one of the best...
Talent is only about 90% of being good at something. The other 90% is just plain hard work. Do you really have to be the Rembrandt of UI design to be good at it?
|
|
|
|
|
Actually, there is a common expression out there: "Those that can do and those that can't teach" .
*Sorry*, I'm not trying to say that you need to be some super special person to do UI design. What I'm trying to say is that not everybody has the eye for it to do it really well. Not every person is the creative type or the artistic type. For example, have you ever come up with anything like the Office UI before Microsoft? Have you ever invented a custom control or a new concept in UI?
In regards to your other comment, I have also known some musicians who *SAID* they had no interest in selling records... one guy in particular was always hating on me for liking mainstream music, etc. then one day he got a chance to write a song for a main stream movie... hmm... suddenly he did a 180 and was interested in selling records... Anybody who says they don't care about being super successful just says that because they haven't had the chance to be. Sorry, but thats just the truth. Nobody truly thinks "I'm happy playing music in front of 20 people in a cowboy bar" vs. selling out arenas on a 50 state tour.
|
|
|
|
|
SledgeHammer01 wrote: Nobody truly thinks "I'm happy playing music in front of 20 people in a cowboy
bar" vs. selling out arenas on a 50 state tour.
Sorry to bust your bubble on that one mate. I've been playing guitar for more years than I care to remember, and I prefer not to play the large scale stuff anymore, primarily because that would mean playing what other people want to hear rather than what I want to play. Some of the stuff I like to play has virtually zero commercial audience, but I'm happiest playing it because I love listening to it and I feel happy playing it. It has nothing to do with disliking mainstream, it's just that I've spent years getting a sound I'm happy with and that's what I'll keep playing.
|
|
|
|
|
Well, I'm not going to pretend like I can read your mind, but I'm willing to bet that if you were offered a chance to play lead guitar for Britney Spears on a world wide tour and make millions, you'd probably think "I can always come back to my sound later and have a lot more freedom in doing it" . Anyways, I think this thread has gotten a bit off topic lol (my fault )... all I was trying to get across is that you can teach a lot of stuff, but creativity and aesthetics is not really teachable. Copying somebody elses UI doesn't make you a designer... often times you need to be able to think outside the box and not everybody is capable of that. I can teach somebody basic layout skills, but I've worked with enough software engineers in my life to know not everybody has "it" for UI design. Lots of people just think "hey, a button is a button...".
|
|
|
|
|
Oh I agree - this is why I have a designer, but I'd never play for Spears. I'd rather pull my own fingernails out.
|
|
|
|
|
Hmm. Voted 5 to compensate for the downvote. It appears somebody doesn't like the tone of this thread.
|
|
|
|
|
I didn't realise we were talking about composing a symphony.
I thought it was about designing a good working UI.
To comment further: good work is 90% practise/repetition and 10% inspiration or talent.
|
|
|
|
|
Not true. Not true at all. I can practice playing basketball 24/7 for the next 100yrs and never come close to being able to play like Michael Jordan or Shaq. Yes, theres a lot more people who can do UI design vs. being a basketball star, but the concept is the same. Some people are just better at certain things then others... thats just life. How can I possibly explain to you "what looks good". If you showed me a UI, I could tell you what was good or bad about it, but I couldn't really teach you to decide that for yourself. I mean, over time, you might pick up on a pattern, but thats not really deciding if it looks good for yourself, now is it? .
|
|
|
|
|
You have a point but I believe one can learn if one chooses to
Do you make a distinction between the "best" and just good, solid design?
People can be taught basic, good design - font usage, static or dynamic balance, flow, etc., etc.
Every one can bring their own "personl genius" to anything, if they are prepared to do the work.
That's what I call style.
Do you think that every great scientific discovery was made by a genius?
I don't think they were not all "Einsteins". There are lots of good, solid athletes who play professionally for their whole career without being "stars".
I believe that if you practice with passion and intelligence you can achieve what ever you desire. You just have to be prepared to make the sacrifice, have the desire, the dedication, etc. In short it is entirely up to YOU. Try it and then contact me again in 10 or 15 years.
Check out the biographies of people and you will see that they all had a mentor somewhere in their life or career i.e taught directly or indirectly by example.
This is just my observation, and I hope you take no offence, but I think you are, perhaps, a bit fatalistic. I believe that praising others can be a good excuse for not changing or doing something about things ourselves
I think the real situation is that a lot of coders are just not interested in design and styling and a lot of graphic designers are not interested in coding. Amongst my friends this has been the case.
Regards,
M.
|
|
|
|
|
This[^] site details some books that you might find useful for designing interfaces.
|
|
|
|
|
"Design is not just what it looks like and feels like. Design is how it works." - Steve Jobs
As a software engineer, I found outrageous to spend months/years working on a great technology or software without considering the design part of the interface. Design is a science (just like programming); creativity can be learned. The folks at the Graphic Design School teach graphic & interface design from the ground up, self paced, affordable and online. Here is the link and good luck! http://bit.ly/jH5yA[^]
|
|
|
|
|
And why have you posted this to me? The OP doesn't get replies to other peoples answers you know. You have to specifically answer that question for them to be notified.
|
|
|
|
|
You are right. I didn't intend to reply to you specifically but to the top level question. I can always blame it on the UI 
|
|
|
|
|
Just a little point. The technique can be learned but the creativity comes from experience.
|
|
|
|
|