Projects » Free Ideas

Free Ideas

I regularly come up with ideas of software/gadgets that would be useful, or just cool. Being just a single person, there are only so many projects that I can ever hope to finish. So, some of the better ideas that I know that I will likely never have time for, are listed on this page. The list will be updated as and when I find more ideas that I wish to give away.

If anyone does take one of these ideas and turn it into a usable product, the only thing that I ask is to be given credit for the idea. Also, please let me know if you implement one of these ideas; this page will be updated with links to completed implementations. Naturally, donations will always be greatfully accepted too (the donate button is on the left hand side of this page).

 Animated Website Visitor Location Map

This idea is an extension of the ClustrMaps concept. ClustrMaps shows a world map containing the location and concentration of a website's visitors as red circles. The larger the red circle, the more visitors from that region have visited the website. If this map were animated over time, some temporal understanding of visitor patterns could also be gleaned from the same log data.

The basic idea would be to take the server log, obtain the locations of visitors, and then, have a program that displays an animated world map marking visitor clusters with markers. The markers would enlarge as more visitors from that region visit simultaneously, and decay to nothing after a set period of time. This decay time would be set so that each marker appears long enough to be seen without the screen looking like a flickering mess. The speed of animation should be adjustable. 

Now for the most important feature: adding time-based tags. The software should offer the user the ability to add tags describing particular events. For example, let us say that a website received a mention on Slashdot, or some other news site. This information could be added as a tag to the time-line at the moment that it occurred. When playing the animation, this tag would be displayed at the bottom of the screen, and the website visitor activity that is caused by this event, would be clearly visible. Such information could be very useful for analysing visitor trends.

A vague idea of how such an animation may look can be found in this blog entry.

3D Website Visitor Path Graph

Knowing overall patterns of website visitors could help optimize the site layout in order to make information more accessible. This information could be represented as a 3D node graph, in which visitor traffic and direction is marked by tracks running between the nodes. Each page on the website would be a node. Placing the mouse pointer over a node would provide information about that page. Outside websites could be represented either as large nodes, or as incoming tracks. Visitor paths would be drawn as fibre-like tracks starting in one colour (e.g., red) upon entrance to the website, and exiting with another (e.g., blue). Animated dots that move along the fibres in the direction of travel would make this traffic flow even more obvious. If many users were to follow the same path, that particular path would turn into a thick bundle of fibres.

The user of a program such as this should be able to: zoom in on regions for a closer look, and, organize the pages into clusters for easier viewing. I am not certain if this concept could be scaled up to large sites easily. Possibly a hierarchical representation of a large website would still make this concept useful. Either way, the goal would be to provide an instant picture of the overall site traffic whilst still allowing the user to zoom in on more specific information (e.g., information about a single page). 

A temporal aspect to this path map may also be possible. This would provide an animated view of traffic through the site that would give overall traffic flow information at a glance. The ability to add tags related to events (such as a mention on Slashdot) would provide much needed context to changing trends.

 A Trac and Subversion Management System for Multiple Projects

Trac is a software project management system that can interface with the software version control tool called SubVersioN (SVN). These two tools are a powerful combination, one that I use for all my projects. SVN provides software version control and backups whilst Trac makes tracking bugs easier, even for single developer projects. 

One item that is missing is the ability to add, delete, backup and restore projects. At present, I manually add SVN repositories and then manually generate the TRAC project pages. Likewise backing up and restoring both the SVN repository and Trac pages is a manual task. Another task that must be performed manually is adding, removing and managing users that can access the Trac pages and SVN repositories.

Whilst these tasks could be automated with scripts, ideally, a web-based system would be provided that would make these tasks trivial. If well integrated, Trac, SVN, and the high-level management tool would appear to the user as a single system. Trac and SVN would provide all the services required for managing single projects, whilst the high-level management tool would facilitate the easy management of multiple projects and users.

Sourceforge, a website that provides source-code repositories for open-source projects, performs a similar set of tasks to those proposed above. However, it does not use Trac (it has its own system), and it is not a system that one could install on one's own servers.

Projects » Free Ideas