REQUIREMENTS FOR BLOG IN WEB APPLICATION

Blog is a communication tool that plays a key role in a web application. Use of blogs has resulted in a paradigm shift in the way a web application interacts with the customer. During the development of web application, there is a need to elicit and specify the requirements for the blogging functionality. In this study, we present a requirements checklist for the blog, from the perspective of integrating the blog in a web application. We follow the use case based approach for identifying the software requirement for the blog. The requirement checklist helps both the web application and the developer during the requirement elicitation of the blog’s software. The checklist is also useful during the testing phase for the validation and verification of the blog functionality.


INTRODUCTION
Web applications are an integral part of our day-today work-be it hotels, sports, news, business, medicine or education. In a competitive world that promotes global access to services, there is an increasing need to reach out to the customers and provide them with regular updates and information. Nowadays, blog is an essential component of a web application.
Blog is an important social networking tool included in a web application, to facilitate interaction and collaboration with the users. For a web application, it is an important part of online marketing. Blog in a web application is used for promoting products and services, writing articles, providing product updates, educating user. Blog facilitates communication and interaction with the user to share knowledge and expertise.
A blog is included in a web application (Leary, 2010) in either of the two ways-(1) hosted on the server of a blog publishing application like Wordpress (Hayder and Silver, 2009), or (2) installed on the server space of the web application. Generally, the second option of installing blog software in own server space is the preferred choice of a web application. It is not a standard practice to write code for the blog. The free themes and database from the blog publishing application are used along with plug-ins, which are adapted for the web application. Some web applications may also prefer to write their own code for the blog software.
There is a need to specify the software requirements for the blog, both, when an existing blog is adapted or a new one is developed. Support pages exist at the blog publishing application sites that describe the functionality of the different features of the blog. The functionality of the blog is listed, when a new blog is developed. But none of them address the issue of the software requirement specification for the blog.
In this study, we focus on creation of software requirement specification for the blog, for use during the development of a web application. Our aim is to help the web application to specify the software requirement for blog, by choosing the desired functionality.
Here, we present a blog software requirement checklist, which facilitates in selecting the requirement of the blog for a web application. The requirement checklist is provided for the different components of the blog, namely, (1) Blog Home, (2) Blog Dashboard and (3) Blog Parameters. The requirement checklist is for use both by the web application and the developer and facilitates in identifying the functionality required in the blog's software. During the requirement phase of software development, functionality that is needed for the blog in a web application can be selected from the checklist.
For formulating the requirement checklist, we performed a study of three popular blog publishing software- Wordpress (2003). We use the use case based approach to identify the software requirement for the blog.

AJEAS
We identify (1) actors who use the software, (2) components of software and (3) functionality of each component of the software. We classify the components based on the interaction of actors with the blog's software.
Since blog is a standard tool, generic in nature, the requirement checklist relieves the web application and the developer from the task of specifying the software requirements for the blog afresh. A web application may choose all or a part of the functionality specified in the checklist. The checklist is for use during the software requirement phase and also during the validation and verification of the requirements during the testing phase. The requirement checklist presented here can be easily updated to include any new functionality, feature or an option.
In this study, Material and Methods provides an overview of the methods used during our research. Results describes the users, the structure and the requirement checklist of blog in web application in detail. In the Discussion, the benefits of the checklist are enumerated. Also, in this section, two examples on which we have applied the checklist and the survey of related work are illustrated. Finally, the conclusion is stated in the conclusion.

MATERIALS AND METHODS
Blog acts as a medium for interaction among people by allowing them to share their thoughts, ideas and suggestions. Blog consists of posts which can be about a product, one's personal life or descriptions of events. The blog posts are written in the journal style and are displayed in reverse chronological order, with only the public entry being displayed to all the visitors. A key feature of blog is that it allows a visitor to leave comment for other visitors to see and further comment on it.
Generally, blog contains text, video, images and other kinds of media files. It may also contain links to web pages, media files or even other blogs. Blog allows use of widgets like archive information, tag cloud, recent comments and recent posts. Archiving displays the number of posts made in the blog in the past months and year. The blog posts can be shared with users of other social networking sites, like, Facebook, Twitter, delicious for tagging and RSS for feeds.
In this paper, the requirement for blog present in a web application are identified. For identitfying these requirementa, a use-case based approach has been used. Using the approach, the users of blog in web applicaation have been identified. Also, the components of blogs in web application have identified. Finally, the requirements are identifed and have been tabulated in three checklists based on the componenets of blog. For the purpose of geenration of requirement, three popular blogging websites, namely, Wordpress (2003) have been used.

