SlideShare ist ein Scribd-Unternehmen logo
1 von 8
HSTW - 104




                            Widgetization:
                              A New Paradigm




A Harbinger Systems White Paper




        © 2009, Harbinger Systems, All Rights Reserved
Harbinger Systems
Your partner in technology innovation
About Harbinger Systems: Harbinger Systems (www.harbinger-systems.com) is a
leading provider of software engineering services to some of the world's best product
companies.

This white paper is part of Harbinger’s Web 2.0 practice. Harbinger’s Web 2.0
practice provides software development and testing services for the rich user
interface and collaboration needs of enterprise businesses and social web
communities. Visit our Web 2.0 Practice page to learn more.

Visit our website to download or request our white papers on leading edge
technologies and trends.




Contents
Introduction                                                                     3
Background                                                                       3
Benefits of Widgets                                                              4
Problem Statement                                                                6
Your Roadmap to Widgets                                                          6
Summary                                                                          8
Samples                                                                          8




                                                                            Page 2 of 8
                     © 2009, Harbinger Systems, All Rights Reserved
Introduction
With the proliferation of Web applications in a Web 2.0 world, widgets have clearly emerged as a powerful
means of expression of application interfaces in recent times! It is easy to see why. Widgets take
applications to the next level of usability and user interface richness by making them modular and easy to
consume. With widgets, applications are capable of facilitating mash-ups and support write-once publish-
everywhere model.


Background
In the past, Web applications mostly had all features in-built and delivered to end-user via traditional
HTML pages/Forms. Even though data was fetched from multiple sources, the communication and
delivery mechanism was not very extensible. There were several drawbacks to this approach.
-   Ability to customize/personalize User Interface at a module level was limited.
-   Application performance was an issue mostly because of synchronous calls.
-   Applications were not built to handle content mash-ups.
-   Integration was not as seamless, since only the APIs were modularized and not the user interface.
-   Subscribing to multiple/alternate solutions was not easily possible.
-   Publishing of features/modules for global/public use was not possible.




             Figure 1. Frequently Asked Questions (FAQ) in Traditional Website/Applications


Widgetization helps overcome the above drawbacks. However, choosing a widget development strategy
is central to success of the next generation application.




                                                                                              Page 3 of 8
                             © 2009, Harbinger Systems, All Rights Reserved
Benefits of Widgets
Through widgets applications can easily separate and customize features at a more granular level without
having to compromise either on functionality or usability.




                         Figure 3. FAQ Widget using a TeemingPod FAQ Widget


For example, solutions like TeemingPod (which has a FAQ Widget) can be used to provide a rich, in-
context, social-assisted FAQ experience than the traditional FAQ approach.


Listed below are some key benefits of widgetization.


BENEFIT 1: RICH UI

Widgets can be designed to have extremely rich graphical user interface, thereby enhancing the user
experience. Tabs, collapsible windows, drag and drop controls, trees, grids are some controls that are
very commonly used. In addition if you develop widgets using Flash or Sliverlight, you can design custom
graphical shapes that align more closely with your application, which is not easily possible using
traditional web development technique.




                                                                                            Page 4 of 8
                             © 2009, Harbinger Systems, All Rights Reserved
BENEFIT 2: ASYNCHRONOUS

Widgets are usually designed to communicate with the server in an asynchronous mode. This
dramatically improves system performance. Asynchronous calls also help in making sure that some data
is always readily available for user, thereby reducing the wait time. For example, while querying a
database with a huge set of records, one can first fetch only the required subset of records that need to
be displayed on the first page and in subsequent calls create the paging interface.


BENEFIT 3: MODULAR

Like traditional applications, widgets are also expected to be modular. Being modular facilitates easy
consumption by multiple sources. One of the key reasons for designing a widget is to ensure that they are
pluggable and easy to integrate. Widgets are developed either to provide a single functionality (for
example, a simple clock widget, which displays time as per the selected time-zone) or mash-up data from
multiple sources to act as a service (for example, a weather widget, which combines time and climate
widgets).


BENEFIT 4: API

Widgets need to be developed such that they are consumers of APIs. This allows a clear separation of
user interface from communication protocol and business logic (usually written on the server side). The
APIs should be designed in such a fashion that they are agnostic to the widget user interface. For
example, this will enable a weather widget to pull data from different sources depending on the availability
of a weather provider service or user preference.


BENEFIT 5: PLATFORM

Facebook, Google etc. provide the ability to publish widgets. These platforms allow categorization of
widgets and facilitate sharing of social information either through a proprietary API (such as Facebook) or
open API (OpenSocial). This allows developers to create widgets that change their behavior to reflect the
social preference of a user or community.




                                                                                               Page 5 of 8
                             © 2009, Harbinger Systems, All Rights Reserved
