Learning RSS & XML

With Web 2.0 we now have tools and technologies that can deliver content directly to our desktops, web browsers or mobile devices. We’ve gained familiarity with this model through the use of email, but new standards like RSS (Really Simple Syndication) allow the automatic delivery of news, events, or any kind of interesting timely information.


What is RSS?
Definitions of RSS will differ (depending on whether you speak with a business person or engineer) but it’s safe to say that RSS is regular text formatted so that it can be understood by different software applications or websites. RSS files are usually referred to as “documents” and are part of a larger family called XML (Extensible Markup Language). When RSS is applied to an information resource it is usually referred to as an “RSS Feed”.


What else is XML used for?
Other popular standards that make use of XML include WSDL (Web Service Description Language) and SOAP (Simple Object Access Protocol). Combined, WSDL and SOAP work to connect software systems and Internet websites through the use of “Web Services”.


Another related Web 2.0 trend are “Mashups”. Mashups are sites based on the combination of several web services (e.g Zillow.com). Web services and Mashups are not directly related to RSS technology but deserve to be noted as they all make use of XML.


Open standards mean better choices
RSS and XML are considered to be open technology standards and are governed by the World Wide Web Consortium (W3C). Thankfully, Internet standards like RSS and XML are not owned by any specific company (e.g. Google, Microsoft), and are available for anyone to implement and use. The result is that you will find software and websites that support RSS running under Mac OS, Linux and Windows.


Tracking Blogs Through RSS
At some point someone figured out that adding an RSS feed to a blog was a great idea. With thousands of blogs being updated each day there can be a lot of content to track (imagine having 20 newspapers delivered to your home everyday). Accessing blog content through an RSS feed allows us to automatically receive the latest info whenever the publisher adds something new – almost like e-mail. To keep track of different feeds companies have built “RSS Readers” that allow you to organize your sites under one roof. Most RSS readers are freely available and can be downloaded as desktop application or are web based. The readers we like include Google Reader and NewsGator.


If you’re interested in setting up your own blog make sure your software supports RSS feeds. It will provide your audience with more options and will ultimately increase your readership.


RSS Beyond Blogging
At Joint Contact we like that RSS technology can be applied to solve many problems. Here are some neat ways companies are using RSS technology to stay in touch with their customers and increase business value.


The Seattle Networking Guide – Managing Events
The Seattle Networking guide is a site where people can find the latest information on networking events in the Seattle area. The site provides the ability for people to submit information about upcoming events, and allows users to search for content relevant to their business or industry.


Seattle Networking Guide


In addition to seeing event information by visiting the site regularly, people have the option of accessing the event content as an RSS feed.


The Seattle Networking Guide also supports Internet Calendar (iCal) technology. iCal technology achieves the same goal as RSS but is designed work with calendaring applications. A lot can be written about iCal technology as it is also very useful. Additional information about the iCal standard can be found here.


Joint Contact – Managing Tasks
Hopefully Joint Contact does not require any introduction. For those who don’t know, Joint Contact is an online project management and collaboration solution that enables people to share and manage group information such as documents, images, tasks, contacts, notes, discussions and team information.

Joint Contact Task Management


In this example a new task has been created called “Create Internet Calendar support for Tasks”. To the left of the main heading one can click the RSS icon to obtain an RSS feed. The users RSS feed will list all tasks assigned to them, and any tasks created by them.


In this example Joint Contact delivers the latest tasks using RSS – logging onto the website is not required. For people who specialize in project management (e.g project managers, freelancers, business owners) this saves time and keeps things organized. (Joint Contact also makes use of the iCal standard reference earlier).


Podcasting with iTunes
Apple’s iTunes (the software needed to synchronize your iPod) also makes use of RSS technology. Apple is famous for being secretive about how they develop software, but we do know their podcasting platform employs RSS technology.

Podcasting with iTunes


Surprised? When you submit a podcast to iTunes you do so using a special XML file that is based on RSS (for those interested in publishing podcasts technical information can be found here). Using RSS, publishers define the details of their show which typcially include the podcast title, description, categories and location of multimedia files. Once uploaded, a user can “subscribe” to a podcast and the content is automatically downloaded to their computer as new content is available.


