<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>What's in Store : Programmability </title><link>http://blogs.msdn.com/winfs/archive/tags/Programmability+/default.aspx</link><description>Tags: Programmability </description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Postcard from the PDC</title><link>http://blogs.msdn.com/winfs/archive/2005/09/21/472569.aspx</link><pubDate>Thu, 22 Sep 2005 03:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:472569</guid><dc:creator>WinFS Team</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/winfs/comments/472569.aspx</comments><wfw:commentRss>http://blogs.msdn.com/winfs/commentrss.aspx?PostID=472569</wfw:commentRss><description>&lt;P&gt;&lt;EM&gt;Los Angeles – Wednesday, September 14, 2005 5:01 pm&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Phew what a day....one of the most enjoyable, exciting, nerve wracking, intense days of my life so far. My name is Ramesh Nagarajan, I am a program manager on the WinFS API team, and I just walked off stage after presenting to 800 people at the PDC. It was my first time in front of that many people and let me tell you it's a real buzz!!&lt;/P&gt;
&lt;P&gt;My talk was on building data-centric applications using WinFS, Windows Presentation Foundation (WPF formerly known as "Avalon") and Windows Forms. I really wanted to show off what gets me excited about WinFS. To me a relational filesystem that will allow users to unify, organize and explore their data in new ways really needs a rich API that developers can innovate on. The fact that WinFS provides developers with a single store that's on so many desktops that they can rely on really opens on amazing possibilities.&lt;/P&gt;
&lt;P&gt;In my presentation I built a simple WPF application that showed off how a richer document viewing experience could be built on top of WinFS really easily by using some of the following key concepts:&lt;BR&gt;- Easy query definition. I defined queries using a common pattern. &lt;BR&gt;- Scalable views. I used a powerful component of the API that allows developers to really leverage the power of the relational store. &lt;BR&gt;- Powerful joins. I related Documents with Contacts and showed how, as the data was schematized, an application can share types with other applications. &lt;BR&gt;- Rich data binding. I showed how easy it was to bind data from WinFS to UI and really do all the hard plumbing work that developers have had to do previously &lt;/P&gt;
&lt;P&gt;The main goal of this was to show of the productivity gains that developers will get by using WinFS and the new scenarios that are possible by having a central store that stores all types of data.&amp;nbsp; All the code I showed was real, on WinFS Beta 1 bits using the latest version of Visual Studio Whidbey. There was even a crash of my app! Over the next few weeks I will be posting the demo up on the blog to show how you can kickstart your development of the next generation of end user experiences!&lt;/P&gt;
&lt;P&gt;I also covered the power of using WinFS as a smart connected offline client. Phil Stanhope from Adesso systems showed off a demo that he had built over the last few weeks that shows off the new scenarios that are possible by leveraging WinFS as an offline client. Phil has a ton of details on his app on his blog &lt;A href="http://componentry.net/blogs/phil/"&gt;http://componentry.net/blogs/phil/&lt;/A&gt; go check it out!&lt;/P&gt;
&lt;P&gt;All in all I really enjoyed the experience and I felt that PDC attendees were very excited and engaged. I really valued the opportunity to connect with developers and feel the excitement that is building around this new rich data platform. The only thing left for me to say is that the platform is coming into shape and we really need your feedback to make the platform better and help you build the next generation of end user experiences and the next "killer" app.&lt;/P&gt;
&lt;P&gt;Author: Ramesh Nagarajan&lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=472569" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/winfs/archive/tags/Programmability+/default.aspx">Programmability </category><category domain="http://blogs.msdn.com/winfs/archive/tags/Author_3A00_+Ramesh+Nagarajan/default.aspx">Author: Ramesh Nagarajan</category></item><item><title>Using OPather To Help Write Queries</title><link>http://blogs.msdn.com/winfs/archive/2005/09/13/465218.aspx</link><pubDate>Wed, 14 Sep 2005 03:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:465218</guid><dc:creator>WinFS Team</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/winfs/comments/465218.aspx</comments><wfw:commentRss>http://blogs.msdn.com/winfs/commentrss.aspx?PostID=465218</wfw:commentRss><description>&lt;P&gt;For those of you who have installed WinFS and had a chance to write some code against the WinFS API you have probably noticed the use of this query language called OPath. OPath is the WinFS API’s object query language that has been designed to allow developers to express rich queries against the API's client-side object structures. The OPath language is used in multiple places on StorageSearcher to specify queries, among other places in the API (such as when creating StorageViews).&lt;BR&gt;&amp;nbsp;&lt;BR&gt;My name is Luiz Miranda and as one of the test developers in charge of testing OPath I found myself having to construct lots of queries. While typing a query, a small mistake such as a typo, a syntax error, or an extra parenthesis in my OPath query string could cause a runtime error. Also I found I had to write a test app just to play with a query scenario and see what results would be returned. This is why OPather was born.&lt;BR&gt;&amp;nbsp;&lt;BR&gt;When I created the tool I wanted a GUI interface where I could quickly set my target object and start writing my query and know right away of any mistakes in my query string. To do this with OPather is a snap. Open the tool, select the target object type you want to start querying against, then start writing your OPath query. There is even an Intellisense-like feature to help guide you through simple queries. Combined with other features that grew from feedback such as binding results to a DataGrid, constructing StorageViews, and ability to Dump all Code for written query, this tool can certainly help beginners and advanced users who intend to write an App that queries against the WinFS Store.&lt;BR&gt;&amp;nbsp;&lt;BR&gt;The tool is available in the “unsupported tools” directory on the WinFS Beta 1 CD and includes a simple help file to get you started. Check it out and post some feedback on what you think.&lt;BR&gt;&lt;BR&gt;Author: Luiz Miranda&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=465218" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/winfs/archive/tags/Programmability+/default.aspx">Programmability </category><category domain="http://blogs.msdn.com/winfs/archive/tags/Author_3A00_+Luiz+Miranda/default.aspx">Author: Luiz Miranda</category></item><item><title>Visualizing WinFS Types</title><link>http://blogs.msdn.com/winfs/archive/2005/09/08/462713.aspx</link><pubDate>Fri, 09 Sep 2005 04:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:462713</guid><dc:creator>WinFS Team</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/winfs/comments/462713.aspx</comments><wfw:commentRss>http://blogs.msdn.com/winfs/commentrss.aspx?PostID=462713</wfw:commentRss><description>&lt;P&gt;Hi, my name is Sanjay Nagamangalam and I am a PM in the WinFS API team. As I started writing my early WinFS apps, I wanted to quickly browse all the schema types. The docs were useful, but were not fast to scan through. I wanted to “see” a type in all its glory (e.g. its type hierarchy, methods, properties, other types it was related to, etc) so that I could program with WinFS types that were most relevant to my app/domain.&lt;/P&gt;
&lt;P&gt;As my app grew in complexity, I found I needed to create a custom WinFS type because WinFS didn’t quite have a type I wanted. Sure enough, I ran into a slightly different problem this time: I wasn’t entirely sure what my base WinFS type should be. I ended up looking at the client dlls for potential WinFS base types in Reflector .NET and VS 2005 to decide which type had methods/properties that I could “reuse” in my custom type. It took a while to understand my options and make the right choice.&lt;/P&gt;
&lt;P&gt;Based on this experience, I wrote a little tool called the WinFS Type Browser to help me with these issues I encountered while building my app. The idea was to write a tool to help me visualize WinFS schemas – as opposed to StoreSpy that shows me WinFS data. My goal was to help reduce the time it takes to write WinFS apps by letting developers visualize WinFS schemas in a familiar VS-style GUI. My teammates began using the WinFS Type Browser while writing their apps and gave me plenty of feedback that I fed right back into the tool. The WinFS Type Browser works for schemas that ship with WinFS as well as your very own custom schemas. The tool is available in the “unsupported tools” directory on the WinFS Beta 1 CD and includes a simple help file to get you started. Please take it out for a test drive and let us know if you find it useful.&lt;/P&gt;
&lt;P&gt;Author: Sanjay Nagamangalam&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=462713" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/winfs/archive/tags/Author_3A00_+Sanjay+Nagamangalam/default.aspx">Author: Sanjay Nagamangalam</category><category domain="http://blogs.msdn.com/winfs/archive/tags/Programmability+/default.aspx">Programmability </category></item></channel></rss>