Problem Statement
Attractive as they may seem, like all emerging concepts, widgets pose their own set of challenges.
Developing a widget requires a lot of thought because you are faced with myriad design choices. For
starters, there are a variety of AJAX/UI development frameworks like Yahoo UI, Dojo, EXTJS,
Script.aculo.us, etc, which can be used to develop widgets. One also needs to consider the widget
platforms like Google, Facebook, MySpace where one can publish these widgets. These platforms also
support development of simple widgets using their APIs.


To build a powerful widget, then, one needs to make the right choice combining multiple perspectives,
including the User Interface, Usability, Web Interface (APIs) and Platform for Publishing and
Maintenance.




                                  Figure 2 Widget Development Tag Cloud




Your Roadmap to Widgets
Sound understanding of AJAX frameworks, Flash/Silverlight, PHP etc. and good Web 2.0 domain
knowledge are required to successfully develop great widgets. At Harbinger, we use this simple checklist
in developing widgets:



 Parameter                    Points to Check

 High-level Requirements      Before developing a widget the high-level requirements need to be
 (Platform, Technology,       understood thoroughly. For example:
 Hosting etc.)                -     widget needs to run on Windows, Mac, Cell Phones
                              -     widget will be hosted / behind firewall
                              -     widget needs to be thick client / thin client
                              -     widget is session dependent or not (cookie /app server/ database)




                                                                                             Page 6 of 8
                           © 2009, Harbinger Systems, All Rights Reserved
Rich Internet Application     The implementation team needs to have in-depth understanding of AJAX
(RIA)                         frameworks and technologies like Flash and Silverlight in order to quickly
                              develop the widgets.


Interoperability (API)        Involves developing a Content Data Structure and Communication API
                              for the widget interface.


Browser Compatibility         Involves making JavaScript/HTML tweaks to support all browsers. This
                              gets   even    more     complex   if   one     needs   to   write     browser
                              extensions/toolbars.


Usability                     Since widgets are used in the context of web applications they also need
                              to comply with the same usability requirements. One cannot have
                              different usability parameters for website and widgets. This will lead to
                              bad user experience. Therefore one needs to be careful while designing
                              widgets and must take the usability requirements of the corresponding
                              web application into consideration.


Personalization               Widgets have to be designed such that the user can personalize as per
                              his/her requirements. This goes beyond choosing color, fonts. It can also
                              have features like automatically scheduling for updates, synchronization
                              etc.


Installation                  Widgets usually don’t require installation unless they use a browser
                              extension or offer some offline functionality. If widgets are dependent on
                              Flash or other external party plug-ins, then those scenarios needed to be
                              handled carefully for better use experience.


Upgrade                       While upgrading a widget one needs to consider the existing user
                                                                                            rd
                              preferences, cached data that already exists, and browser/3 party plug-
                              in dependencies. Also the interface upgrade has to be done in an
                              incremental manner to ensure better usability.


Performance, Scalability      Widgets need to be developed such that they don’t degrade in
                              performance as the # of users increase. While designing widgets one
                              should not ignore parameters like the number of requests made, amount
                              of data transferred, data compression, synchronous v/s asynchronous




                                                                                                  Page 7 of 8
                            © 2009, Harbinger Systems, All Rights Reserved
calls, browser caching, server caching, serialization etc. All these
                               parameters effect performance and scalability


 Security                      Widgets are designed for enhancing user experience and improving the
                               functionality of a web application. However, this should not be done at the
                               cost of security. Encryption (SSL), Authentication (SSO, Open ID, and
                               SAML), Cross Domain Scripting, and Script Injection etc. must also be
                               considered while developing widgets to make them secure and usable.


                                 Table 1 Widget Development Parameters




Summary
Widgetization offers users a rich, cool, modular and highly efficient mechanism of interaction with a
service or application that traditionally used to be very cumbersome or not very intuitive. For building next
generation applications one needs to strongly consider the role of widgets in their overall development
plan. In addition, one also needs to have a sound development strategy and awareness of all pitfalls in
developing widgets to create the right value for customers in a timely fashion and within budget.


Samples
Courtesy TeemingPod (www.teemingpod.com), Raptivity (www.raptivity.com)




                                                                                                Page 8 of 8
                             © 2009, Harbinger Systems, All Rights Reserved

Weitere ähnliche Inhalte

Was ist angesagt?

uMobile: Taking Mobile Applications and Devices to the Next Level
uMobile: Taking Mobile Applications and Devices to the Next LeveluMobile: Taking Mobile Applications and Devices to the Next Level
uMobile: Taking Mobile Applications and Devices to the Next LevelJennifer Bourey
 
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013John Garland
 
The Future of your Desktop - Trends in Enterprise Mash-Up, Collaboration and ...
The Future of your Desktop - Trends in Enterprise Mash-Up, Collaboration and ...The Future of your Desktop - Trends in Enterprise Mash-Up, Collaboration and ...
The Future of your Desktop - Trends in Enterprise Mash-Up, Collaboration and ...Matthias Zeller
 
Grameen Solutions Product Engineering Featured Projects 2009 11 12
Grameen Solutions   Product Engineering Featured Projects 2009 11 12Grameen Solutions   Product Engineering Featured Projects 2009 11 12
Grameen Solutions Product Engineering Featured Projects 2009 11 12Grameen Solutions
 
IBM Connect 2014 - AD206 - Build Apps Rapidly by Leveraging Services from IBM...
IBM Connect 2014 - AD206 - Build Apps Rapidly by Leveraging Services from IBM...IBM Connect 2014 - AD206 - Build Apps Rapidly by Leveraging Services from IBM...
IBM Connect 2014 - AD206 - Build Apps Rapidly by Leveraging Services from IBM...Niklas Heidloff
 
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...IBM Connections Developers
 
Software application architecture
Software application architectureSoftware application architecture
Software application architectureanwitat
 
Development of Multiplatform CMS System with Zend Framework
Development of Multiplatform CMS System with Zend FrameworkDevelopment of Multiplatform CMS System with Zend Framework
Development of Multiplatform CMS System with Zend FrameworkSinisa Vukovic
 
15 asp.net session22
15 asp.net session2215 asp.net session22
15 asp.net session22Niit Care
 
Scct2013 topic5-introto applicationdevelopment
Scct2013 topic5-introto applicationdevelopmentScct2013 topic5-introto applicationdevelopment
Scct2013 topic5-introto applicationdevelopmentAnies Syahieda
 
The Groop Project Checklist
The Groop Project Checklist The Groop Project Checklist
The Groop Project Checklist thegroop
 
Nexcore mobile platform 4.0
Nexcore mobile platform 4.0Nexcore mobile platform 4.0
Nexcore mobile platform 4.0SK CC
 
What CMS to choose? WordPress - Joomla! - Drupal
What CMS to choose? WordPress - Joomla! - DrupalWhat CMS to choose? WordPress - Joomla! - Drupal
What CMS to choose? WordPress - Joomla! - DrupalWrocode
 
Building Multi-Channel Data-Aware Applications
Building Multi-Channel Data-Aware ApplicationsBuilding Multi-Channel Data-Aware Applications
Building Multi-Channel Data-Aware Applicationscjolif
 
7 steps to becoming a User Experience focused graphic designer
7 steps to becoming a User Experience focused graphic designer 7 steps to becoming a User Experience focused graphic designer
7 steps to becoming a User Experience focused graphic designer thegroop
 
Chapter 11:Understanding Client-Side Technologies
Chapter 11:Understanding Client-Side TechnologiesChapter 11:Understanding Client-Side Technologies
Chapter 11:Understanding Client-Side TechnologiesIt Academy
 

Was ist angesagt? (20)

uMobile: Taking Mobile Applications and Devices to the Next Level
uMobile: Taking Mobile Applications and Devices to the Next LeveluMobile: Taking Mobile Applications and Devices to the Next Level
uMobile: Taking Mobile Applications and Devices to the Next Level
 
IBM Worklight Whitepaper
IBM Worklight WhitepaperIBM Worklight Whitepaper
IBM Worklight Whitepaper
 
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013
 
The Future of your Desktop - Trends in Enterprise Mash-Up, Collaboration and ...
The Future of your Desktop - Trends in Enterprise Mash-Up, Collaboration and ...The Future of your Desktop - Trends in Enterprise Mash-Up, Collaboration and ...
The Future of your Desktop - Trends in Enterprise Mash-Up, Collaboration and ...
 
Grameen Solutions Product Engineering Featured Projects 2009 11 12
Grameen Solutions   Product Engineering Featured Projects 2009 11 12Grameen Solutions   Product Engineering Featured Projects 2009 11 12
Grameen Solutions Product Engineering Featured Projects 2009 11 12
 
IBM Connect 2014 - AD206 - Build Apps Rapidly by Leveraging Services from IBM...
IBM Connect 2014 - AD206 - Build Apps Rapidly by Leveraging Services from IBM...IBM Connect 2014 - AD206 - Build Apps Rapidly by Leveraging Services from IBM...
IBM Connect 2014 - AD206 - Build Apps Rapidly by Leveraging Services from IBM...
 
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
 
Software application architecture
Software application architectureSoftware application architecture
Software application architecture
 
Development of Multiplatform CMS System with Zend Framework
Development of Multiplatform CMS System with Zend FrameworkDevelopment of Multiplatform CMS System with Zend Framework
Development of Multiplatform CMS System with Zend Framework
 
RIA
RIARIA
RIA
 
RIA
RIARIA
RIA
 
Alves Mea Pch1 Free
Alves Mea Pch1 FreeAlves Mea Pch1 Free
Alves Mea Pch1 Free
 
15 asp.net session22
15 asp.net session2215 asp.net session22
15 asp.net session22
 
Scct2013 topic5-introto applicationdevelopment
Scct2013 topic5-introto applicationdevelopmentScct2013 topic5-introto applicationdevelopment
Scct2013 topic5-introto applicationdevelopment
 
The Groop Project Checklist
The Groop Project Checklist The Groop Project Checklist
The Groop Project Checklist
 
Nexcore mobile platform 4.0
Nexcore mobile platform 4.0Nexcore mobile platform 4.0
Nexcore mobile platform 4.0
 
What CMS to choose? WordPress - Joomla! - Drupal
What CMS to choose? WordPress - Joomla! - DrupalWhat CMS to choose? WordPress - Joomla! - Drupal
What CMS to choose? WordPress - Joomla! - Drupal
 
Building Multi-Channel Data-Aware Applications
Building Multi-Channel Data-Aware ApplicationsBuilding Multi-Channel Data-Aware Applications
Building Multi-Channel Data-Aware Applications
 
7 steps to becoming a User Experience focused graphic designer
7 steps to becoming a User Experience focused graphic designer 7 steps to becoming a User Experience focused graphic designer
7 steps to becoming a User Experience focused graphic designer
 
Chapter 11:Understanding Client-Side Technologies
Chapter 11:Understanding Client-Side TechnologiesChapter 11:Understanding Client-Side Technologies
Chapter 11:Understanding Client-Side Technologies
 

Ähnlich wie Widgetization: A New Paradigm

How to choose the best frontend framework in 2022
How to choose the best frontend framework in 2022How to choose the best frontend framework in 2022
How to choose the best frontend framework in 2022Katy Slemon
 
Developing apps with techstack wp-dm
Developing apps with techstack wp-dmDeveloping apps with techstack wp-dm
Developing apps with techstack wp-dmActian Corporation
 
Navigating the Hype and Realities of Web Development Frameworks
Navigating the Hype and Realities of Web Development FrameworksNavigating the Hype and Realities of Web Development Frameworks
Navigating the Hype and Realities of Web Development FrameworksSeasiaInfotech2
 
What Are Progressive Web Application Development
What Are Progressive Web Application DevelopmentWhat Are Progressive Web Application Development
What Are Progressive Web Application DevelopmentApp Verticals
 
Top 12 Front End Technologies to Use In 2024.pdf
Top 12 Front End Technologies to Use In 2024.pdfTop 12 Front End Technologies to Use In 2024.pdf
Top 12 Front End Technologies to Use In 2024.pdfLaura Miller
 
Ext Js In Action January 2010 (Meap Edition)
Ext Js In Action January 2010 (Meap Edition)Ext Js In Action January 2010 (Meap Edition)
Ext Js In Action January 2010 (Meap Edition)Goran Kljajic
 
Web Application Development-Ultimate Guide To Web Application Architecture
Web Application Development-Ultimate Guide To Web Application ArchitectureWeb Application Development-Ultimate Guide To Web Application Architecture
Web Application Development-Ultimate Guide To Web Application ArchitectureVersatile Mobitech
 
The Ultimate Guide to Modern Web App Development.ppt
The Ultimate Guide to Modern Web App Development.pptThe Ultimate Guide to Modern Web App Development.ppt
The Ultimate Guide to Modern Web App Development.pptAsad Majeed
 
Web Site and Rich Internet Applications
Web Site and Rich Internet ApplicationsWeb Site and Rich Internet Applications
Web Site and Rich Internet ApplicationsWeb Site srl
 
IRJET- Conversational Commerce (ESTILO)
IRJET- Conversational Commerce (ESTILO)IRJET- Conversational Commerce (ESTILO)
IRJET- Conversational Commerce (ESTILO)IRJET Journal
 
IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...
IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...
IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...IRJET Journal
 
Key Advantages of Vue.js in Web App Development.pdf
Key Advantages of Vue.js in Web App Development.pdfKey Advantages of Vue.js in Web App Development.pdf
Key Advantages of Vue.js in Web App Development.pdfWDP Technologies
 
Assessing the Value of Rich Internet-White Paper
Assessing the Value of Rich Internet-White PaperAssessing the Value of Rich Internet-White Paper
Assessing the Value of Rich Internet-White PaperAxis Technology, LLC
 
Flutter App Performance Optimization_ Tips and Techniques.pdf
Flutter App Performance Optimization_ Tips and Techniques.pdfFlutter App Performance Optimization_ Tips and Techniques.pdf
Flutter App Performance Optimization_ Tips and Techniques.pdfDianApps Technologies
 
Wireless mobile content genteration application with RSS feed integration
Wireless mobile content genteration application with RSS feed integrationWireless mobile content genteration application with RSS feed integration
Wireless mobile content genteration application with RSS feed integrationMike Taylor
 
Challenges In Building Enterprise Mashups - Rick B
Challenges In Building Enterprise Mashups - Rick BChallenges In Building Enterprise Mashups - Rick B
Challenges In Building Enterprise Mashups - Rick BRoopa Nadkarni
 
5 challenges in_building_enterprise_mashups-rick_b
5 challenges in_building_enterprise_mashups-rick_b5 challenges in_building_enterprise_mashups-rick_b
5 challenges in_building_enterprise_mashups-rick_bIBM
 
Top 12 Front End Technologies to Use In 2023.pdf
Top 12 Front End Technologies to Use In 2023.pdfTop 12 Front End Technologies to Use In 2023.pdf
Top 12 Front End Technologies to Use In 2023.pdfLaura Miller
 

Ähnlich wie Widgetization: A New Paradigm (20)

How to choose the best frontend framework in 2022
How to choose the best frontend framework in 2022How to choose the best frontend framework in 2022
How to choose the best frontend framework in 2022
 
Developing apps with techstack wp-dm
Developing apps with techstack wp-dmDeveloping apps with techstack wp-dm
Developing apps with techstack wp-dm
 
Navigating the Hype and Realities of Web Development Frameworks
Navigating the Hype and Realities of Web Development FrameworksNavigating the Hype and Realities of Web Development Frameworks
Navigating the Hype and Realities of Web Development Frameworks
 
What Are Progressive Web Application Development
What Are Progressive Web Application DevelopmentWhat Are Progressive Web Application Development
What Are Progressive Web Application Development
 
Top 12 Front End Technologies to Use In 2024.pdf
Top 12 Front End Technologies to Use In 2024.pdfTop 12 Front End Technologies to Use In 2024.pdf
Top 12 Front End Technologies to Use In 2024.pdf
 
Ext Js In Action January 2010 (Meap Edition)
Ext Js In Action January 2010 (Meap Edition)Ext Js In Action January 2010 (Meap Edition)
Ext Js In Action January 2010 (Meap Edition)
 
Web Application Development-Ultimate Guide To Web Application Architecture
Web Application Development-Ultimate Guide To Web Application ArchitectureWeb Application Development-Ultimate Guide To Web Application Architecture
Web Application Development-Ultimate Guide To Web Application Architecture
 
The Ultimate Guide to Modern Web App Development.ppt
The Ultimate Guide to Modern Web App Development.pptThe Ultimate Guide to Modern Web App Development.ppt
The Ultimate Guide to Modern Web App Development.ppt
 
Web Site and Rich Internet Applications
Web Site and Rich Internet ApplicationsWeb Site and Rich Internet Applications
Web Site and Rich Internet Applications
 
Top 5 backend frameworks for web development in.pptx
Top 5 backend frameworks for web development in.pptxTop 5 backend frameworks for web development in.pptx
Top 5 backend frameworks for web development in.pptx
 
IRJET- Conversational Commerce (ESTILO)
IRJET- Conversational Commerce (ESTILO)IRJET- Conversational Commerce (ESTILO)
IRJET- Conversational Commerce (ESTILO)
 
IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...
IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...
IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...
 
Key Advantages of Vue.js in Web App Development.pdf
Key Advantages of Vue.js in Web App Development.pdfKey Advantages of Vue.js in Web App Development.pdf
Key Advantages of Vue.js in Web App Development.pdf
 
Assessing the Value of Rich Internet-White Paper
Assessing the Value of Rich Internet-White PaperAssessing the Value of Rich Internet-White Paper
Assessing the Value of Rich Internet-White Paper
 
Flutter App Performance Optimization_ Tips and Techniques.pdf
Flutter App Performance Optimization_ Tips and Techniques.pdfFlutter App Performance Optimization_ Tips and Techniques.pdf
Flutter App Performance Optimization_ Tips and Techniques.pdf
 
Web Applications: Dominance and Drawbacks
Web Applications: Dominance and DrawbacksWeb Applications: Dominance and Drawbacks
Web Applications: Dominance and Drawbacks
 
Wireless mobile content genteration application with RSS feed integration
Wireless mobile content genteration application with RSS feed integrationWireless mobile content genteration application with RSS feed integration
Wireless mobile content genteration application with RSS feed integration
 
