Introduction to UniveRSS

by Keyvan Nayyeri
Summary
In the first part of our article series about the UniveRSS project we introduce "The Panel" program and the Windows Presentation Foundation. Also we provide some general information on UniveRSS as a 3D feed reader, its installation, features, main technologies that were used to design it and third party components that are used to build this application.
The Panel Program
"The Panel" program is provided by Microsoft EMEA (Europe, Middle East and Africa) to showcase new Microsoft technologies and services. "The Panel" consists of independent projects. Each of these projects has a primary focus on one of the new Microsoft technologies. Three projects for Microsoft Live Gadgets and another for Windows Presentation Foundation and XAML are published so far, others will follow.

"The Panel" provides free simple open source showcases to cover two groups of people: developers and normal users. The first group (developers) can learn technical details about the showcases and get to know a good case study for these new technologies. Seeing a real world example with technical details can have great benefits for Microsoft product developers. The second group (normal users) can realise the power of new technologies in these free applications and understand what they can do.

Besides, Microsoft EMEA publishes a series of articles about each showcase so everyone can read about the technical details and learn about the development process. This article and future articles of this collection are a part of “The Panel” program, especially for UniveRSS, which is a showcase for the Windows Presentation Foundation, XAML in the Microsoft .NET Framework 3.0 and the Internet Explorer 7 RSS platform.
Windows Presentation Foundation
The .NET Framework 3.0, which was released in November 2006, comes with three main technologies: Windows Presentation Foundation, Windows Workflow Foundation and Windows Communication Foundation.
These new technologies build the infrastructure for the development with Microsoft technologies in .NET 3.0 and Windows Vista. The first technology, Windows Presentation Foundation, deals with user interfaces and whatever end users see.

The Windows Presentation Foundation (abbreviated as WPF and codenamed Avalon) is a rich set of APIs for working with the graphic engine in .NET 3.0 and Windows Vista.

In Windows Vista Microsoft replaced its traditional graphic engine with this new technology in .NET 3.0 which is powerful and provides better features for users.

Windows Presentation Foundation is correlated with a new markup language, named XAML (eXtensible Application Markup Language). XAML can be considered as a new generation of markup languages that build user interfaces such as HTML, XHTML, and SVG. XAML declares a user interface, its layout, its controls and all other elements and also can declare 2D and 3D animations and many other visual effects. Windows Presentation Foundation provides code functionality to work with XAML and user interface. So in order to learn Windows Presentation Foundation you need to learn XAML and vice versa.

There are some great applications written with Windows Presentation Foundation. All of Windows Presentation Foundation applications have beautiful and dynamic interfaces so users enjoy working with them. In fact Windows Presentation Foundation is the best place for normal users to see the difference in .NET 3.0 and Windows Vista and older technologies.

There are many available online and offline references for Windows Presentation Foundation for every developer to learn it.
UniveRSS
Microsoft EMEA planned to cover Windows Presentation Foundation and XAML in "The Panel" program. The Showcase application for this technology is named UniveRSS.

As the name suggests it’s a feed reader which collects all feed items and shows them in a visual manner to end users.

Apparently the name is made up of "Universe" plus "RSS" because in this application feeds are presented as planets in a universe and can be part of galaxies.

If you don’t know what a feed reader is: feed readers are applications that get the address of site feeds (RSS or Atom) and collect their information on a regular basis so users can read new content from his or her favorite sites quickly, easily and in one place. RSS and Atom are both special formats of XML and nowadays almost all professional sites and web applications support them.

"Yet another RSS reader" is not what Microsoft EMEA has intended but a showcase application to create a new way to manage and read feeds in a feed reader in a 3D space by using the capabilities of the WPF. It is totally different from the RSS readers you know.

One of the requirements for this project was to make it modular for easier deployment and updating to newer versions so UniveRSS comes with ClickOnce deployment which will check for updates on each launch automatically.
New features will be continuously added so users will see different aspects of this application in every new version. It’s planned to add new features for navigation, searching and sorting, different views and architecture enhancements in future versions.

UniveRSS is written by Futurecom interactive for Microsoft. This company is located in Switzerland. The Panel website currently hosts the UniveRSS project. There you can find latest news and information about this application as well as download the application and source code for UniveRSS.

