{"id":496,"date":"2011-08-10T23:43:29","date_gmt":"2011-08-11T03:43:29","guid":{"rendered":"https:\/\/www.tmurgent.com\/TmBlog\/?p=496"},"modified":"2013-04-06T12:16:35","modified_gmt":"2013-04-06T16:16:35","slug":"four-steps-to-layering-done-right","status":"publish","type":"post","link":"https:\/\/www.tmurgent.com\/TmBlog\/?p=496","title":{"rendered":"Four Steps to \u201cLayering Done Right\u201d"},"content":{"rendered":"<p><img decoding=\"async\" align=\"left\" src=\"https:\/\/www.tmurgent.com\/TmBlog\/wp-content\/uploads\/2011\/07\/LayersCopper_ccc_ScottRoberts.png\" alt=\"\" \/>For some time now, I have been talking about what I labelled &#8220;<a target=\"_blank\" href=\"https:\/\/www.brianmadden.com\/blogs\/videos\/archive\/2008\/06\/16\/the-data-problem-and-a-solution-from-briforum-2008.aspx\">The Data Problem<\/a>&#8220;.  While I have been talking about this for over three years, and even as recently as <a target=\"_blank\" href=\"https:\/\/www.brianmadden.com\/blogs\/timmangan\/archive\/2011\/06\/13\/of-the-blob-layer-cakes-and-tretris3d.aspx\">an article on BrianMadden.com last month<\/a>, vendors have been coming to me to explain how their product solves the problem.  This is a huge problem (big enough that I&#8217;m not going to try to explain it again in this blog post: see links in this post for that), and todays layering solutions only cover parts of the data problem.  This problem comes to us thanks to the richness and history of the Microsoft Operating system and countless guidelines given to their legions of developers on how to write applications.  We need more than bandages.<\/p>\n<p>My friend Steve Greenberg over at ThinClient Computing refers to it as <a target=\"_blank\" href=\"https:\/\/www.thinclient.net\/blog\/?p=192\">C.R.A.P.<\/a>, which stands for &#8220;<strong>C<\/strong>omputer <strong>R<\/strong>esidue of <strong>A<\/strong>pplications and <strong>P<\/strong>ersonalization&#8221;.  A great acronym, for sure.<\/p>\n<p>Ever since I started talking about it, companies have been working on solutions.  To be fair, they generally started before I began talking about it, but I was unaware of their efforts.  And while I applaud their efforts, I haven&#8217;t viewed their solutions as being spot on (yet).  In fact, just last month at <a target=\"_blank\" href=\"https:\/\/www.briforum.com\">BriForum<\/a> I talked about this and said that probably only Microsoft can really address the issue.<\/p>\n<p>Yesterday, <a target=\"_blank\" href=\"https:\/\/www.thinclient.net\/blog\/?p=212\">Citrix aquired one of the companies working on layering, RingCube<\/a>.  In itself, this may not be such a significant event beyond that of awakening the market even further to layering.  Appsense, UniDesk, MokaFive, and TriCerat should all be pleased.  All great products, but this doesn&#8217;t change the fact that nobody has the right solution yet. These solutions do the most common reasonable steps, essentially capturing too much to be sure they have enough stuff.<\/p>\n<p>So you say &#8220;sure Tim, complain complain, but what is the right solution&#8221;?<\/p>\n<p>The right solution would be for Microsoft to fix the mess they created.  But baring that, we need a layering solution that can understand the different kinds of crap and deal with it the right way.  This means understanding application behavior to a much greater extent than they do today.  This is why current layering solutions are not the right solution yet.<\/p>\n<p>A great layering solution will understand the difference between things that need to be saved and things that should not.  I don&#8217;t just mean temp files here, although those need to be identified.  There is a ton of stuff written to the windows registry by applicatins that should not be saved too.<\/p>\n<p>A great layering solution will understand when data is generated by a virtual application, where virtualized data might be as important as virtualizing the application binaries.  That data should stay inside the virtual bubble IFF is would have stayed inside the virtual bubble without the layering.  It might even be able to use information that the appvirt layer knows about the app to make even better decisions.<\/p>\n<p>A great layering solution will also transform the data to make it portable.  Think about how App-V makes all of the data references machine and user neutral.  A great layering solution would make the data it captures neutral as well, allowing the user to roam to different machines.<\/p>\n<p>A really great layering solution will also work correctly when a user logs on to more than one device at a time.  We need better than &#8220;last write wins&#8221;, we had that with roaming profiles.<\/p>\n<p>So there you go.  Four steps to &#8220;Layering Done Right&#8221;.  It&#8217;s just a simple matter of programing now.  Should see one show up on my doorstep any day now.  OK.  Maybe not.<\/p>\n<p>Photo Attribute: CCC Scott Roberts<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For some time now, I have been talking about what I labelled &#8220;The Data Problem&#8220;. While I have been talking about this for over three years, and even as recently as an article on BrianMadden.com last month, vendors have been coming to me to explain how their product solves the problem. This is a huge&hellip; <a class=\"more-link\" href=\"https:\/\/www.tmurgent.com\/TmBlog\/?p=496\">Continue reading <span class=\"screen-reader-text\">Four Steps to \u201cLayering Done Right\u201d<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[36],"tags":[23],"class_list":["post-496","post","type-post","status-publish","format-standard","hentry","category-all","tag-layering","entry"],"_links":{"self":[{"href":"https:\/\/www.tmurgent.com\/TmBlog\/index.php?rest_route=\/wp\/v2\/posts\/496","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tmurgent.com\/TmBlog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tmurgent.com\/TmBlog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tmurgent.com\/TmBlog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tmurgent.com\/TmBlog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=496"}],"version-history":[{"count":11,"href":"https:\/\/www.tmurgent.com\/TmBlog\/index.php?rest_route=\/wp\/v2\/posts\/496\/revisions"}],"predecessor-version":[{"id":1560,"href":"https:\/\/www.tmurgent.com\/TmBlog\/index.php?rest_route=\/wp\/v2\/posts\/496\/revisions\/1560"}],"wp:attachment":[{"href":"https:\/\/www.tmurgent.com\/TmBlog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=496"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tmurgent.com\/TmBlog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=496"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tmurgent.com\/TmBlog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=496"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}