TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Windows Is Bloated, Thanks to Adobe’s Extensible Metadata Platform

321 pointsby Integerabout 8 years ago

17 comments

tomcamabout 8 years ago
You would be surprised at how much cruft in Windows over the years has been directly due to Adobe. I had many bug triage sessions where Windows developers at Microsoft had to work around Adobe problems to keep Windows users happy. I always thought it was unfair and was quite impressed by Microsoft at their willingness to handle this so quietly.
评论 #14200575 未加载
评论 #14197882 未加载
评论 #14200554 未加载
评论 #14198335 未加载
评论 #14198146 未加载
评论 #14199773 未加载
评论 #14197816 未加载
mihabout 8 years ago
In one of the comments on the page, a reader ran the analysis [1] on a windows installation and reports the bloat size.<p><i>Total bytes wasted: 5341278</i><p>[1] <a href="https:&#x2F;&#x2F;gist.githubusercontent.com&#x2F;riverar&#x2F;f4a56b91580af1bd3cf4dfacc3733bc3&#x2F;raw&#x2F;8f35e3def3173ded72c5715e5af37e830b2a639f&#x2F;results.txt" rel="nofollow">https:&#x2F;&#x2F;gist.githubusercontent.com&#x2F;riverar&#x2F;f4a56b91580af1bd3...</a>
评论 #14198651 未加载
评论 #14197795 未加载
评论 #14200582 未加载
评论 #14198232 未加载
评论 #14198078 未加载
II2IIabout 8 years ago
By the sounds of it, this bloat is minor. (Keep in mind, the author is pointing out the two most extreme examples.)<p>Bloat arises from a lot of different places, a lot of which cannot realistically be controlled without drastically affecting user expectations, system performance, and how software is developed.<p>Consider graphics. If you are quadrupling the color depth, you are quadrupling the amount of memory required for graphics resources. Even more fun, if you are doubling the resolution you are quadrupling the amount of memory required for graphics resources. Going back to the olden days would only be an option if they are willing to compromise on the quality of the graphics.<p>At the other end of the spectrum are developers. Should they really be choosing things like the type of an integer to reduce the size of code and data? Old software was often limited due to such considerations. In some cases software used bizarre tricks to reduce bloat, such as cramming data into the unused bits of an address. (Apparently that was common on 68000 based personal computers.)<p>Don&#x27;t get me wrong, there is a lot of unnecessarily bloated software. Yet I suspect that the vast majority of that bloat exists for very good reasons.
评论 #14201879 未加载
评论 #14199194 未加载
评论 #14199217 未加载
评论 #14200407 未加载
Esauabout 8 years ago
It&#x27;s not just Windows that is bloated; so is macOS, Android, and iOS. The wastefulness annoys me and I don&#x27;t want to hear its okay because we have tons of disk space and RAM - it is still wasteful.<p>I understand why they kitchen-sink operating systems - its mainly so they can crow about new features when releasing new versions of the OS. But I wish they would offer alternate installs for those of us who are proficient.
评论 #14199424 未加载
评论 #14200335 未加载
评论 #14199527 未加载
评论 #14198694 未加载
0x0about 8 years ago
It&#x27;s not the first time Windows has shipped with shameful metadata. For example, a .wav file shipped with Windows XP appears to be authored with a pirated version of SoundForge: <a href="https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20060721090521&#x2F;http:&#x2F;&#x2F;techrepublic.com.com&#x2F;5208-11183-0.html?forumID=89&amp;threadID=173539&amp;messageID=1765547" rel="nofollow">https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20060721090521&#x2F;http:&#x2F;&#x2F;techrepubl...</a>
评论 #14199834 未加载
评论 #14198430 未加载
asveikauabout 8 years ago
It&#x27;s great investigative work into Windows binaries, and I hope it gets addressed for the sake of people&#x27;s disk space, but I think the tone is too harsh and overstated.<p>Example: He cites effects on startup time - but has he considered the existence of virtual memory? When explorer.exe loads and maps the bloat into address space, it doesn&#x27;t need it in RAM until the first page fault accessing it which likely will not even happen.
评论 #14198717 未加载
评论 #14205127 未加载
msimpsonabout 8 years ago
Given this bloat resides in the metadata of PNG assets exported from Photoshop, couldn&#x27;t this affect any operating system?<p>How many applications on Mac OS utilize PNG assets which were exported from Photoshop without any further optimization?
评论 #14198622 未加载
评论 #14198697 未加载
blibbleabout 8 years ago
I wonder how many hundreds of kilobytes that adds up to in a 20gb windows install
评论 #14198386 未加载
评论 #14198494 未加载
评论 #14197295 未加载
评论 #14198080 未加载
squarefootabout 8 years ago
I can&#x27;t comment on this issue, but if you want to get an idea of how a company can take over an excellent software and ruin it making it beefier and slower, just take a look at the wonderful snappy gem that was Cool Edit Pro and what it became after being morphed into Adobe Audition.
评论 #14202501 未加载
JayXonabout 8 years ago
shameless plug: you can throw a windows pe file (exe, dll, etc.) at leanify and it will remove all the garbage in pngs in that pe file (even those embedded pngs in high res ico file in pe file), and it will also optimize png compression with zopfli. But don&#x27;t use it on windows system files because modifying those pe files will definitely break the digital signature.
评论 #14205184 未加载
sp332about 8 years ago
Is it feasible to remove this junk yourself, or will the system freak out about hacked binaries? Would it also complain if I just applied to the PNG files?
评论 #14197726 未加载
wtbobabout 8 years ago
Egad that XML is horrible! Whoever thought that could possibly be a sane format?<p>And to repeat it over and over — it&#x27;s like a boot stomping on disk space, forever.
评论 #14199910 未加载
21about 8 years ago
I remember an article saying that making a trivial change to Windows requires 5 minutes to change the code and 2 weeks to deal with the aftermath (testing&#x2F;...)<p>I wonder how easy it actually is to remove this XMP metadata, considering that it could potentially break some application which loads a PNG directly from explorer.exe with a broken PNG parser or something.
fiatjafabout 8 years ago
Ok, how can a Windows user defend himself from that?
评论 #14199842 未加载
zevebabout 8 years ago
Wow, that&#x27;s a bloated format. Here it is as XML:<p><pre><code> &lt;?xpacket begin=&quot;?&quot; id=&quot;W5M0MpCehiHzreSzNTczkc9d&quot;?&gt; &lt;x:xmpmeta xmlns:x=&quot;adobe:ns:meta&#x2F;&quot; x:xmptk=&quot;Adobe XMP Core 5.4-c002 1.000000, 0000&#x2F;00&#x2F;00-00:00:00 &quot;&gt; &lt;rdf:RDF xmlns:rdf=&quot;http:&#x2F;&#x2F;www.w3.org&#x2F;1999&#x2F;02&#x2F;22-rdf-syntax-ns#&quot;&gt; &lt;rdf:Description rdf:about=&quot;&quot; xmlns:xmp=&quot;http:&#x2F;&#x2F;ns.adobe.com&#x2F;xap&#x2F;1.0&#x2F;&quot;&gt; &lt;xmp:CreatorTool&gt;Picasa&lt;&#x2F;xmp:CreatorTool&gt; &lt;&#x2F;rdf:Description&gt; &lt;rdf:Description rdf:about=&quot;&quot; xmlns:mwg-rs=&quot;http:&#x2F;&#x2F;www.metadataworkinggroup.com&#x2F;schemas&#x2F;regions&#x2F;&quot; xmlns:stDim=&quot;http:&#x2F;&#x2F;ns.adobe.com&#x2F;xap&#x2F;1.0&#x2F;sType&#x2F;Dimensions#&quot; xmlns:stArea=&quot;http:&#x2F;&#x2F;ns.adobe.com&#x2F;xmp&#x2F;sType&#x2F;Area#&quot;&gt; &lt;mwg-rs:Regions rdf:parseType=&quot;Resource&quot;&gt; &lt;mwg-rs:AppliedToDimensions rdf:parseType=&quot;Resource&quot;&gt; &lt;stDim:w&gt;912&lt;&#x2F;stDim:w&gt; &lt;stDim:h&gt;687&lt;&#x2F;stDim:h&gt; &lt;stDim:unit&gt;pixel&lt;&#x2F;stDim:unit&gt; &lt;&#x2F;mwg-rs:AppliedToDimensions&gt; &lt;mwg-rs:RegionList&gt; &lt;rdf:Bag&gt; &lt;rdf:li rdf:parseType=&quot;Resource&quot;&gt; &lt;mwg-rs:Type&gt;&lt;&#x2F;mwg-rs:Type&gt; &lt;mwg-rs:Area rdf:parseType=&quot;Resource&quot;&gt; &lt;stArea:x&gt;0.680921052631579&lt;&#x2F;stArea:x&gt; &lt;stArea:y&gt;0.3537117903930131&lt;&#x2F;stArea:y&gt; &lt;stArea:h&gt;0.4264919941775837&lt;&#x2F;stArea:h&gt; &lt;stArea:w&gt;0.32127192982456143&lt;&#x2F;stArea:w&gt; &lt;stArea:unit&gt;normalized&lt;&#x2F;stArea:unit&gt; &lt;&#x2F;mwg-rs:Area&gt; &lt;&#x2F;rdf:li&gt; &lt;&#x2F;rdf:Bag&gt; &lt;&#x2F;mwg-rs:RegionList&gt; &lt;&#x2F;mwg-rs:Regions&gt; &lt;&#x2F;rdf:Description&gt; &lt;rdf:Description rdf:about=&quot;&quot; xmlns:exif=&quot;http:&#x2F;&#x2F;ns.adobe.com&#x2F;exif&#x2F;1.0&#x2F;&quot;&gt; &lt;exif:PixelXDimension&gt;912&lt;&#x2F;exif:PixelXDimension&gt; &lt;exif:PixelYDimension&gt;687&lt;&#x2F;exif:PixelYDimension&gt; &lt;exif:ExifVersion&gt;0220&lt;&#x2F;exif:ExifVersion&gt; &lt;&#x2F;rdf:Description&gt; &lt;&#x2F;rdf:RDF&gt; &lt;&#x2F;x:xmpmeta&gt; &lt;!-- whitespace padding --&gt; &lt;?xpacket end=&quot;w&quot;?&gt; </code></pre> And here it is as SXML (<a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;SXML" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;SXML</a>):<p><pre><code> (*TOP* (*PI* |xpacket| &quot;begin=\&quot;?\&quot; id=\&quot;W5M0MpCehiHzreSzNTczkc9d\&quot;&quot;) (|adobe:ns:meta&#x2F;:xmpmeta| (@ (@ (*NAMESPACES* (|adobe:ns:meta&#x2F;| &quot;adobe:ns:meta&#x2F;&quot; . |x|))) (|adobe:ns:meta&#x2F;:xmptk| &quot;Adobe XMP Core 5.4-c002 1.000000, 0000&#x2F;00&#x2F;00-00:00:00 &quot;)) &quot; &quot; (|http:&#x2F;&#x2F;www.w3.org&#x2F;1999&#x2F;02&#x2F;22-rdf-syntax-ns#:RDF| (@ (@ (*NAMESPACES* (|http:&#x2F;&#x2F;www.w3.org&#x2F;1999&#x2F;02&#x2F;22-rdf-syntax-ns#| &quot;http:&#x2F;&#x2F;www.w3.org&#x2F;1999&#x2F;02&#x2F;22-rdf-syntax-ns#&quot; . |rdf|)))) &quot; &quot; (|http:&#x2F;&#x2F;www.w3.org&#x2F;1999&#x2F;02&#x2F;22-rdf-syntax-ns#:Description| (@ (@ (*NAMESPACES* (|http:&#x2F;&#x2F;ns.adobe.com&#x2F;xap&#x2F;1.0&#x2F;| &quot;http:&#x2F;&#x2F;ns.adobe.com&#x2F;xap&#x2F;1.0&#x2F;&quot; . |xmp|))) (|http:&#x2F;&#x2F;www.w3.org&#x2F;1999&#x2F;02&#x2F;22-rdf-syntax-ns#:about| &quot;&quot;)) &quot; &quot; (|http:&#x2F;&#x2F;ns.adobe.com&#x2F;xap&#x2F;1.0&#x2F;:CreatorTool| &quot;Picasa&quot;) &quot; &quot;) &quot; &quot; (|http:&#x2F;&#x2F;www.w3.org&#x2F;1999&#x2F;02&#x2F;22-rdf-syntax-ns#:Description| (@ (@ (*NAMESPACES* (|http:&#x2F;&#x2F;ns.adobe.com&#x2F;xmp&#x2F;sType&#x2F;Area#| &quot;http:&#x2F;&#x2F;ns.adobe.com&#x2F;xmp&#x2F;sType&#x2F;Area#&quot; . |stArea|) (|http:&#x2F;&#x2F;ns.adobe.com&#x2F;xap&#x2F;1.0&#x2F;sType&#x2F;Dimensions#| &quot;http:&#x2F;&#x2F;ns.adobe.com&#x2F;xap&#x2F;1.0&#x2F;sType&#x2F;Dimensions#&quot; . |stDim|) (|http:&#x2F;&#x2F;www.metadataworkinggroup.com&#x2F;schemas&#x2F;regions&#x2F;| &quot;http:&#x2F;&#x2F;www.metadataworkinggroup.com&#x2F;schemas&#x2F;regions&#x2F;&quot; . |mwg-rs|))) (|http:&#x2F;&#x2F;www.w3.org&#x2F;1999&#x2F;02&#x2F;22-rdf-syntax-ns#:about| &quot;&quot;)) &quot; &quot; (|http:&#x2F;&#x2F;www.metadataworkinggroup.com&#x2F;schemas&#x2F;regions&#x2F;:Regions| (@ (|http:&#x2F;&#x2F;www.w3.org&#x2F;1999&#x2F;02&#x2F;22-rdf-syntax-ns#:parseType| &quot;Resource&quot;)) &quot; &quot; (|http:&#x2F;&#x2F;www.metadataworkinggroup.com&#x2F;schemas&#x2F;regions&#x2F;:AppliedToDimensions| (@ (|http:&#x2F;&#x2F;www.w3.org&#x2F;1999&#x2F;02&#x2F;22-rdf-syntax-ns#:parseType| &quot;Resource&quot;)) &quot; &quot; (|http:&#x2F;&#x2F;ns.adobe.com&#x2F;xap&#x2F;1.0&#x2F;sType&#x2F;Dimensions#:w| &quot;912&quot;) &quot; &quot; (|http:&#x2F;&#x2F;ns.adobe.com&#x2F;xap&#x2F;1.0&#x2F;sType&#x2F;Dimensions#:h| &quot;687&quot;) &quot; &quot; (|http:&#x2F;&#x2F;ns.adobe.com&#x2F;xap&#x2F;1.0&#x2F;sType&#x2F;Dimensions#:unit| &quot;pixel&quot;) &quot; &quot;) &quot; &quot; (|http:&#x2F;&#x2F;www.metadataworkinggroup.com&#x2F;schemas&#x2F;regions&#x2F;:RegionList| &quot; &quot; (|http:&#x2F;&#x2F;www.w3.org&#x2F;1999&#x2F;02&#x2F;22-rdf-syntax-ns#:Bag| &quot; &quot; (|http:&#x2F;&#x2F;www.w3.org&#x2F;1999&#x2F;02&#x2F;22-rdf-syntax-ns#:li| (@ (|http:&#x2F;&#x2F;www.w3.org&#x2F;1999&#x2F;02&#x2F;22-rdf-syntax-ns#:parseType| &quot;Resource&quot;)) &quot; &quot; (|http:&#x2F;&#x2F;www.metadataworkinggroup.com&#x2F;schemas&#x2F;regions&#x2F;:Type|) &quot; &quot; (|http:&#x2F;&#x2F;www.metadataworkinggroup.com&#x2F;schemas&#x2F;regions&#x2F;:Area| (@ (|http:&#x2F;&#x2F;www.w3.org&#x2F;1999&#x2F;02&#x2F;22-rdf-syntax-ns#:parseType| &quot;Resource&quot;)) &quot; &quot; (|http:&#x2F;&#x2F;ns.adobe.com&#x2F;xmp&#x2F;sType&#x2F;Area#:x| &quot;0.680921052631579&quot;) &quot; &quot; (|http:&#x2F;&#x2F;ns.adobe.com&#x2F;xmp&#x2F;sType&#x2F;Area#:y| &quot;0.3537117903930131&quot;) &quot; &quot; (|http:&#x2F;&#x2F;ns.adobe.com&#x2F;xmp&#x2F;sType&#x2F;Area#:h| &quot;0.4264919941775837&quot;) &quot; &quot; (|http:&#x2F;&#x2F;ns.adobe.com&#x2F;xmp&#x2F;sType&#x2F;Area#:w| &quot;0.32127192982456143&quot;) &quot; &quot; (|http:&#x2F;&#x2F;ns.adobe.com&#x2F;xmp&#x2F;sType&#x2F;Area#:unit| &quot;normalized&quot;) &quot; &quot;) &quot; &quot;) &quot; &quot;) &quot; &quot;) &quot; &quot;) &quot; &quot;) &quot; &quot; (|http:&#x2F;&#x2F;www.w3.org&#x2F;1999&#x2F;02&#x2F;22-rdf-syntax-ns#:Description| (@ (@ (*NAMESPACES* (|http:&#x2F;&#x2F;ns.adobe.com&#x2F;exif&#x2F;1.0&#x2F;| &quot;http:&#x2F;&#x2F;ns.adobe.com&#x2F;exif&#x2F;1.0&#x2F;&quot; . |exif|))) (|http:&#x2F;&#x2F;www.w3.org&#x2F;1999&#x2F;02&#x2F;22-rdf-syntax-ns#:about| &quot;&quot;)) &quot; &quot; (|http:&#x2F;&#x2F;ns.adobe.com&#x2F;exif&#x2F;1.0&#x2F;:PixelXDimension| &quot;912&quot;) &quot; &quot; (|http:&#x2F;&#x2F;ns.adobe.com&#x2F;exif&#x2F;1.0&#x2F;:PixelYDimension| &quot;687&quot;) &quot; &quot; (|http:&#x2F;&#x2F;ns.adobe.com&#x2F;exif&#x2F;1.0&#x2F;:ExifVersion| &quot;0220&quot;) &quot; &quot;) &quot; &quot;) &quot; &quot;) (*COMMENT* &quot; whitespace padding &quot;) (*PI* |xpacket| &quot;end=\&quot;w\&quot;&quot;)) </code></pre> The only terrible thing about the SXML is the preserved-whitespace from the XML (which of course wouldn&#x27;t exist in pure SXML); otherwise it&#x27;s much nicer and contains exactly as much information.
评论 #14199518 未加载
评论 #14199804 未加载
评论 #14199676 未加载
thinknotabout 8 years ago
Next time, run `optipng -o9 -strip all` on all your png files!
pavementabout 8 years ago
Which is funny, because all of the things I hate about Microsoft and Windows have absolutely nothing to do with whether or not they provide bloated binaries, containing PNG images that are bundled with extra XML tags and descriptors.<p>Gee whiz! What a world!