app /wikiA competition to create an application using only 5K (5120 bytes) of code and resources.
5K is pretty small. It's about enough to show an idea. Working the constraint will require some creative thinking. With a 5K app you ain't gonna need it, so you're forced to really pare down your app to make it just do what it's meant to do. It also shouldn't take long to write a 5K app, so it's a great way to try some experimental ideas out.
Java apps should be a single .jar file that may execute either as an applet, application or webstart app. For the applet and webstart app additional resources may be required (e.g. html file to embed applet, jnlp file for webstart) - these resources don't count to the budget, as long as they are not used to pass additional information to the app. If they do then they count to the budget. Effectively they are equivalent to invoking the app on the command line.
Flash apps can embedded in html can be considered as similar to Java applets, so similar rules apply (not a Flash expert, so this may need changing).
Javascript/HTML apps should be contained in a single file. To keep things clean it is recommended that a build script is used to take separate javascript, html and css and combine them into a single file. A compressor (e.g. YUICompressor) can also be used during this step.
C/C++ etc compile to executables, so that should be fairly obvious.
Python, Perl, Ruby and PHP can be turned into self-extracting scripts to save space (see notes I have on doing this in Python) and should take the form of a single file. Resources should be embedded in the script as needed (this may require you get friendly with your languages Base64 libraries and that you create build scripts to package things up into a single file).
PHP may assume the presence of mod_php (seeing as that's the standard way to run it).
Mobile applications are of course acceptable, whether J2ME, Python, Native (or anything else). FOr J2ME apps only the jar file counts towards the limit, if a jad file is required for installation it does not count. Obviously it only has to run on one handset, so don't worry about porting.
Feel free to be creative - 5K C64 apps, robot control programs etc. Just try and stick to the "spirit" of the rules.
The winner will be determined by a vote (possibly a preference vote) at the event.
Ideally the applications will be made publicly available prior to the event for everyone to see. Applications will also be demoed at the event, so everyone gets a chance to see them in action before voting.
If the number of entrants makes voting at the event impossible we will instead have a period of online voting prior to the event to determine which entrants will be shortlisted for the event.
Voters should judge applications based on their:
Applications will be reviewed before hand to ensure they meet the rules.
Applications that are slightly (e.g. a few bytes) over the 5K budget may be allowed, but that will be at the discretion of the organisers. We might even arrange some sort of scoring system whereby you lose points for being over budget - so there would be a trade-off between adding a new feature that may get more votes and going over budget.
That all depends on how much interest there is. Once we have enough entrants we'll organise a £5app meet to do the judging (likely to be March).
Put up your entries online somewhere with supporting info (list of features, screencasts of it in action etc), so people can easily get access to the app for judging. For applications that may not be feasible for all people to run (e.g. mobile or mac/win specific) I'd recommend you do some demo videos/screencasts. Thay way people can at least see what your app does/looks like if they don't have the right stuff installed to run it themselves.
Once you have your app online email demo AT fivepoundapp DOT com or else use the google group (or mail John or Ian directly if you know our addresses) with details of your app and the URL.
The rules are open for amendment/discussion: £5app google group
Make a comment