[AI] (Tech Dose of the Day)

vishnu ramchandani vishnuhappy at yahoo.com
Mon Jan 28 23:08:23 EST 2008


Tech Dose of the Day

GUI Widget, Social
Bookmarking, WebWork, Silverlight, Virtual
Hosting, Clustering, WYSIWYG, SSO, Censorware, WEB
CMS, WML, etc.

Contributed by M&E (Media & Entertainment Delivery)
Group (MphasiS Software Services).

GUI Widget  
What is a GUI Widget? 
A widget (or control) is an interface element that a
computer user interacts with, such as a window or a
text box. Widgets are sometimes qualified as virtual
to distinguish them from their physical counterparts,
e.g. virtual buttons that can be clicked with a mouse
cursor, vs. physical buttons that can be pressed with
a finger. 
Widgets are often packaged together in widget
toolkits. Programmers use widgets to build graphical
user interfaces (GUIs).  
Some examples. 
Some of the widgets are : 
Buttons such as toggle and radio,  Drop-down lists,
ToolBar, Tab, ScrollBar, Text-box, Tooltip, Progress
bar and Modal window.
Further References 
Wikipedia : 
http://en.wikipedia.org/wiki/GUI_widget
Widget Toolkit : 
http://en.wikipedia.org/wiki/Widget_toolkit
Widget Engine : 
http://en.wikipedia.org/wiki/Widget_engine

Social Bookmarking  
What is Social Bookmarking? 
Social bookmarking is a way for Internet users to
store, organize, share and search bookmarks of web
pages. In a social bookmarking system, users save
links to web pages that they want to remember and/or
share. These bookmarks are usually public, but
depending on the service's features, may be saved
privately, shared only with specific people or groups,
shared only inside certain networks, or another
combination of public and private. The allowed people
can usually view these bookmarks chronologically, by
category or tags, via a search engine, or even
randomly.
Most social bookmark services encourage users to
organize their bookmarks with informal tags instead of
the traditional browser-based system of folders,
although some services feature categories/folders or a
combination of folders and tags. They also enable
viewing bookmarks associated with a chosen tag, and
include information about the number of users who have
bookmarked them. Some social bookmarking services also
draw inferences from the relationship of tags to
create clusters of tags or bookmarks.
Many social bookmarking services provide web feeds for
their lists of bookmarks, including lists organized by
tags. This allows subscribers to become aware of new
bookmarks as they are saved, shared, and tagged by
other users.
As these services have matured and grown more popular,
they have added extra features such as ratings and
comments on bookmarks, the ability to import and
export bookmarks from browsers, emailing of bookmarks,
web annotation, and groups or other social network
features.
 What is its usefulness? 
This system has several advantages over traditional
automated resource location and classification
software, such as search engine spiders. All tag-based
classification of Internet resources (such as web
sites) is done by human beings, who understand the
content of the resource, as opposed to software, which
algorithmically attempts to determine the meaning of a
resource. This provides for semantically classified
tags, which are hard to find with contemporary search
engines.
Additionally, as people bookmark resources that they
find useful, resources that are of more use are
bookmarked by more users. Thus, such a system will
"rank" a resource based on its perceived utility. This
is arguably a more useful metric for end users than
other systems which rank resources based on the number
of external links pointing to it.
Further References 
Wikipedia : 
http://en.wikipedia.org/wiki/Social_bookmarking
del.icio.us : 
http://del.icio.us/
7 things you should know about Social Bookmarking : 
http://www.educause.edu/ir/library/pdf/ELI7001.pdf

WebWork  
What is WebWork ? 
WebWork is a Java web-application development
framework. It is built specifically with developer
productivity and code simplicity in mind. WebWork is
built on top of XWork, which provides a generic
command pattern framework as well as an Inversion of
Control container. In addition to these features,
WebWork provides robust support for building reusable
UI templates, such as form controls, UI themes,
internationalization, dynamic form parameter mapping
to JavaBeans, robust client and server side
validation, and much more.
 More details on WebWork:-
