Monday, 21 May 2012

Authoring vs Programming


Authoring can be done in certain programs and applications, such as Microsoft Power Point or Microsoft word. By definition authoring is;


“Authoring involves the assembly and bringing together of Multimedia”

Dave Marshall. (2001). Multimedia Programming vs Multimedia Authoring. Available: http://www.cs.cf.ac.uk/Dave/Multimedia/node25.html. Last accessed 15/5/2012.

This meaning that in short, authoring is creation and collaboration of a multimedia product. Authoring is generally more limited to what can be done in comparison to programming as you are limited to what the program or application can do. When authoring you are using a premade application or program to create something, these programs are considered high level assembly programs, and programming is considered low level. Although programs were mentioned earlier, there are other programs which can consider to be an authoring program and a programming one because of the freedom it allows, for example Adobe Flash, you can program and code something to work, or you can do it via tools the program offers. In this case, it is considered an authoring program because the base of the program and main use of it is authoring.


Thus, Programming is creating something entirely of your own, with code. Perhaps using a program such as GLbasic, this is another program which can be considered programming and authoring, although it is more of a programming program because it does not offer many features to avoid coding something manually. Although it does help with aspects and have features designed to help the user. By definition programming is;



“Programming involves low level assembly and construction and control of Multimedia and involves real languages like C and Java.”

Dave Marshall. (2001). Multimedia Programming vs Multimedia Authoring. Available: http://www.cs.cf.ac.uk/Dave/Multimedia/node25.html. Last accessed 15/5/2012.


A mentioned before authoring programs are considered high level assembly and programming is considered low level. As you go along the scale, the more something involves doing things manually with code, the lower it is, and vice versa for authoring programs and features.  An example of a high level program for authoring would be Power Point, a lot lower down would be GLBasic, because the program does not do many things for you, you have to manually input the correct code and make it work yourself.

Assets can be also known as external sources of information such as sprites, or sounds. These are used in programs by importing them, or telling the program to import a certain file in a location. When using sound in GLBasic you load it in the beginning of the program and set it as a global, then tell the program to play that sound when you want and then tell it to stop. You also load in images for sprites and backgrounds for example.





Programs that you use and programs that you make will normally and nearly always include some kind of button, a button is an interactive part of the program which lets the user press it, or interact with it and the program will react upon that. For example press a “Help” button might display help options.  As shown below, even in the program I am writing this in has a vast selection of options which are triggered by buttons.


The buttons are also used in games, as well as functional programs, for example you could create a game based on clicking buttons where the objective is to hit the button before it vanishes and collect a high score from doing so repeatedly.

Time lines are commonly used for authoring programs to, obviously control when things happen with time. It also can display what is happening within the program/project in a neat and easy to understand view.
Above is a screenshot that uses a timeline to as a master control point of the project. Taken from Adobe After Effects. Although other Adobe programs now use timelines, for example; Flash, Photoshop (CS6), Premiere and Edge (In dev), as you can see there is a trend which is more programs are starting to adapt and use timelines.



Slideshows are by definition a series of slides, traditionally made up us static images and later on information, such as charts and such for business and education uses. However in recent years you have the ability to add video into them. One of the most common programs for making slide shows is Microsoft PowerPoint. As far as users being able to interact with it, you cannot really go further than being able to control what you view, e.g next slide, previous slide or perhaps a menu.


Authoring programs are as stated before more limited to what you can do with them as opposed to programming, in which you can create what you wish, if you know how, that being the major setback of programming. However authors are limited when using authoring programs because they can only do what the program permits. For example trying to create an interactive game in Microsoft Word would not be very effective because that is a text based authoring program. Likewise for other authoring programs, they are made to help others create things within their boundaries, not to expand upon them and create new things, such as making a new application, program or game.
GLBasic is very close to a real language, as it compiles the code you have input into C. This means you are very close to actually writing in C. Of course it is better to actually learn how to write C first hand rather than using a program for numerous reasons, one being it can help you further understand how C works and how to make a better product in that language. Although I have only mentioned C, there are other languages which this can be applied to, for example Java, HTML or CSS. Learning any real language is a big help and will also look great on a CV when applying for jobs. In a related post I found that employers are looking for those who know languages such as HTML, Java, CSS, AJAX and others. Obviously these were for jobs that involved using such languages; however it still shows your knowledge, ability and will to learn. It is also common sense to learn something like a language if you wish to be part of the interactive industry; it also makes sense if you only know how to code in a program which makes parts for you because when you don’t have that program you will struggle.
There are many ways to learn a language independently such as online courses and tutorials written by others who already know and understand the language. There are also websites and courses set up to teach people. That on its own shows that learning languages is important and a major key skill.