Saturday, May 17, 2008

The Flexsite

Social networking websites such as MySpace and Facebook have many common themes regarding the reasons for their popularity. One common theme in particular is that each website gives the average user the ability to have a persistent, customizable, and maintainable online presence. These websites though typically are intended for individual users, meaning that there is not anything equivalent for businesses. If a business wants a website they have to either already have someone or hire someone to build and maintain the website. The more visually appealing and interactive that a websites needs to be the higher the cost and the more difficult it is to maintain. Flexsite solves this problem by providing a highly configurable, visually appealing, inexpensive, and easily maintainable website that operates like familiar social networking websites for small businesses with all of the setup included.

Flexsite uses numerous web technologies in order to provide services and interact with existing services:

• Flash
• Flex
• WordPress
• PayPal
• JavaScript

The Flexsite application itself is divided into systems based on function, which incorporate one or more of the previously listed technologies and/or third party services. The visuals for Flexsite are done as an Adobe Flex application, which communicates with other services specified by the XML layout vocabulary. All communication with the Adobe Flex application is done through XML as well. Of all of the systems only the XML layout vocabulary is required, everything else is optional and Flexsite can run without them. The following is a diagram of all the involved systems:

Figure 1: Systems

The XML layout vocabulary is just an XML document used to specify website sizing, sections, menu items, content, Flash skins, and web services. There is also a corresponding DTD which is used to validate the layout XML. For web services that support PHP there are Flexsite Services that can be used to manipulate the XML using an Adobe Flex graphical user interface.

Figure 2: Layout Manager

Flexsite also incorporates the use of Flash Skins for the look and feel of the website. Flash skins are CSS files that refer to Flex components instead of HTML tags, compiled into SWF format. Through the layout manager users can specify the Flash skin to use for the website. Users can select from a variety of pre-made Flash skins or build and upload their own.

Figure 3: Some Example Flash Skins

There is also a Pay Per Download system that allows a web master to specify files that are available to download and how much they want to charge to download those files. This works by linking to PayPal through the Instant Payment Notification (IPN) API, which provides the user the file to download after successful payment. The user is then emailed a dynamic URL which can be used to download the file up to 24 hours after purchase.

Figure 4: Pay Per Download System

WordPress is a state-of-the-art publishing platform with a focus on aesthetics, web standards, and usability ( Flexsite has the ability to integrate WordPress, so that it can be used to manage the content that the site displays. WordPress supports multiple users with varying account permissions so that site content can be concurrently managed by multiple users. Another benefit of using WordPress is that is accessible to all levels of users since it operates like many familiar Word Processors, and it doesn’t require the download of installation of any software.

Figure 5: WordPress HTML Editor

Flexsite is also used to host its own website, and particular to this installation there is another PayPal integration that allows users to pay for Flexsite hosting services through the website. A graphical user interface is provided which displays all of the service pricing, and allows the user to select a domain name as well as a starting Flash skin for their new website.

Figure 6: Buying Hosting Services

The result is visually appealing and easily maintainable website that doesn’t require the installation of any software, and doesn’t require computer knowledge beyond that of operating a Word Processor. This technology is also accessible to everyone since it cost about the same as regular hosting, but includes the setup, domain name registration, website setup, WordPress setup, and customization. and