WebWork is an open source Web development framework
for building Model 2 applications. Philosophically, it
is closer to Struts than Tapestry. It works within the
existing Web APIs in Java rather than attempting to
replace them completely. WebWork contains several
concepts and constructs that are unique and that set
it apart from other frameworks, such as the Pull
Hierarchical Model-View-Controller design and the
value stack, which supplies values to their custom JSP
(Java Server Pages) tags.
WebWork is produced by the Open Symphony project. This
project includes many embedded projects; WebWork is
just one of them. The framework is currently at
version 1.3, and you can download it from the Open
Symphony Website. It is based on best practices and
design patterns that have long-standing records of
accomplishment-patterns such as Model-View-Controller,
the J2EE Front Controller, and others. It is also
based on a strong motivation to keep things as simple
as possible while maintaining flexibility (which the
creators acknowledge is a difficult balancing act).
WebWork implements what its documentation calls "Pull
Hierarchical Model-View-Controller," or "Pull HMVC."
This is the creators' own take on the Model 2 design.
The "pull" part of this definition indicates that the
view component is responsible for pulling the model
information from the controller on demand. This is
different from the traditional Model 2, where the view
accesses information that has been placed within the
model and passed to it from the controller. In this
case, the view understands what information it wants
and accesses it without necessarily having to wait for
a controller to make it available. This architecture
requires the presence of a repository of data
available to all views, which access it on a
just-in-time (JIT) basis.
The "hierarchical" part of the description describes
the repository of view data. In the case of WebWork,
the "value stack" is used to provide information to
the view. The rest of the architecture is
Model-View-Controller. That means that WebWork
enforces the normal semantics of Model 2, but with a
different twist on how that model information is made
available. WebWork is not the only project to use this
approach. Turbine's documentation and white papers
also refer to this "pull" paradigm of Model 2.
WebWork takes advantage of the Web APIs in Java rather
than hiding them. However, it doesn't rely on them as
much as unadorned Model 2 or Struts. Like Struts,
WebWork includes a central controller, based on the
J2EE Front Controller design pattern, which creates
Action objects (thus using the Command design
pattern). However, the return and packaging of model
information is different in WebWork. 
Further References 
WebWork's Homepage : 
http://www.opensymphony.com/webwork
Art of Java Web Development - WebWork : 
http://www.javaworld.com/javaworld/jw-03-2004/jw-0329-webwork.html
Hello World - The WebWork Way : 
http://www.javaworld.com/javaworld/jw-10-2005/jw-1010-webwork.html
Open source software in java : 
http://java-source.net/

  

Silverlight 
What is Silverlight? 
Microsoft Silverlight is a Rich Internet Application
plug-in for web browsers, providing a subset of the
animation, vector graphics, and video playback
capabilities of Windows Presentation Foundation. The
runtime is available for Microsoft Windows and Mac OS
X, with Linux support available via the third-party
Moonlight runtime. 
Silverlight competes with Adobe Flash and with Sun
Microsystems' JavaFX, launched a few days after
Silverlight. It offers an alternative to Ajax
programming techniques, which are commonly used to
provide an improved user interface. 
Silverlight 2.0 which is currently under development,
will include a mostly-complete subset version of the
.NET Common Language Runtime named CoreCLR, ,so that
Silverlight applications can be written in any .NET
language.  
What is its usefulness? 
Silverlight makes it possible to dynamically load XML
content that can be manipulated through a DOM
interface, a technique that is consistent with
conventional Ajax techniques. Silverlight exposes a
Downloader object which can be used to download
content, like scripts, media assets or other data, as
may be required by the application. With version 2.0,
the programming logic can be written in any .NET
language, including some common dynamic programming
languages like Ruby and Python.  
Silverlight provides a retained mode graphics system,
similar to WPF and integrates multimedia, graphics,
animations and interactivity into a single runtime. It
is being designed to work in concert with XAML and is
scriptable with JavaScript. XAML can be used for
marking up the vector graphics and animations. Content
created with Silverlight would be more searchable and
indexable than that created with Flash as it is not
compiled, but represented as text (XAML). 
Silverlight supports playback of WMV, WMA and MP3
media content across all supported browsers without
requiring Windows Media Player, the Windows Media
Player ActiveX control or Windows Media browser
plugins. Because Windows Media Video 9 is an
implementation of the SMPTE VC-1 standard, Silverlight
also supports VC-1 video, though still only in an ASF
file format. Furthermore, the Software license
agreement says VC-1 is only licensed for the "personal
and non-commercial use of a consumer".  
Further References 
http://www.microsoft.com/silverlight
http://en.wikipedia.org/wiki/Microsoft_Silverlight
http://blogs.msdn.com/tims/archive/2007/04/15/introducing-microsoft-silverlight.aspx
http://blogs.msdn.com/tims/archive/2007/04/15/introducing-microsoft-silverlight.aspx  

Virtual Hosting  
What is virtual hosting? 
Virtual hosting is the provision of Web server hosting
services so that a company (or individual) doesn't
have to purchase and maintain its own Web server and
connections to the Internet. A virtual hosting
provider is sometimes called a Web or Internet "space
provider." Some companies providing this service
simply call it "hosting." Typically, virtual hosting
provides a customer who wants a Web site with: domain
name registration assistance, multiple domain names
that map to the registered domain name, an allocation
of file storage and directory setup for the Web site
files (HTML and graphic image files), e-mail
addresses, and, optionally, Web site creation
services.
What is its usefulness? 
Virtual web hosting is often used on large scale in
companies whose business model is to provide low cost
website hosting for customers. The vast majority of
such web hosting service customer websites worldwide
are hosted on shared servers, using virtual hosting
technology.
Many businesses utilize virtual servers for internal
purposes, where there is a technology or
administrative reason to keep several separate
websites such as customer extranet website, employee
extranet, internal intranet, intranets for different
departments. If there are not security concerns in the
website architectures, they can be merged into a
single server using virtual hosting technology, which
reduces management and administrative overhead and the
number of separate servers required to support the
business.  
Further References 
http://httpd.apache.org/docs/1.3/vhosts/
http://apache.active-venture.com/vhosts/name-based.html   

Clustering  
What is Clustering ? 
Clustering can be considered the most important
unsupervised learning problem; so, as every other
problem of this kind, it deals with finding a
structure in a collection of unlabeled data.
A loose definition of clustering could be “the process
of organizing objects into groups whose members are
similar in some way”.
A cluster is therefore a collection of objects which
are “similar” between them and are “dissimilar” to the
objects belonging to other clusters.
What is its goals and applications?
The Goals of clustering:-
So, the goal of clustering is to determine the
intrinsic grouping in a set of unlabeled data. But how
to decide what constitutes a good clustering? It can
be shown that there is no absolute “best” criterion
which would be independent of the final aim of the
clustering. Consequently, it is the user which must
supply this criterion, in such a way that the result
of the clustering will suit their needs.
For instance, we could be interested in finding
representatives for homogeneous groups (data
reduction), in finding “natural clusters” and describe
their unknown properties (“natural” data types), in
finding useful and suitable groupings (“useful” data
classes) or in finding unusual data objects (outlier
detection).
Possible Applications:-
Clustering algorithms can be applied in many fields,
for instance :
• Marketing: finding groups of customers with similar
behavior given a large database of customer data
containing their properties and past buying records.

• Biology: classification of plants and animals given
their features. 
• Libraries: book ordering. 
• Insurance: identifying groups of motor insurance
policy holders with a high average claim cost;
identifying frauds.
• City-planning: identifying groups of houses
according to their house type, value and geographical
location.
Earthquake studies: clustering observed earthquake
epicenters to identify dangerous zones. 
• WWW: document classification; clustering weblog data
to discover groups of similar access patterns.
Further References 
Wikipedia : 
http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/
Clustering Intro : 
http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/
J2EE Clustering : 
http://www.javaworld.com/jw-02-2001/jw-0223-extremescale.html

WYSIWYG  
What is WYSIWYG ? 
WYSIWYG (IPA Pronunciation [wɪziwɪg] or
[wiziwɪg]), is an acronym for What You See Is
What You Get, used in computing to describe a system
in which content during editing appears very similar
to the final product. It is commonly used for word
processors, but has other applications, such as Web
(HTML) authoring. The phrase was originally
popularized by comedian Flip Wilson, whose character
"Geraldine" would often say this to excuse her quirky
behavior.
Note that the WYSIWYGness of an application is
relative. Originally, WYSIWYG referred to any word
processor that could accurately show line breaks on
the display screen. Later WYSIWYGs had to be able to
show different font sizes, even if the screen display
was limited to one typeface. Now, a word processor
must be able to display graphics and many different
typefaces to be considered WYSIWYG.
Still, some WYSIWYG applications are more WYSIWYG than
others. For example, many desktop publishing systems
print text using outline fonts (PostScript fonts, for
example). Many of these systems, however, use
corresponding bit-mapped fonts to display documents on
a monitor. What you see on the display screen,
therefore, is not exactly what you see when you print
out the document. In addition, standard laser printers
have a resolution of at least 300 dpi, whereas even
the best graphics monitors have resolutions of only
100 dpi. Graphics and text, therefore, always look
sharper when printed than they do on the display
screen. And colors often appear differently on a
monitor than they do when printed out.
What are the WYSIWYG modes?
In many situations, the subtle differences between
what you see and what you get are unimportant. In
fact, applications may offer multiple WYSIWYG modes
with different levels of "realism," including :
• A composition mode, in which the user sees something
somewhat similar to the end result, but with
additional information useful while composing, such as
section breaks and non-printing characters, and uses a
layout that is more conducive to composing than to
layout. 
• A layout mode, in which the user sees something very
similar to the end result, but with some additional
information useful in ensuring that elements are
properly aligned and spaced, such as margin lines. 
• A preview mode, in which the application attempts to
present a representation that is as close to the final
result as possible.
Applications may deliberately deviate or offer
alternative composing layouts from a WYSIWYG because
of overhead or the user's preference to enter commands
or code directly. 
Further References
Wikipedia : 
http://en.wikipedia.org/wiki/WYSIWYG
WYSIWYG Editor for the internet : 
http://www.fckeditor.net/