RESULTS
During the generation of the requirements of blog in web application, the users and the structure of blog are also identified. In the following sub-sections, we present each of three results obtained during our work, namely, the users, the structure and the requirement of blog in web application.

Users of Blog
The software for blog in a web application has different kinds of users. The users interact with the blog in different ways. We identify three users or actors of the blog's software in a web application, as follows: • Web Application is the software in which the blog's software is integrated. The web application interacts with the blog's software for defining the various settings and parameters of the blog. This includes the setting for the look and feel of the blog and the features to be included in the blog • Administrator is any person performing the task of updating and maintaining the blog. The administrator has full rights for maintenance of the blog. The administrator can perform tasks like edit post, new post, delete post. The settings and parameters for blog and post is also a task of the administrator • Visitor is a user who visits the blog in a web application via the Internet. The visitor views blog home that contains the blogs and posts which the user can read. The visitor can perform various tasks like, comment on post, like post or share post The interaction of a web application with the blog's software aims at listing the desired parameters to be included in the blog when incorporating it in a web application. The web application interacts with the blog to set the various parameters only once, when the blog is to be included in the web application.

Structure of Blog
The users of the blog's software interact with different components of the blog. We classify the blog in a web application, based on the interaction of users with the blog's software. The blog's software is classified in three broad components as follows: • Blog Home is the view for visitor • Blog Parameters is the view for web application • Blog Dashboard is the view for administrator

Blog Home
Blog home is the main homepage of the blog, which is visible to a visitor, in a web application. It is hierarchical in structure. Blog title is at next level in the hierarchy. The blog home consists of several blog titles. Blog title is the homepage for individual blogs. Further, each blog title may have many posts, pages and media within them. Figure 2 shows the hierarchy of Blog Home. Any page in this hierarchy has a predefined structure consisting of mainly four parts-(1) Header, (2) Footer, (3) Content Area and (4) Sidebar (Reeder and Scoleri 2007). For any page in the hierarchy, the header and footer may display default menu of the web application or a customized menu. Sidebar contains various widgets which are used for interaction with the blog. All pages in the hierarchy differ in only the content area, with the header, footer and sidebar area having the same information for all.
Blog home displays the list of latest posts that have been published across all the blog titles, in the content area. Each post contains a post title, timestamp and few starting lines or excerpt. It also contains various options, like, share a post, subscribe to a post and like a post. There is only one page for the blog home.
Blog title is the homepage for the individual blog present in the blog home. In its content area, list of latest posts that have been published under the blog title are displayed. Posts in blog title are displayed in the same format as in blog homepage. There is one blog title page for each entry in the blog home.
Post is the entries that are made in a blog title. The content area of the post displays the following: Pages and media have a structure similar to that of the post. Post is dynamic in nature, but page is of static nature and is not listed by date. Pages do not use tags or categories. An About page is the classic example of a page. In case of media, instead of post title, the filename of the media file is displayed. The content is replaced by a link to the media file.

Blog Parameters
Blog parameter is that part of blog which is used by the web application to define the look and feel of the blog and the features of the blog's software. The features Science Publications AJEAS are defined via various options available to the web application. Some of the parameters decided by the web application are: • Number of posts that can be displayed on the homepage • Size of the posts • Format in which the time and date will be displayed • Language in which the blog can be written • Who can comment on the blog like registered users • Will the comments be moderated or approved directly The look of blog is defined by deciding the 'theme', that is to be used for the blog. The theme of the blog can be either same as of the web application or can be customized.
The blog parameters define the functionality that will be available in the blog's software.

Blog Dashboard
Blog dashboard is the interface provided to the administrator for maintaining and updating the blog in a web application. Blog dashboard contains a list of blogs titles present in the web application. With each blog title is associated a set of tabs to maintain and update it. The administrator uses the tabs to maintain the posts, page, media, link, comment, ratings, statistics, settings and for maintenance.
Post tab provides the administrator with options for creating new posts, editing posts, deleting post. Similar options are provided for page and media by page tab and media tab, respectively. Comment tab is used by administrator for approving/disapproving the comment, marking it spam. Links tab allows add, delete and edit feature for the links present in the blogroll widget. Rating tab is used for viewing the ratings of post, page and comment. It is also used for defining setting for ratings. Maintenance tab is used for maintaining the blog title. Using it, the administrator can add a new blog title, delete a blog title, import/export blog title. Stats tab provides statistics for the blog titles present on the web application. It also provides the stats for individual posts and pages of all the blog titles. The setting tab is similar to the one present in blog parameter. The administrator can change the settings when needed.

