ansoesil’s blog

“Learning is experience. Everything else is just information.” – Albert Einstein

Presenting Intersoft Presenter™

with 4 comments

As I promised we’re going to release CTP for our upcoming products in 2009 by the end of this week. And here I’m proudly present the Intersoft Presenter™ for Silverlight. (You can sign up to download the CTP from here and here the getting started link to start exploring our CTP release.

And while waiting the download process, I invite you to read the next section about the concept behind the Intersoft Presenter™ for Silverlight itself.

Intersoft Presenter™ for Silverlight fundamental concept is about delivering data in so many ways or views or I like to a say a “Presenter”. Understanding the possibilities that a data can be visualized in so much way we decide to come up with a concept that can accommodate that idea in a form of Presenter Manager.

2009130_presentingintersoftpresenter1Data Presenter Manager is the main control of Intersoft Solutions Presenter™ for Silverlight that built based on several solid concepts as follows:

  1. Centralized Data Distribution Concept
    This concept allows the Data Presenter Manager to provide the centralized data to any “Presenter” that attached to it
  2. Everything is Synchronized Concept
    Because everything is centralized, all sorting, filtering, item selection process will be synchronized throughout the entire Presenter”
  3. Extensibility through IDataPresenter concept
    As you can see from the figures above the Presenter Manager will distribute the data to an interface called IDataPresenter, which means any components or user controls that implements that interface will be taken care by the Presenter Manager when the components are included in it.

To show you how this concept can be great, we also offers five built in views which are GridPresenter, IconPresenter, ListPresenter, HierarchicalPresenter, and CoverFlowPresenter which can be also used individually without the Presenter Manager. (For this CTP we don’t have Hierarchical Presenter and CoverFlow Presenter yet)

Here is how the data distribution concept is executed:

  1. When the Presenter Manager is loaded, it will retrieved the data from specified data source control (if any) or from a collection that specified by the developers. And this data (master) will be saved in memory.
  2. Then it will notify the Selected Presenter / View that there new updates from Presenter Manager (which basically just the data) through IDataPresenter interface’s method called RefreshDataPresenter then it’s up to the Presenter to process the data.
  3. Whenever the user perform a sort / multi sort or a filtering process, the Presenter Manager will manipulate the master data (for collection scenario) or request the manipulated data from the data source control and then notify the Selected Presenter again.

Note that the Presenter Manager only notify the current selected presenter about new data changes, and only notify the other presenter when it is selected so in here we introduce load on demand concept. For further extensibility you can also include a presenter that are not connected to the Presenter Manager distributed data concept, of course by doing this you won’t get any synchronization from the Presenter Manager so it’s totally independent.

Here are the sample images that I took from one of our CTP Samples that showing the beauty of Intersoft Solutions Presenter™.

2009130_presentingintersoftpresenter2Grid Presenter with custom row template.

2009130_presentingintersoftpresenter3Icon Presenter

2009130_presentingintersoftpresenter4List Presenter

2009130_presentingintersoftpresenter5Custom control view that implements IDataPresenter, consuming centralized data distribution from Data Presenter Manager.

In this sample I modify the item template for Grid Presenter to come out with a different new style of presenting the data, and I also use the charting for Silverlight Toolkit and create the user control that implements the IDataPresenter and then hook it to the Presenter Manager and what do I get is a nice integrated Presenting Tools for your LOB Application.

Other thing that I like to mention in this post is that we valued performance before other nice additional features. So in this early development we focus more on how to make it fast and stable even when its loads thousands of data.

2009130_presentingintersoftpresenter6

From this picture you can see that even though we load 5000 records, its only takes about 60.396 kb in memory space, and if you try it by yourself in the CTP samples you can experience that the scrolling, column sizing, column moving, filtering, sorting or etc is very nice.

There are so many things that I want to show you about the Intersoft Solutions Presenter™ for Silverlight, not just the features but also how to do things that might be the solutions that you’re looking for. So keep checking back on this blog.

Regards

Andry

About these ads

Written by ansoesil

January 30, 2009 at 12:14 pm

4 Responses

Subscribe to comments with RSS.

  1. Hi Andry,

    Excellent stuff, way to go!
    I love the changing views functionality you’ve got going around in that control.

    Keep it up,
    – Justin Angel
    Microsoft Silverlight Toolkit Program Manager

    Justin-Josef Angel

    January 30, 2009 at 9:11 pm

  2. excellent tool!
    Keep it up man!

    MCA

    January 31, 2009 at 10:23 am

  3. [...] a comment » In the post when I introduce Intersoft Presenter™ for the first time, i mentioned that we realized that there [...]

  4. [...] There are lots of things in this CTP, so I’m going to give you some pointers about the new features / concept that available in this CTP. If you haven’t seen the February 2009 CTP release, i suggest you read my introduction along with others info in this blog starting from here. [...]


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: