<?xml version="1.0" encoding="utf-8"?>
<feed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom">
  <title>Microsoft Live Labs Volta Team Blog</title>
  <link rel="alternate" type="text/html" href="http://labs.live.com/volta/blog/" />
  <link rel="self" href="http://labs.live.com/volta/blog/SyndicationService.asmx/GetAtom" />
  <icon>favicon.ico</icon>
  <updated>2008-02-21T15:57:03.0337112-08:00</updated>
  <author>
    <name>Microsoft</name>
  </author>
  <subtitle />
  <id>http://labs.live.com/volta/blog/</id>
  <generator uri="http://www.dasblog.net" version="1.8.5223.2">DasBlog</generator>
  <entry>
    <title>Volta Bug Fixes Available</title>
    <link rel="alternate" type="text/html" href="http://labs.live.com/volta/blog/Volta+Bug+Fixes+Available.aspx" />
    <id>http://labs.live.com/volta/blog/PermaLink,guid,2e44fb48-6979-42a0-a776-7a0b59e4419c.aspx</id>
    <published>2008-02-21T15:56:51.956-08:00</published>
    <updated>2008-02-21T15:57:03.0337112-08:00</updated>
    <category term="nav_Frontpage" label="nav_Frontpage" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      We have fixed a few of the bugs you have reported to the forums. The installer on
      the site has been replaced with the new version. All you need to do if you were affected
      by the bugs is to uninstall Volta, download new version from <a href="http://labs.live.com/volta">http://labs.live.com/volta</a> and
      install again. 
   </p>
        <p>
      Thank you for submitting these bugs to us, please feel free to continue asking questions,
      report issues and give suggestions. 
   </p>
        <p>
      The bugs that we addressed in this update are: 
   </p>
        <ul>
          <li>
         Add support for tiersplitting WPF applications (will require some manual editting
         of the project) 
      </li>
          <li>
         There was a disparity in System.Threading.Timer between Desktop CLR (Debug) and Javascript
         (Release) 
      </li>
          <li>
         There was an issue creating / retreiving H2 elements 
      </li>
          <li>
         There were issues around table creation using CreateTHead and CreateTFoot. 
      </li>
          <li>
         An exception was throw when navigating away and then using the backbutton. 
      </li>
          <li>
         Location.HRef did not work 
      </li>
          <li>
         Iterating over Document.All throw an exception in debug mode.</li>
        </ul>
        <p>
      Thank you again for reporting these and helping make Volta better!
   </p>
      </div>
    </content>
  </entry>
  <entry>
    <title>Volta How To: Flickr Widget</title>
    <link rel="alternate" type="text/html" href="http://labs.live.com/volta/blog/Volta+How+To+Flickr+Widget.aspx" />
    <id>http://labs.live.com/volta/blog/PermaLink,guid,725fb367-3c2e-481e-bf2a-066c4f67dc85.aspx</id>
    <published>2008-01-24T22:19:33.419-08:00</published>
    <updated>2008-01-24T22:19:33.4192322-08:00</updated>
    <category term="nav_Frontpage" label="nav_Frontpage" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Tanzim Saqib wrote a very nice <a href="http://dotnetslackers.com/articles/aspnet/BuildingAVoltaControlAFlickrWidget.aspx">article
      on how to create controls</a> in Volta. His article gives step by step instructions
      on how to write a Flickr control that you can reuse  in your pages. The control
      covers the Flickr API, how to make asynchronous requests to Flickr’s REST APIs, parsing
      the resulting xml, dynamic building of UI and including resources (css).  The
      same basic principles can be applied to building widgets for any number of different
      services.  
   </p>
      </div>
    </content>
  </entry>
  <entry>
    <title>Volta Secrets Part 5 - Silverlight</title>
    <link rel="alternate" type="text/html" href="http://labs.live.com/volta/blog/Volta+Secrets+Part+5++Silverlight.aspx" />
    <id>http://labs.live.com/volta/blog/PermaLink,guid,9204f7d9-115c-40a3-82ae-63f088ccc532.aspx</id>
    <published>2007-12-13T11:31:54.407-08:00</published>
    <updated>2007-12-13T11:31:54.407337-08:00</updated>
    <category term="nav_Frontpage" label="nav_Frontpage" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      In our final installment on the Volta conspiracy, we want to touch briefly on the
      topic of Volta as a way to write applications vs. your choice as a developer on what
      the appropriate client runtime is.
   </p>
        <h3>Secret #5: Silverlight
   </h3>
        <p>
      The final question that is frequently asked is how Volta relates to Silverlight. 
      Is Volta meant to replace Silverlight?  Are we trying to make JavaScript work
      for the same scenarios as Silverlight?  Simply put, no.  As <a href="http://www.betanews.com/article/Microsoft_ties_highlevel_code_to_Web_development_with_Volta/1197045064">others
      have observed</a>, Volta is compatible with and is built to be complementary to Silverlight. 
      The Microsft PressPass <a href="http://www.microsoft.com/presspass/features/2007/dec07/12-05Volta.mspx">Q&amp;A
      about Volta</a> further explains that Volta is an MSIL to MSIL toolkit aimed at making
      writing distributed applications easier. Silverlight is an implementation of the .NET
      platform that therefore will automatically benefit from the advantages of the Volta
      toolkit. The technologies complement each other well, and we believe that amplifies
      and validates the importance of the complete .NET platform, including Silverlight.    
   </p>
        <p>
      All the benefits of the Volta toolkit, such as declarative tier-splitting and asynchronous
      programming or declarative import of JavaScript libraries into .NET, will apply to
      programs deployed to the Silverlight platform. In fact, we are in the process of replacing
      the browser helper objects used to facilitate debugging in this preview, which host
      the regular desktop CLR in IE and Firefox, and are replacing them instead with the
      Silverlight 2.0 runtime.
   </p>
        <p>
      Charles on <a href="http://channel9.msdn.com/showpost.aspx?postid=365221">Channel
      9 framed the idea quite well</a> when he said:
   </p>
        <p>
        </p>
        <blockquote>"So, the most obvious case is Silverlight 2.0 as the client tier and
   a web server as the server tier... This is a great scenario since Volta can split
   IL to IL without having to resort to IL translation to, say, JavaScript (which has
   gotten too much attention). Further, execution contexts such as XNA, WinForms, DHTML,
   SVG, VML, even SQL are realistic client targets (tiers) for Volta. Then there's the
   notion of a local "distributed" system (think of applications running on a single
   client as the tiers) where Volta also makes sense as a means of easily composing the
   system." </blockquote>
        <p>
      Volta is about enabling developers to write a unified code base for distributed application,
      making decisions about both the appropriate <a href="http://labs.live.com/volta/blog/Volta+Secrets+Part+3++Remoting+Boundaries.aspx">distribution
      of remoting boundaries</a> and the client runtime a function of the application's
      requirements, and allowing those decisions to be changed much more easily than they
      can be today.
   </p>
      </div>
    </content>
  </entry>
  <entry>
    <title>Volta Secrets Part 4 - VB</title>
    <link rel="alternate" type="text/html" href="http://labs.live.com/volta/blog/Volta+Secrets+Part+4++VB.aspx" />
    <id>http://labs.live.com/volta/blog/PermaLink,guid,af4225ec-9c3b-4bf9-81ff-818cf3c1de9b.aspx</id>
    <published>2007-12-13T09:38:21.478-08:00</published>
    <updated>2007-12-13T11:32:01.9697402-08:00</updated>
    <category term="nav_Frontpage" label="nav_Frontpage" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      The latest installment of our <a href="http://labs.live.com/volta/blog/Five+Secrets+Microsoft+Does+Not+Want+You+To+Know+About+Volta++Part+1.aspx">ongoing
      series</a> about Volta's <a href="http://labs.live.com/volta/blog/Volta+Secrets+Part+2++Performance.aspx">deepest</a>, <a href="http://labs.live.com/volta/blog/Volta+Secrets+Part+3++Remoting+Boundaries.aspx">darkest</a> secrets
      brings us to language support.
   </p>
        <h3>Secret #3: Visual Basic
   </h3>
        <p>
      Sometimes, it seems as if honesty does not pay off. In the "<a href="http://labs.live.com/volta/docs/issues.aspx">known
      issues and limitations</a>" section of the Volta documentation we mention that we
      do not fully support Visual Basic. From this some people <a href="http://oakleafblog.blogspot.com/2007/12/first-volta-ctp-available-from.html">quickly
      conclude that we treat Visual Basic as second class citizen</a>. This is rather ironic
      because whenever we talk about Volta our demos are usually done in Visual Basic. 
   </p>
        <p>
      The reason we do not fully support Visual Basic in this specific scenario is simply
      because we do not support the full Base Class Libraries (BCL) when compiling to JavaScript;
      and some of the types that we do not support (such as Reflection and CultureInfo)
      happen to be required by the Visual Basic runtime. 
   </p>
        <p>
      We know how to solve this problem; it is just a matter of work. Unfortunately <em>a
      lot</em> of work because the BCL contains rather many types that are all quite tightly
      coupled to each other.  Instead of delaying the preview release of Volta while
      we did this work, we instead opted to get Volta into developers hands quickly to discover
      things we do not know yet.  Further Visual Basic support is something we will
      continue to work on as we iterate on Volta. 
   </p>
      </div>
    </content>
  </entry>
  <entry>
    <title>Volta Secrets Part 3 - Remoting Boundaries</title>
    <link rel="alternate" type="text/html" href="http://labs.live.com/volta/blog/Volta+Secrets+Part+3++Remoting+Boundaries.aspx" />
    <id>http://labs.live.com/volta/blog/PermaLink,guid,a67f2c15-ce35-41b3-a126-4e1f19dc3996.aspx</id>
    <published>2007-12-12T15:56:33.07-08:00</published>
    <updated>2007-12-13T11:32:08.3602834-08:00</updated>
    <category term="nav_Frontpage" label="nav_Frontpage" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      In part 1 of our series on Volta's ongoing conspiracy we covered <a href="http://labs.live.com/volta/blog/Five+Secrets+Microsoft+Does+Not+Want+You+To+Know+About+Volta++Part+1.aspx">the
      GWT myth</a>; in part 2, <a href="http://labs.live.com/volta/blog/Volta+Secrets+Part+2++Performance.aspx">the
      performance of JavaScript</a>.  Here, we cover a little more of our take on balancing
      complexity and control when tier-splitting. 
   </p>
        <h3>Secret #3: Remoting Boundaries
   </h3>
        <p>
      When we talk about making distributed and asynchronous programming easy using declarative
      custom attributes and automatic MSIL to MSIL rewriting, many people quickly conclude
      that we do not understand the "<a href="http://en.wikipedia.org/wiki/Fallacies_of_Distributed_Computing">Fallacies
      of Distributed Programming</a>". This is rather ironic because whenever we talk about
      Volta we usually reference this seminal paper and point out the failure of <a href="http://msdn2.microsoft.com/en-us/library/ms683835.aspx">location
      transparency as found in say DCOM</a>. 
   </p>
        <p>
      As usual when the pendulum swings from one extreme to the other, some parts of the
      baby get thrown away with the bath water. In this case the rise of web services unfortunately
      saddles developers with potential <a href="http://en.wikipedia.org/wiki/No_Silver_Bullet">accidental
      complexities</a> with SOAP, WSDL, WS-*, etc., which can in certain scenarios
      become <a href="http://www.cs.ucsb.edu/~ravenben/papers/coreos/Hoa81.pdf">part of
      the problem</a> instead of just the solution--even though they do the right thing
      with respect to exposing location awareness. This is one of the reasons we see a rising
      interest in RESTful web services. 
   </p>
        <p>
      By definition, we can never have enough <a href="http://www.cs.utexas.edu/users/EWD/ewd03xx/EWD340.PDF">abstraction</a>.
      Abstraction means leaving out unnecessary details, and as long as there are unnecessary
      details left, we can keep abstracting from them as long as you leave necessary details
      in place. This is exactly what Volta aims to achieve; let the tools take care of the
      unnecessary details and the programmers decide on the necessary ones.
   </p>
      </div>
    </content>
  </entry>
  <entry>
    <title>Volta on Channel 9</title>
    <link rel="alternate" type="text/html" href="http://labs.live.com/volta/blog/Volta+On+Channel+9.aspx" />
    <id>http://labs.live.com/volta/blog/PermaLink,guid,139f53df-707a-4668-926b-99cbcc826ecf.aspx</id>
    <published>2007-12-12T15:10:47.136-08:00</published>
    <updated>2007-12-13T11:32:14.6727026-08:00</updated>
    <category term="nav_Frontpage" label="nav_Frontpage" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Microsoft's own Channel 9 has just posted two videos from a discussion with the Volta
      development team.  You'll learn more about what Volta is, how it works, and how
      to write applications with it:
   </p>
        <p>
          <a href="http://channel9.msdn.com/showpost.aspx?postid=365220">Tier Splitting Volta:
      Who. What. How. Why - Part 1</a>
        </p>
        <blockquote>
          <p>
      "In this episode (or part 1, if you will) we meet the team and learn the basics. Since
      it's a room full of devs there is whiteboarding and lots of techincal talk, just the
      way we like it here on C9."
   </p>
        </blockquote>
        <h4>
        </h4>
        <p>
          <a href="http://channel9.msdn.com/ShowPost.aspx?PostID=365221">Tier Splitting Volta:
      Who. What. How. Why - Part 2</a>
        </p>
        <blockquote>
          <p>
      "This is part 2 where we continue to dig deeply into Volta. Lot's of whiteboarding
      and even a code sample using VS."
   </p>
        </blockquote>
        <p>
       
   </p>
      </div>
    </content>
  </entry>
  <entry>
    <title>Volta Secrets Part 2 - Performance</title>
    <link rel="alternate" type="text/html" href="http://labs.live.com/volta/blog/Volta+Secrets+Part+2++Performance.aspx" />
    <id>http://labs.live.com/volta/blog/PermaLink,guid,ea23cf65-5a20-4cdb-a267-a7eec5c88536.aspx</id>
    <published>2007-12-12T14:59:26.207-08:00</published>
    <updated>2007-12-13T11:32:21.360117-08:00</updated>
    <category term="nav_Frontpage" label="nav_Frontpage" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Continuing our series on the <a href="http://labs.live.com/volta/blog/Five+Secrets+Microsoft+Does+Not+Want+You+To+Know+About+Volta++Part+1.aspx">secrets
      Microsoft does not want you to know about Volta</a>, we want to touch on a topic that
      is apparent to anyone who has tried using <a href="http://labs.live.com/volta/samples.aspx">the
      Word Worm sample</a>. 
   </p>
        <h3>Secret #2: Performance
   </h3>
        <p>
      Many people that try to run the <a href="http://labs.live.com/volta/samples.aspx">samples
      from the Volta website</a> correctly observe that the <a href="http://blogs.zdnet.com/Burnette/?p=480">performance
      and especially the load time of these samples is sub-optimal</a>. To allow people
      to play with our samples from the website, the easiest way currently is to deploy
      these samples as JavaScript since it does not require any installation. The downside
      of this approach is that for this preview release we did not not optimize for performance,
      but instead concentrated on providing developers with an end-to-end view of Volta
      such that we could get valuable feedback about the Volta programming model. 
   </p>
        <p>
      Building an MSIL to JavaScript compiler that generates more efficient code than human
      programmers can write by hand is a tractable problem and one we are working on for
      future versions of Volta. This is exactly what the goal of a good compiler is; raise
      the level of abstraction and at the same time boost performance of the generated code.
      However, though we know how to improve performance and intend to do so in future iterations
      the goal of this release was not performance. Instead, we are seeking feedback on
      aspects of Volta that we do not know exist. In other words by putting Volta in the
      hands of developers early on, we are <a href="http://www.forbes.com/2007/05/23/nicholas-taleb-innovation-tech-cz_07rev_nt_0524taleb.html">hoping
      to find some unexpected Black Swans</a>.  
   </p>
        <p>
      So, experiment with Volta, tell us what works and what doesn't--but keep in mind that
      performance of applications compiled to JavaScript is not yet optimized. 
   </p>
      </div>
    </content>
  </entry>
  <entry>
    <title>Five Secrets Microsoft Does Not Want You To Know About Volta - Part 1</title>
    <link rel="alternate" type="text/html" href="http://labs.live.com/volta/blog/Five+Secrets+Microsoft+Does+Not+Want+You+To+Know+About+Volta++Part+1.aspx" />
    <id>http://labs.live.com/volta/blog/PermaLink,guid,7f4c2de6-2332-40f0-82e3-6709b07949b0.aspx</id>
    <published>2007-12-11T09:56:59.901-08:00</published>
    <updated>2007-12-11T09:56:59.9015778-08:00</updated>
    <category term="nav_Frontpage" label="nav_Frontpage" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      After releasing the Volta preview on December 5th, the blogosphere has been thick
      with conspiracy theories about Volta. At times it felt as if we were watching another
      episode of the <a href="http://en.wikipedia.org/wiki/The_X-Files">X-files</a> or reading
      one of those gossip magazines. According to <a href="http://en.wikipedia.org/wiki/Reverse_psychology">reverse
      psychology</a>, the way to set this straight is by acknowledging that there is indeed
      a conspiracy behind Volta. However, as boring as it sounds, that just in not the case.
      We are just a small team of hackers that are trying to push the envelope. And most
      importantly, we assume you are not easily fooled by cheap psychological tricks. So
      instead, we will give you the straight answers to the top 5 most frequent questions
      about Volta in a quick series. Here is #1: 
   </p>
        <h3>Secret #1: The GWT Conspiracy
   </h3>
        <p>
      One common characterization of the last week is that Volta is "<a href="http://blogs.zdnet.com/Burnette/?p=480">Microsoft's
      GWT clone</a>". As Volta architect Erik Meijer <a href="http://blogs.zdnet.com/microsoft/?p=1023">explained 
      on ZDNet last week</a>, what might seem similar at first glance actually have big
      differences in their construction and implications. The focus of Volta is on extending
      the .NET platform to cover the Cloud, hence the essence of Volta is to enable multi-tier
      and asynchronous programming via declarative attribution and MSIL to MSIL rewriting.
      We can use the Volta toolkit for any source language as long as it compiles to MSIL,
      and for any target execution environment, as long as it accepts MSIL. This means that
      we can as easily <a href="http://blogs.msdn.com/dragoman/archive/2007/12/07/tier-split-refactoring-winforms-applications-with-volta.aspx">tier-split
      a WinForms application</a> as we can <a href="http://blogs.msdn.com/wesdyer/archive/2007/12/05/volta-redefining-web-development.aspx">tier-split
      a Web application</a>. 
   </p>
        <p>
      The fact that we also include experimental support for MSIL to JavaScript compilation
      is somewhat of an <a href="http://www.25hoursaday.com/weblog/2007/12/09/MicrosoftVoltaTurningTraditionalWebDevelopmentOnItsHead.aspx">distraction</a> from
      the key Volta message. The main reason that we are interested in JavaScript is not
      so much in compiling MSIL to JavaScript but in enabling <a href="http://labs.live.com/volta/docs/recipes/interop.aspx">importing
      JavaScript libraries into .NET</a>. JavaScript libraries such as <a href="http://www.microsoft.com/virtualearth/">Virtual
      Earth</a> or <a href="https://dev.live.com/livesearch/sdk/">Search</a> are generally
      useful far beyond just Web-based applications, and Volta makes it possible to import
      external JavaScript libraries into ordinary .NET programs. Just like tier-splitting
      and asynchronous methods, we use declarative custom attributes to remove all the noise
      from importing JavaScript libraries to .NET.  It might be interesting to observe
      that, technically, interop with JavaScript is just another example of tier-splitting.
      Instead of running an application across server and client, it runs across CLR and
      the JavaScript execution engines.
   </p>
        <p>
        </p>
      </div>
    </content>
  </entry>
  <entry>
    <title>Announcing Volta: Web Development Using Only the Materials in the Room</title>
    <link rel="alternate" type="text/html" href="http://labs.live.com/volta/blog/Announcing+Volta+Web+Development+Using+Only+The+Materials+In+The+Room.aspx" />
    <id>http://labs.live.com/volta/blog/PermaLink,guid,02edd970-61fd-48f5-a18e-c2b55c4bdd42.aspx</id>
    <published>2007-12-05T14:13:17.562-08:00</published>
    <updated>2007-12-05T09:18:10.9674866-08:00</updated>
    <category term="nav_Frontpage" label="nav_Frontpage" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://labs.live.com/volta/">
            <img src="http://labs.live.com/volta/blog/volta/images/logo-volta.png" align="right" border="0" />
          </a>Today,
      we are announcing the <a href="http://labs.live.com/volta/">Volta technology preview</a>,
      a developer toolset for building multi-tier web applications using existing and familiar
      tools, techniques and patterns. Volta’s declarative tier-splitting enables developers
      to postpone architectural decisions about distribution until the last possible responsible
      moment. Also, thanks to a shared programming model across multiple-tiers, Volta enables
      new end-to-end profiling and testing for higher levels of application performance,
      robustness, and reliability. Using the declarative tier-splitting, developers can
      refine architectural decisions based on this profiling data. This saves time and costs
      associated with manual refactoring. In effect, Volta extends the .NET platform to
      further enable the development of software+services applications, using existing and
      familiar tools and techniques.
   </p>
        <p>
      You architect and build your application as a .NET client application, assigning the
      portions of the application that run on the server tier and client tier late in the
      development process. You can target either web browsers or the CLR as clients and
      Volta handles the complexities of tier-splitting. The compiler creates cross-browser
      JavaScript for the client tier, web services for the server tier, and all communication,
      serialization, synchronization, security, and other boilerplate code to tie the tiers
      together. In effect, Volta offers a best-effort experience in multiple environments
      without requiring tailoring of the application. 
   </p>
        <p>
          <a href="http://labs.live.com/volta/">Learn more about Volta and download it to try
      building applications yourself &gt;</a>
        </p>
      </div>
    </content>
  </entry>
</feed>