Requirement Checklist
The classification of the blog's software into different components provided a framework for the categorization of features of the blog, from the user's perspective. To understand the requirements of the blog's software, we performed a study of three popular blog publishing software. For our study, we considered Wordpress, Blogger.com and blog.com. We found that in addition to the key functionality of the blog, the different blog publishing software provide functionality that is unique to their software. For arriving at the requirement checklist, we classified the features provided by these blog publishing software, under the three components-Blog Home, Blog Dashboard and Blog Parameter.
Blog Home checklist contains the functionality as seen by a visitor to the blog in a web application. During the requirements specification, this checklist helps in deciding the options that need to be made available to a visitor who interacts with the blog.
A visitor to blog home interacts with the tabs in the header and footer, widgets in the sidebar and performs different actions in the content area. The visitor can view, move, select options present with the post and comment on a post, in the content area. For each of these actions, several options exist. Some of the options areaction for commenting on a post can only be performed on the post, page and media. A blog home or blog title does not support this option. A visitor can view ratings and view likes for a post, media and page and not blog home or blog title. However, a visitor can rate and like from anywhere in the blog home hierarchy. An image, video or audio can be viewed from a post, page and media only. Table 1 lists the software requirement checklist for the blog home.
Blog Parameter checklist lists the functionality and parameters that are required in the blog in a web application. When deciding the requirements for blog in a web application, the checklist helps in selecting the parameters and the settings of parameters that are needed.
The settings for the blog's software are classified further, like, General settings for the tag line, blog image, email address; Writing settings for the size of the post box, format of the post; Reading, Archiving, Discussion, Media, Privacy, Permalink, Open ID, Text messaging, Email post changes, Feed, Sharing, Extra and Personal settings. Each of these settings further have several options available like, archiving daily, weekly or monthly; position of the comment; size of the imagethumbnail, medium or large size; sharing options that are allowed and; style of buttons and labels. Display settings include deciding the theme for the blog; display on iPad and mobile phones and; display font and color. Table 2 summarizes the software requirement checklist for the blog parameters.
Blog dashboard checklist lists the tasks that can be performed by the administrator for the different blog dashboard parameters. For the blog's software, this checklist helps in identifying the functionality to be included in the dashboard and the parameters for them. The administrator can update and maintain the post, page, media, link, comment, ratings, maintenance, stats and settings.

AJEAS
The permissions are given to the administrator to perform operations like create, edit, add, delete, rearrange, view, search, restore on the different parameters of the blog dashboard. Some options for the parameters are-create feedback for post; rearrange a post by title, author or date; add name, description and slug for tag and; add a file type for the media. Table 3 summarizes the software requirement checklist for the blog dashboard. The requirement checklists provided here help in specifying the requirements for the blog in a web application.

DISCUSSION
The requirement checklist presented here, is exhaustive, for including blog software in a web application. Our requirement checklist benefits, both the developer and the web application during the different phases of software development of the blog's software for integration in a web application. It is evident from the case studies and the associated graph that none of the sites provided all the features of the blog software to their users.
Usually, ad-hoc approach is used for the integration of blog software into a web application. Freely available software like Wordpress, MT (2001) is used to serve this purpose. This approach of using freely available software has a high possibility of the requirement generated being basic in nature. Both the developer and the web application may not be able to elicit the complete functionality that blog software can provide as well as the impact of including the functionality in a web application in terms of performance overhead.
The requirement checklist presented here is for use by both the developer and the web application. The checklist lists the features available in blog software. During requirement elicitation, the developer and the web application use the checklist to choose the functionality desired, with minimum effort. The use of the requirement checklist allows the developer and the web application to include more features into the blog software rather than just basic features. The blog software developed using this checklist provides more interactive blog software which is highly interactive and user oriented.
Since the checklist can be used easily during testing and verification, the chance of the functionality getting lost during the development phases is almost insignificant. In the following subsections, we present a case study to highlight the use of our requiremet checklist.