SSO  
What is SSO? 
Single sign-on (SSO)is a session/user authentication
process that permits a user to enter one name and
password in order to access multiple applications. The
process authenticates the user for all the
applications they have been given rights to and
eliminates further prompts when they switch
applications during a particular session.
In e-commerce, single sign-on is designed to
centralize consumer financial information on one
server, not only for the consumer's convenience but
also to offer increased security by limiting the
number of times credit card numbers or other sensitive
information must be entered. Microsoft's "Passport"
single sign-on service is an example of a growing
trend towards the use of Web-based single signons that
allow users to register financial information once and
shop at multiple Web sites.
What SSO Solutions are available?
In a homogeneous IT infrastructure or at least where a
single user entity authentication scheme exists or
where user database is centralized, single sign-on is
a visible benefit. All users in this infrastructure
would have one or single authentication credentials.
e.g. say in an organization stores its user database
in a LDAP database. All Information processing systems
can use such a LDAP database for user authentication
and authorization, which in turn means single sign-on
has been achieved organization wide.
Many free and commercial SSO or reduced sign-on
solutions are currently available. A partial list
follows:
The JS-SIG Central Authentication Service (CAS), 
A-Select, CoSign, Enterprise Single sign-on (E-SSO),
Web Single sign-on (Web-SSO), Kerberos, Federation,
Security Assertion Markup Language (SAML), Shibboleth,
Java Open Single sign-on (JOSSO) and DirectSSO.
Further References
Wikipedia - 
http://en.wikipedia.org/wiki/Single_sign_on
JOSSO Home - 
http://www.josso.org/confluence/display/JOSSO1/JOSSO+-+Java+Open+Single+Sign-On+Project+Home

Censorware  
What is Censorware? 
Content-control software, also known as censorware or
web filtering software, is a term for software
designed and optimized for controlling what content is
permitted to a reader, especially when it is used to
restrict material delivered over the Web.
Content-control software determines what content will
be available on a particular machine or network; the
motive is often to prevent persons from viewing
content which the computer's owner(s) or other
authorities may consider objectionable; when imposed
without the consent of the user, content control can
constitute censorship. Common use cases of such
software include parents who wish to limit what sites
their children may view from home computers, schools
performing the same function with regard to computers
found at school, and employers restricting what
content may be viewed by employees while on the job.
What contents are subjected to control?
Frequent subjects of content-control software include
Web sites that, according to the company providing the
control:
• Include illegal content with reference to the legal
domain being served by that company. 
• Promote, enable, or discuss system cracking,
software piracy, criminal skills, or other potentially
illegal acts. 
• Include sexually explicit content. 
• Promote, enable, or discuss activity seen to be
"immoral" or alternative. 
• Contain violence or other forms of graphic or
"extreme" content. 
• Promote, enable, or discuss bigotry or hate speech. 
• Promote, enable, or discuss gambling, recreational
drug use, alcohol, or other activities frequently
considered to be vice. 
• Are unlikely to be related to a student's studies,
an employee's job function, or other tasks for which
the computer in question may be intended, especially
if they are likely to involve a heavy bandwidth
consumption. 
• Are contrary to the interests of the authority in
question, such as Web sites promoting organized labor
or criticizing a particular company or industry.