Seattle Olympic Sculpture Park
Our last example is Olympic Sculpture Park Guide hosted by the Seattle Times. This site provides a virtual walking tour of the park but also includes audio files you can download through using iTunes (hyperlinks are located on the lower left of the illustration. Click on the image below to see a full size image). Providing multimedia content as an iTunes download is another Web 2.0 trend that provides a win-win situation for content providers and their audience. We’ve seen this same technique applied to radio stations, schools, colleges and universities.

Olympic Scuplture Park


A Richer Experience

We’ve taken our service one step further by giving you a richer experience when using Joint Contact! Here are some highlights:


Rich Text for Conversations and QuickMail
No more plain text for your Conversations or QuickMail! The most notable new enhancement is the implementation new HTML / Rich Edit controls for the Conversations and QuickMail windows. Create HTML automatically as you type, or edit HTML tags directly using the source editor. Edit windows are also equipped with wizards to create lists, links, tables, different colors, fonts and styling. You can even write HTML to reference images and content from other blogs or websites.



With this new functionality you can use Joint Contact as a robust note manager – great for helping you to track meeting minutes, blog postings, classroom notes, etc. By linking your notes to Documents, Images or Tasks, you have a great documentation tool for any project.


Upload multiple Images at once
The multiple-upload feature was originally for documents, but is now available for images! Now you can upload a entire directory of images in a single click – a great feature for graphic designers and marketing folks.


HTML signatures when sending QuickMail
As part of our Rich Edit implementation, administrators can now save an HTML email signature as part of their settings (why can’t Gmail can do this?). Once setup, the corresponding signature will be appended to all outgoing QuickMail messages.


Redesigned Contacts interface
The Contacts interface has been redesigned for greater ease-of-use. Based on user feedback we’ve also provided the ability for you to convert a Contact into an Account with a single click! (For those who don’t know “Accounts” can log in to share documents and other content their group; “Contacts” don’t have this ability.) You can also now e-mail your Contacts directly using QuickMail.



We are very excited about this release and look forward to hearing your feedback. Log in to your Joint Contact account today and let us know what you think about the richer experience. Feel free to post your feedback at our new Customer Forum site located at support.jointcontact.com.

Learning Web 2.0

Coined by Tim O’Reilly and O’Reilly Media in 2003, “Web 2.0” speaks to how the collective minds of people bring value to everyone through the use of the Internet. At Joint Contact we like to think of this as the “Power of Us“. Although exciting, the Web 2.0 movement has ushered in a host of new business trends and technologies that can leave one feeling dizzy and often confused. This article attempts to unravel the mystery of this growing technology trend.


What happened to Web 1.0?
In trying to define Web 2.0 many of us still don’t grasp the concept of “Web 1.0” and how things have evolved in the past few years. Although we haven’t heard of any organizations or think tanks that have come up with an official definition, our group defines Web 1.0 as the “Power of Me“. If we go back to the late 90’s, businesses began to harness the power of the Internet in order to extend brick and mortar businesses to reach customers in places they never thought possible.


Soon it became clear that the Web could not only allow companies to increase sales, but could help reduce costs by providing self-service tools and processes. Now banks, grocery stores, investment firms, travel agents, department stores and airline companies all use web based tools to help them reduce organizational costs by promoting online customer self-service. Companies like Dell Computer were also quick to see its advantages and were able to shrink their supply chain by selling computers direct to consumers, bypassing the need for storefronts and product resellers.


Current Trends
Now that most of us have adapted to the first version of web, “Web 2.0” is allowing us to extend the 1.0 model by connecting with others. At Joint Contact we see Web 2.0 as a combination of sub categories. These include “connecting with people we don’t know” and “connecting with people that we do know”.


Connecting with people that we don’t know
Examples of this trend are seen with “Social Networking” sites such as MySpace, Facebook and Linked-In. Chances are that if you’re reading this article, you understand the basics of this model, and probably use one of these sites on a periodic basis.


