📄 spartanuserinterface.html
字号:
<head><title>Spartan User Interface</title></head><body><h1><img src="logo.gif"> Spartan User Interface</h1>I don't know what kind of user interfaces they had in Sparta. Short swords, I think. Right to the point.
<p>Your users don't know what they want: they have lots of ideas for what they might want. They don't know how they are going to use the system: they have lots of ideas for how they might use the system.
<p>While developing the system, run it from a workspace, or from the simplest GUI you can create. Then when it works well enough to actually test, sit down beside the user and be the computer. Ask the user what s/he wants to do next. Make a note of it. Do it, show the results. Repeat until the real use of the system is a bit more clear.
<p>Provide then the simplest interface you can create. No bells, no whistles. Sit down and watch the user. Make the things they find hard easier. Move the features they don't use off into the boonies. Repeat until you have a system that really does what the people really need.
<p>It takes nerve to use this strategy. People will panic. But remember, GUIs are easy - you can even do them in Visual Basic.
<p>See also <a href="ModelFirst.html">ModelFirst</a>. --<a href="RonJeffries.html">RonJeffries</a>
<hr>
This would work well when you are designing an interface for a few, internal users who understand their domain. Or it works well in the early stages of a project to flesh out how a subset of users see their task.
<p>Imagine you have a large, heterogeneous group of users spread around the world. You then need to <a href="http://c2.com/cgi/wiki?FakeItConvincingly">FakeItConvincingly</a>, watch them use it, and iterate, iterate, iterate. For high-risk products, this is a project in itself. --SusanJohnson<a href="http://c2.com/cgi/wiki?edit=SusanJohnson">?</a>
<hr>
GUI's are not easy, except in Visual Basic. That's because Visual Basic is specifically designed to make GUI layout easy.
<p>GUI layouts in Visual Basic are not easy, except if you're willing to throw something together willy-nilly that doesn't resize or scale well, and you don't spend time making sure everything looks nice.
<p>Ugly GUI layouts in Visual Basic are not easy, except if you don't care how usable your users find the application.
<p>Ugly GUI layouts that aren't useful to the users <em>are</em> easy... in Visual Basic.
<p>(I agree with the principles described in <a href="SpartanUserInterface.html">SpartanUserInterface</a>, but I think the "GUI's are easy" statement is unnecessarily condescending and misrepresents the amount effort that goes into creating a quality GUI.)
<hr>
With VB5/6 good GUI's *are* easy, they can also be fast and robust so long as you are staying within the bounds of MS-Windows standard look-feel. This is not the place for GUI creation tool discussions though.
<hr>
<a href="SpartanUserInterface.html">SpartanUserInterface</a> are fine if you are operating in a none political environment, however most developers are not. Typically software is developed in house for in house uses. Their are very many reasons why projects can be canceled, and very many people who want to cancel them so that they can get the budget to do what they want. Even absolutely business critical projects are vulnerable.
<p>Pretty user interfaces can help to build support for your project, ugly ones can kill it. Perception is all.
<p>Another argument is this: some users and customers cannot differentiate between "the same program with a new front end" and "a completely new product". Sometimes this is useful, sometimes this is deadly: know your customer.
<p>However, there is sense in <a href="SpartanUserInterface.html">SpartanUserInterface</a>. The hours spent building a component that is not used in the final release can leave a developer very upset.
<p>My view; be careful who you show your <a href="SpartanUserInterface.html">SpartanUserInterface</a> to, they may be the last thing that you show to anyone!!!!!
<p>-Simon Thompson.
<p><hr>
<p>What about HtmlUserInterfaces<a href="http://c2.com/cgi/wiki?edit=HtmlUserInterfaces">?</a> them? Would YOU build the user interface to a large application using HTML?
<p>No I would not. HTML interfaces might allow you to quickly build a stylish(?) but simple interface. However, it brings along problems that I would prefer to avoid as most simple interfaces grow.
<p>Using HTML implies support and testing for multiple web browsers and their multiple incompatible <a href="http://c2.com/cgi/wiki?JavaScript">JavaScript</a>/HTML/DHTML implementations (the managerial belief that web browsers are all compatible and give zero installation benefits drive this).
<p>Using HTML puts constraints on usability. Getting a whole page at a time makes it difficult to check any user input until (s)he has completed the whole page. It also takes away the ability to add helpful finder buttons, , and hide or grey controls that are not relevant to the settings the user chooses. In fact anything beyond the basic form makes the page large to download and the pauses interrupt the user's flow of work.
<p>Using web browser clients forces a certain type of architecture. The openness (menu->view->source) of the client forces the business logic state onto the server, then for the server to scale properly ("Oh and while we are at it make it work for 1000's of users") it has to be stateless for load balancing software used on the web-server to work. The non-persist HTTP connection forces the client to do something akin to a login for each message, and assume that lack of messages is a logout. Eventually most of the code that is written is not for the business logic or UI, instead it is for maintaining the session.
<p>HTML has its place. Where the application is for use on the internet by people who do not have complex requirements from your software. But please don't make us re-write all our pretty thick clients just for a marketing whim (Damn - too late). --Reg Whitton
<p><hr>
A good non-thick HTML interface is a thing of Spartan beauty. The point of an HTML app is missed above "Getting a whole page at a time makes it difficult to check...". HTML is a major paradigm shift. There are certain things a user will put up with in a Web browser they are un-williing to accept in a thick GUI. It seems every GUI project I've ever worked on, people tried to cram as much as possible on the screen at one time - everybody wants to leave an imprint. Leave Javascript out, just stick with very basic HTML. It's beautiful not having to check the keyboard and trap a gazillion different events. That being said, I would also say, never start a Web App project from scratch. Always use an existing base framework that manages sessions.
<PRE> ... Kimball C. Sampson 3/28/01 (Contract Developer at Discovery Channel).
</PRE><hr>
<p>See <a href="http://c2.com/cgi/wiki?GuiGuidelines">GuiGuidelines</a> for more user-interface principles.
<p><hr><a href="http://c2.com/cgi/wiki?edit=SpartanUserInterface">EditText</a> of this page (last edited March 28, 2001)<br><a href="http://c2.com/cgi/wiki?FindPage&value=SpartanUserInterface">FindPage</a> by browsing or searching<p><font color=gray size=-1>This page mirrored in <a href="index.html">ExtremeProgrammingRoadmap</a> as of March 31, 2001</font></body>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -