Tuesday, December 14, 2010

Wrapping information in a symbol-Microsoft Tag

Microsoft TAG


Created By: Aravind  Mob:9886836592 Date:26/11/2010







Overview of Microsoft Tag



Tag is a high-capacity color barcode (HCCB) with encoded information. Organizations and individuals can create specific Tags by using the Microsoft Tag Manager Web service. When the Microsoft Tag Reader application is installed on a mobile device, the Tag Reader can be used to scan a Tag using the built-in the device camera. When a Tag is scanned by the Tag Reader, the information encoded into the Tag becomes available on the mobile device.

Although Tags are easy to create, how Tags are placed in the field will influence how effective they are in communicating the encoded information to the audience. This guide provides best practices for producing Tags in different types of media. Additionally, it addresses the best practices for testing Tags in the field.



Usage Scenarios



The possibilities for usage and placement of Tags are almost limitless. To give you an idea of what we mean, here are some usage examples for Tags:

An automobile company might want to place a Tag on a billboard as a way to advertise their latest models to potential customers. Passengers and pedestrians could scan the tag as they pass by.

A film production company might put Tags pointing to a movie trailer on a poster at a movie theater, guiding the customer to more extensive information and interviews with the movie stars.

A video game company makes special custom Tags to be used at its trade show booth, allowing gamers to scan the Tag for custom in-game gear or clothing.

A sports drink company might choose to display a series of Tags for a product on the jumbotron in a stadium during a game, providing the fans with a collection of "secret phrases" throughout the game that enable free products or discount coupons.



...and Some Common Challenges



With such freedom of expression comes the need for thoughtful consideration, planning, and implementation of your Tag project. Using the same scenario examples above, let's examine some of the potential implementation challenges you might face:

The automobile company's freeway billboard could be a distraction to motorists who may try to scan the Tag while driving, or something in the environment (such as a light post or large truck) might block a passenger's view.

The film production company's Tags may be obscured by the reflective glare from the poster's glass case under some lighting conditions, making it difficult to scan the Tag.

The video game company's Tag works well in the studio, but the cool blue lighting on the show floor makes the Tag's colors appear all blue, which might impede successful scanning during the trade show.

The sports drink company Tags might become too washed out from the glare from the stadium lights or bright sunshine to scan the tags consistently. Moreover, some fans may be sitting too far away, too close, or at the wrong angle to be able to scan the Tags successfully.

Field Testing



Field testing your Tag in the environment in which users are expected to discover it is an essential component of a successful project or campaign. Developing and field-testing a proof of concept may represent higher overhead, but doing so will save you time and money in the long run.

Tags are very resilient with respect to the color variations of printers as well as to differing camera optics across different manufacturers' phones. Make sure to follow the production recommendations in this guide to ensure that your Tag works on the broadest possible range of mobile devices—this is especially important when using Tags designed with customized images.

Equally important is field-testing your proof-of-concept using a variety of phones, from a variety of manufacturers. Apple iPhone and RIM BlackBerry may have the most robust digital camera support, but not all of your mobile audience can be counted on to be using these devices. Make sure to include a representative sample of low-end, middle-end, and high-end phone models when field-testing your Tags.

Test your Tags under different lighting conditions. Consider the user's distance from the Tag and other possible conditions such as weather, crowds, reflective glare, the background surface of the Tag, and so on.

Mobile device browsers often have different characteristics than desktop browsers have, so it pays to assess how the target content of each Tag displays on a wide variety of mobile device browsers. Verify that any important Web features work, regardless of the browser used. Furthermore, test your Tag content under a variety of conditions per browser; for example, by limiting the display to text-only content, preventing scripts from running, and other conditions.

Keep in mind that video support varies greatly across different mobile platforms and browsers. If your Tag's target content includes a video, we strongly recommend thorough field testing. (In fact, you may want to consider partnering with a mobile video provider who can offer seamless support across different platforms to deliver a great video experience.)

In short, step through your entire user experience with a variety of mobile devices and a variety of manufacturer and third-party mobile browsers, and do so in the places where you expect your audience to discover and use your Tags.









Tag Supporting Content Types



There are four basic content types (URL, free text, vCard, and dialer) that can be linked with Tags. Tags created with the Tag Manager are, by default, a URL Tag that will open a Web site in a mobile browser.



Using Tag Categories