Challenges In Building Enterprise Mashups - Rick B
Challenges In Building Enterprise Mashups - Rick BChallenges In Building Enterprise Mashups - Rick B
Challenges In Building Enterprise Mashups - Rick B
 
5 challenges in_building_enterprise_mashups-rick_b
5 challenges in_building_enterprise_mashups-rick_b5 challenges in_building_enterprise_mashups-rick_b
5 challenges in_building_enterprise_mashups-rick_b
 
Top 12 Front End Technologies to Use In 2023.pdf
Top 12 Front End Technologies to Use In 2023.pdfTop 12 Front End Technologies to Use In 2023.pdf
Top 12 Front End Technologies to Use In 2023.pdf
 

Mehr von Harbinger Systems - HRTech Builder of Choice

Mehr von Harbinger Systems - HRTech Builder of Choice (20)

Using People Analytics for a Sustainable Remote Workforce
Using People Analytics for a Sustainable Remote WorkforceUsing People Analytics for a Sustainable Remote Workforce
Using People Analytics for a Sustainable Remote Workforce
 
5 Trends That Will Drive the Transformation of EdTech in 2021
5 Trends That Will Drive the Transformation of EdTech in 20215 Trends That Will Drive the Transformation of EdTech in 2021
5 Trends That Will Drive the Transformation of EdTech in 2021
 
Rapidly Transforming Organizational Content into Learning Experiences
Rapidly Transforming Organizational Content into Learning ExperiencesRapidly Transforming Organizational Content into Learning Experiences
Rapidly Transforming Organizational Content into Learning Experiences
 
Scalable HR Integrations for Better Data Analytics: Challenges & Solutions
Scalable HR Integrations for Better Data Analytics: Challenges & SolutionsScalable HR Integrations for Better Data Analytics: Challenges & Solutions
Scalable HR Integrations for Better Data Analytics: Challenges & Solutions
 
5 Key Items HR Should Consider Before Buying HR Technologies
5 Key Items HR Should Consider Before Buying HR Technologies5 Key Items HR Should Consider Before Buying HR Technologies
5 Key Items HR Should Consider Before Buying HR Technologies
 
Best Practices to Build Marketplace-Ready Integrations
Best Practices to Build Marketplace-Ready IntegrationsBest Practices to Build Marketplace-Ready Integrations
Best Practices to Build Marketplace-Ready Integrations
 
HRTech Integration Masterclass Session 4 How to Expand Your Recruitment Datab...
HRTech Integration Masterclass Session 4 How to Expand Your Recruitment Datab...HRTech Integration Masterclass Session 4 How to Expand Your Recruitment Datab...
HRTech Integration Masterclass Session 4 How to Expand Your Recruitment Datab...
 
Recalibrating Product Strategy - Addressing Demand Shifts in Existing Markets
Recalibrating Product Strategy - Addressing Demand Shifts in Existing MarketsRecalibrating Product Strategy - Addressing Demand Shifts in Existing Markets
Recalibrating Product Strategy - Addressing Demand Shifts in Existing Markets
 
How to Gain Key Insights from Data Distributed Across Multiple HR Systems
How to Gain Key Insights from Data Distributed Across Multiple HR SystemsHow to Gain Key Insights from Data Distributed Across Multiple HR Systems
How to Gain Key Insights from Data Distributed Across Multiple HR Systems
 
HRTech Integration Master Class Session 1 -Delivering Seamless Learning Exper...
HRTech Integration Master Class Session 1 -Delivering Seamless Learning Exper...HRTech Integration Master Class Session 1 -Delivering Seamless Learning Exper...
HRTech Integration Master Class Session 1 -Delivering Seamless Learning Exper...
 
Recalibrating Product Strategy - Addressing Demand Shifts in Existing Markets
Recalibrating Product Strategy - Addressing Demand Shifts in Existing MarketsRecalibrating Product Strategy - Addressing Demand Shifts in Existing Markets
Recalibrating Product Strategy - Addressing Demand Shifts in Existing Markets
 
Integrating System of Records and Collaboration Tools
Integrating System of Records and Collaboration ToolsIntegrating System of Records and Collaboration Tools
Integrating System of Records and Collaboration Tools
 
How to Power Your HR Apps With AI And Make It Explainable
How to Power Your HR Apps With AI And Make It ExplainableHow to Power Your HR Apps With AI And Make It Explainable
How to Power Your HR Apps With AI And Make It Explainable
 
Chatbot for Continuous Performance Management
Chatbot for Continuous Performance Management Chatbot for Continuous Performance Management
Chatbot for Continuous Performance Management
 
Leveraging mobile capabilities in your HR application
Leveraging mobile capabilities in your HR applicationLeveraging mobile capabilities in your HR application
Leveraging mobile capabilities in your HR application
 
