Here is a pretty looking view of it:
Read more about it at: http://www.microsoft.com/presspass/presskits/bing/default.mspx
Wolfram Alpha Answer Engine gets us to what people thought computers would be able to do 50 years ago: quickly find answers to all the factual questions!
Stephen Wolfram, the British physicist behind this recently launched project clarifies that Wolfram Alpha is a website with one simple input field that gives access to a huge system, with trillions of pieces of curated data and millions of lines of algorithms.
It is not a search engine that lists out numerous links to information that exist on the web. Instead, it actually computes the answer using the available data and displays it in a easily readable format.
<?xml version="1.0" encoding="utf-8" ?> <ss:ApplicationInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ss="http://schemas.microsoft.com/Surface/2007/ApplicationMetadata"> <Application> <Title>My Surface App</Title> <Description>This is a sample Surface application.</Description> <ExecutableFile>%ProgramFiles%\MyCompany\MyApp\MyApp.exe</ExecutableFile> <Arguments></Arguments> <IconImageFile>%ProgramFiles%\MyCompany\MyApp\Resources\icon.png</IconImageFile> <Preview> <PreviewImageFile>%ProgramFiles%\MyCompany\MyApp\Resources\iconPreview.png</PreviewImageFile> </Preview> <Tags> <ByteTag Value="C0"> <Actions> <Launch /> </Actions> </ByteTag> </Tags> </Application> </ss:ApplicationInfo>
<ByteTag Value="C0"> <Actions> <Launch /> </Actions> </ByteTag>
<IdentityTag Series="4245A8E4901C2C0B"> <Actions> <Launch /> </Actions> </IdentityTag>
The application info file C:\ProgramData\Microsoft\Surface\Programs\Macroni.xml refers to tag 29EB049F73061803, however, some configuration information for 29EB049F73061803 is missing from the registry. The default value '2.125' will be used for the missing setting.Happy coding!
Path to the tag's missing configuration setting in the registry:
HKEY_LOCAL_MACHINE\Software\Microsoft\Surface\TagInfo\v1.0\IdentityTags\29EB049F73061803\BoundingBoxHeight
<s:TagVisualization x:Class="TagSample.BlueTags" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="http://schemas.microsoft.com/surface/2008" Loaded="BlueTags_Loaded" Height="50" Width="50"> <Grid Background="Blue"> </Grid> </s:TagVisualization>
<Grid Background="{StaticResource WindowBackground}" > <s:TagVisualizer VisualizationAdded="OnVisualizationAdded" > <s:TagVisualizer.Definitions> <!-- ByteTag: 10 = A --> <s:ByteTagVisualizationDefinition Value="10" Source="BlueTags.xaml"> </s:ByteTagVisualizationDefinition> <!-- ByteTag: 250 = FA --> <s:ByteTagVisualizationDefinition Value="250" Source="RedTags.xaml"> </s:ByteTagVisualizationDefinition> <!-- IdentityTag: 500 = 1F4, 1000 = 3E8 --> <s:IdentityTagVisualizationDefinition Series="500" Value="1000" Source="YellowTags.xaml"> </s:IdentityTagVisualizationDefinition> </s:TagVisualizer.Definitions> <DockPanel LastChildFill="False"> <TextBlock x:Name="uxDisplay" HorizontalAlignment="Center" DockPanel.Dock="Bottom" Text="Watch here"/> </DockPanel> </s:TagVisualizer> </Grid>
void OnVisualizationAdded(object sender, TagVisualizerEventArgs e) { String type = ""; String value = ""; if (e.TagVisualization.VisualizedTag.Type == TagType.Byte) { type = "Byte Tag"; value = e.TagVisualization.VisualizedTag.Byte.Value.ToString(); } else if (e.TagVisualization.VisualizedTag.Type == TagType.Identity) { type = "Identity Tag"; value = e.TagVisualization.VisualizedTag.Identity.Series.ToString() + " - " + e.TagVisualization.VisualizedTag.Identity.Value.ToString(); } uxDisplay.Text = type + ":" + value; }
<DockPanel> <s:SurfaceButton DockPanel.Dock="Bottom" x:Name="uxButton" Content="Click Me" Height="50" Width="100" Click="uxButton_Click" /> <s:ScatterView x:Name="uxScatterView" Background="LemonChiffon"> </s:ScatterView> </DockPanel>
private void uxButton_Click(object sender, RoutedEventArgs e) { Ellipse ell = new Ellipse(); ell.Height = 50; ell.Width = 50; ell.Fill = new SolidColorBrush(Colors.Red); ScatterViewItem item = new ScatterViewItem(); item.Content = ell; uxScatterView.Items.Add(item); }Now launch the Surface Simulator and run this application. The application will appear within the simulator. Keep clicking on the buttons to add items to the scatter view.
private void uxButton_ContactDown(object sender, ContactEventArgs e) { Point contactPosition = e.Contact.GetPosition(this); }
<Canvas s:Contacts.ContactDown="Canvas_ContactDown" />