Have a suggestion?

Click here to suggest a blog item.

Newsletters Archive

Catch up with DonationCoder by browsing our past newsletters, which collect the most interesting discussions on our site: here.

Editorial Integrity

DonationCoder does not accept paid promotions. We have a strict policy of not accepting gifts of any kind in exchange for placing content in our blogs or newsletters, or on our forum. The content and recommendations you see on our site reflect our genuine personal interests and nothing more.


Latest News

July 2, 2024
Server Migrations Coming

  • Donationcoder server migration is slowly proceeding, expect some hiccups as we get all our ducks in a row..

July 19, 2022
Software Update

Jan 3, 2022
Event Results

May 13, 2020
Software Updates

Mar 24, 2020
Mini Newsletter

Dec 30, 2019
Software Updates

Jan 22, 2020
Software Updates

Jan 12, 2020
Newsletter

Jan 3, 2020
Event Results

Jan 2, 2020
Software Updates

Dec 30, 2019
Software Updates

April 27, 2019
Software Updates

Feb 26, 2019
Software Updates

Feb 23, 2019
Software Updates

Feb 14, 2019
Software Updates

Jan 6, 2019
Event Results

Dec 2, 2018
Software Updates

Nov 13, 2018
Software Releases

July 30, 2018
Software Updates

June 24, 2018
Software Updates

June 6, 2018
Software Updates

Apr 2, 2018
Fundraiser Celebration

Apr 2, 2018
Software Updates

Feb 24, 2018
Software Updates

Jan 14, 2018
Major Site News

Jan 10, 2018
Event Results

Latest Forum Posts

Programmers who Donate
I'm a small-time shareware/freeware author myself, and have a strong appreciation for the amount of time you're spending on this project. Simply put, I believe that good work should be rewarded.
M.R.
M.R. image

Our daily Blog

This page spotlights the most interesting posts collected from our forum every day.

You are viewing a specific blog item. Click here to return to the main blog page.

Latest Jeff Atwood (Coding Horror) Column: UI-First Software Development

Screenshot - 4_4_2008 , 5_08_38 AM_thumb.png
Jeff recently quit his day job, but thankfully his Coding Horror columns are going strong.

His most recent one is about the importance of prototyping a user-interface design before you start coding.

Before I write a single line of code, I want to have a pretty clear idea of what the user interface will look like first... Of course, UI is hard, far harder than coding for developers. It's tempting to skip the tough part and do what comes naturally -- start banging away in a code window with no real thought given to how the user will interact with the features you're building.

Remember, to the end user, the interface is the application.

I agree completely with the idea of prototyping before coding.  Personally I've found that the best way to design a program, especially if you are collaborating or working for a non-programmer, is to actually imagine the program is done, and walk through it's use.

However, I do think something needs to be added.  Speaking from someone who has fallen into this trap before, it's important to realize that although "to the end user, the interface is the application", as a coder you should as much as possible separate the user interface from the guts of the application.  The user interface should be a light wrapper around the main code -- don't let it get it's hooks in too deep or you'll find that maintaining the code becomes that much more difficult.  The "model-view-controller (MVC)" approach is a sound one, it advocated separating a program into a front-end view (the user interface), the main program logic (the controller), and the components dealing with any stored data (the model).

So yes, by all means prototype programs before coding -- walk through them with a focus on how the user interface would actually work from a users standpoint.  Then once you have that done, step back from the user interface and figure out how to code your program in a way that makes the user interface a thin (easily replaceable) layer.

http://www.codinghor...archives/001091.html



Share on Facebook