Case Study
The requirement checklist for the blog's software has been applied to five different web applications having blog software. Econsultancy (1999); Milestone (1998); Yahoo (1995) and Movieblog (2001) are the web applications relating to sports, consultancy, hospitality, news and movie, respectively, whose blog software we have chosen for the study, We focus on the functionality provided to any visitor of a blog, in the different blog software and use our checklist for validation.
ESPNcricinfo.com is a leading cricket website providing live ball-by-ball coverage of all test matches, one-day matches and cricket related news.
The site includes blogs written by some of the world's best cricketers and cricket writers. Econsultancy.com is a community for digital marketing and e-commerce professionals, who interact to sharpen their strategy, source suppliers, compare notes and to help each other out. It provides reports, events, online resources and training programs to help their members. Milestone internet marketing provides internet marketing solutions for the lodging, hospitality and travel industry and specializing in hotels, resorts, bed and breakfasts, restaurants. They design websites, market and promote the client properties on the Internet. Yahoo! News is the news service provided by Yahoo Inc. It provides news from all over the world in areas, like, entertainment, sports technology and health. The Movie Blog is a blog about movies, started by John Campea. Thought and opinions on various movies and movie stars are posted here.
Our requirement checklist is applied to the Blog Home of the blog's software for the post, blog title and blog home components. We discuss some of the key findings, here. In post, we find that reply to a comment option is provided by yahoo news blog and movieblog only. Also, yahoo news blog is the only one providing the option of rating a comment. Tag cloud is included only in econsultancy and milestone internet. In Blog Title, we note that movieblog is a single author blog, so the option of Blog Title does not exist. In the Blog Home components, we find that Blogroll is only provided by movieblog. The archive option is provided by cricinfo, milestone and movieblog, but not by Yahoo and econsultancy. Table 4-6 displays a comparative requirement checklist for post, blog title and blog home, respectivelyof blog's software of the five selected web applications. In Table 4 the complete checklist for post is presented. Table 5 and 6 display some selected portions of blog title and blog home, respectively. Figure 3 displays the coverage of requirement checklist for the Blog Home component of the blog's software in our case study. We highlight some of our key observations as follows: • The maximum functionality, about 55%, is provided by milestone internet • The functionality provided in milestone internet blog for blog home and blog title is significantly high (almost double), in comparison to the functionality of other blogs in our study, Also, movie blog does not include blog title in their blog software Science Publications Archives There is no significant difference in the functionality for a post in the different blogs in our study.

Related Work
Much work has been done related to the style of writing the blog post, using the blog for communication in education, medicine, literature and for the mining of blog logs, blog distillation and author identification.
The aim of blog distillation is to find blogs that match user's recurring central interest. The initiative for blog distillation started in 2007 in the TREC conference (Macdonald et al., 2007). Different methods like ad-hoc search and resource selection are used for distillation. Ad-hoc search is the simplest method in which the complete blog is considered as a single document . Some authors use expert search techniques in this field. It is assumed that each post in a blog is an evidence of blog having interest in the topic (Balog et al., 2008;Macdonald and Ounis 2008). Resource selection methods have been used  to achieve the aim of finding the desired blog.
Another area of research has been on the corporate blogs; blogs provided by the corporation to their employees. Studies have been conducted to investigate corporate blogging and its objectives with respect to fortune 500 companies (Lee et al., 2006). Research has also been done on the differences between blogging activities of different cultures (Jeon et al., 2008) and the impact of these cultures on the various aspects of the blog.
Identification of author is another area of research in the blog (Mohtasseb and Ahmed 2009).The aim is to identify the author of anonymous blog posts for online security and to recognize authors who participate in different blog sites with different identities. An objectoriented development model has been created for the same (Huang, 2010). This study proposed a blog Science Publications AJEAS developing model which expatiate the foreground operation and the background operation in detail.
Our extensive search has revealed that no academic research study related to the requirements specification of the blog software is available. Generally, the freely available blog software like Wordpress, MovableType is customized or the freely available code available for blog is used for writing the blog's software. These blogs have pre-defined features and no checklist exists to describe their current functionality based on the needs of the users. Both the web application and the developer have limited knowledge about the options that blog software can provide to its users.
With the availability of checklist, both the developer and the web application gain knowledge about the options, blog software can provide. This helps the web application in comparing and selecting blog software from among the various available ones. Also, with the help of checklist, the web application chooses desired functionality and finds their associated overhead costs as well. Also, the web application can choose to remove redundant features in the blog software.

CONCLUSION
In this study, we present a software requirement checklist for the blog in a web application. It facilitates in specifying the requirements during the software requirement phase. It is also used during the testing phase for verification and validation of the blog's software requirements. Since the checklist requires the user to choose and select the desired functionality and features for the blog in a web application, it eases the task of specifying the requirements for the blog's software. The requirement checklist can be updated easily to add new features and functionality.