How would a front-end developer learn some graphic design techniques [closed] - user-interface

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
As a front-end developer, I would like to develop nice and good usability web applications. However, normally developers are good at coding. So, I would ask how to get started with learning some UI design knowledge? What's your recommended books or courses for a newbie to learn? Basically for graphic design, fonts and colors etc etc.

As a UI/UX developer myself, graphic design techniques are questions related to Photoshop, Illustrator, color theory, typography, etc. Usability is related to UI/UX, coding and web architecture. Graphic design and web usability are two very distinctive fields.
What is User Experience Design? - Wiki article on UX
User Experience is any aspect of a person's interaction with a given
IT system, including the interface, graphics, industrial design,
physical interaction, and the manual.
What is graphic Design? - Wiki article on Graphic Design
"Graphic design is the art of communication, stylizing, and
problem-solving through the use of type and image."
Resources #Nathan provided are great, I would also add this to your reading arsenal, education and inspiration:
Open University classes
University of Washington - Visualization
MIT - Drawings & Numbers
USQ - Multimedia
Berkeley - Computer Graphics
Sites & Inspirations
OnePageLove
Responsive.ly
A List Apart
Awwwards
Css Tricks
Tuts plus
Can I use
As with any other skill set, to way to get better is practice, practice, practice. I would just keep building projects as case studies and learn the skill sets as you venture through different types of web applications.
Best of luck on this journey.

Books are good, but to stay upfront and get aware of what is happening the latest and what tools and techniques are in, I suggest you to actively participate on webistes like
Smashing Magazine,
Sitepoint &
Web design Ledger
to name a few, but top quality resources. To know more about the books, you can refer to
Apress Books for front end development
for start to ninja resources.
Hope this helps.

