<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>David Weiss</title><link>http://unweary.com/</link><description>sustainable software development</description><language>en</language><lastBuildDate>Thu, 09 Apr 2009 11:34:21 PDT</lastBuildDate><generator>Movable Type Pro 4.2-en http://www.sixapart.com/movabletype/</generator><media:category scheme="http://www.itunes.com/dtds/podcast-1.0.dtd">Technology/Tech News</media:category><itunes:owner><itunes:email>davidmikaelweiss@gmail.com</itunes:email><itunes:name>David Weiss</itunes:name></itunes:owner><itunes:author>David Weiss</itunes:author><itunes:explicit>no</itunes:explicit><itunes:subtitle>sustainable software development</itunes:subtitle><itunes:category text="Technology"><itunes:category text="Tech News" /></itunes:category><geo:lat>47.677471</geo:lat><geo:long>-122.121383</geo:long><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/davidweiss" type="application/rss+xml" /><feedburner:emailServiceId>davidweiss</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>Fingerprint Biometrics</title><link>http://feedproxy.google.com/~r/davidweiss/~3/Y96RnpCrdw4/fingerprint-biometrics.html</link><category>Article</category><category>biometrics</category><category>privacy</category><category>security</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">davidmikaelweiss@gmail.com (David Weiss)</dc:creator><pubDate>Thu, 09 Apr 2009 11:34:21 PDT</pubDate><guid isPermaLink="false">tag:unweary.com,2009://5.919</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
        <p>The other day I noticed one of my friends login to his laptop. I do this all the time, so that he logged in wasn't unusual, but how he did it, that caught my attention. He slid his finger on a small sensing area and after some delay he was logged in! No username and no password! This piqued my curiosity, put me on a research track. Here is what I discovered.</p><p><span class="Apple-style-span" style="font-weight: bold;">What are Biometrics?</span></p><p>When you login to your computer, security experts would say you authenticate. That is, you prove to the computer that you are indeed who you say you are. There are three ways you can normally prove who you are [2]:</p><p></p><ol><li>What you know</li><li>What you have</li><li>Who you are</li></ol><p></p><p>When you login with a password, you are using the first form, what you know. If the password is kept secret and sufficiently hard to guess, when you enter your password the computer assumes it must really be you, because no one else would know the secret password. By this logic you are authenticated. There are other ways you can prove that you are who you say you are. When you purchase something with your credit card, or unlock your car door, you are normally authenticating with something you have. When someone checks your passport picture against what you look like, this is using two forms of proof: What you are, your face and what you have, namely the passport.</p><p>So what are Biometrics? From the word you might be able to deduce some of the meaning. The "bio" part means of or pertaining to biology. The "metrics" part relates to measurement. Put together biometrics it is the measurement of biological data. For authentication purposes a biometric is a physical characteristic that can be measured and then used to identify a specific individual.</p><p>When you use a "what you are" proof, it helps that you choose an attribute that is unique. If I used my height to prove that I am who I say I am, most of you would laugh. Why? Because there are lots of other people 6 feet 4 inches tall. For a strong identification, uniqueness matters.</p><p><span class="Apple-style-span" style="font-weight: bold;">How do fingerprint biometrics work?</span></p><p>Each fingerprint contains ridges in the skin which are detectable. These ridges make patterns which you can see with the naked eye. The ridge patterns can make loops, arches or whorls. In each fingerprint there are areas where one ridge changes, these points of change are called minutia. When a ridge ends, splits into two ridge, joins another ridge or creates a island; all of these features in a fingerprint are minutia. [10]</p><p>A fingerprint scanner detects the larger ridge patterns and records the following information about the minutia:</p><p></p><ol><li>Orientation - the direction the minutia is facing</li><li>Spacial Frequency - how far apart specific features are located</li><li>Curvature - the rate of orientation change</li><li>Position - the (x, y) location relative to some fixed point</li></ol><p></p><p>All of these can yield up to ideally 60 or 70 minutia for a single fingerprint. [10]</p><p>When a person first configures a scanner to use their fingerprint, this is called enrollment. This is a key time where strict process must be followed so as to avoid someone enrolling another's fingerprints as his or her own. In this process several fingerprints are recorded by the system and then an averaged template of the fingerprint is stored in the system. [10]</p><p>After enrollment, when a new fingerprint is supplied to the system, a statistical match is sought. If no match is discovered, the person is denied access. If a match is found, the person is granted access. Since biometric measurement can change slightly with each scan, determining a match is a probabilistic process. There is always a possibility that a valid fingerprint is rejected or an invalid fingerprint is determined to be good. [10]</p><p><span class="Apple-style-span" style="font-weight: bold;">What are the advantages and disadvantages?</span></p><p>To compare the relative merits of fingerprint as a biometric, we can considering the following properties of a good biometric [11, 6, 3]:</p><p></p><ol><li>Universality - each person has the characteristic</li><li>Uniqueness - the characteristic is unique per person</li><li>Permanence - characteristic remains the same over time</li><li>Collectability - how easy is it to measure the characteristic</li><li>Performance - accuracy, speed, and resource requirements</li><li>Acceptability - culturally accepted by the population</li><li>Circumvention - robust against fraudulent attacks</li></ol><p></p><p><span class="Apple-style-span" style="font-style: italic;">Universality</span></p><p>Fingerprints are largely universal. About 2% of the population can not use fingerprints due to skin damage or genetic factors.</p><p><span class="Apple-style-span" style="font-style: italic;">Uniqueness</span></p><p>An important aspect of any biometric is that the characteristic be unique among all participants. Empirical evidence of fingerprints gathered since at least 1892, have found no two pairs of fingerprints that are identical, even between twins. [10] While this is reassuring, more recent research [13] indicates that the minutiae-based uniqueness as measured by fingerprint scanners may not be sufficient to determine individuality in every case.</p><p><span class="Apple-style-span" style="font-style: italic;">Permanence</span></p><p>Fingerprints can be damaged and change due to manual labor or injuries.</p><p><span class="Apple-style-span" style="font-style: italic;">Collectability</span></p><p>A key aspect of any biometric is the reliability of the measure coupled to the convenience of making the measurement. [10] Fingerprints are easy to collect and the systems today very inexpensive, around $20 per scanner if purchased in bulk.</p><p><span class="Apple-style-span" style="font-style: italic;">Performance</span></p><p>Fingerprint recognition systems for large-scale deployments require a large amount of computational resources. For smaller populations the computational resources are smaller making this trade off allows for the current use in personal computers. Still compared with face recognition, for example, fingerprint scanners are more accurate, faster and require less computation and storage. Face recognition may seem very intuitive for humans, but the current mature computer systems are still far away from reliable face recognition in practice. [9]</p><p><span class="Apple-style-span" style="font-style: italic;">Acceptability</span></p><p>Fingerprints are perhaps the most accepted biometric short of facial recognition. Still, the acceptance of biometric authentication technology depends on context, perceived benefit for the user and perceived privacy risks. [1]</p><p><span class="Apple-style-span" style="font-style: italic;">Circumvention</span></p><p>Fingerprints are not impervious to attack, but using multiple finger scans can make the system harder to attack. ( see Myth Busters http://www.youtube.com/watch?v=MAfAVGES-Yc ) One method for improving the accuracy of biometric authentication systems is to enforce "two-factor authentication", that is one must authenticate by some biometric form as well as use a password or posses a token. [10] This additional factor can significantly harden the system.</p><p><span class="Apple-style-span" style="font-weight: bold;">Problematic Properties</span></p><p>Among the currently available biometrics, fingerprints have a large collection of positive characteristics. Some of the advantages of a biometric are that you don't have to remember passwords, don't have to worry about forgetting a password or smart card and it cannot be easily changed. [4] Because of these advantages systems have been developed for so called "One Touch Logon" [12] but in these systems one still makes significant trade offs between a password-based system and a fingerprint biometric based system. There are large trade offs between security and privacy [11] when using fingerprint biometrics.</p><p>Fingerprints have other problematic properties. They can be changed or damaged and some simply don't have fingerprints. Often because of these limitations fingerprint authentication systems have an alternate password based "back door" which can become the weakest link in the authentication system.</p><p>I think the biggest problem is that fingerprints are not very private, we leave fingerprints everywhere! Storing large amounts of fingerprint data in a safe way becomes a real challenge. If that data were exposed, criminals might devise a way to create fingerprints from the template data that fool fingerprint scanners. Biometrics in general are or can be unique identifiers, but they are not secrets. [7] Once a fingerprint is stolen, it's stolen for life! You can never get back to a secure situation! With a password or token system you can re-issue the token and invalidate the old token, or change the password. Not so with fingerprints! They are useful, but they are not keys. Keys need to be secret, random and easily updatable. Fingerprints are none of these things.</p><p>If fingerprint were to become the common authentication across different applications used for everything from logging onto your PC to accessing your bank account to opening your garage door, then value of stealing this information goes up significantly. At least with passwords you can spread the risk across different passwords for different services creating multiple barriers that must be overcome for full disclosure. With our fingerprints we have only ten of them.</p><p><span class="Apple-style-span" style="font-weight: bold;">References</span></p><p>[1] Heckle, R. R., Patrick, A. S., and Ozok, A. 2007. Perception and acceptance of fingerprint biometric technology. In Proceedings of the 3rd Symposium on Usable Privacy and Security (Pittsburgh, Pennsylvania, July 18 - 20, 2007). SOUPS '07, vol. 229. ACM, New York, NY, 153-154. DOI=<a href="http://doi.acm.org/10.1145/1280680.1280704">http://doi.acm.org/10.1145/1280680.1280704</a>&nbsp;</p><p>[2] Guinier, D. 1990. Identification by biometrics. SIGSAC Rev. 8, 2 (May. 1990), 1-11. DOI=<a href="http://doi.acm.org/10.1145/101126.101127">http://doi.acm.org/10.1145/101126.101127</a>&nbsp;</p><p>[3] Jain, A. K. and Ross, A. 2004. Multibiometric systems. Commun. ACM 47, 1 (Jan. 2004), 34-40. DOI=<a href="http://doi.acm.org/10.1145/962081.962102">http://doi.acm.org/10.1145/962081.962102</a>&nbsp;</p><p>[4] Boatwright, M. and Luo, X. 2007. What do we know about biometrics authentication?. In Proceedings of the 4th Annual Conference on information Security Curriculum Development (Kennesaw, Georgia, September 28 - 28, 2007). InfoSecCD '07. ACM, New York, NY, 1-5. DOI=<a href="http://doi.acm.org/10.1145/1409908.1409942">http://doi.acm.org/10.1145/1409908.1409942</a>&nbsp;</p><p>[5] Markowitz, J. A. 2000. Voice biometrics. Commun. ACM 43, 9 (Sep. 2000), 66-73. DOI=<a href="http://doi.acm.org/10.1145/348941.348995">http://doi.acm.org/10.1145/348941.348995</a>&nbsp;</p><p>[6] Jain, A., Hong, L., and Pankanti, S. 2000. Biometric identification. Commun. ACM 43, 2 (Feb. 2000), 90-98. DOI=<a href="http://doi.acm.org/10.1145/328236.328110">http://doi.acm.org/10.1145/328236.328110</a>&nbsp;</p><p>[7] Schneier, B. 1999. Inside risks: the uses and abuses of biometrics. Commun. ACM 42, 8 (Aug. 1999), 136. DOI=<a href="http://doi.acm.org/10.1145/310930.310988">http://doi.acm.org/10.1145/310930.310988</a>&nbsp;</p><p>[8] Bergadano, F., Gunetti, D., and Picardi, C. 2002. User authentication through keystroke dynamics. ACM Trans. Inf. Syst. Secur. 5, 4 (Nov. 2002), 367-397. DOI=<a href="http://doi.acm.org/10.1145/581271.581272">http://doi.acm.org/10.1145/581271.581272</a></p><p>[9] Zhao, W., Chellappa, R., Phillips, P. J., and Rosenfeld, A. 2003. Face recognition: A literature survey. ACM Comput. Surv. 35, 4 (Dec. 2003), 399-458. DOI=<a href="http://doi.acm.org/10.1145/954339.954342">http://doi.acm.org/10.1145/954339.954342</a>&nbsp;</p><p>[10] Alfred C. Weaver, "Biometric Authentication," Computer, vol. 39, no. 2, pp. 96-97, Feb. 2006, doi:10.1109/MC.2006.47 <a href="http://doi.ieeecomputersociety.org/10.1109/MC.2006.47">http://doi.ieeecomputersociety.org/10.1109/MC.2006.47</a>&nbsp;</p><p>[11] Salil Prabhakar, Sharath Pankanti, Anil K. Jain, "Biometric Recognition: Security and Privacy Concerns," IEEE Security and Privacy, vol. 1, no. 2, pp. 33-42, Mar. 2003, doi:10.1109/MSECP.2003.1193209 <a href="http://doi.ieeecomputersociety.org/10.1109/MSECP.2003.1193209">http://doi.ieeecomputersociety.org/10.1109/MSECP.2003.1193209</a>&nbsp;</p><p>[12] Beomsoo Park, Sungjin Hong, Jaewook Oh, Heejo Lee, Yoojae Won, "One Touch Logon: Replacing Multiple Passwords with Single Fingerprint Recognition," cit,pp.163, Sixth IEEE International Conference on Computer and Information Technology (CIT'06), 2006 <a href="http://doi.ieeecomputersociety.org/10.1109/CIT.2006.128">http://doi.ieeecomputersociety.org/10.1109/CIT.2006.128</a>&nbsp;</p><p>[13] Pankanti Sharath, Prabhakar Salil, Jain Anil K., "On the Individuality of Fingerprints (2002)," IEEE Transactions on Pattern Analysis and Machine Intelligence, <a href="http://biometrics.cse.msu.edu/cvpr2001_indiv.ps" style="text-decoration: none;">http://biometrics.cse.msu.edu/cvpr2001_indiv.ps</a></p>
        
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/davidweiss?a=Y96RnpCrdw4:BKtGWqLTjGY:63t7Ie-LG7Y"><img src="http://feeds.feedburner.com/~ff/davidweiss?d=63t7Ie-LG7Y" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/davidweiss?a=Y96RnpCrdw4:BKtGWqLTjGY:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/davidweiss?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/davidweiss?a=Y96RnpCrdw4:BKtGWqLTjGY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/davidweiss?i=Y96RnpCrdw4:BKtGWqLTjGY:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/davidweiss/~4/Y96RnpCrdw4" height="1" width="1"/>]]></content:encoded><description>The other day I noticed one of my friends login to his laptop. I do this all the time, so that he logged in wasn't unusual, but how he did it, that caught my attention. He slid his finger on...</description><feedburner:origLink>http://unweary.com/2009/04/fingerprint-biometrics.html</feedburner:origLink></item><item><title>The Security Implications of URL Shortening Services</title><link>http://feedproxy.google.com/~r/davidweiss/~3/r3GuBxTikUs/the-security-implications-of-url-shortening-services.html</link><category>Article</category><category>security</category><category>urlshortening</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">davidmikaelweiss@gmail.com (David Weiss)</dc:creator><pubDate>Fri, 03 Apr 2009 15:50:16 PDT</pubDate><guid isPermaLink="false">tag:unweary.com,2009://5.918</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
        <!--StartFragment-->

<h1><span class="Apple-style-span" style="font-size: 13px; ">Since the beginning of the Internet people have shared URLs
with each other. Often the vehicle for sharing URLs was an email or a personal
web page with favorite links. Today there are bookmarking websites where users
share URLs, comment on them and rate them. [1] As the popularity of Twitter
increases, more and more people are using Twitter to share URLs with each
other. [2] The 140 character limit on communication with Twitter combined with
the reality that many URLs are easily longer than 140 characters has given rise
to more and more URL shortening services. While these services do a simple
mapping, exchanging one short URL for a longer one, there are risks involved
with trusting a third party to redirect you to a web page.</span></h1><h1><span class="Apple-style-span" style="font-size: 13px; ">The basic idea for a URL shortening service is to exchange
one URL that is short to another that is long. Typically the long URL is the
desired destination. A person might send the short URL to a friend. When the
short URL is clicked, the website looks up the longer URL and redirects the
user to the longer URL. For example, suppose I just got an Amazon Kindle 2 and
I wanted to share with my friends more information about it. Amazon typically
has very long URLs. The URL for the Amazon Kindle 2 is as follows:</span></h1>

<p class="MsoNormal"><a href="http://www.amazon.com/Kindle-Amazons-Wireless-Reading-Generation/dp/B00154JDAI/ref=amb_link_83624371_1?pf_rd_m=ATVPDKIKX0DER&amp;pf_rd_s=center-1&amp;pf_rd_r=0YPC2AH8155PQV3FWRPN&amp;pf_rd_t=101&amp;pf_rd_p=469942651&amp;pf_rd_i=507846">http://www.amazon.com/Kindle-Amazons-Wireless-Reading-Generation/dp/B00154JDAI/ref=amb_link_83624371_1?pf_rd_m=ATVPDKIKX0DER&amp;pf_rd_s=center-1&amp;pf_rd_r=0YPC2AH8155PQV3FWRPN&amp;pf_rd_t=101&amp;pf_rd_p=469942651&amp;pf_rd_i=507846</a>
</p>

<p class="MsoNormal">That's 215 characters! I'll use this URL as the original URL
with the following services to give you an ideas how they work:</p>

<p class="MsoNormal"><b style="mso-bidi-font-weight:normal">bit.ly</b> - <a href="http://bit.ly/">http://bit.ly/</a> </p>

<p class="MsoNormal"><a href="http://bit.ly/Z6eYE">http://bit.ly/Z6eYE</a><span style="mso-spacerun: yes">&nbsp; </span>19 characters</p>

<p class="MsoNormal"><b style="mso-bidi-font-weight:normal">budURL</b> - <a href="http://budurl.com/">http://budurl.com/</a> </p>

<p class="MsoNormal"><a href="http://budurl.com/bsfs">http://budurl.com/bsfs</a><span style="mso-spacerun: yes">&nbsp; </span>22 characters</p>

<p class="MsoNormal"><b style="mso-bidi-font-weight:normal">eweri</b> - <a href="http://eweri.com/">http://eweri.com/</a> </p>

<p class="MsoNormal"><a href="http://eweri.com/8rC">http://eweri.com/8rC</a><span style="mso-spacerun: yes">&nbsp; </span>20 characters</p>

<p class="MsoNormal"><b style="mso-bidi-font-weight:normal">hex.io</b> - <a href="http://hex.io/">http://hex.io/</a> </p>

<p class="MsoNormal"><a href="http://hex.io/ajz">http://hex.io/ajz</a><span style="mso-spacerun: yes">&nbsp; </span>17 characters</p>

<p class="MsoNormal"><b style="mso-bidi-font-weight:normal">idek.net</b> - <a href="http://idek.net/">http://idek.net/</a> </p>

<p class="MsoNormal"><a href="http://idek.net/3kH">http://idek.net/3kH</a><span style="mso-spacerun: yes">&nbsp; </span>19 characters</p>

<p class="MsoNormal"><b style="mso-bidi-font-weight:normal">is.gd</b> - <a href="http://is.gd/">http://is.gd/</a> </p>

<p class="MsoNormal"><a href="http://is.gd/lg7L">http://is.gd/lg7L</a><span style="mso-spacerun: yes">&nbsp; </span>17 characters</p>

<p class="MsoNormal"><b style="mso-bidi-font-weight:normal">lin.cr</b> - <a href="http://lin.cr/">http://lin.cr/</a> </p>

<p class="MsoNormal"><a href="http://lin.cr/fvc">http://lin.cr/fvc</a><span style="mso-spacerun: yes">&nbsp; </span>17 characters</p>

<p class="MsoNormal"><b style="mso-bidi-font-weight:normal">POPrl</b> - <a href="http://poprl.com/">http://poprl.com/</a> </p>

<p class="MsoNormal"><a href="http://poprl.com/Lm3">http://poprl.com/Lm3</a><span style="mso-spacerun: yes">&nbsp; </span>20 characters</p>

<p class="MsoNormal"><b style="mso-bidi-font-weight:normal">snipurl</b> - <a href="http://snipurl.com/">http://snipurl.com/</a> </p>

<p class="MsoNormal"><a href="http://snipurl.com/cucc2">http://snipurl.com/cucc2</a><span style="mso-spacerun: yes">&nbsp; </span>24 characters</p>

<p class="MsoNormal"><b style="mso-bidi-font-weight:normal">tinyurl</b> - <a href="http://tinyurl.com/">http://tinyurl.com/</a> </p>

<p class="MsoNormal"><a href="http://tinyurl.com/bngrky">http://tinyurl.com/bngrky</a><span style="mso-spacerun: yes">&nbsp; </span>25 characters</p>

<p class="MsoNormal"><b style="mso-bidi-font-weight:normal">twurl</b> - <a href="http://tweetburner.com/">http://tweetburner.com/</a> </p>

<p class="MsoNormal"><a href="http://twurl.nl/no316s">http://twurl.nl/no316s</a><span style="mso-spacerun: yes">&nbsp; </span>22 characters</p>

<p class="MsoNormal"><b style="mso-bidi-font-weight:normal">urlBorg</b> - <a href="http://urlborg.com/a/">http://urlborg.com/a/</a> </p>

<p class="MsoNormal"><a href="http://ub0.cc/60/3G">http://ub0.cc/60/3G</a><span style="mso-spacerun: yes">&nbsp; </span>19 characters</p>

<p class="MsoNormal"><b style="mso-bidi-font-weight:normal">zi.ma</b> - <a href="http://zi.ma/">http://zi.ma/</a> </p>

<p class="MsoNormal"><a href="http://zi.ma/65226b">http://zi.ma/65226b</a><span style="mso-spacerun: yes">&nbsp; </span>19 characters</p>

<p class="MsoNormal">As you can see the original URL was 215 characters long,
while the longest of the shortened URLs was only 25 characters long. I could
post this shortened URL on Twitter and still have an expansive 115 characters
left to comment on this URL. Perfect. </p>

<p class="MsoNormal">There are over 90 URL shortening services available online.
A more complete list of URL shortening services is located at <a href="http://mashable.com/2008/01/08/url-shortening-services/">http://mashable.com/2008/01/08/url-shortening-services/</a>.</p>

<h2><span class="Apple-style-span" style="font-weight: bold;">Trusted or Untrusted</span></h2>

<p class="MsoNormal">The most obvious risk associated with URL shortening is that
it's difficult to know where the URL will take you, until you click it. The
true destination of the URL is opaque. Often when I receive a dubious link via
email, I hover my mouse over the URL, or view the HTML source to discover the
real URL destination address and evaluate if I trust it enough to click. With a
shortened URL, it's hard to know where it will take me, until I click it. Email
Phishing scams are using URL shortening service for this very reason. [7]</p>

<p class="MsoNormal">Another problem with URL shortening is how it interacts with
filters. A spam filter could use the URL in the past as one more hint that the
email could be nefarious, but with a URL shortening service as the broker of
URLs, the filter can't make any judgment about the URL. Many URL shortening
services take spam complaints and will disable URLs if they are discovered to
point to spam websites. [3] Some also proactively search their URLs for blacklisted
websites and remove or disable these shortened URLs. [4]</p>

<p class="MsoNormal">Not just spam filters can be bypassed. Both Firefox and
Google Chrome web browsers use Google Safe Browsing [5] a feature with warns
users of malware or phishing sites. In the past using a shortened URL, instead of getting a
warning message, users are sent directly to the dangerous web page. [6]</p>

<p class="MsoNormal">Less serious, but still problematic is using URL shortening
services to hide the motive for an online review or recommendation. A seemingly
objective review is tainted when readers discover that the author gets a
monetary kick back for sending people to the reviewed product's site. Since
shortened URLs hide the real URL they can be used to hide affiliate URLs and
surreptitiously link to online stores. Most affiliate URLs are easy to spot,
but when wrapped in a shortened URL, detection is more difficult. [8]</p>

<p class="MsoNormal">Another more remote, but still plausible problem with URL
shortening is that should a URL shortening service become compromised, hacking
one site would allow for redirecting popular shortened URLs to phishing or
malware sites.</p>

<h2><span class="Apple-style-span" style="font-weight: bold;">Getting More Transparent</span></h2>

<p class="MsoNormal">Many URL shortening services have added some level of
"see before you click" functionality. For example, any tinyurl can be
prepended with the text "preview" in the URL and it will not
redirect, but show the destination URL for inspection at tinyurl.com. Take the
tinyurl above</p>

<p class="MsoNormal"><a href="http://tinyurl.com/bngrky">http://tinyurl.com/bngrky</a>
</p>

<p class="MsoNormal">and modify it as follows:</p>

<p class="MsoNormal"><a href="http://preview.tinyurl.com/bngrky">http://preview.tinyurl.com/bngrky</a>
</p>

<p class="MsoNormal">While this adds characters to the URL, it allows the user to
evaluate the URL before redirecting to the site. BudURL has an even more
compact preview function. Just adding a '?' to the end of the URL will turn it
into a preview URL.</p>

<p class="MsoNormal"><a href="http://budurl.com/bsfs">http://budurl.com/bsfs</a> <span style="mso-spacerun: yes">&nbsp;</span>will auto redirect to the original URL</p>

<p class="MsoNormal"><a href="http://budurl.com/bsfs?">http://budurl.com/bsfs?</a>
<span style="mso-spacerun: yes">&nbsp;</span>will preview the link first</p>

<p class="MsoNormal">Some of the services provide a little popup window that
displays a picture of the webpage when you hover over the URL link.</p>

<h2><span class="Apple-style-span" style="font-weight: bold;">Conclusion</span></h2>

<p class="MsoNormal">A hacker or spammer is empowered by using a
"benign" URL shortening service that everyone uses and everyone
trusts. Once the click is made, a homographic attack may follow and will make
it very difficult for a normal user to detect that they are being redirected to
a phishing site. The real danger is that people have become habituated to
trusting unknown links from their friends. This is dangerous because if their
friend's account is compromised, it might not be their friend sending a link
and the shortened URL will be clicked without concern.</p>

<p class="MsoNormal">An example of this propensity to click occurred 12 Feb 2009.
One of my friends tweeted, "Don't Click: (link)". I was curious, but
I didn't click the link. Next another posted the same thing, than another! It
seemed fishy to me, and I later found out that the link presented a web page
with another button that said, "Don't Click!" Naturally curious
people, and trusting in their friend's recommendation, clicked the button and
all of the sudden they noticed that they had in fact tweeted the same link
though they never consented to doing so! It was the first socially engineered
twitter virus. [9] While this virus was started as a joke, it spread extremely
fast. [10] Luckily this social virus was harmless, but it reinforces how
effective a socially engineered virus can be.</p>

<p class="MsoNormal">There are always trade off decisions to be made. In this
case, the trade off is between the convenience of a short URL and the need
for disclosure of a URL's destination.</p>

<h2><span class="Apple-style-span" style="font-weight: bold;">References</span></h2>

<p class="MsoNormal">[1] Tony Hammond, Timo Hannay, Ben Lund and Joanna Scott. -
Social Bookmarking Tools (I): A General Review In: D-Lib Magazine 11, Nr. 4,
2005 <a href="http://www.dlib.org/dlib/april05/hammond/04hammond.html">http://www.dlib.org/dlib/april05/hammond/04hammond.html</a>
</p>

<p class="MsoNormal">[2] State of the Twittersphere - Q4 2008 Report - <a href="http://blog.hubspot.com/blog/tabid/6307/bid/4439/State-of-the-Twittersphere-Q4-2008-Report.aspx">http://blog.hubspot.com/blog/tabid/6307/bid/4439/State-of-the-Twittersphere-Q4-2008-Report.aspx</a>
</p>

<p class="MsoNormal">[3] is.gd - Technical Information - <a href="http://is.gd/tech.php">http://is.gd/tech.php</a> </p>

<p class="MsoNormal">[4] SURBL <a href="http://www.surbl.org/">http://www.surbl.org/</a>
</p>

<p class="MsoNormal">[5] Google Safe Browsing for Firefox BETA <a href="http://www.google.com/tools/firefox/safebrowsing/">http://www.google.com/tools/firefox/safebrowsing/&nbsp;</a>&nbsp;</p>

<p class="MsoNormal">[6] Finjan's Malicious Code Research Center, Evasive URL
techniques, 25 Jan 2009. <a href="http://www.finjan.com/MCRCblog.aspx?EntryId=2153">http://www.finjan.com/MCRCblog.aspx?EntryId=2153</a>
</p>

<p class="MsoNormal">[7] McGrath, D. Kevin, Gupta, Minaxi. Behind Phishing: An
Examination of Phisher Modi Operandi. <a href="https://www.usenix.org/events/leet08/tech/full_papers/mcgrath/mcgrath_html/mcgrath_gupta.html">https://www.usenix.org/events/leet08/tech/full_papers/mcgrath/mcgrath_html/mcgrath_gupta.html</a>
</p>

<p class="MsoNormal">[8] Parker, Ryan J. Shortening (Affiliate) Links For
Prettier Linking. 20 Feb 2007. <a href="http://www.ryanjparker.net/shortening-affiliate-links-for-prettier-linking/">http://www.ryanjparker.net/shortening-affiliate-links-for-prettier-linking/</a>
</p>

<p class="MsoNormal">[9] Korben. Petit cours de Twitt Jacking :-). 30 Jan 2009. <a href="http://www.korben.info/petit-cours-de-twitt-jacking.html">http://www.korben.info/petit-cours-de-twitt-jacking.html</a>
</p>