Developer behind UniveRSS is Kalle Vänskä. The project owner at Futurecom, Thorsten-D. Künnemann, and Kalle Vänskä will talk about UniveRSS on the Microsoft Designertopia conference in London on 1st and 2nd February 2007.
Installation
In order to install UniveRSS on your machine you need to have some prerequisites. Requirements for UniveRSS are:
  • At least 1 GHz CPU (32 bit or 64 bit)
  • 1 GB of RAM
  • Support for DirectX 9 graphics with a WDDM driver, 128 MB of graphics memory (minimum), Pixel Shader 2.0 and 32 bits per pixel
  • .NET Framework 3.0 RTM
  • Internet Explorer 7.0 RSS Platform
    (it comes with the installation of Internet Explorer 7.0 on your machine)

After making sure about these requirements, you can try to install UniveRSS on your machine. Following the step by step guide may help you on this way. Note that UniveRSS will be installed using ClickOnce deployment to keep your application automatically up to date with the latest changes.
Installation Step 1
1 - Navigate to UniveRSS page and click on download link. After giving your Microsoft Passport ID and password, providing some profile information and reading Microsoft Permissive License, installation begins.
Installation Step 2
2 - In the Security Warning Window click on Install button.
Installation Step 3
3 - Wait until installer downloads files and installs application for you.
What UniveRSS Does
UniveRSS is a 3D RSS feed reader. Starting with a limited set of features it will eventually evolve into a fully-fledged RSS reader. Its goal is to show a different user interface by using the capabilities of the WPF. It has a dynamic user interface which makes it different from other feed readers.

The Internet Explorer 7 RSS platform provides a central place to store and manage feeds. UniveRSS uses the RSS platform to work with feeds collected by IE 7. IE 7 has a rich set of APIs to work with feeds easily. You add your feeds to your IE 7 application under appropriate categories and it fetches their information regularly and keeps you up to date with latest changes on those sites.

When you run UniveRSS, it shows up in full screen mode and displays all feeds as spinning cubes in a galaxy. Feed folders are represented as separate galaxies you can enter by clicking the folder name. Size and position of the cubes are an indication of the number of unread articles or other sorting parameters.
WPF UniveRRS
You can use mouse and keyboard controls to navigate through these cubes to find a feed. Simply typing a letter will select the feed the name of which begins with that letter.
WPF UniveRRS
Selecting a feed highlights the cube and displays its name and number of unread items.
WPF UniveRRS
Entering a feed cube shows the list of feed items.
WPF UniveRRS
Selecting a feed item turns the cube another time and displays the item’s content. Content can be zoomed in and out or displayed in a 2-column view.
Main Technologies
Three Microsoft technologies are used to build UniveRSS:
  • Windows Presentation Foundation
  • Microsoft’s XAML
  • Internet Explorer 7 RSS platform
Most of the UniveRSS code is written in C#.
Third Party Components
Most of the code is written by the Futurecom developer Kalle Vänskä, but free open source third party components are used to make the process of development easier:
  • 3D Tools for the Windows Presentation Foundation: A collection of tools to help developers using the 3D features in the Windows Presentation Foundation.
  • XAML/HTML Converter: This component (which has been changed in some parts for the UniveRSS project) lets you convert HTML content to XAML codes in order to be able to show them in Windows Presentation Foundation applications so it’s used to convert feed HTML codes to XAML markup.


Keyvan Nayyeri has been a geek and programmer since he was 10. He has a BS degree in Applied Mathematics and as an experienced software architect and developer he is also a MVP from Telligent for Community Server technology. Keyvan is a co-author for Wrox press and also an author for ASP Alliance, DotNetSlackers and Code Project .NET communities. Currently he’s contributed in some projects such as BlogML, CSModules and Windows Live Writer Plugins. He edits his blog on .NET, Community Server and Technology.
The showcases on the Panel website provide examples of the possibilities within the new technologies and source codes serving as a blueprint for beginners learning to leverage these technologies. The development of the UniveRSS feed reader and other showcases on the Panel website are accompanied by articles with detailed information on the projects' underlying technologies.

The following topics are featured in this series of articles:
  • An introduction to UniveRSS, Windows Presentation Foundation, XAML and Internet Explorer 7 platform.
  • General architecture of UniveRSS and step by step guide of its development details.
  • An overview of the Windows RSS Platform
  • The use of animations in WPF
  • An overview of the UniveRSS Architecture
You can subscribe to your local MSDN Flash newsletter using the Panel registration to get notifications about new parts of our articles.
© 2007 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks | Privacy Statement