Portals are becoming quite sophisticated evolving into a style of consciousness programming. Bear with me for a moment. Most programming has been dictatorial or simple conversational. I can remember writing batch programs for Burroughs and IBM systems that basically said:
do the other thing
-save work till here
do some more
-save work here2
do clean up
No conversation, little or no feedback from the system even for error reporting. Batch jobs of course could be conversational – but essentially you were talking to the OS and changing the sequence of a job based on the nature and severity of returned error codes. Time sharing changed all that, because now programs conversed with end users and allowed a choice in the sequence of operations and dynamic input of data at the time of execution. But almost all processing was sequential and synchronous:
1-User Command-> system response a;
2-User Command based on results a->system response b;
3-User Command based on results from a and/or b->system response c;
This conversational programming dominated from the 70s through the early 90s. However, the locus of computing switched from servers to PC desktops to LANs back to Servers but now distributed over several machines or processes in n-tier architectures.
But the nature of the conversation changed in the 1990s. The idea of asynchronous processing had been available since the late 1970s especially in realtime control systems but the despite excellent software from IBM (MQSeries) and others, asynchronouus processing did not pick up momentum until the early 1990s. Now it went something like this:
-do this operation A- tell me when you are done or if you have any severe problems alert me right away
-meanwhile do another operation B but this time I will wait until done
-do a third operation C -again tell me when you are done or if you have any problems ….
-wait operation C… I must respond to A which is calling back and saying it cant get done, -tell me Error A what is the problem
-wait Operation C… -okay Error A do this…wait Error A Alerter Z wants my attention
-wait Operation C… -wait Error A… -Okay Alerter Z tell me your story
Yes this essentially is the round robin, “consciousness” processing and task scheduling done by time-sharing operating systems. What portals do is expose many if not all of these tasks/conversations each to a small window or portlet on a screen. And to add a little programming spice to the mix, portals not only support many simultaneous participants who have some but not identically the same views of the scene – but also may let the locus of control of who decides what happens next to be distributed among the members of the group following the same portal.
Now tell me portal design and programming is simple.