I'm lobbying Mozilla supporters for an open, cooperative Web! Come on, let's show the world how to run the web! We need an open object on the Web. Why? So those of us who wish to cooperate by instantly sharing data between domains can do so in an elegant and intelligent manner. The old Netscape ( prior to version 6 ) had an open object ... the "navigator" object. If you set a property of the navigator object in one window, every other window instantly had access to it. This enables data sharing between domains and windows. Check out a Demo of an open object. ( Netscape 4 required ) http://nodes.org/test/demo.htm -------------------------------------------------------------------------------- In Netscape version 4 you could set properties in the navigator object. For example, if you set the following property in JavaScript navigator.mydata='abcde'; this data could then be accessed by any page from any domain in any browser window. If you issued the following command alert(navigator.mydata) it would show 'abcde' in an alert box. This is transcendence. It is openness. It will help us build a more cooperative, useful and intelligent internet. This means we could share data invisibly and instantly, without consuming bandwidth and without server intervention! Think about what an open object could facilitate if we use it to share quality data in a structured manner. We could share JavaScript functions, XML or profile data via an open object and all of it would be instantly available to every site we visit! The open object should be controlled by the user, without any installable software or site certificates, as a user-selectable option. It should operate in a clear, easy and permanent manner. By clear I mean the user should understand what they are doing by selecting it. They are deciding to live in the open. They are allowing sites to use their browser for the sharing of data between domains. They are empowering others to track and report their activity in the open. They are empowering everyone to improve their web experience through cooperative data sharing. By easy I mean it should be a switch that can be easily turned on and off. By permanent I mean it should remain "ON" or "OFF" until the user changes that state. If the user turns the open oject "ON" then it will still be "ON" the next time the user loads their browser. If it is switched "OFF" then it is still be "OFF" the next time the user loads their browser. It is permanent until the user changes it. The default state should be "OFF" on a newly-installed browser. What would this mean for the web? People are sharing data behind the scenes all the time; they just aren't telling you. The open object would level the playing field and empower average people to write intelligent agents to use this data to produce higher quality results. Everyone will have equal access to information stored in the open object. This could include your name, address, home page, interests, zip code, friends, recent searches ... whatever you wish to reveal AND whatever the sites you visit wish to reveal. It's simply cooperation. You could place a complete profile of information into the object by visiting a startup page when you launch your browser. This will make the web a much fairer playing field since any site could take advantage of this information, rather than restricting data sharing to only those sites which pay for it. This would decentralize the ability to make intelligent recommendations rather than centralizing it in the hands of the few. There must be an ethical code for its use. The software for accessing the open object and its properties must encourage "right use" by keeping track of who set the property and only allowing other sites to add to the data in the object. Only the site which created the property would have permission to clear it. You can think of properties as variables and the owner of the variable should have control over its use. Ownership data should be stored in a defined property of the open object. Each property could be controlled in a number of ways by the owner of the property, that is, the site which created it. Some properties would be reserved for administrative use according to standards to be set in a cooperative manner. Data stored in properties could have standard delimiters so that it could be easily understood and utilized by other sites; we could use XML to store data structures and data all in one! Cooperation between browser manufacturers is essential to the success of the open object. We should only support browser manufacturers and corporations which comply with the standards. The capability of the navigator object to pass data between domains and between windows has been recognized for some time. But now in Netscape version 6 it is gone! But it hasn't been utilized precisely because there was no way to implement the same capability in Internet Explorer. All browsers should make access to the open object clear, easy and permanent, as defined here. I believe we need a third major browser (Mozilla?) to compete with Internet Explorer and Netscape. Microsoft and Netscape have both shown contempt for the user in their development strategies! Business first, people second! Control should remain with the user, not the manufacturer. Give us liberty! The user should be empowered to choose how their browser works without requiring site certificates or any other obtuse method. I envision a simple switch on the menu bar, perhaps with a small red or green light to indicate whether you are in "Open" mode or "Private" mode. If you are in open mode, the open object is accessible to all sites. If you are in "Private" mode, it is unavailable. Perhaps a green light (ON) and a red light(OFF) would be intuitive signals. The user should be able to switch between modes by clicking a simple button on the button bar. If a third browser manufacturer (perhaps Mozilla) included this feature, then Netscape and Microsoft would be forced to follow its example. Why? Because those of us who choose to live in the open will gain new capabilities on the web. Sites will construct agents to use this shared information in ways which improve our experience by delivering more relevant and useful results. We can turn the web into a cooperative place where human intelligence can flourish in the open! Agents could serve up relevant content, including better advertising, better search results, and more relevant recommendations based on the information we shared through the open object. Relevancy saves time and produces a higher quality experience for the user. We are all richly blessed when we share quality data in the open. Please write me if you want to help create this capability on the web. Steve Moyer http://nodes.org/steve P.S. The following is a comment from a discussion of this at http://www.kuro5hin.org Comment from Alhazred: It is HIGHLY useful (5.00 / 1) (#4) by Alhazred on Mon Sep 10th, 2001 at 04:21:59 PM EST Perhaps the article didn't sufficiently explain the motivations for this sort of capability. Currently all existing browsers make it absolutely impossible for sites to access information provided by another site. The logic behind this is that one site might encorporate private information into a page, and if another site's page could access that information (via javascript for example) that would be a BAD THING. No doubt this is true, however there are many legitimate reasons for site developers TO share information in this way. One prime example would be a "universal login" facility. Site A could hold usernames and passwords in trust. A user would log into site A, and site A could then post to the "Universal Object" a key which would essentially say "this user is authenticated by site A". Sites B, C, and D could then accept this authentication and grant access based on it without the need for cumbersome and time-consuming authentication procedures of their own. The user wins because they need to remember only ONE username and password to get access to everything on the net. Sites B, C, and D win because they are unburdened of the necessity to implement and maintain authentication systems of their own. Another use would be in creating a rating system for sites. A user could log in to a rating system site. This rating system site could then look at the Universal Object and determine which other browser windows were open and what URL's they were viewing, present a ratings form, and then submit the ratings back to the rating system, all without the need for the user to cut and paste URLs from one place to another (as anyone who has tried to build such a system knows is necessary as it stands today). Other uses could include lightweight messaging systems, etc. Sites could post summary information on the content of pages being viewed. A million possibilities exist. Is there really a down side to all this? No, not particularly. Anyone unscrupulous enough to share private information by this method is already someone you don't want to have that info in the first place, so what's new?