Thursday, March 22, 2012

We interrupt this program..

For some good information on what makes a good program. If you been following my blog posts you have already seen Pretty Suite Deal, which for those who don't know, was me talking about what I believe a program suite needs to be considered "good." Now it is time for the question, "What makes a program a good program?"

This in and of itself is actually simple in essence, but difficult for people to really grasp and use. I have seen open sourced programs that followed these, and was good,  but because of the little group of people who knew about it didn't tell people or for some other reason, it was not successful.

A good program should consist of the following:
* It needs to be needed/wanted by people
A program can not last long without any support if the only people who use it are the people who develop it. If no one but the developers was using it, then there would be barely any bug issues that would fix, and the program would develop slowly. If no one but the developers used it, it would start becoming more like a ultimate goal, and more like a chore for them to continue not only this, but any program they try and develop later in life because of the knocked back ego. Now, I am not saying that if it is not needed you need to still use it, because that is a bad decision on yourself, but this is more of a warning to someone who is going into the software industry with only one idea in their head.

* It needs to run smooth
Now this one is a bit big one I complain about a lot with programs. Normally they will sacrifice smooth running for fast running, when they can try and achieve both. What I am talking about smooth, I mean that it is not CPU intensive. It won't gobble up unnecessary resources which will cause everything else you are doing to slow down.

* It needs to be fast(ish)
As I said above a program needs to run smoothly AND fast. picking one or the other is not such a great idea because then the program itself is bad. A program that is not built to run as fast as it can will never accomplish its goals, people will become frustrated and not want to deal with it for too long before trying to find an alternative.

* It would need to have a non web-based help feature
I only stress this because I have been watching with a lot of programs where their help feature either linked them to the internet or they had to download the help files from their own site. Now I am not saying I do not see the benefit about on-line help (heck, combining them is actually a great idea with having one set that is installed and another that it can link to online, or even updating the help feature when it updates the program itself). I am just tired when I am trying to look through documentation (normally starting with the help features) and I have to read it online, so if I was using a computer that was not online I would be royally screwed and that is just no fun.

* It needs a well developed UI (User Interface)
In today's world this is a big must. People want something that looks shiny, has nice pleasing sounds, and really looks like it was from a game itself. They want the ability to change its looks so that it pleases them. Now I do not blame them, for I also like eye pleasing UIs. I even know a few people who won't use a program if it does not please them by what they see and hear from it.

Announcements:
Sorry about the late post I got sidetracked with poker last night and didn't get back till late.

Also, tomorrow I should be posting up a blog about the history of blogging for those who are interested in some history.

In a week (on wednesday) I am going to have written a review on Blender 3D modelling tool, and maybe another one and compare and contrast them.

Your Fellow Technomancer,
Kyle Atterson

No comments:

Post a Comment