Each Tag you create will be assigned a category by the Tag Manager for tracking and reporting purposes. By default, Tags are assigned to the "Main" category. You aren't required to create new categories, but separating your collection of Tags into categories enables more organized tracking and reporting of your Tag usage. You can create new categories at any time to suit your particular needs. Note that you can also move Tags from one category to another, except when the destination category was created after the Tag itself. For this reason, you may want to create your categories before you begin to create your Tags. For more information, see the Categories tab on the home page of the Tag Manager.

URL: http://tag.microsoft.com/ManageAds.aspx





Creating a URL Tag



This type of Tag opens the mobile device browser, and displays the Web site of your product or campaign.

To create a URL Tag:

Open the Tag Manager.

Designate the category for the Tag using the Category drop-down menu.

Click Create a Tag.

Type a unique name for the Tag in the Tag Title box. This name can be up to 50 alphanumeric characters long.

Select URL as the Tag Type.

The Tag Notes field is an optional field. This field is limited to 200 alphanumeric characters.

Specify the Start Date for your Tag. The Start Date is the date that scanning the tag will launch the designated action. By default, the Start Date is the date a Tag is created.

Specify an End Date for your Tag, or select No End Date. By default, Tags are not assigned an end date. Note: The Start and End dates of a Tag must fall within the date range specified for the category to which the Tag is assigned.

Type the target URL in the URL text box.

Click Save. The URL Tag is listed in the Manage Existing Tags table of the category you designated.

To clear your changes and revert Tag data back to the default values, click Reset.





Creating a Free Text Tag



Using this Tag, you can send customers a free text message promoting your product, service, or campaign.

To create a free text Tag:

Open the Tag Manager.

Designate the category for the Tag using the Category drop-down menu.

Click Create a Tag.

Type a unique name for the Tag in the Tag Title box. This name can be up to 50 alphanumeric characters long.

Select Free Text as the Tag Type.

The Tag Notes field is an optional field. This field is limited to 200 alphanumeric characters.

Specify the Start Date for your Tag. The Start Date is the date that scanning the tag will launch the designated action. By default, the Start Date is the date a Tag is created.

Specify an End Date for your Tag, or select No End Date. By default, Tags are not assigned an end date.

Type the message you want to convey in the Free Text text box. This field is limited to 1000 characters.

Require a password to access read the message encoded into a Free Text Tag. Using a password to restrict access to the message encoded in a Tag is optional. Passwords can include as many as 20 characters.

To protect the Tag content with a password

At the Protect with Password field, select the Yes check box

Enter the password.

To see the password, select the Show Password check box.

Click Save. The Tag is listed in the Manage Existing Tags table of the category you designated.

To clear your changes and revert the Tag back to the default values, click Reset.



To create a vCard Tag:



Open the Tag Manager.

Designate the category for the Tag using the Category drop-down menu.

Click Create a Tag.

Type a unique name for the Tag in the Tag Title box. This name can be up to 50 alphanumeric characters long.

Select vCard as the Tag Type.

The Tag Notes field is an optional field. This field is limited to 200 alphanumeric characters.

Specify the Start Date for your Tag. The Start Date is the date that scanning the tag will launch the designated action. By default, the Start Date is the date a Tag is created.

Specify an End Date for your Tag, or select No End Date. By default, Tags are not assigned an end date.



Note: The Start and End dates of a Tag must fall within the date range specified for the category to which the Tag is assigned.

At vCard Type, choose From File to upload contact information, or choose Specify Detail to enter the contact information.



To upload contact information from a file

Click Browse...,.

Select the vCard file that contains the appropriate contact information.



To specify contact information using Tag Manager

Select Specify Detail to manually enter the details to include in the contact information encoded into the Tag. The following table shows the available contact fields. Text Box Description

First Name Your first name

Last Name Your last name

Job Title Your job title

Department The name of the department in which you work

Company The name of your company

Web Site The Web site address of your company

E-Mail Your e-mail address

IM Address Your instant messaging address

Work Phone Your work phone number

Home Phone Your home phone number

Mobile Your cell phone (or mobile phone) number

Fax Your fax number

Street The street address where your company is located

City The city in which your company is located

State The state in which your company is located

Zip/Postal code The zip or postal code of your company

Country The country in which your company is located



Dial a Phone Number—Creating a Dialer Tag



When scanned with the Tag Reader, a Dialer Tag initiates a call to the phone number specified in the Tag.

To create a Dialer Tag:

Open the Tag Manager.

Designate the category for the Tag using the Category drop-down menu.

Click Create a Tag.

Type a unique name for the Tag in the Tag Title box. This name can be up to 50 alphanumeric characters long.

Select Free Text as the Tag Type.

The Tag Notes field is an optional field. This field is limited to 200 alphanumeric characters.

Specify the Start Date for your Tag. The Start Date is the date that scanning the tag will launch the designated action. By default, the Start Date is the date a Tag is created.

Specify an End Date for your Tag, or select No End Date. By default, Tags are not assigned an end date.

In the Phone Number text box, enter the number to dial.

To protect the Tag content with a password

At the Protect with Password field, select the Yes check box

Enter the password. To see the password, select the Show Password check box

To see the password, select the Show Password check box.

Click Save. The Tag is listed in the Manage Existing Tags table of the category you designated.

To clear your changes and revert the Tag back to the default values, click Reset.



Creating Custom Tag Images

To provide a wide variety of branding and creative opportunities, Tags are customizable. You can modify how a Tag looks to suit your individual and business goals.



To create a custom Tag image:



Sign-in to the Tag Manager.

Create a basic Tag.

Select the Tag to customize from the Manage Existing Tags table.

Click the Tag icon in the Render column of the table.

In the Render dialog box, use the File Type drop-down menu to select wmf.

Note Microsoft Tag only supports custom Tags for WMF and PDF files. Microsoft PowerPoint® does not support PDF files.

Specify the size of the Tag as equal to or larger than 1.25";

Select Custom.

Click Render.

Save the rendered Tag.



Replace the Background Image



Once you've created and saved a custom Tag, you're ready to add your own background. Here are steps for using Microsoft PowerPoint® or Adobe Illustrator to customize the background of your Tag.

To add a background image with PowerPoint:

Launch PowerPoint.

Create a new presentation.

Click the Insert tab in the ribbon.

In the Images group, click Picture.

Browse to and select the background image you want to use with your Tag, and then click Insert.

Click the Insert tab in the ribbon again.

In the Images group, click Picture.

Browse to and select the custom Tag image file, and then click Insert.

Right-click the custom Tag image.



On the shortcut menu, click Bring to Front.

Resize, crop, and position the background and custom Tag image so that the background fits inside the Tag area. Make sure to maintain the white space around the perimeter of the Tag. For more information, see About Tag Borders.



Draw a box around the images to select both of them, as shown:



With both images selected, click the Format tab in the ribbon.

In the Arrange group, click Group.

In the drop-down menu, click Group.

With the grouped image still selected, right-click the image.

On the shortcut menu, click Save as Picture.

Name the image and save it as a .jpg, .gif, .png, or .wmf file.



To add a background image with Adobe Illustrator:



Start Adobe Illustrator and open the Tag image.

Rename Layer 1 to "Tag."

Create a new layer for the background image and name it "Background."



Drag the Background layer so that it is beneath the Tag layer, and then lock the Tag layer.



Click the Background layer bar to make Background the active layer.

On the File menu, click Place.

Select the image you want to use as the background image, and then click Place.



Resize, crop, and position the background and custom Tag image as needed to make the background fit inside the Tag area. Make sure to maintain the white space around the perimeter of the Tag. (For more information, see "About Tag Borders.")



Save the Illustrator file.

Save the Tag as a file:

On the File menu, click Export to save the Tag in .jpg, .gif, .png, or other image format.

On the File menu, click Save As to save the Tag in .pdf or other file format.

Thursday, September 16, 2010

DataContext And ItemSource In Silverlight

In this article want to explain some of defferences between datacontext and itemsource properties in silverlight. these two properties will serve different purpose.

1.Datacontext will take object type where as itemsource will allows IEnumerable type object.


2.Datacontext is a dependency property exposed by the framework element base class and itemsource is defined/exposed by the itemscontrol class.


3.Datacontext can be hold common data object so that child controls can be inherited.But in case itemsource cant be used within visual tree. It can be used only for that control.

Regards
Aravind.
aravindbenator@gmail.com

Thursday, August 19, 2010

Auto Rich Text Box(Sixth Sense Text Box)-Powered By Aravind

Hi Guy's I have a small demo on auto rich text box(auto text and link identifier). Simply i am calling it as sixth sense text box.

Because,In case of rich text box, there is no auto identifier for link and normal text. I am not aware about whether auto rich text box(sixth sense) are available or not. But i have tried to develope a auto rich text box.
So, this will identifies for normal text and link auto matically.

On click of entered links are able to navigate to corresponding site.

I have implemented on silverlight datagrid successfully!!.

Mail @ aravindbenator@gmail.com

Monday, August 16, 2010

Genirics in C#--Simple Example

C# 2.0 has introduced concept of generics,Iterators,Anonymous Methods.
Let's consider concept of generics. So What is generics?

Generics is type of data structure.This results in a significant performance boost and higher quality code, because you get to reuse data processing algorithms without duplicating type-specific code.It wont follow any data type rule while compailation. i.e no need to define any data type while defining. You can define generic interfaces, classes, methods, events and delegates.

Example: Consider implementaion of generics to class.



So,
1.generic types to maximize code reuse, type safety, and performance.
2.The most common use of generics is to create collection classes.



Thanks!!
aravindbenator@gmail.com

Friday, August 6, 2010

Usage of Extensions method in C# -Example

C# 3.0 has provided extension method. let's know first what is extension method in c#?

As name it self defines, extension method is a method which will extend/add the methods to existing types.Extension methods are special kind of static methods within static class.

Let us consider simple class.
///This class contains single method Display.
public class Class1
{
public void Display()
{
MessageBox.Show("Hello Aravind");
}
}

Let's consider another class(extension class)

//This is the static class in which static extension method defined.
//Here i have used this key word to extend/Add method to class class1.
public static class ExtendMyMethod
{
public static void Extend(this Class1 ObjClass )
{
MessageBox.Show("Hello Aravind,You have extended previous method.");
}
}

//Accessing/using extension method of class1.

public class UsageOfExtensionMethod
{
Class1 objCls1=new Class1();//object of class1.
objCls1.Display();//Normal method defined in class1.
objCls1.Extend();//Extension method.(Extension).
}



An extension method must be defined in a top-level static class.
An extension method with the same name and signature as an instance method will not be called.
Extension methods cannot be used to override existing methods.
The concept of extension methods cannot be applied to fields, properties or events.
Overuse of extension methods is not good style of programming.

Thanks & Regards
Aravind
aravindbenator@gmail.com

Tuesday, August 3, 2010

Dyanamic And Object Keywords in C#

C# 4.0 has provided dynamic keyword to define variables.Object keyword is defined already in c# 1.0.

So, I will define object
object obj = 10;

When you add value to object 'obj' by 10,
// A compiler error, because
// at compile time the type of obj is System.Object.
obj = obj + 10;
It's failed because of datatype conversion.
// You need to explicitly cast obj to a necessary type.
obj = (int)obj + 10;


Let's define dynamic keyword now

dynamic dyn = 10;//dyn as dynamic.

//Adding value to dynamic variable.

dyn = dyn + 10;

// Also, this operation will succeed for all numeric
// or other types that support a “+” operation.
dyn = 10.0;
dyn = dyn + 10;

So, By defining as dynamic,it will automatically determine compatible datatype on runtime.


Thanks.

Aravind
aravindbenator@gmail.com

Monday, June 28, 2010

Implementation of IValueConverter Interface.