Automate HR applications using AI and ML
Automate HR applications using AI and MLAutomate HR applications using AI and ML
Automate HR applications using AI and ML
 
Engage for Success: Improve Workforce Engagement with Open Communication and ...
Engage for Success: Improve Workforce Engagement with Open Communication and ...Engage for Success: Improve Workforce Engagement with Open Communication and ...
Engage for Success: Improve Workforce Engagement with Open Communication and ...
 
Building next gen hr solutions with people analytics-final
Building next gen hr solutions with people analytics-finalBuilding next gen hr solutions with people analytics-final
Building next gen hr solutions with people analytics-final
 
A Cloud-based Collaborative Learning and Coaching Platform
A Cloud-based Collaborative Learning and Coaching PlatformA Cloud-based Collaborative Learning and Coaching Platform
A Cloud-based Collaborative Learning and Coaching Platform
 
Extending LRSs and the xAPI for Event-driven Blended and Adaptive Learning
Extending LRSs and the xAPI for Event-driven Blended and Adaptive LearningExtending LRSs and the xAPI for Event-driven Blended and Adaptive Learning
Extending LRSs and the xAPI for Event-driven Blended and Adaptive Learning
 

Kürzlich hochgeladen

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 

Kürzlich hochgeladen (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 

Widgetization: A New Paradigm

  • 1. HSTW - 104 Widgetization: A New Paradigm A Harbinger Systems White Paper © 2009, Harbinger Systems, All Rights Reserved
  • 2. Harbinger Systems Your partner in technology innovation About Harbinger Systems: Harbinger Systems (www.harbinger-systems.com) is a leading provider of software engineering services to some of the world's best product companies. This white paper is part of Harbinger’s Web 2.0 practice. Harbinger’s Web 2.0 practice provides software development and testing services for the rich user interface and collaboration needs of enterprise businesses and social web communities. Visit our Web 2.0 Practice page to learn more. Visit our website to download or request our white papers on leading edge technologies and trends. Contents Introduction 3 Background 3 Benefits of Widgets 4 Problem Statement 6 Your Roadmap to Widgets 6 Summary 8 Samples 8 Page 2 of 8 © 2009, Harbinger Systems, All Rights Reserved
  • 3. Introduction With the proliferation of Web applications in a Web 2.0 world, widgets have clearly emerged as a powerful means of expression of application interfaces in recent times! It is easy to see why. Widgets take applications to the next level of usability and user interface richness by making them modular and easy to consume. With widgets, applications are capable of facilitating mash-ups and support write-once publish- everywhere model. Background In the past, Web applications mostly had all features in-built and delivered to end-user via traditional HTML pages/Forms. Even though data was fetched from multiple sources, the communication and delivery mechanism was not very extensible. There were several drawbacks to this approach. - Ability to customize/personalize User Interface at a module level was limited. - Application performance was an issue mostly because of synchronous calls. - Applications were not built to handle content mash-ups. - Integration was not as seamless, since only the APIs were modularized and not the user interface. - Subscribing to multiple/alternate solutions was not easily possible. - Publishing of features/modules for global/public use was not possible. Figure 1. Frequently Asked Questions (FAQ) in Traditional Website/Applications Widgetization helps overcome the above drawbacks. However, choosing a widget development strategy is central to success of the next generation application. Page 3 of 8 © 2009, Harbinger Systems, All Rights Reserved
  • 4. Benefits of Widgets Through widgets applications can easily separate and customize features at a more granular level without having to compromise either on functionality or usability. Figure 3. FAQ Widget using a TeemingPod FAQ Widget For example, solutions like TeemingPod (which has a FAQ Widget) can be used to provide a rich, in- context, social-assisted FAQ experience than the traditional FAQ approach. Listed below are some key benefits of widgetization. BENEFIT 1: RICH UI Widgets can be designed to have extremely rich graphical user interface, thereby enhancing the user experience. Tabs, collapsible windows, drag and drop controls, trees, grids are some controls that are very commonly used. In addition if you develop widgets using Flash or Sliverlight, you can design custom graphical shapes that align more closely with your application, which is not easily possible using traditional web development technique. Page 4 of 8 © 2009, Harbinger Systems, All Rights Reserved
  • 5. BENEFIT 2: ASYNCHRONOUS Widgets are usually designed to communicate with the server in an asynchronous mode. This dramatically improves system performance. Asynchronous calls also help in making sure that some data is always readily available for user, thereby reducing the wait time. For example, while querying a database with a huge set of records, one can first fetch only the required subset of records that need to be displayed on the first page and in subsequent calls create the paging interface. BENEFIT 3: MODULAR Like traditional applications, widgets are also expected to be modular. Being modular facilitates easy consumption by multiple sources. One of the key reasons for designing a widget is to ensure that they are pluggable and easy to integrate. Widgets are developed either to provide a single functionality (for example, a simple clock widget, which displays time as per the selected time-zone) or mash-up data from multiple sources to act as a service (for example, a weather widget, which combines time and climate widgets). BENEFIT 4: API Widgets need to be developed such that they are consumers of APIs. This allows a clear separation of user interface from communication protocol and business logic (usually written on the server side). The APIs should be designed in such a fashion that they are agnostic to the widget user interface. For example, this will enable a weather widget to pull data from different sources depending on the availability of a weather provider service or user preference. BENEFIT 5: PLATFORM Facebook, Google etc. provide the ability to publish widgets. These platforms allow categorization of widgets and facilitate sharing of social information either through a proprietary API (such as Facebook) or open API (OpenSocial). This allows developers to create widgets that change their behavior to reflect the social preference of a user or community. Page 5 of 8 © 2009, Harbinger Systems, All Rights Reserved
  • 6. Problem Statement Attractive as they may seem, like all emerging concepts, widgets pose their own set of challenges. Developing a widget requires a lot of thought because you are faced with myriad design choices. For starters, there are a variety of AJAX/UI development frameworks like Yahoo UI, Dojo, EXTJS, Script.aculo.us, etc, which can be used to develop widgets. One also needs to consider the widget platforms like Google, Facebook, MySpace where one can publish these widgets. These platforms also support development of simple widgets using their APIs. To build a powerful widget, then, one needs to make the right choice combining multiple perspectives, including the User Interface, Usability, Web Interface (APIs) and Platform for Publishing and Maintenance. Figure 2 Widget Development Tag Cloud Your Roadmap to Widgets Sound understanding of AJAX frameworks, Flash/Silverlight, PHP etc. and good Web 2.0 domain knowledge are required to successfully develop great widgets. At Harbinger, we use this simple checklist in developing widgets: Parameter Points to Check High-level Requirements Before developing a widget the high-level requirements need to be (Platform, Technology, understood thoroughly. For example: Hosting etc.) - widget needs to run on Windows, Mac, Cell Phones - widget will be hosted / behind firewall - widget needs to be thick client / thin client - widget is session dependent or not (cookie /app server/ database) Page 6 of 8 © 2009, Harbinger Systems, All Rights Reserved
  • 7. Rich Internet Application The implementation team needs to have in-depth understanding of AJAX (RIA) frameworks and technologies like Flash and Silverlight in order to quickly develop the widgets. Interoperability (API) Involves developing a Content Data Structure and Communication API for the widget interface. Browser Compatibility Involves making JavaScript/HTML tweaks to support all browsers. This gets even more complex if one needs to write browser extensions/toolbars. Usability Since widgets are used in the context of web applications they also need to comply with the same usability requirements. One cannot have different usability parameters for website and widgets. This will lead to bad user experience. Therefore one needs to be careful while designing widgets and must take the usability requirements of the corresponding web application into consideration. Personalization Widgets have to be designed such that the user can personalize as per his/her requirements. This goes beyond choosing color, fonts. It can also have features like automatically scheduling for updates, synchronization etc. Installation Widgets usually don’t require installation unless they use a browser extension or offer some offline functionality. If widgets are dependent on Flash or other external party plug-ins, then those scenarios needed to be handled carefully for better use experience. Upgrade While upgrading a widget one needs to consider the existing user rd preferences, cached data that already exists, and browser/3 party plug- in dependencies. Also the interface upgrade has to be done in an incremental manner to ensure better usability. Performance, Scalability Widgets need to be developed such that they don’t degrade in performance as the # of users increase. While designing widgets one should not ignore parameters like the number of requests made, amount of data transferred, data compression, synchronous v/s asynchronous Page 7 of 8 © 2009, Harbinger Systems, All Rights Reserved
  • 8. calls, browser caching, server caching, serialization etc. All these parameters effect performance and scalability Security Widgets are designed for enhancing user experience and improving the functionality of a web application. However, this should not be done at the cost of security. Encryption (SSL), Authentication (SSO, Open ID, and SAML), Cross Domain Scripting, and Script Injection etc. must also be considered while developing widgets to make them secure and usable. Table 1 Widget Development Parameters Summary Widgetization offers users a rich, cool, modular and highly efficient mechanism of interaction with a service or application that traditionally used to be very cumbersome or not very intuitive. For building next generation applications one needs to strongly consider the role of widgets in their overall development plan. In addition, one also needs to have a sound development strategy and awareness of all pitfalls in developing widgets to create the right value for customers in a timely fashion and within budget. Samples Courtesy TeemingPod (www.teemingpod.com), Raptivity (www.raptivity.com) Page 8 of 8 © 2009, Harbinger Systems, All Rights Reserved