How Computers Work
Computer programs consist of two or three basic parts which are made up from a lot of different files stored on your computer.
These basic parts include the front end or screen area you work with in a program. The back end which are the routines to actually do the work for you. Finally in some programs there are also data file which are either created by the back end or by you, the end user of a given program.
The font end is what you use to work a given program. In today’s world it is often called a “form” and it takes the shape of a square or rectangle, sometimes totally filling your screen. On this form might be buttons to press, spaces or fields in which you enter information like a name or number, a large text area in which to write information, etc.
All these items are known as “objects” in the modern programming world. An object is something like a mini-program. Your mouse cursor, for example, is an object. As this cursor moves over other objects the size and shape might change because your operating system, be it Windows, Macintosh or even Linux, keeps track of all objects. Each object has preferences and parameters. When you pass the mouse cursor over your basic screen area it is in the form of a pointer arrow. If you pass this pointer over a field or text input object in some program the shape of the mouse pointer might change to an I beam, which is the mouse shape used to position text. If you press a button that saves or loads some data then the mouse pointer might change shape to an hour-glass telling you to wait will some long operation is performed.
A few years back programmers had to actually make those mouse cursor changes manually. They had to write them into the software program as a part of the back end, but today both Windows and Macintosh have provided automatic sensing of the mouse when it is placed over certain objects, even in a program not written by Microsoft or Apple.
The ease of using a program is partially determined by the front end. This is often referred to as “look and feel.” Many programmers try to provide a similar “look and feel” to software so that end users (you) can work with the software with no great learning curve, because you intuitively know what to do. Copying text, for example, is often done by users pressing the button for CONTROL (CTRL) and the letter C on the keyboard. This puts the picture or text into memory (we sometimes call this a clipboard) so it can be pasted into another document or program using the hot keys CTRL V. Not every piece of software uses this format, but most do to keep the process of copying things consistent.
Front ends for software such a photo programs often use many different forms, each having different objects. The most common is a floating tool bar that allows you to work with the primary features of the photo program, such as drawing lines, circles, doing a fill, changing color or adding text. When a form spawns another form we often call this a Parent-Child operation. The main photo program area where you see your image is the parent form. The little floating tool bar is the child form. This tool bar often duplicates choices you can also select from a menu on the parent form.
Designing front ends or forms is often done by a specialized team who work in tandem with the back end programmers. The team leader will outline what the software will do and how, basically, it should do the work. The front end designers try and make a concise and intuitive work area that meets this goal, but there are limitations.
Size, is a big factor. Not everyone views their software at big resolutions. Many people still work in 800 x 600 pixel screen sizes and some people still use the older 640 x 400 size that dates back to the world of DOS and Macintosh Plus computer. You can make controls so small that the user can’t tell what an object is. So the front end designers have to work around a given space area and if they choose too high a resolution then some people can’t use this software because their screens won’t support 1280 or their screen is only 14” and too small to work in 1280 resolution with ease.
This is why some software uses parent and child forms, so that like pages in a book you have more than on form on which to place your work objects.
When you see a piece of software that uses file folder tabs to switch from page to page, this is simply another variation of the parent-child form concept. When you click on a given tab the original form may be told to vanish from view and a new form is told to appear.
Word processors and spreadsheets, such as Word for Windows or Excel use another variation of the parent-child form called the Multiple Document form or MDI form. In this one the child form always stays inside the parent form so that both forms can be seen at the same time. Multiple child forms can be called upon and they rest on top of each other inside the parent form. This is how you write several documents at once using a word processor or have different spreadsheets open for accounting work.
In the old days (back around 1990) programmers had to create all these forms and objects manually using programming code. Today we simply buy or import a “spreadsheet” object which generates the grid pages you see in something like Excel. In the old days we used to have to make all the rows and columns using line tools and then write code just to keep track of each little area. Today, modern objects do this for us and we connect these to the back end using special identifiers.