Arvind (Silverlight,.NET,C#): Implementation of IValueConverter Interface.

Implementation of IValueConverter Interface.

I have done small experiment on IvalueConverter in Silverlight.
So,I am presenting here my small experiment.


I am giving a small sample code for IvalueConvert interface and how can we implement in binding(XAML).

Suppose, I want to convert/format date time in side a datagrid or in textbox while binding.
Todo this we have to follow three steps.

Step 1: Create a class , (here I am giving name it as DateConverter.) and implement interface IvalueConverter.


public class DateConverter : IValueConverter
    {
        public object Convert(object value,
                              Type targetType,
                              object parameter,
                              System.Globalization.CultureInfo culture)
        {
DateTime date = (DateTime)value;
            return date.ToString(parameter.ToString());
        }
public object ConvertBack(object value,
                                  Type targetType,
                                  object parameter,
                                  System.Globalization.CultureInfo culture)
        {
            string strValue = value.ToString();
            DateTime resultDateTime;
            if (DateTime.TryParse(strValue, out resultDateTime))
            {
                return resultDateTime;
            }
            return value;
        }
}

these two methods( Convert & ConvertBack) will take four parameters.

Step 2: Add class reference to XAML.

  xmlns="http://schemas.microsoft.com/client/2007"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:c="clr-namespace:SilverlightApplication6"
    Width="400" Height="300">
   
        //Adding name space of class reference.
   

   
  
                     
   




Step 3: Binding data to textblock using InotyfypropertyChanged.
public class Customer : INotifyPropertyChanged
    {
#region INotifyPropertyChanged Members
public event PropertyChangedEventHandler PropertyChanged;
private DateTime _birthday;
public DateTime Birthday
        {
            get { return _birthday; }
            set
            {
                _birthday = value;
                if (PropertyChanged != null)
                {
                    PropertyChanged(this, new PropertyChangedEventArgs("Birthday"));
                }
            }
        }

}
.


aravindbenator@gmail.com

Thursday, June 24, 2010

Interaction between two XAP's in silverlight!

In many of the cases we need to communicate between the XAP's internally.Suppose if we want to use reuse silverlight application then we have to make it available for communicate.

So, In this way if one xap file wants to communicate with other xap file, have to use javascript to invoke communication.


1.Step:Registering managed object using RegisterScriptableObject.

HtmlPage.RegisterScriptableObject("ARV", this);
this ARV name will be used on later with javascript.

Invoking javascript function from silverlight.
HtmlPage.Window.Invoke("TalkToJavaScript", "Hello from Silverlight");

2.Step:

C# method to get value from previous XAP.

[ScriptableMember]

public void UpdateText(string result)

{

myTextbox.Text = result;

}


3.Step: javascript function.



function TalkToJavaScript( data)

{

alert("Message received from Silverlight: "+data);



var control = document.getElementById("silverlightControl");

control.Content.Page.UpdateText("Hello from Javascript!");

}




Mail To:aravindbenator@gmail.com

Wednesday, June 9, 2010

Color Animation in silverlight

1.Creating storyboard object.

private Storyboard str_board= new Storyboard();

2.Creating coloranimation object.
On the next line, declare a new ColorAnimation object called BlueColor:

private ColorAnimation BlueColor = new ColorAnimation();

3.Setting Targetname and TargetProperty to the storyboard.


BlueColor.SetValue(Storyboard.TargetNameProperty, "MyEllipse");
BlueColor.SetValue(Storyboard.TargetPropertyProperty, new PropertyPath("(Shape.Fill).(SolidColorBrush.Color)"));

4.Change to new color.

Color ToColor = Color.FromArgb(255, 13, 8, 116);
BlueColor.To = ToColor;


5.The animation can now be added to the storyboard, and the storyboard added to the LayoutRoot element:

TurnsBlue.Children.Add(BlueColor);
LayoutRoot.Resources.Add("TurnsBlue",TurnsBlue);

Aravindbenator@gmail.com

Monday, June 7, 2010

Sharing view on Asp.net process model

Asp.net process model:
We can devide asp.net request processing in 3 states.

State 1:
When a request arrives,IIS examines the resource type and calls into ASPnet_ISAPI extension.Later it will pass into the actual worker process(aspnet_wp.exe).If current process is already enabled (i.e it's working or serving a request), aspnet_isapi queues the request and assignes it the worker process later.

State 2:
After recieving a request,ASPnet worker process notifies the aspnet_isapi that "it is serving a request" .aspnet_isapi maintains state reference internally.When ISAPI recieves this message from process, it will mark status as "Executing". Each worker process can handle single request at a time.

It will use synchronous model,because as i already stated above worker process can't start processing request which is not yet marked as "executing" in the ISAPI internal table.

ASPNET_Wp also able to start new process, when suppose existing one consuming too memory, and responding too slowly.Also it can automatically assign pending request to existing other process.

State 3:

When finished,the response is sent to aspnet_ISAPI.the state of the request has been changed to "DOne" in ISAPI internal table.Later on request state has been removed from thae table.If worker process crashes,executing state in ISAPI will remains same. When aspnet_ISAI detects,that the proces is dead it will removes the sate from ISAPI and frees all the IIS associted resources.



Aravindbenator@gmail.com

Monday, May 31, 2010

Arvind (Silverlight,.NET,C#): C#-Shallow Copy Vs Deep Copy.

Arvind (Silverlight,.NET,C#): C#-Shallow Copy Vs Deep Copy.

C#-Shallow Copy Vs Deep Copy.

Shllow Copy:- shallow copy creates new instance of same type of object.and non-static fields are copied into that object.If it is value type, bit-to-bit it will copy or if its reference type, only reference will be copied.


Deep Copy:-deep copy of an object duplicates everything directly or indirectly referenced by the fields in the
object. it uses IClonable interface and clone() method.

aravindbenator@gmail.com

Thursday, May 27, 2010

Hey Dev's! U can disassemble third party component and have a fun!

Hi Developers! Red Gates has released .Net reflector to get disassemble third party components (Microsoft assembly).But you can disasseble dll, if and only if it is not encrypted.Most of the third party components like telirk,component one are encrypted.So you will not be able to disassemble it.

Using Red Gates reflector you can disasseble and export all class libraries. So you can easily find out what logic they have implemented.


So while building a .net assembly,make sure that, is it encrypted. otherwise someone else can use your's valueble efforts(logic) without your permission.


aravindbenator@gmail.com

Software Design Patterns(C# Design Patterns)-Part I

C# Patterns(Software Design Pattren)


Software design patterns are mainly classified into three types.
1.Creational Pattern.
2.Structural Pattern.
3.behaviour Pattern.




Creational Patterns: It deals with the best way in dealing objects.
1. Singleton Pattern:
The singleton design pattern is used when only one instance of an object is needed throughout the lifetime of an application. The singleton class is instantiated at the time of first access and the same instance is used thereafter till the application quits.


C# Implementation
//Creational Pattern: SINGLETON
//Implemenation in C#
//By aravindbenator@gmail.com
/*The constructor should be private. Provide a static method, which returns an instance of the class. use a static variable to check whether already one instance is created or not. if already an instance is there , returns a null */
using System;
class SingleInstanceClass
{
private static SingleInstanceClass sic= null;
private static bool instanceFlag = false;

private SingleInstanceClass()
{
}
public static SingleInstanceClass Create()
{
if(! instanceFlag)
{
sic = new SingleInstanceClass();
instanceFlag = true;
return sic;
}
else
{
return null;
}
}
protected void Finalize()
{
instanceFlag = false;
}
}
class MyClient
{
public static void Main()
{
SingleInstanceClass sic1,sic2;
sic1 = SingleInstanceClass.Create();
if(sic1 != null)
Console.WriteLine("OK");
sic2 = SingleInstanceClass.Create();
if(sic2 == null)
Console.WriteLine("NO MORE OBJECTS");
}
}


2. Factory Method Pattern: Provides simple decision making class that can return object of one or more subclasses.
It includes defining an interface for creating an object.
Example:


//Creational Pattern: The Factory Method
//Author: aravindbenator@gmail.com
/* In Factory method pattern, A Factory class contains a factory method is used for creating the object. This factory method can be either static or non-static. */
using System;
class Factory
{
public Base GetObject(int type)
{
Base base1 = null;
switch(type)
{
case 1:
base1 = new Derived1();
break;
case 2:
base1 = new Derived2();
break;
}
return base1;
}
}
interface Base
{
void DoIt();
}
class Derived1 : Base
{
public void DoIt()
{
Console.WriteLine("Derived 1 method");
}
}
class Derived2 : Base
{
public void DoIt()
{
Console.WriteLine("Derived 2 method");
}
}
//Client class
//Client class needn’t know about instance creation. The creation of Product is //deferred to the Factory class
class MyClient
{
public static void Main()
{
Factory factory = new Factory();//Decides which object must create.
Base obj = factory.GetObject(2);
obj.DoIt();
}
}



aravindbenator@gmail.com

Monday, April 12, 2010

Radar Chart/Spider Web Chart-Powered by Aravind.

Radar Chart Version 1.0.




A radar chart is a graphical method of displaying multivariate data in the form of a two-dimensional chart of three or more quantitative variables represented on axes starting from the same point. The relative position and angle of the axes is typically uninformative.

In a radar chart, a point close to the center on any axis indicates a low value. A point near the edge is a high value. In the football example, we would high marks near the outside due to the nature of what was being measured. In other scenarios, you might want points near the center, or low values. When you're interpreting a radar chart, check each axis as well as the overall shape to see how well it fits your goals.

When to use it:
A radar chart shows how a team has evaluated a number of organizational performance areas. It is
therefore essential that the initial evaluation include varied perspectives to provide an overall
realistic and useful picture of performance.

Radar chart statistics:
For the radar chart, the following statistics are calculated:

Mean: the average of all the values in the series.
Maximum: the maximum value in the series.
Minimum the minimum value in the series.
Sample Size the number of values in the series.
Range the maximum value minus the minimum value.
Standard Deviation Indicates how widely data is spread around the mean


Limitations
Radar charts are primarily suited for strikingly showing outliers and commonality, or when one chart is greater in every variable than another, and primarily used for ordinal measurements – where each variable corresponds to "better" in some respect, and all variables on the same scale.

Conversely, radar charts have been criticized as poorly suited for making trade-off decisions – when one chart is greater than another on some variables, but less on others.[10]

Further, it is hard to visually compare lengths of different spokes, because radial distances are hard to judge, though concentric circles help as grid lines. Instead, one may use a simple line graph, particularly for time series.

Hi!! code is available for this.. contact: aravindbenator@gmail.com

Implementation of PRISM in silvelight application.

PRISM or Composite Application guidance/Library

Architecture:





Prism or composite application guidance library helps us to build loosely coupled silver light or WPF applications.

It mainly contains
• Library
• Reference Implementation
• Documentation.

Prizm core concepts
 Container
 Bootstrapper
 Shell
 Modules
 Views
 Services

Unity Block:

 Dependency Injection Container
 Default for Prism (can use others though)
 Main functions:
 Register – Tell Unity it is responsible for a type or object
 Resolve – Obtain an object reference from the container
 BuildUp – Inject dependencies in an existing object
 Configure – Register based on configuration info
 Many overloads / variants
 Generic and non-generic versions


Modules
• Unit of the application assembly
• Unit of development
• Unit of deployment
Bootstrapper class is a main class to initialize.In this class shell object will be created as well as module is added to modulecatalog .
This class will be inherited by UnityBootstrapper class as shown in code snippet.

 Startup code for your application
 Alternative to putting everything in the Main() method
 Well defined intialization point in your application
 Not required, but recommended








public class BootStrapper:UnityBootstrapper
{
protected override DependencyObject CreateShell()
{
Shell arv_shl = Container.Resolve();
Application.Current.RootVisual = arv_shl;
return arv_shl;
}

protected override IModuleCatalog GetModuleCatalog()
{
ModuleCatalog modcatalog = new ModuleCatalog().AddModule(typeof(MainModule.Module));
return modcatalog;




}

}

Shell is exposing region of PRISM application.It is xaml file for rendering control.

 Main window of the application
 Could be more than one
 Presented at startup (typically, could be minimized to System
Tray)
 Root element for the whole UI
 Even modular views that know nothing about the shell
 Typically knows nothing about the views that it is composed of
 Just provides a “shell” to contain them, thus the name
 May define regions for dynamic plug in of views
 May explicitly load views into containers in the UI






Output is rendered through the MainRegion(Items Control).


View and Modules


 Composite parts (Legos) of your UI
 Used to decompose your window from one big monolithic blob
into a bunch of semi-autonomous parts
 Can be defined as:
 User control
 Custom control
 WPF Data Template
 XAML Resource
 Dynamically constructed UI Element tree






View contains actual presentation xaml file, which contains all GUI. Module class is bridge between the view and bootstrapper class.



Code is as shown bellow.

public class Module:IModule
{
private readonly IRegionManager regionmanager;

public Module(IRegionManager regionManager)
{
regionmanager = regionManager;
}
public void Initialize()
{
regionmanager.RegisterViewWithRegion("MainRegion",typeof( TestModule));
}
}


View-GUI










Composit View:
 View that contains other views
 Child views may be added
 By composite view statically
 XAML declaration
 Programmatic addition
 Through regions within the composite view
 Composite view generally responsible for composing itself out of
child views
 May have some content of its own as well



This is the simplest silverlight-prism application!



Email:aravindbenator@gmail.com

Friday, April 9, 2010

WCF Endpoints[ABC]

Every communication with the windows communication foundation occurs through the endpoints of the service.
Each endpoint consists of :
A-Address indicates where the endpoint can be found.
B-Binding indicates how client can communicate with end point.
C-Contract indicates operation available.


Structure Of Endpoint:
Each endpoint consists of following
1 Address: Address identifies the endpoint and tells the consumer to location of the service. It is represnted in endpoint address class.

The endpoint address class contains:
URI-which is the address of service.
Identity-represents the security identity of the service .

Defining endpoint in configuration.



behaviorConfiguration="HelloServiceBehavior">
binding="basicHttpBinding"
contract="UE.Samples.IHello"/>

binding="mexHttpBinding"
contract="IMetadataExchange" />














Binding: Binding tells how to communicate with endpoint in service.
This includes:
The transport protocol to use (for example, TCP or HTTP).

The encoding to use for the messages (for example, text or binary).

The necessary security requirements (for example, SSL or SOAP message security).

Contracts:This outlines what the functionalities endpoint exposes to client.

What operations can be called by a client.

The form of the message.

The type of input parameters or data required to call the operation.

What type of processing or response message the client can expect.

Endpoint Addresses:
Every endpoint has an address associated with it, which is used to locate and identify the endpoint. This address consists primarily of a Uniform Resource Identifier (URI), which specifies the location of the endpoint. The endpoint address is represented in the Windows Communication Foundation (WCF) programming model by the EndpointAddress class, which contains an optional Identity property that enables the authentication of the endpoint by other endpoints that exchange messages with it, and a set of optional Headers properties, which define any other SOAP headers required to reach the service. The optional headers provide additional and more detailed addressing information to identify or interact with the service endpoint. The address of an endpoint is represented on the wire as a WS-Addressing endpoint reference (EPR).

URI Structure of an Address
The address URI for most transports has four parts. For example, the four parts of the URI http://www.fabrikam.com:322/mathservice.svc/secureEndpoint can be itemized as follows:

Scheme: http:


Machine: www.aravind.com


(optional) Port: 322


Path: /mathservice.svc/secureEndpoint


Thanks!

Monday, March 15, 2010

Gantt Chart...Version 1.0





What is gantt chart?
A Gantt chart is a type of bar chart that illustrates a project schedule. Gantt charts illustrate the start and finish dates of the terminal elements and summary elements of a project.

There are lots of gantt chart controls are available i.e radient control etc.with less futures.
this version contains futures like.

1.Parent/Child Nodes in GanttDataGrid
2.Simple Dependencies
3.Dragable and Expandable GanttItems
4.Scroll sensitive TimespanHeader
5.Parent nodes used HeaderGanttItem and have a different style
6.Drags change dates at the Tick level
7.Grab & Drag timeline to change timeframe
8.Percentage Complete Indicator
9.Hover Item Template that allows the definition of a "tool tip" for your GanttItems
10.DatePicker columns for Date fields
11.XAML based column definitions
12.Weekend coloration.
13.Dynamically adding dependencies.
14.Related task resizing..etc.



Aravind,aravindbenator@gmail.com,MCTS.

Thursday, March 4, 2010

New types of chart!(Version 1.0)



Great!

It is a type of representation of data in a chart with circullar manner.It contains number of circles based on number input types. Suppose, consider there is need to draw a graph of money,time,man power. then most critical or higher priority type will come under a first circle and next priority will moves to next one. like wise based on priority it will moves away from the center of origin.

New version of bullseye chart has been released!

Developer:Aravind
Email:aravindbenator@gmail.com
arv_bs@yahoo.co.in

Thursday, February 25, 2010

TODO:Calling javascript function from silverlight page. 26/02/2010

function alertText(text) {
alert(text);
}

function sendText() {
return "Hi from Javascript!";
}
The JavaScript code shown above is as basic as it gets, but the interesting part is not the JavaScript itself but how to call it from Silverlight. Open the Silverlight project and add the following xaml to the Page.xaml file:

















TODO:To avoid page load on calling a event from javascript in ASP.net


function OnClickMyButton()
{
__doPostBack('', 'MyButtonClick'); // this will post back the page with the argument specified
}

now in ur code file in Page_Load u have to catch that post back and argument like:

If (Me.Request.Params("__EVENTARGUMENT") = "MyButtonClick") Then

Call MyButton_Click()

End If