Build on the shoulders of those who have gone before. To be a great developer, you have to know your stuff. In the same way, to be a good designer requires understanding of some basic foundational guidelines. Some of it may seem pretty simple and tedious, but understanding the proper principles of typography, color theory, grid systems and so on can help you a lot. A few resources to get you going are:
Universal Principles of Design
The Elements of Typographic Design by Robert Bringhurst
Thinking with Type by Ellen Lupton
Grid Systems: Principles of Organizing Type by Kimberly Elam
The Design of Everyday Things by Donald Norman
Don't Make Me Think: A Common Sense Approach to Web Usability by Steve Krug
Microinteractions: Designing with Details by Dan Saffer
That list should generate it's own follow-on books / websites reading list for you.
Ask questions. Find some designers you really like and ask questions. Try to understand why they made the decisions they did. Most people are pretty willing to talk about their own work. Asking questions helps you to understand why designers use (or don't use) certain design principles in their work.
Actually design (and seek out constructive criticism.) Like anything you do in life, reading and learning can only take you so far. At some point, you have to start practicing. Find a small circle / community of more senior designers who can review your designers and give you some brutal, but constructive criticism. Your stuff will suck at first. Everyone's work does. Designers spend hours upon hours honing their talents and skills. Don't get discouraged by it. Just like anything you can gain mastery in, it takes time. Having people in your life who can give constructive feedback is a huge help.

Have a look at WebAwwards never let me down yet... Great selection and new websites added every day

Related

Good articles on usability?

I'm looking to find any articles/books on usability. I'd like to get a handle on best practices when designing a UI, this can be anything from which user controls are more intuitive to a new user, to how to phrase text that is displayed to the user to avoid confusing dialogs. I mainly do Windows desktop applications, but most usability standards, I assume, would stand true regardless of the platform.
As an example, here's an MSDN article about the Windows User Experience Guidelines:
http://msdn.microsoft.com/en-us/library/aa511258.aspx
Try reading this book: Don't Make Me Think. While it's focused on web usability it is applicable to all facets of UI design.
The Design of Everyday Things by Donald A. Norman is a standard book on general usability considerations that can be applied to just about everything in day-to-day life. It's not specifically about software, but it's worth it to read it.
Universal Principles of Design is a recommended textbook for my university's Engineering Methods of Software Usability course. Myself, and others who have taken this course, have found this book to be more useful than the required textbook. There appears to be an updated version, called Universal Principles of Design, Revised and Updated: 125 Ways to Enhance Usability, Influence Perception, Increase Appeal, Make Better Design Decisions, and Teach through Design, but I can't speak about that one.
Designing for People Who Have Better Things To Do With Their Lives
by Joel Spolsky (one of the guys behind this site)
when designing UI, please do consider accessibility as well. it's mostly relevant for web sites, but could also be applicable for rich client (desktop apps).
so, these links has a lot of info on the subject, though it's not pure usability info.
a good resource on usability and accessibility:
Design Guidelines for Electronic Publications, Multimedia and the Web
you might find this check list useful:
Checklist of Checkpoints for Web Content Accessibility Guidelines 1.0
and also this tool that will check your web site accessibility:
web aim
Designing Interfaces by Jenifer Tidwell is pretty good.
Well, a long-standing favorite specifically for user interface design is Alan Cooper's About Face. It should touch most important topics when designing Windows desktop applications.
Then there are also various UX patterns which are well-presented in Quince (needs Silverlight).
Jef Raskin's The Humane Interface is also rather good, but very radical in his ideas. Still, this book points out many fallacies in modern UI design. If you need to stick to the WIMP world, then following his suggestions might be a little hard as he tends to suggest to overthrow everything we're used to. But well-written and good for provoking thoughts, even if you don't follow all his advice.
As for books/articles on usability in general or on slightly different topics:
Jakob Nielsen's website useit.com. While not particularly fancy-designed it is a trove of thoughts and advice on usability in general.
Steve Krug's Don't Make Me Think. Web usability, but also a very good read.
Donald Norman's The Design of Everyday Things. Usability in general and has many pointers on how to think about usability without going into specific technologies. It's applicable to desktop application usability anyway, though.
Regarding articles, try Boxes and Arrows
Designing Visual Interfaces by Mullet and Sano provides a great foundation for different layout-related issues. Not a book on usability per se but still relevant, I'd say.
As for web resources, try:
useit.com: Jakob Nielsen's Website
Usable Web
A List Apart on usability
For book inspiration, see Suggested Readings in Human-Computer Interaction (HCI), User Interface (UI) Development, & Human Factors (HF) (and all the great answers in this thread).
My favorite usability blog contains very well-constructed, insightful and thoughtful posts, by David Hamill.
You can find his blog at goodusability.co.uk
Enjoy.
I read articles from http://ui-patterns.com/ and http://www.uxbooth.com/. Those have been helpful for me.
I would like to second uxbooth.com - we recently had an article published there which might be what you are looking for - check it out at http://www.uxbooth.com/blog/usability-testing-dont-guess-test/
usefulusability.com
is another good site, they regularly have good articles up there.
Oh, and another article we had published recently:
www.1stwebdesigner.com/development/usability-ux-pitfalls-howto-avoid/
I think this one provides some pretty good examples of issues that frequently pop up, and how to avoid them.
And if you are looking to run a simple usability test, what not check us out at IntuitionHQ.com
Good luck!

Who decides how an application UI looks? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
In some software company, who should be responsible for the UI design:
User
Designer
Manager
Boss
Depends on company size
etc.
In UI design I mean not only colors and images, but also control's layout, count, size, style, may be text user see.
In a small company, the answer is "whoever is good at it". Some of our best graphics were designed by a technical author who happened to have a flair for graphic design. Don't assume that someone has to have the right job title to do a creative job - innate talent trumps a job title any day!
Most companies have GUI experts and who design the front end. Some even have altogether different person(s) in team for interface layer programming, leading to tools like Expression which are supposed to draw a line between both jobs.
It however depends completely on company/person developing the application.
Well, UI design should be a collaborative effort. You as a developer should provide technical suggestions as you know the system from the inside. Your boss does provide the final answer, but he/she can provide a different opinion that you may not have realized.
Usually though, the business partner decides the final UI. They have have the practical experience with whatever your program is going to solve. They sometimes know for a fact what the user wants and expects from a solution. The UI would be a lot friendlier if the developer and business partner collaborated on the design.
A dedicated UI person is valuable to a development team, but several roles should have involvement in UI development. Ideally a UI person should be able to bridge between designers and programmers, so that the final design can be implemented with minimal technical problems. UI should be reviewed with programmers to make sure it can be translated to the web (or whatever platform you're working on) and with business analysts to make sure all the requirements were accurately represented. Users should also be involved in the design process, since they can provide feedback on usability. Sometimes what you think is a great UI will fall flat because users don't understand certain features. I've never had a project manager get involved in UI, but every team is different.
As far as the skills of the person developing the UI - It's not unusual to find a graphic/web designer who has development experience, so they will be able to create the designs and integrate them into the application. Depending on the project size you may have different UI roles. One project I worked on had a graphic designer, a usability / 508 expert, and a "UI integrator" (basically a front end developer). If there is no money for UI people, I guess the task would fall to a developer. I've worked with programmers who claim they "don't do UI" and they won't even touch presentation code, but I think any programmer who works on a platform that has UI needs to be able to do front end work.
This is for the User Experience Team. They should have tested a design, copy (text) and all of the other stuff well before you see the design or final layout.
Depending on the technology, the UI will be designed either by a programmer or a graphical designer or both, based on scetches of the program owner, a product manager or the end user.
It will always be the user that accepts or declines and therefore decides on a user interface. Hopefully not after shipping by just ignoring the application or solution.
Ideally, someone with formal training in interface and interaction design should be the one designing the UI. Nowadays, this is a discipline in its own right, with its basis in (graphic) design, psychology, ergonomics, communication sciences, perhaps even software engineering, etc. This does not mean that this person is the only one that deals with the user interface, as various stakeholders may have influences:
The boss may enforce some decisions based on strategic choices or financial considerations
Marketing may enforce some decisions based on product management
The customer may have peculiar wishes that he demands get implemented
The developers may have a certain style or preference
Common UI element, specific icons, logos, etc. may be designed by a graphic designer
But ultimately, it should be the UI expert that combines all these inputs and designs the UI.
Of course in practice, it depends very much on the size of the software company. A very large company can have their own department for user interface / user experience issues, whereas in a small company, the task usually goes to whoever is deemed best at it.
In any size company, you can take the chain of command and move up, to see who has the last say, and the reverse holds true for who will do it.
In an ideal world the Presentation layer is the responsibility of the analysis and design team. There are a lot of theoretical and practical uses to a UI, which a simple designer may have never been taught. That does not go to say that a designer with a brain - or experience - will not generate more than adequate results.
Bottom line: there is no right answer for a design. Even if you have a checklist of things that a good UI should include, there is always the aesthetic aspect of it, which is not really quantitative.
No better approach than trial and error. Even Google Adsense/Analytics encourages you to make multiple designs, and alternate between them while collecting statistics which are quantitative.
Given your question, I am guessing you do not work in a large company, otherwise your job description would have been well defined.
So: Stop whining and just do it!
UI design is a joint responisbility. UI Design is not just a flair for graphic design
It involves the clients, users, some with flair for graphic design and developers. You even review the UI which is done by someone other than the designer & asking stack overflow users' thoughts on a specific design brings us into the equation.
Generally, all people are responsible and one or a couple of people should be involved in the process from first contact with the client to final delivery on the system.
communication skills, flair for design (lo-fi or hi-fi), objectivity, being able to take criticism and analytical ability are all required.
The extent of applying these skills will vary by company & project size.
Graphic design flair means you could possibly get a great looking UI that is not usable.
I agree that UI design is a collaborative effort. In my experience graphic designers or user interaction experts create great mockups which ultimately get bastardized by managers and developers. If you have a UI concept that you want to get added, make sure to justify every aspect of your design.
Here is a basic idea of how the UI evolves in my MASSIVE software company.
Managers dictate a 1 or 2 sentence requirement.
Dev team develops feature
Graphic designer comes up with UI based on managers crappy description
Dev team bastardizes the graphic designers UI
Management completely changes their mind
Repeat step 2-5 at least three times
Release a Beta
Beta users and product reviewers feedback drive the final UI
Do not underestimate a good beta. You could make all the graphic or user interaction designers in the world happy; ultimately it's the consumers that buy your product.
How a UI looks should be guided by the user interface design guidelines. If your organization doesn't have guidelines lines it would be great to start on one.
The UI Guidelines ideally should be put together by a Visual designer (Theme) with help from an Interaction designer (behavior). So the answer is what colors should be there are answered by the Visual designer and what it should/ shouldn't not do by an interaction designer.
In real world all kinds of roles have a say in the interface. What we call stakeholders. From strategy guys, to marketing people, down to project management people. The nest to quite them all is to prepare guidelines that direct.

examples of both good and bad application user interface design? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I'm a blind student who's taking a required UI class. One of the assignments is to take screen shots of both a good and bad application user interface and comment on what's good and bad about it. I'll have a reader help describe the interface to me but would like pointers on applications to check out. They must be windows apps. In answers I'd like a link to the application as well as brief comments on what to focus on in the UI, for example color scheme is horrible, badly labeled controls, cluttered layout, etc.
An interface experience for a Blind person is a relevant aspect of UI design. If I were in your position I wouldn't focus so much on the visual aspect of user interfaces. Go from your personal experience. What is an application that you, as a blind person had a great degree of difficulty using? What applications are a joy to use?
If I were in your teacher's position, I would find such descriptions far more valuable than an attempt at pretending as though you can see, and that things like colors or fonts are relevant to you. (unless you are only partially blind, in which case font size may indeed be a relevant factor)
There are a great many people in my field that are keenly and constantly interested in such testimonials and evaluations from blind people. Not just in an academic context. I work for a government organisation that is required to make its resources accessible to disabled people. Don't sell your own perspective short, just because of a poorly worded assignment.
A little bit old, but quite well written, with plenty of examples: http://homepage.mac.com/bradster/iarchitect/shame.htm
Good: Microsoft Office 2007
Bad: Microsoft Office 2003
As far as Windows applications go, I like Microsoft Outlook as a positive example UI. The layout of Microsoft Outlook has been imitated in a lot of other software. It allows/facilitates quick and easy navigation and searching of a variety of information with very little user effort. It allows the user to see their information in different formats (message preview, list,est.) and to adjust the UI to meet their needs and make the information that is most valuable to them most prevalent/easily acceptable.
I have to assume that you have already done this assignment, but I want to give Breton a thumbs-up for his suggestion. If there is one thing that is most often overlooked, it is consideration for visually impaired users. I often steer aspiring web developers to http://colorfilter.wickline.org/ so that they can run their pages through the various filters. If one takes a screen shot of their application, they can embed it in a web page and run it through the tester also.

Looking for some examples of GUI apps with great design [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I will start developing my next desktop application in about a month. In the past I have delivered functional software that hasn't wowed anyone, including myself, in the usability or aesthetics department.
Does anybody know of any resources or guides or even books that could showcase examples of good design in desktop software?
There seems to be a lot of resources for web apps, but such resources for desktop applications are rather slim.
I enjoyed these dot net rocks tv videos by Mark Miller on The Science of a Great User Experience really got me thinking about good ui:
http://www.dnrtv.com/default.aspx?showNum=112
http://www.dnrtv.com/default.aspx?showNum=123
Where you can really make a difference with GUI design is if you are addressing a difficult to understand concept in a GUI.
When you are doing that, creativity is critical. When dealing with complex hardware configurations (something I had to do a lot, but probably doesn't apply to you), I've had good luck going to tech manuals and tech support people and trying to completely understand the problem. Then I took the methods they used to show me (diagrams from the manuals, whiteboard drawings, etc) and tried to code them into a GUI.
Had a couple massive successes with this.
Iteration is also critical. Prototype something quickly then beg everyone you see to try it. Ask them to solve a problem, then watch where they go first and watch what they have problems with.
Address every problem and stumbling block.
Don't be afraid to throw it all away and start over, it was only prototype code.
Separate your GUI from your implementation so that you can swap out the GUI if you find a better approach.
If you want to concentrate on just one feature, have a look at ITunes' search box which filters as you type. Other software may have had this before, but this was I think the first place I encountered it.
The difference between this and classic search was an eye opener for me in terms of readability.
Auto-complete which you see in so many places is another one. I'd recommend IntelliJ IDEA for the way it took auto-completion which emacs, Visual studio etc had for ages and added autocompletion for variable names and method names in a manner which almost seemed psychic the first time you encountered it.
You can look at Thirteen23 Experiences
To make things usable, you need to make sure that you follow existing conventions for your target platform and application type.
For example, if you're developing a Windows App you'd better make sure that control-c copies, control-v pastes, control-s saves, etc. The File menu better be the leftmost item in the menu bar, and the Help menu better by the rightmost item.
If you don't follow existing conventions, users are going to get annoyed with your application very quickly.
Google for HIG. Human Interface Guidelines typically include lots of research into best-practice in user interfaces, and explain in great detail how to design each aspect of a program. Also, have a google for "user-interface hall of shame" or something like that.
In this question I mentioned GUI bloopers. Part of great design is knowing what makes bad design and why. It is actually a great book, although I don't know how much of it is available on the website.
You can check case studys on websites of GUI companys. I fund few at www.puzzlehead.com
Check there and also other sites.

Software project manager: what is the best amount and quality of purely technical background? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
We are looking at hiring a software development project manager. His job is going to be concerned with running multiple dedicated project teams focused on delivery of software for external customers. He will also need to provide support to our business development unit and oversee post-implementations support of the aforementioned software. What level of hands on development experience should we expect from the applicants? Successful candidate is not expected to do any coding.
Not important. We should be focused on proven project management experience in software area.
None.
Some experience, exact technology does not matter.
Heavy experience, exact technology does not matter.
Some experience involving same acronyms as we use daily over here.
Heavy experience involving same acronyms as we use daily over here.
Some experience, mostly with technologies we do not use.
Heavy experience, mostly with technologies we do not use.
This question is regarding the best level and quality of required technical experience and is not concerned with any other skills and qualifications of a software project manager. Many thanks.
As with any position, you need to assess first and foremost what skills and experience you need on the team for you to be successful. Then hire to fill the gap for the skills that you do not already have on your team.
If you already have a team with strong technical and technical leadership skills then you don't need to hire someone who is likely to compete with the people you already have. If you are missing this, you probably want to hire a technical manager with some project planning and tracking skills.
Great project managers are those that are multidisciplinary - they are most successful where they can bridge the divide between the various stakeholders and team. The primary role of the project manager is to manage risk and facilitate communication and collaboration. As a minimum, you should look for someone that has proven experience in either your industry or with the technology space that you are playing in, otherwise they will be unable to gain the respect of the rest of the team and perform their primary role.
Which brings me to something else you should consider carefully - what is your culture? For example in a previous job, we had development leads that were very strong technically and wilful. Project managers were always relegated to second chair, and pretty much ended up as glorified MS Project admin. assistants. Anyone good did not stay long. What do you need to do to allow the type of skills you want to acquire for the team to flourish?
Most of our project managers have zero technical experience, so I'm guessing the skill sets are different enough that it's not necessary. However, they have to be bright enough to grasp/learn the concepts involved in development -- just not the implementation.
That's not to say that a technical background would be a bad thing -- it could be a "nice to have". Then again, it could possibly get in the way and they could try to control the implementation.
In my experience the very best technical managers I've had had very strong technical backgrounds (and usually were a little reluctant to trade herding code for herding coders). The worst were the the ones that were merely average programmers at best and had more of a management background.
The tentative conclusion I've drawn from this is that while not all programmers are management material, all good technical managers started out as good programmers.
Note that this answer is coming more from the perspective of hiring an engineering lead. For a project manager - someone whose job is to interface between the technical people and the customer - technical acuity is probably less of a requirement.
Some technical skill would be nice, but far more important is that they understand the functional area your company exists in. So if you sell an OS, then you probably want stronger technical skills than if you're writing banking software, for example.
Go with point 1. "Not important. We should be focused on proven project management experience in software area."
Edit: (after re-reading your intro-para) Seems what you want is a product-manager, and in support you need team-leaders on the diverse teams to handle and report on the technical issues. (Also since customer-contact is involved: a little marketing experience won't hurt!)
As an aside:
You are focusing on the wrong skill-set. You want proven administrative skill; proven organizational skill; and above all: proven people skills - (s)he must be able to communicate without antagonizing or patronizing the audience. The technical staff and programming staff will have all the necessary experience in development. (S)He must be able to manage and control these staff members effectitively.
The manager has to be able to communicate with developers. This either requires a decent technical background, although not necessarily with the same technology, or enough humility to know when the developers know more about something than the manager. I've seen both work well.
I think what I'm saying is that having respect for the developers is important, and there's two paths to it: understanding what they do, or understanding that you don't understand what they do.
Answer is "4".
Heavy experience with some technology is critical. I know the mindset is "project manager does not have to understand technology, he just manages people".
Well no, PM does not manage people: he manages project that is supposed to produce some deliverable that is acceptable at least across some desired aspects (capability, performance, reliability, security, maintainability, etc). If he can't understand technology, he's lost. Of course, he does not have to be an expert in peculiar technologies used in a project: but he has to be able to filter BS away, to question programmer's estimates (we know how those go), to feel at least technical risk here or there, to be able to formulate business ramifications of particular technologies.
In some ways I think that PM's challenges re technology are even bigger than those of programmer: he has to be genuinely interested in technology, yet he can't / should not have any technology bigotry, to be actually fair towards them (what they are actually good for and what they are actually not good for).
Read "In search of stupidity" for evidence how non-technical managers drove many tech companies into the ground.
This is excellent summary by Spolsky: http://www.joelonsoftware.com/articles/Stupidity.html
Now, the small print #1: not every programmer will make a good PM, of course. In short, control freaks, toxic personalities, egomaniacs, people who are good at coding but not at negotiating, people who are good at coding but yield to pressure too easily -- will FUBR their projects.
Small print #2: It might be possible that people with very good analytical skills might make up for lack of experience with technology. I've worked with people who were excellent business process and procedure designers, who instinctively understood how UI should be organized and what the software should be doing in this particular place and why and who could detect BS quickly even when served by domain experts but who could not program if their life depended on it.
Most has been answered already, but I'll add this:
Keep the same mindset that you would have when hiring an office manager. While the technology knowledge is important, you'll find that ambition, a will to learn, coupled with a team leader attitude will get you a better manager than looking at mostly technology knowledge. Most projects have some company/industry-specific skills that are involved and a quick learner / great leader will bridge that gap quickly.

Resources