Tag Info

New answers tagged

0

It depends. How well defined are your requirements? How much of the system is UI facing? From my experience most customers do not know what they want until they see something in front of them. So I normally provide some wire-frames of key UI aspects or deliver the majority of the UI (non working). This allows for the customer to change their mind on ...


0

Think in your users/client point of view. A software system is a collection of features that gives this users/clients some value. Of course each one of this features have and UI, a backend and some other things. Build your system always feature by feature, and try divide in very small features. This way you are always near to have something more to deliver ...


1

What I tend to do is to start with a crappy UI: something that just dumps the variable data on the screen. No fonts, no alignment, nothing actually graphical for a long while. Just "Welcome user x" and buttons called "load pic" etc. What's good about this is you will find out if something in the backend is broken. As the development proceeds, you might find ...


0

If you use a good milestone and issue tracking system, you can avoid some of these problem because at a glance, management can see how productive you're being. They'll be able to see that you're 80% finished the backend and that the UI is the next milestone; they'll be able to see that you have a set of UI and backend tasks to finish for a specific feature ...


7

In an Agile environment, you might hear discussions of "walking skeletons" or "thin vertical slices". The idea being that since working software is what is important to the user, you build out the software in a working fashion piece by piece. In the example application you mentioned, you would start with the window and maybe one tab, and make it all work ...


2

In large (PHP web-based) applications that I work on, I try to get the classes and methods in place first, which return dummy values. This is to establish a pseudo-contract that the other devs can use to implement the UI for. A secondary advantage to this method is that we can hone the contract / interface as the UI requirements change (and they always ...


73

There is a general conception amongst many business users and clients that when it looks complete, it is almost complete. As you likely know, this is far from the truth. One can have it looking nice, but with no backend and some users think that making it look nice is 80% of the work, not 20% (or the other 80%). Countless developers can tell horror ...


26

It depends: You need a tight feedback loop around your most important piece of functionality If the core of what you do, the risky and scary part, is some internal engine, then get the core part working in say the console or through unit testing. For example, a protocol parser doesn't need a UI to know whether its operating correctly. If your cool thing ...


3

I would recommend making a mixture of both functionality and UI (and getting feedback or testing experience ASAP). BTW, isn't it the way that most large GUI software is developed? Look for example into the Firefox browser: from one version to the next both functionality and user interface have evolved.


1

C provides plenty of polymorphism for what you're doing. Cast one pointer-to-function to another, cast pointer-to-struct or overlay them with unions. Some macros can really help the readability -- read some big C projects to get ideas of how. Just be careful, because the compiler won't help much. Bullets: No, looks fine to me. Avoid switches. External ...


2

Switch cases are still a viable option for such limited scenarios(it is doubtful that your tree navigation will ever change so radically, that switch case won't be able to handle it). It is the simplest solution, but not nesessarily the best. So, I could recommend you to use pointer-to-functions to implement some sort of polymorphic behaviour: struct ...


4

The answer to this kind of question is always the same: if the language doesn't provide a useful abstraction, you must emulate it. (Whether doing this is worth the additional effort depends on the specific circumstances of your program, which you know better than we do, but for the purposes of this answer I'm assuming that it is.) Polymorphism is the ...


0

After some thought it seems like the following approach might be beneficial whereby each inner control is represented by a facade which constructs the presenter, view and its model and exposes the relevant methods: I would love to know what others think about this idea...


0

This is a common theme: How can you help the uninformed / computer illiterate at the same time as showing information that more advanced users such as programmers, developer, testers, etc. can use. I think the answer is you do both! The order is important though and I recommend you have: What happened. What to do now Technical Details Technical ...


0

I don't think there's any good reason to invent your own scripting language. There are several languages that are designed specifically to be embedded in other applications (eg: tcl, lua). Save yourself the trouble of inventing yet another language and instead consider adapting one of those.



Top 50 recent answers are included