• Promote or discuss politics, religion, health or
other topics. 
• Prevent people from people who are hypochondriacs
from viewing websites related to health concerns. 
• Include social networking opportunities that might
expose children to predators.
Content-control software can also be used to block
Internet access entirely. 
Further References 
Wikipedia : 
http://en.wikipedia.org/wiki/Content-control_software
Web Filter : 
http://searchsecurity.techtarget.com/sDefinition/0,,sid14_gci1093128,00.html

WEB CMS  
What is WEB CMS ? 
A web content management system is content management
system (CMS) software implemented as a web application
used for creating and managing HTML content. It is
used to manage and control a large, dynamic collection
of web material (HTML documents and their associated
images). A CMS facilitates content creation, content
control, editing, and many essential web maintenance
functions.
Usually the software provides tools where users with
little or no knowledge of programming languages and
markup languages can create and manage content with
relative ease of use. Most systems use a database to
store content, and a presentation layer displays the
content to regular website visitors based on a set of
templates. Administration and content creation is
typically done through the web application, but some
CMS may be modified in other ways.
A Content Management System (CMS) differs from website
builders like Microsoft FrontPage or Macromedia
Dreamweaver. A CMS allows non-technical users to make
changes to an existing website with little or no
training. Web CMS typically require an experienced
coder to set-up and add features, but it is primarily
a website maintenance tool for non-technical
administrators.
What are its features?
• Automated Templates - Create standard visual
templates that can be automatically applied to new and
existing content, creating one central place to change
that look across a group of content on a site. 
• Easily editable content - Once your content is
separate from the visual presentation of your site, it
usually becomes much easier and quicker to edit and
manipulate. Most CMS software include WYSIWYG editing
tools allowing non-technical individuals to create and
edit content. 
• Scalable feature sets - Most CMS have plug-ins or
modules that can be easily installed to extend an
existing site's functionality. 
• Web standards upgrades - Active CMS solutions
usually receive regular updates that include new
feature sets and keep the system up to current web
standards.

• Workflow management - Workflow is the process of
creating cycles of sequential and parallel tasks that
must be accomplished in the CMS. For example, a
content creator submits a story but it's not published
on the website until the copy editor cleans it up, and
the editor-in-chief approves it. 
• Document management - CMS solutions may provide a
means of managing the life cycle of a document from
initial creation time, through revisions, publication,
archive, and document destruction. 
• Content virtualization - CMS systems may provide a
means of allowing each user to work within a virtual
copy of the entire website, document set, and/or code
base. This enables changes to multiple interdependent
resources to be viewed and/or executed in-context
prior to submission.
Further References
Wikipedia - 
http://en.wikipedia.org/wiki/Web_content_management_system
Test out PHP/MySQL based CMSs - 
http://www.opensourcecms.com/

WML  
What is WML ? 
Wireless Markup Language, based on XML, is a content
format for devices that implement the Wireless
Application Protocol (WAP) specification, such as
mobile phones, and preceded the use of other markup
languages now used with WAP, such as XHTML and even
standard HTML.
Wireless Markup Language is a mark-up language
inherited from HTML, but WML is based on XML, so it is
much stricter than HTML.
The role of WML in mobile Internet applications is the
same as that of HTML in web applications. WAP sites
are written in WML, while web sites are written in
HTML.
How does it work?
WML is used to create pages that can be displayed in a
WAP browser. Pages in WML are called DECKS. Decks are
constructed as a set of CARDS.
WML uses WMLScript to run simple code on the client.
WMLScript is a light JavaScript language. However, WML
scripts are not embedded in the WML pages. WML pages
only contain references to script URLs. WML scripts
need to be compiled into byte code on a server before
they can run in a WAP browser.
WML can be a very powerful and effective cell-phone
add-on. It lets you for example enter a zip code, and
obtain a list of clickable phone numbers of pizza
parlors and taxicabs in your immediate location.
The acceptance of WML has been limited by the fact
that cell phone providers require separate activation
and additional fees for data support, and also because
telecommunications companies have sought to limit data
access to only "approved" data providers operating
under "license" of the signal carrier.
Further References
Wikipedia : 
http://en.wikipedia.org/wiki/Wireless_Markup_Language
What is WML? : 
http://www.w3schools.com/wap/wap_intro.asp
WML Tutorial: 
http://www.developershome.com/wap/wml/wmlIntro.asp


      Why delete messages? Unlimited storage is just a click away. Go to http://help.yahoo.com/l/in/yahoo/mail/yahoomail/tools/tools-08.html




More information about the AccessIndia mailing list