<p class="MsoNormal">[10] Johnson, Clay. What is this Don't Click business? 12
Feb 2009. <a href="http://sunlightlabs.com/blog/2009/02/12/what-dont-click-business/">http://sunlightlabs.com/blog/2009/02/12/what-dont-click-business/</a>
</p>

<!--EndFragment-->


 
        
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/davidweiss?a=r3GuBxTikUs:wZPwC_5pLn4:63t7Ie-LG7Y"><img src="http://feeds.feedburner.com/~ff/davidweiss?d=63t7Ie-LG7Y" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/davidweiss?a=r3GuBxTikUs:wZPwC_5pLn4:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/davidweiss?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/davidweiss?a=r3GuBxTikUs:wZPwC_5pLn4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/davidweiss?i=r3GuBxTikUs:wZPwC_5pLn4:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/davidweiss/~4/r3GuBxTikUs" height="1" width="1"/>]]></content:encoded><description>Since the beginning of the Internet people have shared URLs with each other. Often the vehicle for sharing URLs was an email or a personal web page with favorite links. Today there are bookmarking websites where users share URLs,...</description><category domain="http://rss.financialcontent.com/stocksymbol">I</category><feedburner:origLink>http://unweary.com/2009/04/the-security-implications-of-url-shortening-services.html</feedburner:origLink></item><item><title>Creative Desires</title><link>http://feedproxy.google.com/~r/davidweiss/~3/aNE78z5RnqM/creative-desires.html</link><category>Miscellaneous</category><category>courage</category><category>creativity</category><category>desire</category><category>potential</category><category>vision</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">davidmikaelweiss@gmail.com (David Weiss)</dc:creator><pubDate>Tue, 24 Mar 2009 15:27:57 PDT</pubDate><guid isPermaLink="false">tag:unweary.com,2009://5.917</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
        <div>After reading Michael Lopp's excellent post <a href="http://www.randsinrepose.com/archives/2009/03/23/the_makers_of_things.html">The Makers of Things</a> referencing the construction of the Brooklyn Bridge I was reminded of a poem. Not coincidentally, it's named The Bridge Builder and while I've mentioned it before, I think it bears repeating.</div><div><br /></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><span class="Apple-style-span" style="font-weight: bold;">The Bridge Builder</span><br />by Will Allen Dromgoole<br /><br />An old man, going a lone highway,<br />Came, at the evening, cold and gray,<br />To a chasm, vast, and deep, and wide,<br />Through which was flowing a sullen tide.<br /><br />The old man crossed in the twilight dim;<br />The sullen stream had no fear for him;<br />But he turned, when safe on the other side,<br />And built a bridge to span the tide.<br /><br />"Old man," said a fellow pilgrim, near,<br />"You are wasting strength with building here;<br />Your journey will end with the ending day;<br />You never again will pass this way;<br />You've crossed the chasm, deep and wide-<br />Why build you this bridge at the evening tide?"<br /><br />The builder lifted his old gray head:<br />"Good friend, in the path I have come," he said,<br />"There followeth after me today,<br />A youth, whose feet must pass this way.<br /><br />This chasm, that has been naught to me,<br />To that fair-haired youth may a pitfall be.<br />He, too, must cross in the twilight dim;<br />Good friend, I am building this bridge for him."</blockquote><div><br /></div><div><div>What I like most about this poem is that it touches on a reason we do the things we do. For example, when Washington Roebling became bedridden, why did he keep running the project rather than hand off the job to another? What was his motivation to carry on? We may never know, but for each of us, we can know our desires, our reasons. This is especially important because in the end we will get what we desire.</div><div><br /></div><div>There are perhaps as many different motivations as there are people. Since we are complex beings, there are probably a multifaceted set of reasons behind our thoughts and actions. More subtle still, one reason may not even dominate in each context, every time. Some might work for a reward in money or fame. Others might do the things they do to impress others or to be a part of the "cool crowd". The desire to be well liked can be a powerful motivation for great effort. Some might create simply to provide for their temporal needs and for no other exalted reason. For them, the work they do is simply avoidance of pain. Others still create out of a sense of duty to their family, friends or traditions. Some simply want to see that they can do something and take joy in finishing a task well done. While some might laugh, others do the work they do out of a sense of love, a genuine desire to help. For me, when someone creates something, anything, it is always wonderful, but more impressive, are the reasons coupled with the creation.&nbsp;</div><div><br /></div><div>Another aspect to creative motivation is that different desires yield different results and staying power. When you are called to lead a team, (or more difficult lead yourself alone) to work through the impossible, you can not be ignorant of the motivations needed commensurate with the work at hand. However, discerning these delicate human desires and their creative force can be a powerful tool when confronted with the problems and setbacks that will undoubtedly come.</div><div><br /></div><div>Ultimately we choose. We choose to build, to create, to do the things we desire. We make the little choices, as small as lifting a bucket full of mud from a river bottom and as large as trusting that a bridge pier will stand the test of time. Small and big and everything in between reveal in us our inner creativity and deepest desires. Recognizing this brings a somber circumspection to the tasks of each day. The wonderful thing is that it's all in there, in each of us, to quote, "Trust me when I say that I can close my eyes and see the end result, and when you can see it, too, you will be amazed."</div></div> 
        
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/davidweiss?a=aNE78z5RnqM:SFTEyrhAWnU:63t7Ie-LG7Y"><img src="http://feeds.feedburner.com/~ff/davidweiss?d=63t7Ie-LG7Y" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/davidweiss?a=aNE78z5RnqM:SFTEyrhAWnU:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/davidweiss?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/davidweiss?a=aNE78z5RnqM:SFTEyrhAWnU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/davidweiss?i=aNE78z5RnqM:SFTEyrhAWnU:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/davidweiss/~4/aNE78z5RnqM" height="1" width="1"/>]]></content:encoded><description>After reading Michael Lopp's excellent post The Makers of Things referencing the construction of the Brooklyn Bridge I was reminded of a poem. Not coincidentally, it's named The Bridge Builder and while I've mentioned it before, I think it bears...</description><feedburner:origLink>http://unweary.com/2009/03/creative-desires.html</feedburner:origLink></item><item><title>Specifying Performance</title><link>http://feedproxy.google.com/~r/davidweiss/~3/Q-dICQGefIg/specifying-performance.html</link><category>Article</category><category>performance</category><category>software</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">davidmikaelweiss@gmail.com (David Weiss)</dc:creator><pubDate>Fri, 07 Nov 2008 07:40:37 PST</pubDate><guid isPermaLink="false">tag:unweary.com,2008://5.915</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
        <div>When you design a software product or feature you need to consider not only what the software will do, but also how it will interact with the user. The functional requirements for the software typically refer to what the software does. Nonfunctional requirements clarify the parameters for how the software will meet the functional requirements. Common nonfunctional requirements include things like reliability, availability, security, safety, usability, programmability, maintainability and performance. All of these are important, but your software's performance will have a disproportionate impact on how your software will feel when people use it. I think Apple put it well in their Apple Human Interface Guidelines:</div><div><br /></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;">"Performance is the perceived measure of how fast or efficient your software is and it is critical to the success of all software. If your software seems slow, users may be less inclined to buy it. Even software that uses the most optimal algorithms may seem slow if it spends more time processing data than responding to the user. ... Remember that the perception of performance is informed by two things: The speed with which an application processes data and performs operations and the speed with which the application responds to the user." [1]</blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><br /></blockquote><div>While performance is one of the most important nonfunctional requirements, it's often the most difficult to define. For new features it's difficult to know where to set the performance goal because there's not always some similar functionality to compare it against. Further, how would you define "slow" or "fast" in an objective and verifiable way? Confronted with this problem most software engineers simply skip this section of requirements with the justification, "If it's too slow, I'll see it and we'll fix it then. I know slow when I see it." If performance is specified, often some arbitrary time limit is set with little reasoning behind the performance goal.</div><div><br /></div><div>Failing to specify reasonable performance requirements makes it very difficult to verify that your software is actually meeting your users' performance expectations. And what are these user expectations any way? How can you determine what makes one piece of software fast and the other slow? Understanding a little about the psychology of time perception can answer these questions. Armed with this understanding you can specify, design and build for performance from the very beginning and this tremendously improves the chances of a high performance solution. </div><div><br /></div><div><span class="Apple-style-span" style="font-weight: bold;">Responsiveness</span></div><div><br /></div><div>Any human computer interaction can be thought of as a conversation between the human and the computer. The user does something and the software and hardware respond to that request. The time it takes the system to respond to the request of the user is the system response time.</div><div><br /></div><div>There as been quite a bit of research done in the area of system response times. In 1968 R. B. Miller wrote a paper titled "Response Time in Man-Computer Conversational Transactions." [2] The Department of Defense created MIL-STD 1472F [3] a 219-page document titled "Department of Defense Criteria Standard: Human Engineering (revision F)" which describes many of the non-functional requirement standards for use in the military. Sponsored by the US Air Force the MITRE Corporation published in 1968 a document titled "Guidelines for Designing User Interface Software". [4] In 1996 the Department of Defense created an eight-volume work entitled "Technical Architecture Framework for Information Management (TAFIM)" and the last volume in this work includes guidelines for response times [5].</div><div><br /></div><div>All of these standards for system response times include descriptions of types or classes of actions by the user and the guidance for the acceptable response time by the system. More recently Steven C. Seow published a book titled "Designing and Engineering Time". [6] This excellent book describes in detail some of the important considerations for defining appropriate response times and simplifies the combined recommendations of previous research into a simple framework. The general framework Seow suggests is as follows:</div><div><br /></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><span class="Apple-style-span" style="font-weight: bold;">Instantaneous</span> (0.1 to 0.2 seconds)<br /><span class="Apple-style-span" style="font-weight: bold;">Immediate</span> (0.5 to 1.0 seconds)<br /><span class="Apple-style-span" style="font-weight: bold;">Continuous</span> (2 to 5 seconds)<br /><span class="Apple-style-span" style="font-weight: bold;">Captive</span> (7 to 10 seconds)</blockquote><div><br /></div><div>You use these performance guidelines by asking yourself the question: For this feature, what is the users expectation for response time? Is the user expecting an instantaneous response? If so, then you know your software should respond within 0.1 to 0.2 seconds.</div><div><br /></div><div>So what is slow? These response time categories provide a powerful answer to this question. Slow is when a user expects an immediate response, within 0.5 to 1.0 seconds, and they get a continuous response, somewhere from 2 to 5 seconds! Slow is when a user expects an instantaneous response, within 0.1 to 0.2 seconds, and they get an immediate response, somewhere from 0.5 to 1.0 seconds!</div><div><br /></div><div><span class="Apple-style-span" style="font-style: italic;">Note</span>: Can a response be too fast? Yes, a good example of this too fast response is when a user starts a software installation and the install completes immediately. The reality of the response time doesn't conform to their expectation and will cause the user to think the install didn't work properly.</div><div><br /></div><div>Performance is a perceived reality based on the conversation between the human and the computer. As Qui-Gon Jinn said to Anakin, "Remember: Your focus determines your reality." [7] This is especially true with software performance. What the user is focused on is not the performance of your application, at least not initially. They are focused on doing something with your application as the means to an end. When the application is responding to their commands appropriately, this becomes a natural conversation between the human and the computer and turns into a state of flow where the user is happy and productive. The challenge for a software developer is to maximize the probability that your software will disappear from the focus as they are enabled to enter that zone of creativity. Response times that are too fast or too slow and disrupt the user's state of flow degrade the user experience.</div><div><br /></div><div>Sadly, brilliant architecture doesn't matter if the user feels like you're wasting their time or something is wrong. They will feel like something is wrong if you don't ensure that the system responds within the expected time frame. Identifying the areas in your software that conflict with a user's expectations is the first step in making your software feel fast and responsive. Putting the user at the center of this question is the key to building high performance software. Let's dive in to what each of these response time categories means in detail.</div><div><br /></div><div><span class="Apple-style-span" style="font-style: italic;">Note</span>: Steven C. Seow has long studied the distortion of time perception. I met him shortly after he joined Microsoft. Recently he has released his first book, "Designing and Engineering Time". It's a fantastic book, one I own and highly recommend. While I try to summarize some of his ideas on responsiveness, he goes into much more detail in his book and I recommend going there for a more complete understanding.</div><div><br /></div><div><span class="Apple-style-span" style="font-weight: bold;">Instantaneous</span></div><div><br /></div><div>When a user moves a mouse or clicks a button the expectation is that the software will respond instantaneously, that is at least within 0.1 to 0.2 seconds. The easiest way to determine if a part of your software falls into this category is if the interaction mimics some object in the physical world that also has an instantaneous response. Most forms of user input fall into this category. Clicking a menu and waiting for it to drop down or dragging a slider are all examples of where an instantaneous response is expected. If you have ever opened your Mac laptop from sleep, and tried to click the Airport menu and had it hesitate and then display, you have experienced the problem where the expectation for an instantaneous response is not fulfilled.</div><div><br /></div><div><span class="Apple-style-span" style="font-weight: bold;">Immediate</span></div><div><br /></div><div>The best example of an immediate response, between 0.5 and 1.0 seconds, is scrolling a window. The user's mental model is that the data has already been "loaded" so telling the computer to display a different section carries the expectation that it should occur immediately. The detailed operations behind any user interaction are hidden from the user. For example, fetching and rendering large documents often involve paging in and out memory, but this is invisible to the user. When they move to the next page they expect the response to be immediate since their mental model tells them all the "hard work" as been done when the document was first loaded. The expectation is what matters. In this realm of response times, the key is to communicate to the user that the request or command has been received and if the action is simple, a complete response is returned in less than 1 second. Animation can go a long way in avoiding awkward pauses in the response between the system and the user. The iPhone's checkered back screen when scrolling a web page is a good example of immediate feedback, while dealing with real hardware and software constraints.</div><div><br /></div><div><span class="Apple-style-span" style="font-weight: bold;">Continuous</span></div><div><br /></div><div>Unless the user is expecting an instantaneous or immediate response there is generally recognition that the computer needs to "think" about doing stuff. Miller wrote:</div><div><br /></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;">If you address another human being, you expect some communicative response within x seconds-perhaps two to four seconds. ... In conversation of any kind between humans, silences of more than four seconds become embarrassing because they imply a breaking of the thread of communication. [2]</blockquote><div><br /></div><div>In the continuous category, between 2 and 5 seconds, it can be helpful and calming to let the user know that the computer is "thinking." Progress bars are often helpful in this case, but not required. On the Mac, both Keynote and PowerPoint use progress bars to inform the user that work is being done when loading documents. When the user asks your software to do something moderately complex, the continuous response will be the expectation.</div><div><br /></div><div><span class="Apple-style-span" style="font-weight: bold;">Captive</span></div><div><br /></div><div>In the 7 to 10 second response range, users need to see real progress and visual response. I like to think of this as the captive audience range. You will have a user paying attention to what's going on in this range, but anything that takes longer than this, they'll move on to something else and come back to see progress later. A good example of this is downloading a fast start movie online. The user's attention span is about 10 seconds, so if your process takes longer than that you'll need to provide significant visual feedback to what's going on and be certain to give the user the ability to move on to other things.</div><div><br /></div><div><span class="Apple-style-span" style="font-weight: bold;">The Process of Setting Performance Goals</span></div><div><br /></div><div>For each user interaction in your software ask yourself if the user is expecting an Instantaneous response, (0.1 to 0.2 seconds) an Immediate response (0.5 to 1.0 seconds) a Continuous (2 to 5 seconds) or a Captive response (7 to 10 seconds). This will set the range of response times for that part of the system. Use the appropriate response time range as your performance goal. This will give the developer a basic understanding of where the performance for that feature needs to be and allow the tester to test for system responsiveness from the beginning.</div><div><br /></div><div>Most features are easily classified into one of the four categories, but sometimes it's hard to tell. In this case usability studies can help inform you if your best guess was wrong. </div><div><br /></div><div><span class="Apple-style-span" style="font-weight: bold;">Conclusion</span></div><div><br /></div><div>When you need to choose which part of your application to focus on speeding up, understanding where and why users will perceive performance problems is key. You can't and shouldn't optimize everything. Remember, perception is reality. No mater what your metrics say, if the user thinks your application is slow, it is.</div><div><br /></div><div>Objectively measured durations don't mean anything without a corresponding benchmark that shows what a user expects. They will judge your software against their expectations. You need to identify what kind of expectations the user has for each stimulus and response in your application and make your software response times meet these expectations. Users have four general categories of expectations: Instantaneous (0.1 to 0.2 seconds), Immediate (0.5 to 1.0 seconds), Continuous (2 to 5 seconds) and Captive (7 to 10 seconds). The more areas in your application where the users expectation are met with your application's actual response the faster the application will feel.</div><div><br /></div><div>Maister's First Law of Service [8] states that the key to satisfaction is the delta between what was expected and what was perceived. If the perception is that your software performs better than expected, satisfaction will be high, but if the perception is that your software performs worse than expected, satisfaction drops. Perceived durations and actual durations along with an understanding of the users' tolerance for both will allow you to carefully design software to meet and exceed user expectations.</div><div><br /></div><div><span class="Apple-style-span" style="font-weight: bold;">References</span></div><div><br /></div><div>[1] Apple (2008). Apple Human Interface Guidelines. Available online at <a href="http://developer.apple.com/documentation/UserExperience/Conceptual/AppleHIGuidelines/OSXHIGuidelines.pdf">http://developer.apple.com/documentation/UserExperience/Conceptual/AppleHIGuidelines/OSXHIGuidelines.pdf</a> page 31, 57</div><div><br /></div><div>[2] Miller, R. B. (1968). Response time in man-computer conversational transaction. Fall Joint Computer Conference U.S.A. 267-277.</div><div><br /></div><div>[3] Department of Defense Design Criteria Standard: Human Engineering. MIL-STD 1472F. Available online at <a href="http://hfetag.dtic.mil/docs-hfs/mil-std-1472f.pdf">http://hfetag.dtic.mil/docs-hfs/mil-std-1472f.pdf</a></div><div><br /></div><div>[4] Smith, S. L. and J. N. Mosier (1986). Guidelines for Designing User Interface Software: ESD-TR-86-278. Bedford, MA: The MITRE Corporation.</div><div><br /></div><div>[5] Department of Defense Technical Architecture Framework for Information Management (TAFIM). Volume 8: DoD Human Computer Interface Style Guide.</div><div><br /></div><div>[6] S.C. Seow, Designing and Engineering Time: The Psychology of Time Perception in Software, Addison-Wesley Professional, 2008.</div><div><br /></div><div>[7] Star Wars - Episode I, The Phantom Menace, 20th Century Fox, 2005.</div><div><br /></div><div>[8] Maister, D. H. (1985). The psychology of waiting lines. In Czepiel (Ed.), The Service Encounter. Lexington, MA: Lexington Books. 113-123.</div><div><br /></div> 
        
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/davidweiss?a=VFH9fSpx"><img src="http://feeds.feedburner.com/~f/davidweiss?d=42" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/davidweiss?a=ufMGPPJt"><img src="http://feeds.feedburner.com/~f/davidweiss?d=43" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/davidweiss?a=vVeuSjI9"><img src="http://feeds.feedburner.com/~f/davidweiss?i=vVeuSjI9" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/davidweiss/~4/Q-dICQGefIg" height="1" width="1"/>]]></content:encoded><description>When you design a software product or feature you need to consider not only what the software will do, but also how it will interact with the user. The functional requirements for the software typically refer to what the software...</description><media:content url="http://feedproxy.google.com/~r/davidweiss/~5/oPGecAZvejc/OSXHIGuidelines.pdf" fileSize="29586921" type="application/pdf" /><itunes:explicit>no</itunes:explicit><itunes:subtitle>When you design a software product or feature you need to consider not only what the software will do, but also how it will interact with the user. The functional requirements for the software typically refer to what the software...</itunes:subtitle><itunes:author>David Weiss</itunes:author><itunes:summary>When you design a software product or feature you need to consider not only what the software will do, but also how it will interact with the user. The functional requirements for the software typically refer to what the software...</itunes:summary><itunes:keywords>Article, performance, software</itunes:keywords><category domain="http://rss.financialcontent.com/stocksymbol">TAFIM</category><feedburner:origLink>http://unweary.com/2008/11/specifying-performance.html</feedburner:origLink><enclosure url="http://feedproxy.google.com/~r/davidweiss/~5/oPGecAZvejc/OSXHIGuidelines.pdf" length="29586921" type="application/pdf" /><feedburner:origEnclosureLink>http://developer.apple.com/documentation/UserExperience/Conceptual/AppleHIGuidelines/OSXHIGuidelines.pdf</feedburner:origEnclosureLink></item><item><title>Google Chrome and Gears</title><link>http://feedproxy.google.com/~r/davidweiss/~3/_Hgmt9vnIIY/google-chrome-and-gears.html</link><category>News</category><category>apple</category><category>google</category><category>microsoft</category><category>software</category><category>vision</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">davidmikaelweiss@gmail.com (David Weiss)</dc:creator><pubDate>Wed, 03 Sep 2008 00:51:37 PDT</pubDate><guid isPermaLink="false">tag:unweary.com,2008://5.904</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
        <div>Google is now building their own web browser named Chrome, based on the <a href="http://webkit.org/">WebKit</a> rendering engine and a beta version for Windows is currently <a href="http://www.google.com/chrome/index.html">available</a>. They've put up some great <a href="http://www.google.com/googlebooks/chrome/">comics</a> that do a great job of introducing the new browser and some <a href="http://www.google.com/chrome/intl/en/features.html">videos</a> explaining some of the changes they've made.</div><div><br /></div><div>I've always found Google applications on my Mac to be a bit out of place. Maybe it's part of the design they are going for, but even today, when I use their online apps, like Gmail, or desktop applications like Google Earth, they work well, but beautiful they are not. They are blocky, text heavy, lowest common denominator type of UIs. It's always felt to me like they didn't quite "get it" when it comes to blending into the platform and learning to be a "good citizen" on the user's platform of choice.</div><div><br /></div><div>Today, it's clear to me why I've felt this way: Google isn't interested at all in "being a citizen" or <span class="Apple-style-span" style="font-style: italic;">part</span> of a platform, they are interested in <span class="Apple-style-span" style="font-style: italic;">being the platform</span>. If you look at the way Chrome is designed, it's not so much designed to be a good browser, as much as it is a good operating system for web applications. Google's desire is very much the same as Microsoft's, except abstracted a little higher up the stack. They want to own the platform upon which web applications are built, just like Microsoft wants to own the platform upon which desktop applications are built. This game of disintermediation seems to never end, but this time, what can Microsoft do? Or anyone else for that matter?</div><div><br /></div><div>This is not to say that Google's success criteria for Chrome is market share. I think what they are trying to do is have a more direct hand in guiding and shaping the web app platform and raising it to a level that best fits their desires and needs. Google will be successful if in the future developers see no downside to developing a web app versus a traditional desktop application, but in-fact see a sizable upside to taking the web app route. For end users success will be when the "Omnibar" becomes the default interaction mechanism, the place they go to first and installers become a thing of the past.</div><div><br /></div><div>Maybe that's why I think Google's stuff looks kind of basic. They are to the current web platform what command line terminals were to the earlier personal computer platform. The basics, from which great things are built.</div> 
        
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/davidweiss?a=g2I5THee"><img src="http://feeds.feedburner.com/~f/davidweiss?d=42" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/davidweiss?a=Upbcgact"><img src="http://feeds.feedburner.com/~f/davidweiss?d=43" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/davidweiss?a=5qe7EZBN"><img src="http://feeds.feedburner.com/~f/davidweiss?i=5qe7EZBN" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/davidweiss/~4/_Hgmt9vnIIY" height="1" width="1"/>]]></content:encoded><description>Google is now building their own web browser named Chrome, based on the WebKit rendering engine and a beta version for Windows is currently available. They've put up some great comics that do a great job of introducing the new...</description><feedburner:origLink>http://unweary.com/2008/09/google-chrome-and-gears.html</feedburner:origLink></item><item><title>Where subsidizing the iPhone doesn't work: India</title><link>http://feedproxy.google.com/~r/davidweiss/~3/9dL0l_WcUcI/where-subsidizing-the-iphone-doesnt-work-india.html</link><category>Link</category><category>apple</category><category>iphone</category><category>marketing</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">davidmikaelweiss@gmail.com (David Weiss)</dc:creator><pubDate>Tue, 02 Sep 2008 12:55:27 PDT</pubDate><guid isPermaLink="false">tag:unweary.com,2008://5.903</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
        Everyone knows that the iPhone is an expensive bit of technology, but overall its success has shown that it's "worth it" in most places. What's interesting is that the iPhone is NOT having much success in India, where the monthly payment can't hope to subsidize the costly phone. Says <a href="http://www.emergingfutureslab.com/perspective_20/2008/09/the-iphone-in-i.html">Niti Bhan</a>:<div><br /></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;">I'll say it again about the iPhone, business models need to be designed as much as the product for the market they are intended to operate in, taking the nuances of culture, socioeconomic development as well as the customer's mindset into account. That is, as Neelakantan puts it so pithily in his most recent comment, "know your customer" and that's something we know that Apple hasn't quite managed to do yet. After all, their design success is primarily through designing for themselves.</blockquote><div><br /></div><div>Having the same marketing story for every market world wide certainly has its advantages, but perhaps there's room for some diversity here. Then again, Apple may have its current focus on affluent markets and plan to customize and optimize things later.</div>
        
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/davidweiss?a=Dm85lCGZ"><img src="http://feeds.feedburner.com/~f/davidweiss?d=42" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/davidweiss?a=kfdy0Aeq"><img src="http://feeds.feedburner.com/~f/davidweiss?d=43" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/davidweiss?a=LbkZPVki"><img src="http://feeds.feedburner.com/~f/davidweiss?i=LbkZPVki" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/davidweiss/~4/9dL0l_WcUcI" height="1" width="1"/>]]></content:encoded><description>Everyone knows that the iPhone is an expensive bit of technology, but overall its success has shown that it's "worth it" in most places. What's interesting is that the iPhone is NOT having much success in India, where the monthly payment can't...</description><feedburner:origLink>http://unweary.com/2008/09/where-subsidizing-the-iphone-doesnt-work-india.html</feedburner:origLink></item><item><title>Painted on the Inside</title><link>http://feedproxy.google.com/~r/davidweiss/~3/pVNBdKtsoG8/painted-on-the-inside.html</link><category>Article</category><category>apple</category><category>aviation</category><category>integrity</category><category>iphone</category><category>macbu</category><category>office</category><category>programming</category><category>service</category><category>watches</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">davidmikaelweiss@gmail.com (David Weiss)</dc:creator><pubDate>Mon, 01 Sep 2008 22:14:53 PDT</pubDate><guid isPermaLink="false">tag:unweary.com,2008://5.902</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
        <div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/LegacyFlightMuseum.html" onclick="window.open('http://unweary.com/assets_c/2008/09/LegacyFlightMuseum.html','popup','width=2816,height=2112,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/LegacyFlightMuseum-thumb-500x375.png" width="500" height="375" alt="LegacyFlightMuseum.png" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div>My son and I recently visited the <a href="http://www.legacyflightmuseum.com/">Legacy Flight Museum</a> in <a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;q=Rexburg,+Idaho&amp;ie=UTF8&amp;ll=43.82609,-111.7831&amp;spn=5.563852,10.217285&amp;z=7&amp;om=1">Rexburg, Idaho</a>. This is an aviation museum that they call a "living museum" because everything on display actually flies regularly! In fact, we see them flying over our house on a weekly basis.</div><div><br /></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/LegacyFlightMuseumBillboard.html" onclick="window.open('http://unweary.com/assets_c/2008/09/LegacyFlightMuseumBillboard.html','popup','width=2679,height=1168,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/LegacyFlightMuseumBillboard-thumb-500x217.png" width="500" height="217" alt="LegacyFlightMuseumBillboard.png" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div>When we entered the office area of the hanger to start the guided tour, I saw a large table full of model airplane parts, plans, glue and paints.</div><div><br /></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/ModelAirplaneTable.html" onclick="window.open('http://unweary.com/assets_c/2008/09/ModelAirplaneTable.html','popup','width=2409,height=1625,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/ModelAirplaneTable-thumb-500x337.png" width="500" height="337" alt="ModelAirplaneTable.png" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div>The museum is open 9 AM to 5 PM, Monday through Saturday in the summer, even so, there are times when there are no visitors. During the down time some of the curators and tour guides build model airplanes. When we were there, we met one of them, his name was George Howard. After the tour, I asked him about his hobby, and he showed off his model airplanes.</div><div><br /></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/SmallerPlanes.html" onclick="window.open('http://unweary.com/assets_c/2008/09/SmallerPlanes.html','popup','width=2816,height=2112,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/SmallerPlanes-thumb-500x375.png" width="500" height="375" alt="SmallerPlanes.png" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div>He had a <a href="http://en.wikipedia.org/wiki/P-61_Black_Widow">P-61 Black Widow</a>, a <a href="http://en.wikipedia.org/wiki/B-25_Mitchell">B-25 Mitchell</a>, a <a href="http://en.wikipedia.org/wiki/B-17_Flying_Fortress">B-17 Flying Fortress</a>, a <a href="http://en.wikipedia.org/wiki/B-29_Super_Fortress">B-29 Superfortress</a>, a <a href="http://en.wikipedia.org/wiki/B-36_bomber">Convair B-36</a> as well as many other smaller fighters and planes whose names I don't remember. It turns out he teaches model building classes in the museum from time to time. You could tell by talking to him that he loves the planes. While we were talking about the models, he said this, "If you'll look into the cockpit, you can see the dashboard is all painted. Every plane is like that, even at 1/32<sup>nd</sup> scale. The propellers all work, and the wheels on the landing gear work and even the ordinance hooks release." Gingerly putting down one of his prized planes he picked up the B-29 Superfortress and continued, "This plane has an office and bunks and they're all painted on the inside, if you could see them, you'd see all the detail. You know when you start cutting corners, who knows where you'll stop? I try to go all the way."</div><div><br /></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/BlackWidow.html" onclick="window.open('http://unweary.com/assets_c/2008/09/BlackWidow.html','popup','width=2816,height=2112,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/BlackWidow-thumb-500x375.png" width="500" height="375" alt="BlackWidow.png" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/Bombers.html" onclick="window.open('http://unweary.com/assets_c/2008/09/Bombers.html','popup','width=2816,height=2112,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/Bombers-thumb-500x375.png" width="500" height="375" alt="Bombers.png" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div>This idea of doing something "on the inside" bespeaks a level of integrity and love for quality work that is rare in any line of work, but especially in software. The counter arguments abound: Why the extra time and effort? Why should we be doing something that will seldom if ever be seen or appreciated by the end user? Where's the customer use case? What's the business case? Who cares? How will this really make a difference for the customer? Like painting on the inside of a model airplane, the answer is, of course, that <span class="Apple-style-span" style="font-style: italic;">they</span> will not know, but <span class="Apple-style-span" style="font-style: italic;">you</span> will. As the builder, designer and developer of the product, you will know that it's painted on the inside.</div><div><br /></div><div><span class="Apple-style-span" style="font-weight: bold;">Clockwork</span></div><div><br /></div><div>There's a long tradition of quality that can't be seen with time pieces, especially small ones. If you have ever opened a clock, or observed as an expert watchmaker opened the case, you know of the intricate gears and precise beauty inside. While the watch cover almost always conceals this internal and hidden quality workmanship, it was seen by enough people that it became the common standard for exact, reliable and good engineering. People would say a system was good when it "worked like clockwork." Some modern clock manufacturers have chosen to put on display the internals of their clockwork. This is an interesting way to allow the user a window into the complex and detailed world of gears, springs and latches that make the whole product work.</div><div><br /></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/Regulateur.html" onclick="window.open('http://unweary.com/assets_c/2008/09/Regulateur.html','popup','width=795,height=463,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/Regulateur-thumb-500x291.png" width="500" height="291" alt="Regulateur.png" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/Tourbillon.html" onclick="window.open('http://unweary.com/assets_c/2008/09/Tourbillon.html','popup','width=796,height=457,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/Tourbillon-thumb-500x287.png" width="500" height="287" alt="Tourbillon.png" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div>Now, one might again argue, "Where is the user scenario? How does this actually make it better for the user? But, of course, there is no user scenario. Functionally, the clock is the same with or without the glass panel. One might even argue that with the gears exposed it is <span class="Apple-style-span" style="font-style: italic;">harder</span> to read the time! But the <span class="Apple-style-span" style="font-style: italic;">feelings</span> of the user about the purchased piece of engineering are much, much different. There's a feeling of trust that someone took the time to make all of those inscrutable pieces fit together and work so that he or she could do something rather simple, like keep track of time. There's also a sense of pride in owning such a fine bit of complexity.</div><div><br /></div><div>My favorite "marketing use" for this kind of watch is where the manufacturer has put the window on the back of the wrist watch only. This way the watch looks normal in every other respect, except when the user puts on the watch or takes it off. If someone comments on the watch, there's a natural path for the owner to say, "Thanks, but look at this..." and pull off the watch and show all the insides clicking and moving just like, clockwork. "Cool huh?" "Yeah, it's beautiful."</div><div><br /></div><div>The integrity of design and beauty was always there. Functionally, there is no new "feature" in the watch. But if you call love for the product and desire for superb quality, <span class="Apple-style-span" style="font-weight: bold;">inside and out</span>, a feature, well then, this kind of product has it.</div><div><br /></div><div><span class="Apple-style-span" style="font-weight: bold;">Trophy Box</span></div><div><br /></div><div>This kind of care for the inside and unseen workings applies just as much to what you do as to how you do it. For as long as I can remember, part of the tradition for shipping software at Microsoft has been that you get a "Trophy Box" or a copy of the shipping software, in the shrink wrap for you to use or just keep on display. Many at Microsoft would simply keep each one of these on a shelf over time accumulating physical reminders of products they had helped to produce. This tradition was followed for <a href="http://www.microsoft.com/mac/products/Office2008/">Mac Office 2008</a> as well, but for the first time in <a href="http://www.microsoft.com/mac/">MacBU</a> history it was different:</div><div><br /></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/OfficeSpecialLaunchEdition-Spine.html" onclick="window.open('http://unweary.com/assets_c/2008/09/OfficeSpecialLaunchEdition-Spine.html','popup','width=2112,height=2816,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/OfficeSpecialLaunchEdition-Spine-thumb-500x666.png" width="500" height="666" alt="OfficeSpecialLaunchEdition-Spine.png" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div style="text-align: center;">The Mac Office 2008: The Special Launch Edition</div><div><br /></div><div style="text-align: center;"><span class="Apple-style-span" style="color: rgb(0, 0, 238); text-decoration: underline;"><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/OfficeSpecialLaunchEdition-Front.html" onclick="window.open('http://unweary.com/assets_c/2008/09/OfficeSpecialLaunchEdition-Front.html','popup','width=2112,height=2816,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/OfficeSpecialLaunchEdition-Front-thumb-500x666.png" width="500" height="666" alt="OfficeSpecialLaunchEdition-Front.png" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></span></div><div style="text-align: center;">The front of the box</div><div style="text-align: center;"><br /></div><div style="text-align: center;"><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/OfficeSpecialLaunchEdition-Back.html" onclick="window.open('http://unweary.com/assets_c/2008/09/OfficeSpecialLaunchEdition-Back.html','popup','width=2112,height=2816,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/OfficeSpecialLaunchEdition-Back-thumb-500x666.png" width="500" height="666" alt="OfficeSpecialLaunchEdition-Back.png" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div style="text-align: center;"><br /></div><div style="text-align: center;">The back of the box</div><div><br /></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/NoteFromCraig.html" onclick="window.open('http://unweary.com/assets_c/2008/09/NoteFromCraig.html','popup','width=2816,height=2112,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false" style="text-decoration: none;"><img src="http://unweary.com/assets_c/2008/09/NoteFromCraig-thumb-500x375.jpg" width="500" height="375" alt="NoteFromCraig.JPG" class="mt-image-center" style="text-decoration: underline;text-align: center; display: block; margin-top: 0px; margin-right: auto; margin-bottom: 20px; margin-left: auto; " /></a></span></div><div style="text-align: center;">Craig's Note</div><div><br /></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/InnerSleeve.html" onclick="window.open('http://unweary.com/assets_c/2008/09/InnerSleeve.html','popup','width=2816,height=2112,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/InnerSleeve-thumb-500x375.jpg" width="500" height="375" alt="InnerSleeve.JPG" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div style="text-align: center;">The inner sleeve</div><div><br /></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/TheOfficePen.html" onclick="window.open('http://unweary.com/assets_c/2008/09/TheOfficePen.html','popup','width=2816,height=2112,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/TheOfficePen-thumb-500x375.jpg" width="500" height="375" alt="TheOfficePen.JPG" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div style="text-align: center;">The Office Pen: Proof that MacBU has produced multi-touch hardware. ;-)</div><div><br /></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/NiceTouchWithOfficeLogo.html" onclick="window.open('http://unweary.com/assets_c/2008/09/NiceTouchWithOfficeLogo.html','popup','width=2816,height=2112,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/NiceTouchWithOfficeLogo-thumb-500x375.jpg" width="500" height="375" alt="NiceTouchWithOfficeLogo.JPG" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div style="text-align: center;">Nice touch on the Office logo.</div><div><br /></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/CDSleeve.html" onclick="window.open('http://unweary.com/assets_c/2008/09/CDSleeve.html','popup','width=2816,height=2112,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/CDSleeve-thumb-500x375.jpg" width="500" height="375" alt="CDSleeve.JPG" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div style="text-align: center;">Not just Office, but Expression Media too!</div><div><br /></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/TheCDs.html" onclick="window.open('http://unweary.com/assets_c/2008/09/TheCDs.html','popup','width=2816,height=2112,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/TheCDs-thumb-500x375.jpg" width="500" height="375" alt="TheCDs.JPG" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div style="text-align: center;">The CDs: Nice "ether" swoosh stuff, eh?</div><div><br /></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/EtchedShipDate.html" onclick="window.open('http://unweary.com/assets_c/2008/09/EtchedShipDate.html','popup','width=2816,height=2112,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/EtchedShipDate-thumb-500x375.jpg" width="500" height="375" alt="EtchedShipDate.JPG" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div style="text-align: center;">Nicely etched Office ship date on the back of the box along with the edition number.</div><div><br /></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/ExactlyTheRightNumberOfStickies.html" onclick="window.open('http://unweary.com/assets_c/2008/09/ExactlyTheRightNumberOfStickies.html','popup','width=2816,height=2112,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/ExactlyTheRightNumberOfStickies-thumb-500x375.jpg" width="500" height="375" alt="ExactlyTheRightNumberOfStickies.JPG" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div style="text-align: center;">The correct number of Stickies! Well played!</div><div><br /></div><div>Now, no one in MacBU will deny that the Office 2008 product cycle was a tough one, and a box like this in no way makes up for all the difficulties. Certainly it doesn't "help sales", but it does mean something to those on the inside. It says something to the employees, who are your first customers. It says, "You're worth taking a little extra time and a little extra care." This kind of message may not be something accountants can tabulate in the asset column, but its value is there just the same.</div><div><br /></div><div><span class="Apple-style-span" style="font-weight: bold;">The Apple Paperclip</span></div><div><br /></div><div>A few months ago, my wife's iPhone stopped working. We called Apple and since we were nowhere near an Apple Store the lady on the phone said she would send us a box to send the iPhone back to Apple for repairs. This kind of process, while less ideal than dropping the phone off at an Apple Store and walking out with a loaner phone, is something I've come to expect from Apple's customer support. When we got the box here's what it looked like:</div><div><br /></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/TheBox.html" onclick="window.open('http://unweary.com/assets_c/2008/09/TheBox.html','popup','width=2816,height=2112,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/TheBox-thumb-500x375.png" width="500" height="375" alt="TheBox.png" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div style="text-align: center;">The iPhone repair box we received.</div><div><br /></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/TheOpenBox.html" onclick="window.open('http://unweary.com/assets_c/2008/09/TheOpenBox.html','popup','width=2112,height=2816,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/TheOpenBox-thumb-500x666.png" width="500" height="666" alt="TheOpenBox.png" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div style="text-align: center;">Simple directions on the lid of the box</div><div><br /></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/3Steps.html" onclick="window.open('http://unweary.com/assets_c/2008/09/3Steps.html','popup','width=2816,height=2112,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/3Steps-thumb-500x375.png" width="500" height="375" alt="3Steps.png" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div style="text-align: center;">3 steps: Help is here. Back it up. Pack it up. Note to Apple: Apology accepted.</div><div><br /></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/InstructionManual.html" onclick="window.open('http://unweary.com/assets_c/2008/09/InstructionManual.html','popup','width=2816,height=2112,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/InstructionManual-thumb-500x375.png" width="500" height="375" alt="InstructionManual.png" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div style="text-align: center;">The "iPhone Service Guide", step 1: Don't lose this.</div><div><br /></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/TheiPhoneBox.html" onclick="window.open('http://unweary.com/assets_c/2008/09/TheiPhoneBox.html','popup','width=2816,height=2112,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/TheiPhoneBox-thumb-500x375.png" width="500" height="375" alt="TheiPhoneBox.png" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div style="text-align: center;">The Real iPhone repair box.</div><div><br /></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/PaddedThenRepaddedBox.html" onclick="window.open('http://unweary.com/assets_c/2008/09/PaddedThenRepaddedBox.html','popup','width=2816,height=2112,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/PaddedThenRepaddedBox-thumb-500x375.png" width="500" height="375" alt="PaddedThenRepaddedBox.png" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div style="text-align: center;">The white box is padded, with a padded sleeve for the iPhone. And tape.</div><div><br /></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/FoamCaseWithTape.html" onclick="window.open('http://unweary.com/assets_c/2008/09/FoamCaseWithTape.html','popup','width=2112,height=2816,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/FoamCaseWithTape-thumb-500x666.png" width="500" height="666" alt="FoamCaseWithTape.png" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div style="text-align: center;">The foam case. The red stripe removes to expose adhesive for the flap.</div><div><br /></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/TapeForBox.html" onclick="window.open('http://unweary.com/assets_c/2008/09/TapeForBox.html','popup','width=2816,height=2112,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/TapeForBox-thumb-500x375.png" width="500" height="375" alt="TapeForBox.png" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div style="text-align: center;">Tape strips for closing the box included.</div><div><br /></div><div>Let me review the situation: Apple sends a box with thick foam padding and return postage paid to send your iPhone to Apple to repair. General overview of the process, backup and packing is provided, as well as detailed instructions. Inside the thick foam is another box, also with foam padding, and inside this box is a foam sleeve with a flap to fully surround your iPhone with protective padding for the trip. Tape is included so you don't even need to find packing tape to get the job done!</div><div><br /></div><div>Look at all the padding and packaging there to protect your precious iPhone! What does it say to you as the customer about how Apple feels about your iPhone? What does that say to you about how important your iPhone <span class="Apple-style-span" style="font-style: italic; ">should</span> be to you? But the most distinctly "Apple touch" in the whole package is the Apple SIM Ejector Tool that is included:</div><div><br /></div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://unweary.com/assets_c/2008/09/AppleCertifiedPaperClip.html" onclick="window.open('http://unweary.com/assets_c/2008/09/AppleCertifiedPaperClip.html','popup','width=2816,height=2112,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://unweary.com/assets_c/2008/09/AppleCertifiedPaperClip-thumb-500x375.png" width="500" height="375" alt="AppleCertifiedPaperClip.png" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></div><div>An individually packaged paperclip! Did they need to do that? How much did that cost them? Couldn't they just trust that folks could find a paperclip around the house or office? Yes they could have, but they didn't. With the desire to make the the whole process as painless as possible they made a negative repair experience into a positive, brand building and trust building one.</div><div><br /></div><div>I'm sure there are other examples, but it's this care for the little details, things on the inside, bits that are often unseen, that can really make a difference both for you as the service provider and as the customer receiving the care. When someone buys a product, it's partially about the cost and the feature set, but for your best customers, it's also about buying into the person on the other end of the transaction. Having the integrity to keep things "painted on the inside" really matters in the long run, because eventually it shows. You can't hide it. Eventually, it will get out and when it does, it will define for others who you are.</div><div><br /></div><div>Most importantly, however, long before anyone else will know, you will. You can go on putting "lipstick on a pig" for a long time and be successful at it, but from the beginning you'll know and that will effect the way you treat the product and treat yourself. I'm not suggesting everything you do must be perfect, but it really needs to be <span class="Apple-style-span" style="font-style: italic;"><span class="Apple-style-span" style="font-weight: bold;">your</span></span> very best. You could be doing your very best and still be unsuccessful in a myriad of ways, but it's much easier to learn from your mistakes when you can look back and honestly say, "Well, I did the best I could." Additionally, there's something very peaceful and happy about doing great work, even if it's only great for you. The alternative is in my mind untenable because, "You know, when you start cutting corners, who knows where you'll stop?"<br /></div> 
        
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/davidweiss?a=qFwMRHOM"><img src="http://feeds.feedburner.com/~f/davidweiss?d=42" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/davidweiss?a=xaTSSWJX"><img src="http://feeds.feedburner.com/~f/davidweiss?d=43" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/davidweiss?a=BWU8Kpad"><img src="http://feeds.feedburner.com/~f/davidweiss?i=BWU8Kpad" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/davidweiss/~4/pVNBdKtsoG8" height="1" width="1"/>]]></content:encoded><description>My son and I recently visited the Legacy Flight Museum in Rexburg, Idaho. This is an aviation museum that they call a "living museum" because everything on display actually flies regularly! In fact, we see them flying over our house...</description><feedburner:origLink>http://unweary.com/2008/09/painted-on-the-inside.html</feedburner:origLink></item><item><title>Unweary</title><link>http://feedproxy.google.com/~r/davidweiss/~3/1jtlZSBXIwc/unweary.html</link><category>News</category><category>news</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">davidmikaelweiss@gmail.com (David Weiss)</dc:creator><pubDate>Thu, 21 Aug 2008 13:22:24 PDT</pubDate><guid isPermaLink="false">tag:unweary.com,2008://5.900</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
        <div>Starting today I'll be writing at a new blog location: <a href="http://unweary.com/blog/">http://unweary.com/blog/</a> I've redirected the <span class="Apple-style-span" style="text-decoration: underline;">old</span> RSS feed <a href="http://feeds.feedburner.com/davidweiss">http://feeds.feedburner.com/davidweiss</a> to the new blog. If you want to subscribe to the shiny <span class="Apple-style-span" style="text-decoration: underline;">new</span> RSS feed <a href="http://feeds.feedburner.com/unweary">http://feeds.feedburner.com/unweary</a> please go right ahead. At some point I'll take down the old RSS feed.</div><div><br /></div><div>This change includes an upgrade from Blogger to Movable Type as my blogging platform, but if you sensed that there was more to the blog location change than just that, you were right. I'm "going indie", as they say. :-) This is something I've wanted to do for a long time and now is the time to make it official.</div><div><br /></div><div>I quit working for the MacBU at Microsoft in December 2007 to go back to school. I'm very much enjoying school, and I'm trying hard to keep that my main focus, but I keep wanting to build stuff and publish it and Unweary is just a natural result of that innate desire to create. I expect to build pretty focused, humble, non-life changing software that just makes regular things easier and better in some way. Right now I'm mostly trying to decide which idea to tackle first. I feel like a kid in a candy shop!</div><div><br /></div><div>So that's the news. I'm sure I'll write more about the adventure as it develops, but in the meantime, wish me luck!</div> 
        
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/davidweiss?a=JLopTq1t"><img src="http://feeds.feedburner.com/~f/davidweiss?d=42" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/davidweiss?a=UJpQlmyu"><img src="http://feeds.feedburner.com/~f/davidweiss?d=43" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/davidweiss?a=YuBmSoxL"><img src="http://feeds.feedburner.com/~f/davidweiss?i=YuBmSoxL" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/davidweiss/~4/1jtlZSBXIwc" height="1" width="1"/>]]></content:encoded><description>Starting today I'll be writing at a new blog location: http://unweary.com/blog/ I've redirected the old RSS feed http://feeds.feedburner.com/davidweiss to the new blog. If you want to subscribe to the shiny new RSS feed http://feeds.feedburner.com/unweary please go right ahead. At some...</description><feedburner:origLink>http://unweary.com/2008/08/unweary.html</feedburner:origLink></item><item><title>Experience</title><link>http://feedproxy.google.com/~r/davidweiss/~3/lQO_p9vnuKI/experience.html</link><category>Article</category><category>learning</category><category>programming</category><category>software</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">davidmikaelweiss@gmail.com (David Weiss)</dc:creator><pubDate>Mon, 01 Sep 2008 17:27:00 PDT</pubDate><guid isPermaLink="false">tag:unweary.com,2008://5.677</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
        <p>Especially with a code base that is mature, assumptions correctly made years ago can be terribly difficult to deal with later when the current and new assumptions reign. Writing code that lasts even 5 years and "is robust" is what everyone wants to do for sure, but the recipe for doing just that is not easy to learn and even harder to actually do. For example, you might know what changes need to be made to conform to even the most obvious object oriented design principles, but the business requirements and time to market needs dictate leaving once again old crusty code alone and racking up yet another round of technical debt. Over time, this technical debt will demand payment and the effects on your ability to hire, employee morale, design changes possible, speed of delivery, testing burden, marketing message etc. become very real and very painful. I wonder, can these concepts can be fully learned without actually experiencing pain? Could you even attempt to learn these concepts experientially in college? My experience so far makes me think that one may know something intellectually, without really knowing it. It seems like for so many, one may talk about design patterns or abstraction or low coupling, but until you actually try to build something the other way, the painful way, you just don't appreciate what you are avoiding. What's worse, junior developers who, for no fault of their own lack experience with "the hard way" have a difficult time understanding why one must "go the long way around" to do what seems like such a direct solution. Passing on the stories of the past and their consequences and lessons seems to be an unending challenge.</p><p>From my economics book comes this fictional story which I think illustrates the point:</p><p>"One Pepsi plant is managed by an economics major with an MBA and has a labor force with an average of 10 years of experience. This plant produces a larger output than does an otherwise identical plant that is managed by someone with no business training or experience and that has a young labor force that is new to bottling."</p><p>I definitely fall into the "young labor force that is new to bottling" camp. In the technology industry there is a tendency to glorify the young and bright rather than those who have the experience and have paid the price to learn the lessons that matter in the long run. Whenever I talk to some developer and we talk about where they learned some valuable lesson about software development, rarely do they refer to a book. Almost invariably, they say, "I worked with Joe on this project and he showed me x, y and z. I learned so much working with him." Smart developers, experienced developers who know how to teach and share important lessons to junior programmers seem like a key to the experience problem. Sadly, junior developers who have the presence of mind to ask, listen and apply what they hear are hard to find, and senior developers who are both willing and able to teach effectively are even more rare.</p><p>Perhaps the answer to all this is simple. Perhaps it's just he or she who writes the most code, wins. What I mean by this is simply when one writes a lot of code that increases the probability that he or she will make more of the key mistakes needed to learn how to write software with longevity. Just getting more exposure to "how bad things can get" helps bring a sober reality to each line of code written thereafter.</p><p>What's remarkable about all this, is that failures in teaching and learning are what keep us "discovering" new ideas that are 40 years old. Truly, "there is no new thing under the sun."</p>
        
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/davidweiss?a=hSh0tikh"><img src="http://feeds.feedburner.com/~f/davidweiss?d=42" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/davidweiss?a=K3jCebtE"><img src="http://feeds.feedburner.com/~f/davidweiss?d=43" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/davidweiss?a=RRVK6p41"><img src="http://feeds.feedburner.com/~f/davidweiss?i=RRVK6p41" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/davidweiss/~4/lQO_p9vnuKI" height="1" width="1"/>]]></content:encoded><description>Especially with a code base that is mature, assumptions correctly made years ago can be terribly difficult to deal with later when the current and new assumptions reign. Writing code that lasts even 5 years and "is robust" is what...</description><feedburner:origLink>http://unweary.com/2008/07/experience.html</feedburner:origLink></item><item><title>Don't Fight the Music</title><link>http://feedproxy.google.com/~r/davidweiss/~3/j3MGDVZ8mbg/dont-fight-the-music.html</link><category>Article</category><category>adversity</category><category>management</category><category>potential</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">davidmikaelweiss@gmail.com (David Weiss)</dc:creator><pubDate>Mon, 01 Sep 2008 17:28:03 PDT</pubDate><guid isPermaLink="false">tag:unweary.com,2008://5.678</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
        <p>As with most forms of art, there are those pieces of music or sculpture or painting that you'll dislike. Perhaps what they portray or teach don't match with your ideals of right and wrong. You'll disagree on a moral level. Perhaps they bring forth memories of the past. Maybe they just look or sound chaotic and simply don't make any sense to you. In all honesty you may not know why you don't like the art, but it might just be grating to you and make you want to turn away. Still, there was and often is a real, living, feeling, breathing human being full of senses, sympathies, misgivings, prejudice and paradoxes behind that creation. Behind all art, prose and poetry are the feelings approximated in the expressions of their craft. The ability to see and feel through the art into the heart of another person, this is the challenge and amazing quality of art. Everyone has a song and they are always singing it. They want to be heard, really listened to, and find out they are not alone.</p><p>Appreciating art because of the human behind it, has for me become a simile to working with people with whose opinions I disagree. My Dad would say, "Son, behavior has its reasons." I first remember him saying this when I worked as a Scout leader and got a front seat to the varied expressions of teenage boys. Invariably as I got to know each boy, I found many reasons for strongly held opinions, and behaviors. Often, the life experiences behind these behaviors even for young boys are deep and poignant.</p><p>I see similar issues when working in a team of people. The disagreements had in office discussions of the "obviously objective" technology problems often have their roots in other aspects of life much deeper and more powerful and often hidden. This is why teams that have learned to interact with each other "off the clock" as friends and treat each other as respected individuals, for who they are, today, are more successful at solving problems.</p><p>I like a good debate and enjoy the challenge of a difficult problem and opposing viewpoints. My experience at Microsoft was of a very "challenging" kind of culture. There you can't squeak out an idea without several counters and objections. This can be good, honest disagreement, but also can turn into ugly contention that yields no redeeming fruit. (It can also <a href="http://davidweiss.blogspot.com/2006/11/impatience-and-design-by-counter.html">drown out innovation</a> since ideas don't have time to germinate and grow and most importantly interact.) Everyone has different tolerance levels for this kind of discord and those who are naturally shy, not quick witted in a debate, or easily persuaded will often find themselves quieted and discontent. This is especially sad when that individual is full of really good ideas, ideas that need to be listened to and acted upon.</p><p>Certainly you can't change others, but how can you avoid the destructive discord? How do you know when a good debate has turned into a bad debate? I have noticed in myself the following warning signs:</p><p><span style="font-weight:bold;">Respect</span>. If I don't have a deep respect, on a personal level, for the people with whom I'm working, a discussion can degrade incredibly fast. When I'm working with people like this, I have to keep on a higher state of alert.</p><p><span style="font-weight:bold;">Civility vs. Hostility.</span> This includes the obvious things like pointing and repeating "you" a lot. In all things keep the discussion civil. Take the time to reinforce with sincerity that you think there's something you don't understand. Let them know you are pushing forward because you think there's something important worth understanding.</p><p><span style="font-weight:bold;">Desire to understand.</span> When I sense my desire to understand dissipate and my desire to prove myself right increase, this is a sure indication that the discussion is heading down a destructive path. I can feel it. There's something not right in the air. I get tense, not relaxed. These are signs for me that I need to regroup, reevaluate and possibly try again later.</p><p><span style="font-weight:bold;">Judgement.</span> Another indicator is if I am in my mind passing judgement on the individual. I can sense this when I find that I'm thinking about what I'm going to say next while they are still talking, or when I interrupt their thoughts and don't let them finish. I think I already know what they are going to say, so why wait it out? This kind of impetuous behavior indicates that I'm placing myself on a higher moral ground, and this lack of humility doesn't allow understanding, and without understanding, there's little possibility of unity or resolution.</p><p>I'm sure there are other even better ways to avoid the pointless and destructive arguments, but this is what I've found so far. In reality, everyone has a song. Listen to it. Find the art in it. Discover what it is saying and if possible the reasons behind the melody. Don't fight the music. There's a person in there waiting to be found.<br /></p>
        
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/davidweiss?a=Q2HG7kbP"><img src="http://feeds.feedburner.com/~f/davidweiss?d=42" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/davidweiss?a=tRH3a6BV"><img src="http://feeds.feedburner.com/~f/davidweiss?d=43" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/davidweiss?a=DBKFO0eZ"><img src="http://feeds.feedburner.com/~f/davidweiss?i=DBKFO0eZ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/davidweiss/~4/j3MGDVZ8mbg" height="1" width="1"/>]]></content:encoded><description>As with most forms of art, there are those pieces of music or sculpture or painting that you'll dislike. Perhaps what they portray or teach don't match with your ideals of right and wrong. You'll disagree on a moral level....</description><feedburner:origLink>http://unweary.com/2008/06/dont-fight-the-music.html</feedburner:origLink></item><item><title>Management</title><link>http://feedproxy.google.com/~r/davidweiss/~3/zAMPVy5HdQE/management.html</link><category>Link</category><category>business</category><category>management</category><category>perspective</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">davidmikaelweiss@gmail.com (David Weiss)</dc:creator><pubDate>Mon, 01 Sep 2008 17:28:39 PDT</pubDate><guid isPermaLink="false">tag:unweary.com,2008://5.679</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
        <p>I just found this <a href="http://www.freshbooks.com/blog/2008/06/11/relationship-priorities-for-managers/">great quote</a> by Dee Hock, founder and CEO of VISA.</p>
<blockquote><p>I ask each person to describe the single most important responsibility of any manager. The incredibly diverse responses always have one thing in common. All are downward looking. Management inevitably has to do with exercise of authority -- with selecting employees, motivating them, training them, appraising them, organizing them, directing them, controlling them. That perception is mistaken.</p>
<p>The first and paramount responsibility of anyone who purports to manage is to manage self, one's own integrity, character, ethics, knowledge, wisdom, temperament, words, and acts. It is a complex, never-ending, incredibly difficult, oft-shunned task. Management of self is something at which we spend little time and rarely excel precisely because it is so much more difficult than prescribing and controlling the behavior of others. Without management of self, no one is fit for authority, no matter how much they acquire. The more authority they acquire the more dangerous they become. It is the management of self that should have half of our time and the best of our ability. And when we do, the ethical, moral, and spiritual elements of managing self are inescapable.</p>
<p>Asked to identify the second responsibility of any manager, again people produce a bewildering variety of opinions, again downward-looking. Another mistake. The second responsibility is to manage those who have authority over us: bosses, supervisors, directors, regulators, ad infinitum. In an organized world, there are always people with authority over us. Without their consent and support, how can we follow conviction, exercise judgment, use creative ability, achieve constructive results, or create conditions by which others can do the same? Managing superiors is essential. Devoting a quarter of our time and ability to that effort is not too much.</p>
<p>Asked for the third responsibility, people become a bit uneasy and uncertain. Yet, their thoughts remain on subordinates. Mistaken again. The third responsibility is to manage one's peers -- those over whom we have no authority and who have no authority over us -- associates, competitors, suppliers, customers -- the entire environment, if you will. Without their support, respect, and confidence, little or nothing can be accomplished. Peers can make a small heaven or hell of our life. Is it not wise to devote at least a fifth of our time, energy, and ingenuity to managing peers?</p>
<p>Asked for the fourth responsibility, people have difficulty coming up with an answer, for they are now troubled by thinking downward. However, if one has attended to self, superiors, and peers, there is little else left. The fourth responsibility is to manage those over whom we have authority.</p>
<p>The common response is that all one's time will be consumed managing self, superiors, and peers. There will be no time to manage subordinates. Exactly! One need only select decent people, introduce them to the concept, induce them to practice it, and enjoy the process. If those over whom we have authority properly manage themselves, manage us, manage their peers, and replicate the process with those they employ, what is there to do but see they are properly recognized, rewarded, and stay out of their way? It is not making better people of others that management is about. It's about making a better person of self. Income, power, and titles have nothing to do with that.</p></blockquote>
<p>Your example can be your greatest method of influence. Sadly, for some, you may be doing all of these things and find very little appreciation from those you manage. That's okay. They may think, "What does my manager do?", but it doesn't matter that they fully understand, unless you are preparing someone to take your place. Your job is not to prove your worth to those you manage. If your team is feeling individually appreciated, inspired, free to explore and get things done, then you are largely doing right by them. Still, your team will likely fail if you don't manage your superiors, peers and yourself properly, which is to say, I agree whole heartedly with Dee Hock's comments above.<br /></p>
        
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/davidweiss?a=3RUvFiyX"><img src="http://feeds.feedburner.com/~f/davidweiss?d=42" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/davidweiss?a=psOo3uBv"><img src="http://feeds.feedburner.com/~f/davidweiss?d=43" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/davidweiss?a=OE2XrkmZ"><img src="http://feeds.feedburner.com/~f/davidweiss?i=OE2XrkmZ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/davidweiss/~4/zAMPVy5HdQE" height="1" width="1"/>]]></content:encoded><description>I just found this great quote by Dee Hock, founder and CEO of VISA. I ask each person to describe the single most important responsibility of any manager. The incredibly diverse responses always have one thing in common. All are...</description><feedburner:origLink>http://unweary.com/2008/06/management.html</feedburner:origLink></item><item><title>Contrast</title><link>http://feedproxy.google.com/~r/davidweiss/~3/FnyyeLyB7pc/contrast.html</link><category>Miscellaneous</category><category>adversity</category><category>hope</category><category>perspective</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">davidmikaelweiss@gmail.com (David Weiss)</dc:creator><pubDate>Mon, 01 Sep 2008 17:29:28 PDT</pubDate><guid isPermaLink="false">tag:unweary.com,2008://5.680</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
        <p>I've visited a lot of places around the world, but I've only really lived in a few places. I grew up in Redmond, Washington, the Redmond before Microsoft. The little town with one stop light on Leary Way and fields next to the Library where I would ride my BMX bike. I grew to love the green, tall trees, massive amounts of rain and the feeling of misty mornings and amazing sunsets. Rivers were all around me and the ocean never far away. The mountains either the Olympics to the west or the Cascades to the east were ever present. I honestly couldn't imagine a better place to grow up.</p><p>I have also lived in Northeast Brazil for 2 years. There is some desert there, but mostly verdant forests, jungles, farm land and grass lands. There, it seemed like you couldn't drop anything on the ground but that it would grow. Again I was close the the ocean and while I didn't spend much time there, I got to know fishers and farmers and cattle ranchers all of whom helped me to see life more clearly. The green you experience in the equatorial areas in Brazil is a different green than I experienced back home in the Northwest. It was a brighter and more vivid green, not the dark, wet mossy green of the Pacific rain forests. It also amazed me how on the equator, there is no dusk. The sun sets so fast, you can turn your head and miss it. But with all the sun and rain and rivers, the tall trees of the jungle were always close by. The Mango trees and the huge Jaca trees seemed to always provide shade and something to look up to.</p><p>Imagine my surprise to move to southeastern Idaho, in the high desert plains. Comparatively few rivers, though there are lots of irrigation canals. Flat land, most of it lava rock. Harsh winters and an overall color I'd describe as, well, brown. Trees here are a green color, but with a muted brown to them. The ocean seems a distant dream and large bodies of water few and far between. While we drove to our new home for the first time, I commented to my wife, "Man, this is ugly!" Now, least I offend my fellow Idahoans, we are learning more about this new climate and the wonderful things to explore here, and I'm sure those of you who have braved the high desert plains will have much advice to add, but it's still a shock and the contrast is very real.</p><p>Contrast often allows you to see things more clearly, and today, I saw very real beauty in this area, for the first time. And I saw it in the trees. What struck me is how solid, sturdy and unyielding these trees are. There are trees planted and nurtured by those living around houses or in the city, but the trees that captured my mind are those out on the plains. These trees are growing up amidst the driving sub-zero wind and snow of winter and withering heat of summer, from a bed of lava rock! It's as if these trees are saying to Mother Nature, "Sure, I'll grow here, right where you planted me." And they do grow. Against all the odds for survival, they survive! They take in carbon dioxide, unusable by most around them and exhale precious oxygen into the high altitude air. In the search for water, they break up the rock and begin to make dirt for other, less sturdy plants who will benefit years after they have died. They bear the weight of heavy snows and heavier ice. They just seem to "take it" and keep living, untiringly and unheralded, these miracles of nature do their part to grow.</p><p>Perhaps my love of trees comes from my childhood growing up around them. Perhaps I took for granted the trees, water and green always around me. What ever it might be, for me, these lonely, windswept, dust covered but undaunted trees are inspiring.<br /></p>
        
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/davidweiss?a=fqBXyHH8"><img src="http://feeds.feedburner.com/~f/davidweiss?d=42" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/davidweiss?a=kAHdgcfw"><img src="http://feeds.feedburner.com/~f/davidweiss?d=43" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/davidweiss?a=FNP8l0uz"><img src="http://feeds.feedburner.com/~f/davidweiss?i=FNP8l0uz" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/davidweiss/~4/FnyyeLyB7pc" height="1" width="1"/>]]></content:encoded><description>I've visited a lot of places around the world, but I've only really lived in a few places. I grew up in Redmond, Washington, the Redmond before Microsoft. The little town with one stop light on Leary Way and fields...</description><feedburner:origLink>http://unweary.com/2008/05/contrast.html</feedburner:origLink></item><item><title>By Example</title><link>http://feedproxy.google.com/~r/davidweiss/~3/hOxt3DqptL8/by-example.html</link><category>Article</category><category>apple</category><category>cocoa</category><category>creativity</category><category>futuretechnology</category><category>innovation</category><category>microsoft</category><category>windows</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">davidmikaelweiss@gmail.com (David Weiss)</dc:creator><pubDate>Mon, 01 Sep 2008 17:30:06 PDT</pubDate><guid isPermaLink="false">tag:unweary.com,2008://5.681</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
        <p>Microsoft's recent introduction of Live Mesh is a perfect example of a core difference between Apple and Microsoft. Apple is, at heart, a product company. Microsoft is, at heart, a platform company. Both produce products and platforms, but the way they approach the problem and communicate with developers is decidedly different.</p><p>With Live Mesh Microsoft says, "Come, build on our platform and do amazing things!" What is the oft cited example for using Live Mesh? Multi-device synchronization of data. Now, to be sure, this is a big and very hard problem to solve. In fact, I really wish Apple's Sync Services were much, much better, but do you wake up in the morning thinking, "Man, I really have a Multi-device synchronization problem?" Most people don't. What they do think is, "Man it's great that when I put stuff on the web, I can get it wherever I am. All I need is a web browser." You see, syncing folders or sharing data across devices isn't top of mind in the way a developer thinks about it. Microsoft's challenge is mapping their platform to real problems in a persuasive way.</p><p>Contrast this with Apple's normal product focused pattern. First they release a product that solves a real, tangible problem people have. Say, "I hate it that I have to carry around my iPod and my Cell phone everywhere!" or "Man I wish I could buy that cool song I just heard, right now." or "I have so many digital photos, I wish there was an easy way to do something cool with them." or "Man I hate it when I loose files on my computer, I wish I could just go back in time." To solve these problems Apple, like Microsoft, has to build a platform, but this platform is built for a product first, <b>which they use and improve</b>. Then when they talk to developers they can say, "Did you see this cool thing we just did? You can do the same thing or even something better! Here's how we did it..." It's the difference between saying, "Here are the tools, let me show you how to use them." and "I used these tools to do this great thing. Let me show you how and maybe you can do the same thing." Ultimately, it's leadership by example.</p><p>Another great example is Apple's use of the Cocoa APIs in their own applications. Apple builds amazing products and then is able to say to developers, "We used the same APIs available to you today!" Contrast this again to Microsoft. Windows Vista was released with some remarkable new C# APIs. Many of them very cool and very interesting, but what is Microsoft Office written in? C and C++. What APIs does Office use? A multitude of Office only APIs and libraries shared among the applications. Does this hurt C# and the new "WinFX" platform "street cred"? I think so.</p><p>Ultimately, Apple and Microsoft are trying to solve many of the same problems, but the path you choose while logical to you, may not be so logical to those you most need to persuade and inspire. No one can argue with the results. For me Apple's "solution first, platform second" approach makes for easy understanding of new ideas as well as providing the activation energy needed to try something new.<br /></p>
        
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/davidweiss?a=0hB69h1e"><img src="http://feeds.feedburner.com/~f/davidweiss?d=42" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/davidweiss?a=XLSBN9Ld"><img src="http://feeds.feedburner.com/~f/davidweiss?d=43" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/davidweiss?a=Xe5CI8cY"><img src="http://feeds.feedburner.com/~f/davidweiss?i=Xe5CI8cY" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/davidweiss/~4/hOxt3DqptL8" height="1" width="1"/>]]></content:encoded><description>Microsoft's recent introduction of Live Mesh is a perfect example of a core difference between Apple and Microsoft. Apple is, at heart, a product company. Microsoft is, at heart, a platform company. Both produce products and platforms, but the way...</description><feedburner:origLink>http://unweary.com/2008/04/by-example.html</feedburner:origLink></item><item><title>Metacognitive Miscalibration</title><link>http://feedproxy.google.com/~r/davidweiss/~3/iFHy0nLm7Fc/metacognitive-miscalibration.html</link><category>Article</category><category>automation</category><category>cocoa</category><category>design</category><category>learning</category><category>programming</category><category>software</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">davidmikaelweiss@gmail.com (David Weiss)</dc:creator><pubDate>Mon, 01 Sep 2008 17:30:41 PDT</pubDate><guid isPermaLink="false">tag:unweary.com,2008://5.682</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
        <p>A few tweets ago, (I always feel weird referring to Twitter in the past tense) I <a href="https://twitter.com/davidweiss/statuses/779408777">posted</a>: Why are the unintelligent or uninformed so arrogantly confident while the intelligent and well informed so often unsure and apprehensive? There is something very human to thinking you know more than you really do about a subject or issue. While, this problem can be seen in many areas generally it's particularly acute in software development. For example...</p><p><b>AppleScript in Office X</b></p><p>Back when Mac OS X was just about to go 10.0.0 we were busy working on getting Mac Office working on the new platform. There was a lot of pain involved with the transition. Many APIs had been removed and alternatives needed to be provisioned (and tested), the new Aqua interface guidelines had to be applied to the whole of Office and a host of other issues needed to be addressed. I was at the time on the team that wrote the tools for automated testing and I was pushing hard to get Office wide AppleScript support on the list of features we'd commit to doing for Office X. I wanted this not only for our customers, but to augment our testing efforts. With an API to drive the applications we could automate many "smoke tests" on a daily basis as well as set the stage for long term AppleScript based test suites. Automation testing benefits are often not fully realized, especially static automation, until the version after you setup the automation, so I was especially anxious that we get our API in Office X, so we could reap the return on investment for Office 2004.</p><p>I remember talking with Jim Murphy about getting AppleScript support like it was yesterday. We were in building 44 and his window office was near the 2nd story walkway that connected our building to the cafeteria. In my naivete I asked why we couldn't just build a some kind of layer to call into the engine code of Office and presto, AppleScript dictionaries for Office would be complete. I pointed to some improvements Apple had made to make AppleScript a better inter-application communication protocol and ask, "How hard could it be?" Jim turned to me and said, "Hard? There's nothing easy about it. It's all pain. All pain." Then as was typical, turned back to his work, leaving me to think.</p><p>In this case, I was the unintelligent and uninformed, but very enthusiastic novice. Jim turned out to be right. For Office X, we did try to do the AppleScript work, but it turned out to be much more difficult a problem to solve. After months of work and many dead ends, we pulled the feature from the Office X feature list. For Office 2004, we tried again. In this case, Jim himself, one of our best developers, ended up spending the better part of a year getting AppleScript to work with Office, which is probably worth another post in and of itself. I thought I knew more than I did, I thought the problem was simpler than it was. My confidence and thinking was miscalibrated. The root cause was my lack of understanding and experience.</p><p><b>Wicked Problems</b></p><p>Sometimes, even the best developers underestimate the scope, breadth and depth of a problem. In a drive for simplicity, I observed in myself and others another kind of design time problem where thinking was miscalibrated. The cycle I have observed looks like this:</p><ol><p></p><li>Developer looks at a problem A, and thinks he or she fully understands the problem.<p></p><p></p></li><li>Developer designs a simple solution to problem A.<p></p><p></p></li><li>Developer codes the simple solution.<p></p><p></p></li><li>Developer or tester or marketing or customer use simple solution for problem A.<p></p><p></p></li><li>Bugs trickle in and solution A is modified, bit by bit, bug by bug, until it is patched in a thousand ways and no longer looks or acts like the simple solution. The solution is complex.<p></p></li></ol><p>Some will say, "Hey! Why didn't that lame developer take the time to really understand the problem? Then he could have taken the time to fully comprehend the complexities of the problem, and then design a simple, elegant solution!" The problem with this is that many subtleties to the problem do not manifest themselves until very late in the development process which make re-architecting the solution for such a small issue un-reasonable. But this is a "death by a thousand paper cuts" issue. What's worse, many architectural issues can only be comprehended after years in a problem space, and as promotions or attrition happen, the so called simple solutions, with their complex instantiations proliferate in code.</p><p><a href="http://richardsona.squarespace.com/main/2006/2/21/wicked-problems-peripheral-vision.html">Adam Richardson</a> spoke to the <a href="http://davidweiss.blogspot.com/2006/11/cost-of-focus.html">challenges</a> of wicked problems when he said:</p><blockquote><p>Wicked problems are very difficult to understand by staring straight into them and looking for clear detail, however. They need to be approached from the edges, sort of like doing a jigsaw puzzle where you find the edge pieces first. Having peripheral vision that is trained to be sensitive to the edges is a key capability (this applies both to product teams and to business units - wherever wicked problems occur).</p></blockquote><p>Normally this causes the developer to tack on simple solution to solutions with patch upon patch applied with the Hippocratic Oath echoing in their ears to "do no harm", but deceptively the bandage is not big enough for he wound, and no one knows.</p><p><b>The Desire to Learn</b></p><p>Another reason why some can feel "informed" when in fact they are not is that they have lost the hunger to learn. They've lost the desire to learn and grow. René Descartes said it this way:</p><blockquote><p>Good sense is the most equitably distributed of all things because no matter how much or little a person has, everyone feels so abundantly provided with good sense that he feels no desire for more than he already possesses.</p></blockquote><p>There is a reason for diversity of opinion, it provides the natural tension that keeps us from thinking we've got the problem solved. When I left Microsoft to go back to school and finish my degree, many asked, "Why are you doing that? What are they going to be able to teach you?" I'll admit that this partially resonated with me. I wanted to be the sage of wisdom, but as I've spent time with teachers and students, many of whom do have less "industry experience", I have learned an enormous amount! To put it bluntly, I have been humbled. I've learned things technically, intellectually, physically and even spiritually. I feel so blessed. I'm beginning to think that what any given situation can teach you depends largely on the person experiencing the situation and very little on the experience itself. Put another way, there's a great difference between 50 years of experience and 1 years worth of experience repeated 50 times.</p><p><b>Personal Pride - the Anti-change Agent</b></p><p>Closely related to the lack of desire to learn is the desire to avoid being wrong. So much in school is focused on being right, knowing the right answer to a test or the correct proof or solution. In sports, no one likes to lose. Everyone likes a winner! But this desire can work into our minds in a limiting way. Leo Tolstoy wrote:</p><blockquote><p>I know that most men, including those at ease with problems of the highest complexity, can seldom accept even the simplest and most obvious truth if it be such as would oblige them to admit the falsity of conclusions which they have delighted in explaining to colleagues, which they have proudly taught to others, and which they have woven, thread by thread, into the fabric of their lives.</p></blockquote><p>At work I would say, "We don't fail half as much as we need to." I still think this way, but now I've found a new reason: Failing keeps our mental muscles and joints from stiffing with pride and forming into the arthritis of the mind.</p><p><b>The Well Intended Deception</b></p><p>Another reason for metacognitive miscalibration I think stems from the very basis of good object oriented abstraction and encapsulation. When I write some simple app with Cocoa's AppKit and Foundation libraries, I am, as they say, standing on the shoulders of giants. I've wondered how many actual lines of code are called when I double click a simple app like TextEdit. Who wrote these lines of code? When did they actually get written? What were the discussions behind their design and implementation? Even Apple couldn't fully answer these questions. It is all this code that even the simplest of Cocoa applications depends upon. But still we continue to have demos around how "few lines of code" were needed to accomplish something. This is a well intended deception, because really, more code is being executed and written, but only now how this code works is opaque. It's well intended because who wants to write, maintain and debug more code? Why not offload this to Apple? I expect these demos to continue, because less code for a developer to write is the canonical example of efficiency, but there's something wrong that comes from this. It's the feeling that you actually really understand what is going on to make your application tick. These assumptions and abstractions can be benign, but they can also make one feel and think that they know more than they do and can do more than easily possible.</p><p>In the process of detail management that is software development, making things simpler and more tractable is an excellent goal, but there's a limit to how "simple and easy" things can get and still be valuable. Recently I overheard two students talking about building an iPhone application. The one said to the other, "Dude, they showed this awesome demo of Spore, where in only 2 weeks, 2 weeks! they got this awesome iPhone game running! It's so easy. We can totally build an awesome iPhone app!" First, I love the enthusiasm and I hope they do in fact build an awesome iPhone application. Apple was trying to demo how easy it was to build iPhone applications and I think we've never seen a mobile platform that's better for developers, however:</p><p>Taking a senior developer who as spent the last several years of his life building games and developing Spore, bringing him into Apple with full and uninterrupted access to Apple's staff of iPhone engineers that have been developing the iPhone SDK and iPhone applications hardly equates to a college student being successful at all the complexity involved with boot-strapping a company and building a successful iPhone application from scratch. Building great software is still hard, hard work. It's tedious, often un-glamorous and takes someone who doesn't mind getting down and dirty with the details to make something great. Most will simply give up, and even those with the passion and stamina to continue are hardly assured of success. I suppose I'm arguing simply that a healthy dose of Steve Job's famed "Reality Distortion Field" do not a great developer, company or software make.</p><p>There are probably other reasons we tend to think we know more than we actually do. But the lesson for me is this: I need to take some time to ponder and reflect regularly. Am I in the "unintelligent or uninformed and arrogantly confident" camp? If so why and how can I get humble? Am I part of the "intelligent and well informed but unsure and apprehensive" group? If so why and what can I do increase my tolerance for risk and decrease my fear of being wrong? A little meta I know, but the title should have warned you. :-)<br /></p>
        
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/davidweiss?a=yGhVjdZ4"><img src="http://feeds.feedburner.com/~f/davidweiss?d=42" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/davidweiss?a=I5glZcw2"><img src="http://feeds.feedburner.com/~f/davidweiss?d=43" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/davidweiss?a=yKh5gfL5"><img src="http://feeds.feedburner.com/~f/davidweiss?i=yKh5gfL5" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/davidweiss/~4/iFHy0nLm7Fc" height="1" width="1"/>]]></content:encoded><description>A few tweets ago, (I always feel weird referring to Twitter in the past tense) I posted: Why are the unintelligent or uninformed so arrogantly confident while the intelligent and well informed so often unsure and apprehensive? There is something...</description><feedburner:origLink>http://unweary.com/2008/04/metacognitive-miscalibration.html</feedburner:origLink></item><item><title>CodWarrior</title><link>http://feedproxy.google.com/~r/davidweiss/~3/08vukNTsAWI/codwarrior.html</link><category>Miscellaneous</category><category>apple</category><category>iphone</category><category>perspective</category><category>programming</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">davidmikaelweiss@gmail.com (David Weiss)</dc:creator><pubDate>Mon, 01 Sep 2008 15:51:48 PDT</pubDate><guid isPermaLink="false">tag:unweary.com,2008://5.683</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
        <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_WTtSfbIsWPk/R9n3psnj53I/AAAAAAAAAJM/t3Y-zlNhwQw/s1600-h/CodWarrior.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_WTtSfbIsWPk/R9n3psnj53I/AAAAAAAAAJM/t3Y-zlNhwQw/s400/CodWarrior.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5177441542362883954" /></a>
<p>Here's a blast from the past. As Xcode continues to improve as the default IDE on the Mac and for the iPhone, the majority of Apple's current developers don't even know how CodeWarrior saved Apple. With the release of the iPhone SDK, I think it's not far fetched to imagine Apple's <a href="http://twitter.com/davidweiss/statuses/767690278">WWDC attendance tripling</a>. Someone sent me this graphic from an old Metrowerks t-shirt. If you have this shirt, you fully qualify as an old timer.<br /></p>
        
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/davidweiss?a=HAHPQVol"><img src="http://feeds.feedburner.com/~f/davidweiss?d=42" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/davidweiss?a=HYAin6hC"><img src="http://feeds.feedburner.com/~f/davidweiss?d=43" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/davidweiss?a=y0NPEvlC"><img src="http://feeds.feedburner.com/~f/davidweiss?i=y0NPEvlC" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/davidweiss/~4/08vukNTsAWI" height="1" width="1"/>]]></content:encoded><description>Here's a blast from the past. As Xcode continues to improve as the default IDE on the Mac and for the iPhone, the majority of Apple's current developers don't even know how CodeWarrior saved Apple. With the release of...</description><feedburner:origLink>http://unweary.com/2008/03/codwarrior.html</feedburner:origLink></item><media:credit role="author">David Weiss</media:credit><media:rating>nonadult</media:rating></channel></rss>
