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 To unsubscribe send a message to [EMAIL PROTECTED] with the subject unsubscribe. To change your subscription to digest mode or make any other changes, please visit the list home page at http://accessindia.org.in/mailman/listinfo/accessindia_accessindia.org.in