Lately we’ve been hearing the phrase “Social Media”. Our assumption is that the idea of connecting with people that you don’t know extends not only through web pages and blogs, but through other types of media including audio and video. Podcasting (audio or video) through iTunes and YouTube are great examples of services that increase in value based on the collective participation of its contributors.


Creating value with those you don’t know isn’t limited to business or personal networking. Ongoing projects such as Wikipedia, Linux and the Mozilla Foundation (e.g. FireFox) are initiatives based on the participation of people working together to build online encyclopedias, desktop operating systems and software.


Connecting with people that we do know
On the other side of Web 2.0 are services and technologies that allow us to connect with people that we do know. This is a nice bonus of the Web 2.0 movement, as people are now discovering they can also use the web to collaborate and share information across vast distances for relatively little cost.


Before Web 2.0, sharing computer data within groups to was limited to establishing a local or wide area network and setting up the appropriate software to connect each computer. Information retrieved was also limited to the desktop which meant you couldn’t easily share your list of contacts or files with your colleagues that used Mac OS or Linux (yes we are assuming you run Windows).


Under Web 2.0, the goal is to share information without any limitation in technology or infrastructure. This popular trend has created a foundation for open standards such as HTML, XML, RSS, OPML and iCalendar formats that are used to connect people with information – regardless of platform or device type. Building on these standards many companies (including Joint Contact) have built web based solutions that transcend the need for a LAN by providing these applications as a software “service”.


Similar to their social media counterparts, SaaS (Software as a Service) applications are designed to enhance communication for groups that need to share information. Examples of SaaS based applications include Document Management and Collaboration (e.g Joint Contact), Customer Relationship Management, Timekeeping, Wiki’s, Calendar Management, Task Management, Defect Tracking Systems and Project Management.


Where do blogs fit it in?
Because blogs are easy to setup and update, blogging is one of the fastest growing areas of the Web 2.0 movement. Joint Contact considers blogs to be hybrid of Web 2.0 categories as they can be implemented to meet different needs. For example, a blog can keep customers informed of product announcements (like ours), provide help documentation, or can voice opinions on news, politics or technology. One trend that we see emerging are small groups coming together in a “co-op” fashion to blog on a number of closely related topics. Successful examples of this can be seen at sites like Slate, SimpleTalk, Digg, ReadWriteWeb and WebWorkerDaily.


Blogs are also unique Web 2.0 solutions as they incorporate technologies like RSS that are traditionally used in SaaS based offerings (Click here to learn more about RSS and XML).


Beware of Buzzword Bingo
Now that you understand the basics of Web 2.0 one item you should be aware of is “Buzzword Bingo”. Buzzword Bingo occurs when people use cool technology phrases like “Web 2.0” to describe anything technical, and is usually unrelated and nonsensical. Why do people do this? As with anything in business, people like to show off and demonstrate how they are more in touch with the latest trends than the next person. Here’s a great example from IBM of Buzzword Bingo in action:

If you hear your colleagues talking about “value added, disruptive, AJAX based, SEO applications” as being a part of Web 2.0 movement, take what they say with a grain of salt.


We’ve covered a lot of ground in this overview but hopefully things are starting to make sense. This tutorial is continued with an overview of RSS and XML technologies.

IIS 7.0 and PHP 5

Our recent deployment of the Joint Contact Community Forum required us to figure out how to get PHP 5 working in IIS 7.0. This was a fairly new and interesting concept so we’d like to share our experience and offer some of the steps we took to get PHP to work in IIS7. Our configuration is using PHP 5.2.5 so this article will be specific to this configuration.


Install IIS 7
The first step is to find a machine capable of running IIS 7.0. For those who don’t know, IIS 7.0 is available under Windows Server 2008 or Windows Vista (Ultimate or Business). In addition to supporting ASP and ASP.NET applications Microsoft has also introduced the ability for you to run non-Microsoft technologies like PHP pages (good for you Microsoft)! Since our company works with Microsoft technologies this was an added convenience as we didn’t have to install Apache to support our PHP application. To learn more about IIS 7.0 visit www.iis.net.


