| products | community
| about aQtive | download | help
|community > developers > developers pack > projects|
project suggestions for onCue
onCue is designed to integrate desktop applications and Internet applications. This framework makes it ideal for implementing small mini-applications (see, for example, dancing histograms or SumIt!). These would normally require substantial additional work to build them into stand-alone applications, but as Qbits under onCue they have a completeness as part of the integrated desktop environment.
onCue is also ideal for integrating with Intranet, Extranet or web-based projects. Many only require onCue XML Qbits, although by adding Java code more things become possible.
Look in the rest of the aQtive developers/academic pack including the aQtive bibliography and principles to see some of the theoretical background of onCue and the 'how it works' documents for onCue and aQtiveSpace to see how they are operating under the bonnet.
Here are some suggestions for projects. We'll be adding to this as we think of things, so if you are reading a downloaded copy of this documentation check back to the web site periodically to see.
tell us ...
These are just a few ideas. Please tell us about other project ideas you have and if you have an onCue-based project and have a web page describing it, let us know and we'll link to it.
instant web mini-services
onCue has mini-desktop applications. In a similar way it is possible to build mini-services on the web. For example, if you have a web-based Java-syntax dictionary, adding an onCue Qbit would mean that whenever the user copied a Java keyword, the relevant syntax could be displayed in a browser window. Of course, the user could have bookmarked the web page, navigated to the right page, etc. ... but would they really do it?
Simple onCue Qbits can make web-services that would otherwise be too longwinded to use in context become useful and powerful.
It is easy to imagine other projects like this - a web service that takes an integer n and a real number x and returns the value of the Bessel function of order n. Well, can you imagine someone really using it! However, if that were tied to a Qbit, it would effectively become a plug-in to the user's desktop (even better if you make the regular expression recognise expressions like "J3(5.7)").
In a similar vein, a traditional AI problem was the differentiation (easyish), simplification (more difficult) and integration (pretty tough) of trigonometric expresssions such as "sin(3x-1)+3cos(x)/(1+tan(2x))". An XML regular expression recogniser could easily pick out expressions containing sin, cos, tan etc. (but don't try to do a regular expression to match brackets - you can't do it!). The expression can then be passed to a web service to do the work.
web on a desk
Following on from web mini-services, if the user's machine is running a local web server it is possible to write mini-apps which access local resources, or allow much faster interaction than non-local Intranet or Internet server-side applications.
This is an interesting paradigm shift. The Internet has redefined global communications, Intranets have redefined client-server computation, and this sort of local web service can allow web interfaces to even redefine your desktop!
Intranets with XML Qbits
Lots of undergraduate projects now involve some form of Intranet. It is good to see the results and the skills and knowledge required are an excellent starting point for future careers.
However, Intranet projects can become rather passé - "I got a database, I used ASP to put a web front end on it ...". onCue gives you a way to integrate disparate parts of an Intranet at the user interface. This is very powerful as a practical technique, but also allows ways of interacting with Intranets that are new. Instead of navigating up and down an Intranet structure, onCue, with suitable additional Qbits, allows more direct, but user-controlled, interaction.
One way to do this is to build Intranets using the XML Qbit interface combined with server-side scripting.
powering your institution's own Intranet
It is always good to have a real client for your project work. Sometimes that is an external company, but often there are interesting things within your academic institution.
Probably you have web pages for each class or module, for each member of staff, etc. You can easily build XML Qbits that recognise class codes, etc., then direct the user to the relevant parts of the institution's Intranet.
It is possible to examine web-server logs and work out the paths that people are using through your system. This is very useful for optimising the web structure and navigation. However, in an Intranet situation, it may be less clear whether the fact that a user accesses page A then page B is an indication that they are somehow linked, or just that two subsequent, unrelated activities required A and then B. If there is a hyperlink from A to B that has been followed (detectable from web referer logs), this is a probable indication of a semantic link, but if there is no such reference in the system, there may well be one in the user's job, which they manage by remembering information between screens, writing it down, etc.
This information is clearly very useful and could be gained by extensive field observation. However, if the Intranet is onCue enabled (see have an aQtive Intranet!) the user's semantic links are being made explicit through the act of copying and using onCue Intranet Qbits. It is thus possible to have a level of automatic analysis to augment deeper, but far more labour-intensive, personal observation.
If you are using XML Intranet Qbits, these can be made to indirect the request through a single server-side script that records the string used and the target URL. For example, assume the Qbit would normally have gone to the URL (where $0 is the copied term):
This would become:
The script record.cgi needs to make a log then call the original script (the mechanism for this depends on whether you are using CGI, ASP, Servlets, etc.). Combining this with the normal web logs makes it possible to go back and check whether the 'xstring' came from the previous visited page, or was from some external source (email, etc.). It would even be possible to examine (with suitable permission of course!) email logs and mailboxes to determine exactly where the start point of interactions came.
Intranets with Java
Although there is a lot you can do with XML Qbits, there are of course limits. For example, the table recogniser used for Excel and Dancing Histograms is written in pure Java, it would be hard to imagine a suitable regular expression (in fact, impossible, you can prove it!). Also, using Java you can 'screen scrape' web pages, make direct connections to databases, etc.
simple components that integrate
Again in Java it is possible to create small desktop applications that appear insignificant individually, yet work together to obtain results. Compare, for example, using an embedded spreadsheet with selecting a row of numbers in a word processor then using SumIt! to add them up. The spreadsheet is more powerful, but for simple tasks is overpowered. In addition, SumIt! works in mail messages, web browsers, etc. - a tiny application - it only adds up numbers - but so powerful within the onCue framework.
Can you think of others like this?
visualisation and analysis
Dancing Histograms were originally produced as an applet to demonstrate the power of simple interactivity on standard graphical representations (see Alan's visualisation pages for more about this). Unfortunately, trying to turn this applet into an small application that could be given to third parties to use would have been difficult and tedious - table editors, CSV file imports, argh! However, plugging Dancing Histograms into the onCue framework only took a half day. Now it works with spreadsheet data, word processor tables, tables in web pages... Wow! a universal plug-in!
Using onCue allows you to program the guts of a visualisation and then onCue integrates it with other applications. You get a fully functioning product you can demonstrate and distribute (subject to licence conditions), but only have to program the interesting bits.
The same applies to textual or numerical algorithms, onCue handles the external interactions, you only have to worry about the bits you want to.
collections of existing web services
Just as onCue can be used to bring together Intranet services, it can also be used to integrate disparate web sources. For example, there are various web-based repositories of classical music, music history, etc., a well designed set of Qbits could make these function as an integrated whole. The challenge here lies not so much in the individual Qbits (although there may be some interesting problems) but in the analysis of how they will function together.
home | products | community | about aQtive | download | help