TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Signs of a Programmer Created UI

36 点作者 Soupy超过 15 年前

9 条评论

Deestan超过 15 年前
By "programmer", he apparently means "novice Windows programmer". I'm slightly offended.
评论 #833031 未加载
评论 #833290 未加载
评论 #833167 未加载
Soupy超过 15 年前
Personally, I took the article as a warning against the common pitfalls of basic UI design. I felt that it covered several ui issues that are very prevalent in programs today (the excessive use of dialog boxes really hit it home for me) and that the author was simply pointing these issues out and giving a designer's perspective on them to help programmers avoid them. Not all of us (programmers) get guidance in UI design so I definitely see where he is coming from.
trunnell超过 15 年前
For a more thorough treatment of this topic, read Alan Cooper's classic book _The Inmates are Running the Asylum_ <a href="http://www.amazon.com/Inmates-Are-Running-Asylum-Products/dp/0672326140" rel="nofollow">http://www.amazon.com/Inmates-Are-Running-Asylum-Products/dp...</a><p>Cooper first writes something we all like to hear: programmers actually control the fate of most high tech businesses. But then he makes a compelling argument that we're really horrible at what we do.<p>The ideas in this book are difficult to swallow, but once I got past my own ego I learned a lot from it. Not every programmer is a design idiot, but most of us are. Good design requires study and training. Intuition alone only gets you halfway there (unless you're Steve Jobs, and he's not a developer).
评论 #833452 未加载
makecheck超过 15 年前
This might be more of a comment on the state of available tools, than the habits of programmers.<p>While some programmers will have the passion to make great UIs no matter how difficult or tedious the code becomes, a lot will simply find the first thing that gives them the results they need. (In fact, even when their end goal is to make something nice, they may still start with something ugly to make sure that everything else is working.)<p>There's really only two ways to solve that: give them more time to ship and make "great UI" a clear deliverable (that they're paid for), <i>or</i> give them better tools and expect correspondingly-better results in the time originally allotted.<p>Assuming your company isn't producing just one product, it's usually wiser to invest in the programming tools. That way, you pay most of the cost once, during development and perfection of the tools, instead of having every single product pay a penalty as programmers and QA have to correct cosmetic and behavioral imperfections in the UI in 1000 places.<p>Take Interface Builder and Cocoa on Mac OS X. The design of the layout tool, combined with the unapologetic adherence to MVC and KVC design principles in the API, means that interfaces are <i>easier to do elegantly than inelegantly</i>. So it should come as no surprise that the resulting programs, relative to the amount of time spent, tend to be more functional and easier to use compared to equivalents on competing platforms.
pmichaud超过 15 年前
Do you think he's just trolling with the first comment about exclamation points?
评论 #833015 未加载
评论 #833016 未加载
JulianMorrison超过 15 年前
Signs of a programmer created UI:<p>- hjkl are navigation keys<p>- Significant amounts of configuration via plain text files.<p>- Plugins. In multiple languages.<p>- A scrolling log viewer screen.<p>- Reports obscure metrics in the status bar.
评论 #833902 未加载
maw超过 15 年前
He missed the case where verbs in the UI match the model of data within the program and not a normal user's mental model. Git, powerful and amazing and awesome and mind blowing and game changing as it is, is a prominent example.
Tangurena超过 15 年前
He missed the zeroth sign: it sucks.<p>But then, off-by-one is the canonical programming error.
gojomo超过 15 年前
On the web, "5. Data Grids" becomes "uses tables excessively".<p>These tables may extend off the screen horizontally; have unnecessary grid lines or alternating shading; waste massive amounts of whitespace for varied-length cell values; and include form controls that only take effect with some submit button several scroll-pages away.