In this post we would like to talk about widgets as the latest and one of the most popular phenomena in desktop and web application development. We are going to clear up what a widget is and what it is needed for.
From day to day, widgets become more and more widespread in the modern world of the Internet. First rich media and interactive entertainment widgets appeared yet in 2001. Now widgets are commonplace and are actively used on personal blogs, wikis, social network and auction sites, etc. One can meet them on web resources such as Facebook, iGoogle, LiveJournal, MySpace, Netvibes, WordPress, and many others.
What is a Widget?
First of all, let’s make clear what a widget is. A widget is a chunk of code that can be embedded in a web page or installed on a computer desktop. Widgets are usually understood to be interactive single-purpose applications for displaying and/or updating local data or data on the Web. They are packaged in a way to allow downloading and embedding into a web page or installation on a user’s machine. These interactive virtual tools are meant for providing services of single purpose such as photo viewing, displaying latest news, current weather, time, a calendar, a map program, a dictionary or a language translator, a calculator, desktop notes, among other things. Besides providing useful information, widgets represent some commercial interest as a powerful marketing channel, mainly due to their interactivity and viral distribution through social networks. Thus, widgets are often used as advertisements, links to websites, etc. Widgets are divided into three categories such as web, desktop, and mobile widgets. Let’s review all these categories separately.
Web Widgets and Their Types
Web widgets have several types and are mainly represented by HTML/JS, Flash, and Web Page widgets. An HTML/JS widget, formerly known as a Hosted HTML widget, is an application containing HTML and/or JavaScript code hosted by a vendor. HTML/JS widgets can be downloaded for free from vendors’ websites or created from scratch using standard editor tools or by simple coding operation. The main disadvantage of HTML/JS widgets is their exposure to so called cross-site scripting (XSS) attacks. XSS is a type of computer vulnerability in terms of security typical for web applications. It allows code implantation by malicious web users into the web pages viewed by other users. On finding smart ways to embed malicious scripts into HTML/JS widgets, an attacker can get enhanced access privileges to sensitive page content, session cookies and a variety of other objects important for the user. Fortunately, the way to protect these types of widgets was found with the help of an IFrame. It is an HTML element that allows embedding an HTML document inside another HTML document. This helps escaping malicious codes injection and protecting web users and their information.
Another type of web widgets, a Flash widget, is the one containing SWF files hosted on a server. Flash widgets are supported by more websites than HTML/JS widgets and therefore are more popular among users. This is because some sites (i.e. MySpace) do not allow adding JavaScript code from security point of view.
The simplest type of web widget is a Web Page widget. Formerly known as a Remote HTML widget, it contains a widget-sized web page hosted on a server and includes a link to this web page. The content for a Web Page widget can be created using any tool and technology upon one’s selection, i.e. CSS, JavaScript, PHP, JSP, among others.
Desktop Widgets
The second category, desktop widgets, is not less widespread than the web widgets. A desktop widget is a small size application located on a user’s desktop using small desktop space and computer resources. It has a purpose of providing relevant information to the user in a non-intrusive manner at the same time consuming few system resources. Desktop widgets give a day-to-day access to useful information and frequently used functions such as clocks, calendars, calculators, etc. The desktop widget model is very attractive due to the ease of development. Most of these widgets can be created with a few images and about ten to several hundred lines of JavaScript/VBScript/XML source code. Many of the desktop widgets are available as free downloads from the vendors’ websites.
Mobile Widgets
Mobile widgets representing the last category of widgets are very similar to desktop widgets but designed for mobile phones. Mobile widgets are often used for maximizing screen space consumption and may be especially useful in placing live data-rich applications on the phone home-screen. There are several J2ME-based mobile widget engines including BluePulse, Mywidz, WidSets, Webwag, and WidX. However, the lack of standards-based application programming interfaces (APIs) for Java to control the mobile device home-screen complicates locating widgets on the phone-top with the use of these engines. There are also several AJAX-based widget platforms available for mobile devices including Access’ NetFront, Openwaves’ MIDAS, and Opera’s Opera Platform.
Widget Solutions from Softheme
Softheme develops custom widgets for social networks, informational web portals, and e-commerce websites. We usually create HTML, JavaScript and Flash widgets that help our clients update users on their news and messages. The example of our widget-work, which is a Flash widget, is on the screenshot below:
See also: Welcome our Extended Web 2.0 Offerings
So what’s better: Linux PHP or Windows ASP.NET?









