What is this site

APL Web is a directory of projects built in a variety of programming languages, from Javascript to PHP to OpenGL. All of these projects have the single purpose of testing the limits of the web. Every project is built by hand and contains different innovative aspects in each.

Any work that has either influenced or contributed to the production of a project has been quoted and linked in each project. All projects are free for personal use and can be used for professional use although this is not recommended. When using any material, please quote this website or provide a link.

Who should use this site

This website is aimed at experienced or enthusiastic web developers, who already understand how websites are formed, know how to write website code that validates to W3 web standards and who are looking to expand their techniques and experiment with ideas.

jQuery (JavaScript)

About jQuery/JavaScript

JavaScript has been around since the early days of Netscape and has become the only powerful client-side scripting language that comes built-in most browsers. It is likely to stay around for a while until it eventually becomes obsolete, replaced by W3 web standards. For now however, it is used extensively. Unfortunately, due to the nature of JavaScript (client-side), web browsers can choose how to implement the JavaScript code and in some cases whether to actually implement commands at all (Internet Explorer).

Thanks to jQuery, JavaScript can now be used cross-browser more easily. jQuery is an API for JavaScript that extends JavaScript by adding a jQuery object. This jQuery object allows you to query css quickly, perform animations, access the DOM with ease with no additional code to compensate for browsers that do not follow web standards.

Using jQuery/JavaScript

When implementing JavaScript, it should only be used as an additional extra if JavaScript is enabled and not compromise on the accessibility of the website. For example, a navigation should be generated and fully operational without Javascript and enabling JavaScript should then allow the menus to animate. This being the case, JavaScript should be programmed in a non-obtrusive manner. All of the projects listed here conform to that paradigm.

Projects

Website Design

About website design

Design is simply using your imagination to create something unique. Website design is no different except that the website design needs to remain accessible and be easy to transform into a working website. This limits the design of the website in many aspects. One is that the location of a title/slogan/navigation and content need to placed at a particular place, and the other is only desigining what can be incorporated in the website without interfering with the actual XHTML content of the website.

How to design websites

Regardless of popular belief, ANYONE can design. Designing is easy, you don't need a degree in graphics design (although it probably helps). You don't even need to be to draw, as all of the design work will be on computer. An overview of the method of designing a typical website is as follows:

  1. Layout
    1. Create a document in an image editing program (like Adobe Fireworks) with a size of 900px width by 700px height.
    2. Create a title/logo and position them in the top left corner of a design.
    3. Create a slogan and position it just under or to the right of the title/logo.
    4. Write out the pages in the website and align them either horizonally or vertically to create a navigation, position it under just under the title/slogan or to the left side of the page.
    5. Create the content and use two or three large images - position them in the centre of the page, under the title/slogan and next to the navigation.
    6. Write out a footer, containing the address, email, telephone/fax number and credit/copyright notice - position this at the bottom of the page.
  2. Colours
    1. Choose 2/3 colours for the website.
    2. Make the background colour one of those colours.
    3. Make the text colour one of the others.
    4. Use the last colour to split up the content on the page.
  3. Creativity (use one or more of the following creative elements to make the website look better)
    • Round off the corners of the content/navigation.
    • Change opacity of the navigation.
    • Add drop shadows to images.
    • Add frames to images.
    • Use borders to split up content.
    • Justify text to make it look neater.

Description

The projects in this category are not full website designs, nor are they examples of how to design a website. Instead, the projects below represent techniques that can used to achieve certain design effects in a website.

Projects

Jogl

About Jogl

Java applets have been used sparsely online even though they unleash the power of Java in a managable container. The reason for this is that Java applets tend to be a little buggy in web browsers and even crash the browser if an unhandled exception is caught in Java. An advantage of using Java is the same as using Flash Player - most computers have it preinstalled or have needed to install it beforehand. Java is more suitable for 3d computer graphics than Flash as programming 3d polygonal objects in Flash is very slow and so is limited by it's performance. Java on the other hand can implement Jogl, which uses OpenGL for it's rendering so can render a vast range of techniques at very high speeds.

Using Jogl

The introduction of XHTML has made implementing a Java applet a little tricky. However, the code used in the project pages validates to XHTML 1.1 and works on all modern browsers. Using Jogl (OpenGL bindings for Java) requires the Java applet to run an applet-launcher binary, which in turn helps to load the Jogl library files to the client's computer (either .dll for Windows, .so for Linux or .jnilib for Mac OS X). Once the library files have been cached, the applet is launched, using the library files.

Please note that if you have installed the Jogl .jar files manually and inserted them in JRE_Path/lib/ext then the Jogl demos will NOT work. Please remove the files and relaunch the web browser if this happens.

Projects

3D Computer Graphics

About 3D Computer Graphics

The 3D Computer Graphics industry is booming with millions sold on both console and computer games. Computer graphics is not only used in games however, most noticably, in special effects in films, simulations, medical treatments, etc. Its use and development is likely to continue to grow and be used even more in the future. Programming 3d computer graphics is all about maths, and you will not truly understand 3d computer graphics without looking at the maths behind turning data into 3d objects and mapping them onto your screen.

Projects