Mike Chantler's Project Suggestions
Session 2009-2010
The projects described here nearly all use Abobe's Flex so that their full graphical functionality is completely portable and accessible via www browsers. Essentially, Flex allows you to build client-side applications that have the responsiveness and sophisticated graphics that you used to only get with good desktop executables. It also allows you to easily produce mashups using web APIs available for Flickr and Google maps for instance.
Three years ago Adobe released Flex a new programming environment for so called “Rich Internet Applications”. This is causing a revolution in the way internet applications are programmed that means the days of frustrating Java/HTML + serverside scripting combinations are numbered. Microsoft's similar offering is Silverlight, however, Flex has the advantage that its target is the Flash player - which already has a huge usre base.
Flex’s delivery platform is the Flash player which means that applications look identical on any browser/OS combination. It also means that it will execute on 99% of all computers. Gone are the days of adding screeds of conditional script to webpages to cater for the differences between Firefox, IE etc.
Flex has:
Its quick to pick up for anyone who has used HTLM and Java or similar layout and programming languages. ‘Flex is being used for the first half of the 4th year module “Animation and 3D Modelling”.
The picture gallery example shows how Flex layout and navigation tools can be used to quickly create an web application which automatically resizes, scrolls, has click behaviours etc. Note that the application is driven by a single xml file that was generated by an image manipulation program (XnView).
Notice that this is an incomplete teaching example and still has many irritating behaviours!
For other apps etc. see “Links: Animated Flex & Flash Examples” section at http://www.macs.hw.ac.uk/~mjc/teaching/Animation/index.htm
To develop highly interactive, cool web application that allows users to quickly generate a range of collages of Fickr photos using Flickr tags and image features.
Flex application so basic programming skills required.
To develop highly interactive, web application that allows users to quickly search for images of various Flickr textures using Flickr tags and image content.
Similar to project 1a with bits of project 9.
Flex application so basic programming skills required.
Web application that allows several people at different locations to brainstorm, alowing them to share and develop ideas to create and evolve a 3D mind-map.
Flex application so basic programming skills required.
Web application that allows students to upload images, movies, and comments to a Flex application that displays all information on a local Google Map. Users should be able to 'sketch' paths, routes, buildings as well as adding comments, movies etc. to locations.
Application should be locally hosted using simple PHP and MySQL.
Flex application so programming skills required.
Flex application so basic programming skills required.
Anything that you want to do for a Web application that’s legal and is challenging enough to provide good marks for a 4th year project. But it must have a clearly defined set of potential users and be of clear benefit to them, so it can't be just an "I want to learn about Flex apps" project.
Flex application so basic programming skills required.
Student must self-reliant and be likely to get a 2.1, of first class degree.
Web application that provides interactive tutorial for how OpenGL 3D transformations work.
Flex application so basic programming skills required.
Knowledge of basic OpenGL transformations.
Implement Johnny Lee's head tracking for 3D display - this makes the screen adapt to where you are in the room making it look as if the screen is a window onto a real 3D world.
Use Johnny Lee's Wii software and Flex's 3D effects (or OpenGL) to implement simple dynamic 3D sceens.
See the YouTube videos and his web site for great description.
Id also like to do this with an Android phone with tilt sensors.
Flex/openGL/blue tooth application so good programming skills required.
Web application that allows users to synthesise 3D surface textures such as rock, stone, tiles, brushed metal, weaves, wood grain, marble etc.
This project would develop a set of Flex components (in ActionScript) and Flex's automatic layout tools to produce a Flash application.
Two user modes would be provided: Basic and Expert.
Basic Mode - Users would select a texture 'type' (e.g. rock, stone, tiles, brushed metal, etc.) and be presented an image of the output texture. Sliders would allow users to change attributes such as roughness, granularity, randomness, etc. Users could then save surface normal and height maps to image files.
Expert Mode - Switching to expert mode would show the basic texture generators used to produce a particular texture as a series of interconnected blocks (e.g. to generate marble we would have a fractal noise block connected to folding block connected to thresholding block). The user could then alter any parameter in any block, change the connections between blocks to reorder them or add in new blocks from other texture generators for complete control.
Good combinations could be published on the web with the expert's name.
Flex application so basic programming skills required.
Develop a Flex application to allow a number of remote users to drag and drop web page categories into groups - the application then generates the optimal grouping for tree navigation of the site.
This could be extended to distributed brainstorming if users were allowed to dynamically create categories.
Could also be extended using a little image processing to process photos of collections of posit notes - each posit note containing an idea from a brain storming session. Users could then organise them into groups individually - the aggregate result being presented (as a dendrogram or other cluster representation).
Use Flex list components (advanced data grids) to allow users to drag and drop categories together. Then apply something called dendrogram analysis to combine and show optimal grouping. This would be similar in many ways to WebSort
Flex application so basic programming skills required.
Improve on Doodle's meeting organiser and other tools using a Flex interface.
Use Flex list components (advanced data grids) to allow users to wipe, highlight, drag, drop diary to indicate availability for meetings.
Flex application so basic programming skills required.