Lets consider the situation: I have 6 categories of resumes and portfolios which are used for different purposes (i.e. for professional job, contract, personal, marriage, research proposal, university admission purposes etc). I have to provide those with recent information when needed. Also I am a developer, who has blogs, profiles among several online community, forum, sites, for instance in 20 sites.
Among those, of course there are some information which are being changed very frequently (i.e. projects, technology expertise and my skill level etc), some are being changed occasionally (i.e. home address, cell number etc).
It turns to a hazardous problem when my personal and professional data are getting changed. In that case I need to change ALL of my online profiles in 20 sites! Each time when I need to submit my resume, I have to go through the whole document to check the info that has been updated! Really silly!
Information technology is growing very fast, lots of exiting, interesting and intelligent techniques are taking places. But I am not sure why we have not get any consistent, easy way (really easy) to solve this issue and thus to save lots of our time and efforts for hazardous tasks and of course to get an efficient way to make information consistent, accurate among all documents and web places.
A Sample Solution:
Lets say there is a developer who uses the following text in 20 sites as his profile content:
Mohammad Ashraful Alam is a Software Engineer. This Bangladeshi national is involved with project management and development of several US based software projects from his country. Already he has managed and developed 15 software projects, which are being used by several users of different countries, such as USA, Canada, Australia, and Bangladesh. Currently he is engaged as Project Manager at ABC Inc, USA.
Using the "Common Sharable Content" concept the user can put his data into a specific space in the web, using a simple web or desktop application. After then can put the following content for his profile, where the web server will parse the tags, so will be able to render the appropriate content to its client end UI.
<# dataSource1.GetOfficialName> is a Software Engineer. This Bangladeshi national is involved with project management and development of several US based software projects from his country. Already he has managed and developed <# dataSource2.GetTotalProjects> software projects, which are being used by several users of different countries, such as <# dataSource2.GetProjectCountryList>. Currently he is engaged as <# dataSource2.GetDesignationCurrentCompany> at <# dataSource2.GetCurrentCompany>.
While designing any solution for the above case, there are few issues that can be considered as follows:
1. Data Security Level:
Some data can be shared or referred by any of the external users or sites. For example, "Ashraf has completed <# dataSource2.GetTotalProjects> projects." In this case corresponding reference tags can be shared to all so that anybody can use that in relevant places as needed.
On the other hand, the content author might not want to let anybody to share his/her info using "Common Sharable Content" technology, but might want to use the content only to specific or private places (for instance personal phone number). Special security mechanism (for instance user name/password) should be used to publish private info.
2. Service Provider and Data Model:
Exactly what are the information the user needs to share in the documents, can be defined through the user interface (desktop or web) of the Information Service Provider. The Service Provider should provide enough opportunity to the user to customize content and tag definitions, as much as needed.
Data should be stored into the web space provided by the Service Provider, with normalized model. Using build-in templates or defining custom data model, the user should utilize his own data in various way. For instance if a content author has an entity named "My Projects", which lists all the projects, using a "Row Count" method provided by the service provider, the author can easily refer his number of projects to documents, without requiring to put "Number of Projects" into a separate entity.
3. Platforms and Standards:
As tags are being parsed and rendered form the web server, so the server side scripting software might have it's own syntax and semantics regarding this particular issue. Besides to make it widely usable, a common standard for the syntax and semantics can be defined so that ALL server side scripting languages can follow this standard to render appropriate text.
As text is being rendered from server side, there are little or no concern in client side support.The only concern that can be considered for the client side is, if, for instance server side script doesn't parse the tags and thus the content will not be rendered in the desired format. The browser (and/or the tag) can have the default value to show it becomes not possible to show the rendered data. So while designing the tag (and it's syntax-semantic) we can consider traditional html/XML mark-up languages for wide range compatibility to show default values in unconsidered cases.
4. Application Add-in:
Web application or desktop application that has support to the concept "Common Sharable Content", can contain Add-in where all the available tags or methods can be inserted into the document. For instance in the "DataSource1" sidebar (which has been initialized by connecting to a specific datasource) might contain an element "GetOfficialName" clicking on which inserts the <# dataSource1.GetOfficialName> tag into the document.
Web 2.0 is taking a very important place among the current trend of web, where rather considering "human to machine communication", "machine to machine communication" and "human to human communication" is regarding more. It has various new approaches which are making the web space better. From my point of view, "Common Sharable Content" concept is EXACTLY what is missing here. Of course this concept encourages the "machine to machine" communication and thus make personal info management over web better.
The concept might seem a similar concept of using XML based Web Service in ASP.NET or Java technology. But, as we discussed, to make Web 2.0 really useful and popular, "Common Sharable Content" concept should be designed so that can be integrated by a non-technical or poor technical people in very flexible and easy way.
I am interested to work towards this target. If anyone of you, the readers, are interested please let me know thru mail: here .