Enable FastCGI
Next, we need to enable FastCGI support. The IIS FastCGI support enables IIS to host normal CGI programs like PHP or Ruby On Rails. To configure this option choose Control Panel -> Programs and Features -> Turn Windows features on or off. To learn more about FastCGI, go here: http://learn.iis.net/page.aspx/247/using-fastcgi-to-host-php-applications-on-iis-60/



Install/Configure PHP
The next step is to download and install PHP. You can get this from PHP’s webste at www.php.net. It is recommended that you install the non-thread-safe version for optimal performance. You can put the PHP folder anywhere, in our example we will assume that PHP is stored in C:\PHP.


After installing PHP, there are some important configurations needed in the php.ini file. This file is located at the root of your PHP directory, e.g. C:\PHP. There is a pre-configured file called php.ini-recommended, go ahead and open and save this file as php.ini. In php.ini, we will set the following values:

  • fastcgi.impersonate = 1
  • cgi.fix_pathinfo= 1
  • cgi.force_redirect = 0

You will need to uncomment the values before setting them. (e.g. ;factcgi.impersonate =1 -> factcgi.impersonate=1)


Congfigure IIS to handle PHP

Next, we need to configure IIS to handle PHP requests. Open IIS Manager and select Handler Mappings. On the right, click on Add Module Mapping. Enter the following configurations:

  • Enter *.php for Request path
  • Select FastCGIModule in Module
  • Enter C:\[path to YOUR PHP executable]\php-cgi.exe for Executable
  • Enter PHP via FastCGI for Name
  • Click OK

The dialog box appears asking if you want to create a FastCGI application for this executable. Click Yes.


That’s it! You’re done. Now test that php is working by creating a simple php file. Copy and paste the following code to a file and save as phpinfo.php.

<?php phpinfo(); ?>

Save the file in the C:\inetput\wwwroot directory. Open a browser and access the following URL http://localhost/phpinfo.php.

Related Links

Never Say Never

When implementing new features we often gather suggestions from customers, partners and prospects. Now and then we also search the blogosphere for tips and suggestions. As a result we’ve discovered that people have been looking for a nifty little feature we were glad to include. This new feature allows you to see the login audit history of any account you add to Joint Contact.

As seen in the screenshot, when you add accounts into Joint Contact, the date/time of when they were added is listed under the “Last Login” column. If the user hasn’t used their account we display the text of “Never Logged In”. This relatively small feature often has big implications, and is a great feature if you are victim of office politics (like many of us are): As an administrator you can determine:

  • When customers/team members are using their account to access documents and communications.
  • How often they are using their account
  • Which people have still to use their account

A popular request we’ve been getting is for an area where users can share and manage images. As a result, we’ve created a new module in Joint Contact called “Images”.

You might be asking, “Doesn’t Joint Contact already support the upload of images?”. This is correct, we do currently support the upload of images in the Documents section. What’s different in the new Images area is the ability to easily view all of your images on one page. The browser window displays all images in a 100×100 thumbnail. Under each image is a description of the image including captions.

Images are organized by projects so users can easily manage their images. From the thumbnail browser you will also be able to filter based on project or Workspace.


When you click on an image thumbnail, you will enter the image detail window. This window allows users to view and edit details about the image. There is also an option to download the image. You can also notify the project participants of new changes to the image through this window.

Image Detail

Log on today and check out this new feature. We’re very interested in your comments so do send us your feedbacks. It is much appreciated.

Although Joint Contact has a lot of capabilities we know that sometimes groups just need to do just to a few things. For example, your group may be looking for a solution that only does Document Management. Additional tools like QuickMail and Conversations may be great, but your team may wish to introduce various aspects of the solution based on your own schedule and timeframe.


Now administrators can control which modules are displayed for their users through the new settings window.


Joint Contact - Settings


With the settings window, admin’s can set which modules are visible to their users, as well as which window they will be directed to after they log in. Once configured, settings are immediately activated for all pre-existing and future accounts.