<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-19647277</id><updated>2012-01-24T14:01:38.473-08:00</updated><category term='promotion'/><category term='Innovation'/><category term='anchors'/><category term='user experience'/><category term='tricks'/><category term='MSWord'/><category term='Microsoft'/><category term='MSN'/><category term='pdfmark'/><category term='PDF'/><category term='Cross Worksheet Reference'/><category term='Scrolling'/><category term='Confirmation'/><category term='pdfprint'/><category term='dual list'/><category term='Delete'/><category term='bookmarks'/><category term='advanced'/><category term='DeleteConfirmation'/><category term='Word'/><category term='Acrobate'/><category term='Phone'/><category term='Google'/><category term='Skype'/><category term='component'/><category term='Delicious'/><category term='Computer'/><category term='&apos;named destinations&apos;'/><category term='key combinations'/><category term='respect'/><category term='Vonage'/><category term='Webpage'/><category term='Halloween'/><category term='Linking'/><category term='shortcuts'/><category term='PPT PowerPoint Update &quot;insert and link&quot; insert link images'/><category term='invitations'/><category term='dual-list'/><category term='meetings'/><category term='Growing'/><category term='cell references'/><category term='duallist'/><category term='usability'/><category term='Dialogs'/><category term='Microsoft Desktop Search'/><category term='VOIP'/><title type='text'>Focus on Distinction</title><subtitle type='html'>John laPlante's blog. The title comes from the idea that there is often some critical detail that makes all the difference in a design, a movie, an event, etc. I am espeically interested in usability and design.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://focusondistinction.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://focusondistinction.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>John laPlante</name><uri>http://www.blogger.com/profile/14164750338598946681</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-19647277.post-4529397521538327697</id><published>2012-01-24T13:49:00.000-08:00</published><updated>2012-01-24T14:01:38.488-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tricks'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Desktop Search'/><category scheme='http://www.blogger.com/atom/ns#' term='key combinations'/><category scheme='http://www.blogger.com/atom/ns#' term='MSN'/><category scheme='http://www.blogger.com/atom/ns#' term='advanced'/><category scheme='http://www.blogger.com/atom/ns#' term='shortcuts'/><title type='text'></title><content type='html'>&lt;h1&gt;&lt;span&gt;&lt;span  &gt;MS Desktop Search Tips&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;I recently figured out a bunch of ways to make Windows desktop search a lot more effective.&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;  &lt;h3&gt;&lt;span&gt;File Name&lt;/span&gt;&lt;/h3&gt;  &lt;p class="MsoNormal"&gt;&lt;span&gt;name:search -&amp;gt; finds files with term ‘search’&lt;br /&gt;name:=”search.png” &lt;/span&gt;-&amp;gt;  finds files with exact file name ‘search.png'. Note :=&lt;/p&gt;  &lt;h3&gt;&lt;span&gt;Extension and Folders&lt;/span&gt;&lt;/h3&gt;  &lt;p class="MsoNormal"&gt;&lt;span&gt;ext:docx &lt;/span&gt;-&amp;gt;  finds files with extention .docx&lt;br /&gt;&lt;span&gt;folder:documents &lt;/span&gt;-&amp;gt;  finds folders with name documents in them&lt;/p&gt;  &lt;h3&gt;&lt;span&gt;Kind of File or Item&lt;/span&gt;&lt;/h3&gt;  &lt;p class="MsoNormal"&gt;&lt;span&gt;kind:favorites                                                  &lt;br /&gt;kind:email&lt;br /&gt;kind:programs&lt;br /&gt;Kind:pictures &lt;/span&gt;-&amp;gt;  Finds files of type pictures (png, psd, gif, etc.). See &lt;span class="Apple-tab-span" style="white-space: pre; "&gt;     &lt;/span&gt;ext:png to better narrow.&lt;/p&gt;  &lt;h3&gt;&lt;span&gt;Date&lt;/span&gt;&lt;/h3&gt;  &lt;p class="MsoNormal"&gt;&lt;span&gt;date:&amp;gt;11/05/04 &lt;/span&gt;-&amp;gt;  Finds items with a date after 11/05/04&lt;br /&gt;&lt;span&gt;date:this week &lt;/span&gt;-&amp;gt;  Finds items that were saved this week.&lt;br /&gt;date:today&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;File Size&lt;/span&gt;&lt;/h3&gt;size:&amp;gt;5mb -&amp;gt; Finds items with a size greater than 5 megabytes (good for large files).&lt;br /&gt;&lt;span&gt;size:&amp;lt;5kb &lt;/span&gt; -&amp;gt;  Finds items with a size less then 5 killobytes (good for icons)&lt;p&gt;&lt;/p&gt;  &lt;h3&gt;&lt;span&gt;E-Mail Searching (Outlook)&lt;/span&gt;&lt;/h3&gt;  &lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span&gt;from:”jeff johnson” &lt;/span&gt;&lt;/span&gt; -&amp;gt;  Finds e-mails from Jeff Johnson.&lt;br /&gt;has:attachment  -&amp;gt;  Finds e-mails that include attachments. Great for narrowing the list.&lt;br /&gt;!word  -&amp;gt;  a shortcut (not sure what this means anymore).&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;br /&gt;&lt;span class="Heading3Char"&gt;&lt;b&gt;&lt;span&gt;Operators&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" border="0" cellpadding="0" width="100%" style="width:100.0%;mso-cellspacing:1.5pt;mso-yfti-tbllook:1184"&gt;  &lt;tbody&gt;&lt;tr&gt;   &lt;td style="padding:.75pt .75pt .75pt .75pt"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; "&gt;&lt;b&gt;&lt;span&gt;Keyword/symbol&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding:.75pt .75pt .75pt .75pt"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; "&gt;&lt;b&gt;&lt;span&gt;Example&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding:.75pt .75pt .75pt .75pt"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; "&gt;&lt;b&gt;&lt;span&gt;Function&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td style="padding:.75pt .75pt .75pt .75pt"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; "&gt;&lt;span&gt;NOT&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding:.75pt .75pt .75pt .75pt"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; "&gt;&lt;span&gt;social NOT security&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding:.75pt .75pt .75pt .75pt"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; "&gt;&lt;span&gt;Finds items containing &lt;b&gt;social&lt;/b&gt;,   but not &lt;b&gt;security&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td style="padding:.75pt .75pt .75pt .75pt"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; "&gt;&lt;span&gt;-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding:.75pt .75pt .75pt .75pt"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; "&gt;&lt;span&gt;social -security&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding:.75pt .75pt .75pt .75pt"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; "&gt;&lt;span&gt;Finds items containing &lt;b&gt;social&lt;/b&gt;,   but not &lt;b&gt;security&lt;/b&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td style="padding:.75pt .75pt .75pt .75pt"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; "&gt;&lt;span&gt;OR&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding:.75pt .75pt .75pt .75pt"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; "&gt;&lt;span&gt;social OR security&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding:.75pt .75pt .75pt .75pt"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; "&gt;&lt;span&gt;Finds items containing &lt;b&gt;social&lt;/b&gt;   or &lt;b&gt;security&lt;/b&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td style="padding:.75pt .75pt .75pt .75pt"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; "&gt;&lt;span&gt;Quotation marks&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding:.75pt .75pt .75pt .75pt"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; "&gt;&lt;span&gt;"social security"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding:.75pt .75pt .75pt .75pt"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; "&gt;&lt;span&gt;&lt;span&gt;Finds items containing the exact   phrase &lt;/span&gt;&lt;b&gt;&lt;span&gt;social securit&lt;/span&gt;&lt;span&gt;y&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19647277-4529397521538327697?l=focusondistinction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://focusondistinction.blogspot.com/feeds/4529397521538327697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19647277&amp;postID=4529397521538327697' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/4529397521538327697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/4529397521538327697'/><link rel='alternate' type='text/html' href='http://focusondistinction.blogspot.com/2012/01/ms-desktop-search-tips-i-recently.html' title=''/><author><name>John laPlante</name><uri>http://www.blogger.com/profile/14164750338598946681</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19647277.post-4903077872208439569</id><published>2011-11-02T10:41:00.001-07:00</published><updated>2011-11-02T10:46:12.257-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Halloween'/><title type='text'>Monopoolies on Halloween Candy</title><content type='html'>I went to Target to get Halloween candy and was amazed at the volume but lack of variety. A few companies seem to dominate the supply. Plenty of Hershey's chocolate, butterfingers, Reese's and peanut butter cups. I was able to find a few bags of Heath bars. Notably missing were candy from the makers of dark chocolate, Nestle, Lint, and smaller candy makers. I couldn't find Lemonheads. It is too bad because I'd love to buy better candy and hand it out. Make all the neighbor kids want to come back to my house next year.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19647277-4903077872208439569?l=focusondistinction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://focusondistinction.blogspot.com/feeds/4903077872208439569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19647277&amp;postID=4903077872208439569' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/4903077872208439569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/4903077872208439569'/><link rel='alternate' type='text/html' href='http://focusondistinction.blogspot.com/2011/11/monopoolies-on-halloween-candy.html' title='Monopoolies on Halloween Candy'/><author><name>John laPlante</name><uri>http://www.blogger.com/profile/14164750338598946681</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19647277.post-116831456383547533</id><published>2011-06-28T12:01:00.000-07:00</published><updated>2011-06-28T12:12:54.143-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dialogs'/><category scheme='http://www.blogger.com/atom/ns#' term='Delete'/><category scheme='http://www.blogger.com/atom/ns#' term='Confirmation'/><category scheme='http://www.blogger.com/atom/ns#' term='DeleteConfirmation'/><category scheme='http://www.blogger.com/atom/ns#' term='Delicious'/><category scheme='http://www.blogger.com/atom/ns#' term='Innovation'/><title type='text'>new Delicious interface - delete a bookmark</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Sad sad sad day. Delicious has changed their confirmation method for  deleting a bookmark. The link Delete would change in place to 'Delete Bookmark  Yes | No'. The old way was incredible innovative. The user didn't have  to move their eyes at at all and the whole experience felt so light  weight. Why would they change this to a dialog box?&lt;/span&gt; &lt;a style="font-family: verdana;" href="http://www.flickr.com/photos/nda/5226283826/?reg=1&amp;amp;src=comment"&gt;You can see the new way here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-WZEFVvpDmwY/TgoncA6PFVI/AAAAAAAAAI8/-lBnSaBf9bA/s1600/Innovation%2BConfirmation%2BDialog.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 59px;" src="http://4.bp.blogspot.com/-WZEFVvpDmwY/TgoncA6PFVI/AAAAAAAAAI8/-lBnSaBf9bA/s400/Innovation%2BConfirmation%2BDialog.PNG" alt="" id="BLOGGER_PHOTO_ID_5623350446959564114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-GPwLl4Hsibg/Tgonf3vUwWI/AAAAAAAAAJE/M4S8Pxx58BI/s1600/Innovation%2BConfirmation%2BDialog2.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 59px;" src="http://4.bp.blogspot.com/-GPwLl4Hsibg/Tgonf3vUwWI/AAAAAAAAAJE/M4S8Pxx58BI/s400/Innovation%2BConfirmation%2BDialog2.PNG" alt="" id="BLOGGER_PHOTO_ID_5623350513217356130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-sNkOovfQ_4k/TgomKA3n8dI/AAAAAAAAAI0/Puig2ZAPmbU/s1600/delicious%2Bdatashop%2Bdelete.bmp"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19647277-116831456383547533?l=focusondistinction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://focusondistinction.blogspot.com/feeds/116831456383547533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19647277&amp;postID=116831456383547533' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/116831456383547533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/116831456383547533'/><link rel='alternate' type='text/html' href='http://focusondistinction.blogspot.com/2011/06/new-delicious-interface-delete-bookmark.html' title='new Delicious interface - delete a bookmark'/><author><name>John laPlante</name><uri>http://www.blogger.com/profile/14164750338598946681</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-WZEFVvpDmwY/TgoncA6PFVI/AAAAAAAAAI8/-lBnSaBf9bA/s72-c/Innovation%2BConfirmation%2BDialog.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19647277.post-6249169716448125410</id><published>2009-07-07T13:03:00.000-07:00</published><updated>2009-07-07T13:33:45.881-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PDF'/><category scheme='http://www.blogger.com/atom/ns#' term='anchors'/><category scheme='http://www.blogger.com/atom/ns#' term='&apos;named destinations&apos;'/><category scheme='http://www.blogger.com/atom/ns#' term='pdfprint'/><category scheme='http://www.blogger.com/atom/ns#' term='pdfmark'/><category scheme='http://www.blogger.com/atom/ns#' term='Acrobate'/><category scheme='http://www.blogger.com/atom/ns#' term='Linking'/><category scheme='http://www.blogger.com/atom/ns#' term='Word'/><category scheme='http://www.blogger.com/atom/ns#' term='MSWord'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='bookmarks'/><title type='text'>Hyperlinks to Anchors in a PDF: Using MS Word to Produce the PDF</title><content type='html'>&lt;span style="font-family:verdana;"&gt;I recently wanted to hyperlink to a PDF and open it at a certain place, much like a anchor in a web page. This turns out to be possible but wasn't as easy as I'd like. Documentation for this is available but is scattered. In my case, I was using MS Word to author. The documentation instructed me to add 'named destinations' to the PDF file. Named destinatios are equivelant to bookmarks in MS Word or anchors in HTML. I have the full version of Acrobat so I could do add these named destinations but every time I convert the Word file to PDF, it would erase the 'named destinations.' I found that I could add Print Fields to my MS Word document and those would be converted into 'named destinations' during the conversion to PDF. Fields in MS Word are essentially codes that you can add to the file. The reader doesn't see them. They are usually used for formatting etc.&lt;br /&gt;&lt;br /&gt;The following series of ScreenShots shows you some of the key areas of the Word and Acrobat UI for working with 'named destinations'.&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;A text string that I want to link to - that is I want a 'named destination' here when I make the PDF&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BTkgr68UwUk/SlOrW0ecxkI/AAAAAAAAAGs/gZF1wHVXgKs/s1600-h/ScreenShot384.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 522px; height: 56px;" src="http://1.bp.blogspot.com/_BTkgr68UwUk/SlOrW0ecxkI/AAAAAAAAAGs/gZF1wHVXgKs/s320/ScreenShot384.png" alt="" id="BLOGGER_PHOTO_ID_5355812790405482050" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;In MS Word 2007, I use the Insert tab, Quick Parts menu and choose fields.&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BTkgr68UwUk/SlOtOPwncBI/AAAAAAAAAHU/2FpWwz5a8tc/s1600-h/ScreenShot412.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 551px; height: 275px;" src="http://1.bp.blogspot.com/_BTkgr68UwUk/SlOtOPwncBI/AAAAAAAAAHU/2FpWwz5a8tc/s320/ScreenShot412.png" alt="" id="BLOGGER_PHOTO_ID_5355814842133868562" border="0" /&gt;&lt;/a&gt;MS Word has this field dialog where you can insert a Print Field. The image shows the format that you need for 'named destinations.' The 'named destination' will be named VD01. That is the value you will put on the end of your URL (e.g., http://mydomain.com/mypage.html#VD01).  I recorded a macro to insert these things which made it considerable y easier to repeat than having to type that long windowed thing into the dialog box.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_BTkgr68UwUk/SlOug7C2s6I/AAAAAAAAAHk/i7s9HhKuRX8/s1600-h/ScreenShot413.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 654px; height: 432px;" src="http://3.bp.blogspot.com/_BTkgr68UwUk/SlOug7C2s6I/AAAAAAAAAHk/i7s9HhKuRX8/s400/ScreenShot413.png" alt="" id="BLOGGER_PHOTO_ID_5355816262502364066" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;After you add a Print Field, you can edit it by pressing Alt-F9 in MS Word. The Print Field looks like a bunch of garbage (a little scary I agree). But, you can right click on it and choose Edit Field to re-open the fields dialog.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_BTkgr68UwUk/SlOrXpjAV2I/AAAAAAAAAG8/6lb9RnpaVuE/s1600-h/MS+Word+Print+Fields+for+Named+Destinations.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 664px; height: 150px;" src="http://4.bp.blogspot.com/_BTkgr68UwUk/SlOrXpjAV2I/AAAAAAAAAG8/6lb9RnpaVuE/s320/MS+Word+Print+Fields+for+Named+Destinations.png" alt="" id="BLOGGER_PHOTO_ID_5355812804651669346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;You can view, edit, and add 'named destinations' in Acrobat Professional.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_BTkgr68UwUk/SlOrXnxmhCI/AAAAAAAAAHE/eWZLzlC49oo/s1600-h/MS+Word+Print+Fields+for+Named+Destinations3_Acrobat.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 406px; height: 507px;" src="http://2.bp.blogspot.com/_BTkgr68UwUk/SlOrXnxmhCI/AAAAAAAAAHE/eWZLzlC49oo/s320/MS+Word+Print+Fields+for+Named+Destinations3_Acrobat.png" alt="" id="BLOGGER_PHOTO_ID_5355812804176020514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Here is the list of 'named destinations' in Acrobat&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_BTkgr68UwUk/SlOrX0-jHgI/AAAAAAAAAHM/-fuZFwjnBx4/s1600-h/MS+Word+Print+Fields+for+Named+Destinations4_Acrobat.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 412px; height: 768px;" src="http://4.bp.blogspot.com/_BTkgr68UwUk/SlOrX0-jHgI/AAAAAAAAAHM/-fuZFwjnBx4/s320/MS+Word+Print+Fields+for+Named+Destinations4_Acrobat.png" alt="" id="BLOGGER_PHOTO_ID_5355812807719984642" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Some useful links that discuss the theory:&lt;br /&gt;&lt;a href="http://support.adobe.com/devsup/devsup.nsf/docs/52198.htm"&gt;http://support.adobe.com/devsup/devsup.nsf/docs/52198.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="https://www.planetpdf.com/forumarchive/50911.asp"&gt;https://www.planetpdf.com/forumarchive/50911.asp&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cws.internet.com/article/4069-.htm"&gt;http://cws.internet.com/article/4069-.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19647277-6249169716448125410?l=focusondistinction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://focusondistinction.blogspot.com/feeds/6249169716448125410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19647277&amp;postID=6249169716448125410' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/6249169716448125410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/6249169716448125410'/><link rel='alternate' type='text/html' href='http://focusondistinction.blogspot.com/2009/07/hyperlinks-to-anchors-in-pdf-using-ms.html' title='Hyperlinks to Anchors in a PDF: Using MS Word to Produce the PDF'/><author><name>John laPlante</name><uri>http://www.blogger.com/profile/14164750338598946681</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_BTkgr68UwUk/SlOrW0ecxkI/AAAAAAAAAGs/gZF1wHVXgKs/s72-c/ScreenShot384.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19647277.post-2143171920366562006</id><published>2009-06-19T10:36:00.000-07:00</published><updated>2009-06-19T10:51:21.825-07:00</updated><title type='text'>Development out of the Womb</title><content type='html'>&lt;span style="font-family: verdana;font-size:85%;" &gt;The Daily Show had a &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;debate with Mike Huckabee about abortion. Huckabees main argument was that life begins at conception. John Stewart's argument was that a woman has the right to control her body. These arguments are standard.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;I've thought for a while that some day, advances in technology will allow us to develop a child outside of the womb from a early phase in pregnancy.  This technology would go a long way to resolving the abortion issue. Instead of getting an abortion, a woman could have the fetus removed and the child could be raised by the state or maybe by some of those folks waiving banners outside the hospital.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; font-size-adjust: none; font-stretch: normal; color: rgb(51, 51, 51); background-color: rgb(245, 245, 245);" width="360" cellpadding="0" cellspacing="0" height="353"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(229, 229, 229);" valign="middle"&gt;&lt;td style="padding: 2px 1px 0px 5px;"&gt;&lt;a target="_blank" style="color: rgb(51, 51, 51); text-decoration: none; font-weight: bold;" href="http://www.thedailyshow.com/"&gt;The Daily Show With Jon Stewart&lt;/a&gt;&lt;/td&gt;&lt;td style="padding: 2px 5px 0px; text-align: right; font-weight: bold;"&gt;Mon - Thurs 11p / 10c&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 14px;" valign="middle"&gt;&lt;td style="padding: 2px 1px 0px 5px;" colspan="2"&gt;&lt;a target="_blank" style="color: rgb(51, 51, 51); text-decoration: none; font-weight: bold;" href="http://www.thedailyshow.com/video/index.jhtml?videoId=231389&amp;amp;title=mike-huckabee-extended"&gt;Mike Huckabee Extended Interview Pt. 2&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 14px; background-color: rgb(53, 53, 53);" valign="middle"&gt;&lt;td colspan="2" style="padding: 2px 5px 0px; overflow: hidden; width: 360px; text-align: right;"&gt;&lt;a target="_blank" style="color: rgb(150, 222, 255); text-decoration: none; font-weight: bold;" href="http://www.thedailyshow.com/"&gt;thedailyshow.com&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="middle"&gt;&lt;td style="padding: 0px;" colspan="2"&gt;&lt;embed style="display: block;" src="http://media.mtvnservices.com/mgid:cms:item:comedycentral.com:231389" type="application/x-shockwave-flash" wmode="window" allowfullscreen="true" flashvars="autoPlay=false" allowscriptaccess="always" allownetworking="all" bgcolor="#000000" width="360" height="301"&gt;&lt;/embed&gt;&lt;a style="left: 360px ! important; top: -301px ! important;" title="Click here to block this object with Adblock Plus" class="frdfntimmjlxwekktkzf visible ontop" href="http://media.mtvnservices.com/mgid:cms:item:comedycentral.com:231389"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 18px;" valign="middle"&gt;&lt;td style="padding: 0px;" colspan="2"&gt;&lt;table style="margin: 0px; text-align: center;" width="100%" cellpadding="0" cellspacing="0" height="100%"&gt;&lt;tbody&gt;&lt;tr valign="middle"&gt;&lt;td style="padding: 3px; width: 33%;"&gt;&lt;a target="_blank" style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10px; line-height: normal; font-size-adjust: none; font-stretch: normal; color: rgb(51, 51, 51); text-decoration: none;" href="http://www.thedailyshow.com/full-episodes/index.jhtml"&gt;Daily Show&lt;br /&gt;Full Episodes&lt;/a&gt;&lt;/td&gt;&lt;td style="padding: 3px; width: 33%;"&gt;&lt;a target="_blank" style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10px; line-height: normal; font-size-adjust: none; font-stretch: normal; color: rgb(51, 51, 51); text-decoration: none;" href="http://www.indecisionforever.com/"&gt;Political Humor&lt;/a&gt;&lt;/td&gt;&lt;td style="padding: 3px; width: 33%;"&gt;&lt;a target="_blank" style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10px; line-height: normal; font-size-adjust: none; font-stretch: normal; color: rgb(51, 51, 51); text-decoration: none;" href="http://www.thedailyshow.com/video/?searchterm=jason+jones"&gt;Jason Jones in Iran&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19647277-2143171920366562006?l=focusondistinction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://focusondistinction.blogspot.com/feeds/2143171920366562006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19647277&amp;postID=2143171920366562006' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/2143171920366562006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/2143171920366562006'/><link rel='alternate' type='text/html' href='http://focusondistinction.blogspot.com/2009/06/development-out-of-womb.html' title='Development out of the Womb'/><author><name>John laPlante</name><uri>http://www.blogger.com/profile/14164750338598946681</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19647277.post-9148583024118649964</id><published>2009-05-28T13:20:00.000-07:00</published><updated>2009-09-10T11:29:19.642-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PPT PowerPoint Update &quot;insert and link&quot; insert link images'/><title type='text'>Updating Linked Images in PowerPoint</title><content type='html'>&lt;span style="font-family:verdana;"&gt;In the past, I would insert images into a PowerPoint and use the 'insert and link' feature wherein the images were embedded (insert) into the document which keeps me from having to deliver the image files separately. Insert is the default mode for adding images and most people probabably don't realize that they can also link the images. The problem with linking them is that the images have to be present with the PPT file.  The insert and link option combines these two for a best of both worlds approach.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;With Office 2003 and prior, there was a update links item in the edit menu. When I got Office 2007, I appreciated the banner toolbar but I couldn't find the update links option. I searched the web and Microsoft help to no avail.  Today, I went looking again and through some struggle, I found my answer in the Microsoft &gt; Prepare menu. This placement is pretty bad and reveals some cracks in their implementation of the fluent / banner user interface ideas.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;When inserting an image, you can choose to insert and link.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_BTkgr68UwUk/Sh702NhfAKI/AAAAAAAAAGk/lCdwJOk57b0/s1600-h/ScreenShot090.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 286px;" src="http://4.bp.blogspot.com/_BTkgr68UwUk/Sh702NhfAKI/AAAAAAAAAGk/lCdwJOk57b0/s400/ScreenShot090.png" alt="" id="BLOGGER_PHOTO_ID_5340975420288204962" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;When you want to update the images, you need to use the archaic Windows &gt; Prepare menu.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BTkgr68UwUk/Sh70paP3DgI/AAAAAAAAAGc/T0pMiRkOzfI/s1600-h/ScreenShot082.png"&gt;&lt;img style="cursor: pointer; width: 327px; height: 400px;" src="http://1.bp.blogspot.com/_BTkgr68UwUk/Sh70paP3DgI/AAAAAAAAAGc/T0pMiRkOzfI/s400/ScreenShot082.png" alt="" id="BLOGGER_PHOTO_ID_5340975200365645314" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;&lt;br /&gt;I recently found that there is a keyboard shortcut for this dialog. That would have saved me the learning curve&lt;br /&gt;Alt+e, k. That is press Alt+e then let go and press k. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;You can also put this option in the Quick Access Toolbar by navigating to the option in the home button (picture above) and right click on it.&lt;br /&gt;&lt;br /&gt;I found the &lt;a href="http://help.lockergnome.com/office/Edit-Links-Dialog-wrong-focus--ftopict1002128.html"&gt;shortcut and Quick Access Toolbar advice on this forum&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19647277-9148583024118649964?l=focusondistinction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://focusondistinction.blogspot.com/feeds/9148583024118649964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19647277&amp;postID=9148583024118649964' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/9148583024118649964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/9148583024118649964'/><link rel='alternate' type='text/html' href='http://focusondistinction.blogspot.com/2009/05/updating-linked-images-in-powerpoint.html' title='Updating Linked Images in PowerPoint'/><author><name>John laPlante</name><uri>http://www.blogger.com/profile/14164750338598946681</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_BTkgr68UwUk/Sh702NhfAKI/AAAAAAAAAGk/lCdwJOk57b0/s72-c/ScreenShot090.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19647277.post-7357976899533223301</id><published>2009-05-15T07:07:00.000-07:00</published><updated>2009-05-15T07:14:09.558-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='user experience'/><category scheme='http://www.blogger.com/atom/ns#' term='promotion'/><category scheme='http://www.blogger.com/atom/ns#' term='usability'/><category scheme='http://www.blogger.com/atom/ns#' term='respect'/><category scheme='http://www.blogger.com/atom/ns#' term='meetings'/><category scheme='http://www.blogger.com/atom/ns#' term='invitations'/><title type='text'>Respect for User Experience</title><content type='html'>&lt;a href="http://justaddsocial.com/2008/03/07/design-is-a-dictatorship/"&gt;I &lt;/a&gt;&lt;a href="http://justaddsocial.com/2008/03/07/design-is-a-dictatorship/"&gt;found a short, practical article about getting respect for user experience people&lt;/a&gt; in a organization. This advice really applies to anyone who needs to gain influence and respect amidst people who you work with but are loosely associated. I've started taking this advice, taking the initiative to request invites to meetings, sending designs out more broadly, asserting the right of the user experience team to be involved.&lt;br /&gt;&lt;br /&gt;This reminds me a bit of the literature on cost justifying usability. Justifying is essentially making a case for doing usability.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://justaddsocial.com/2008/03/07/design-is-a-dictatorship/"&gt;Link to Article&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19647277-7357976899533223301?l=focusondistinction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://focusondistinction.blogspot.com/feeds/7357976899533223301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19647277&amp;postID=7357976899533223301' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/7357976899533223301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/7357976899533223301'/><link rel='alternate' type='text/html' href='http://focusondistinction.blogspot.com/2009/05/respect-for-user-experience.html' title='Respect for User Experience'/><author><name>John laPlante</name><uri>http://www.blogger.com/profile/14164750338598946681</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19647277.post-9182705461843782475</id><published>2009-04-21T10:32:00.000-07:00</published><updated>2009-04-21T10:34:40.613-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Webpage'/><category scheme='http://www.blogger.com/atom/ns#' term='Scrolling'/><category scheme='http://www.blogger.com/atom/ns#' term='Growing'/><title type='text'>An inifinitely Long Web Page</title><content type='html'>&lt;span style="font-family: verdana;"&gt;Way back in the good old maya days, Jon West and I talked about a web page that grows as the user scrolls down so that the page is essentially endlessly long. Today, I found that the Google Reader does this exact thing. Scroll to the bottom and it loads more content and you are no longer at the bottom. I wonder if this was a point of humor for the Google developers. It's a bit like a tease game where someone ties a string to a purse and when someone tries to pick up the purse, they pull the purse. Can't quite get there from here.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19647277-9182705461843782475?l=focusondistinction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://focusondistinction.blogspot.com/feeds/9182705461843782475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19647277&amp;postID=9182705461843782475' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/9182705461843782475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/9182705461843782475'/><link rel='alternate' type='text/html' href='http://focusondistinction.blogspot.com/2009/04/inifinitely-long-web-page.html' title='An inifinitely Long Web Page'/><author><name>John laPlante</name><uri>http://www.blogger.com/profile/14164750338598946681</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19647277.post-7342017857070926872</id><published>2009-03-12T11:03:00.000-07:00</published><updated>2009-03-12T11:05:25.481-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computer'/><category scheme='http://www.blogger.com/atom/ns#' term='Vonage'/><category scheme='http://www.blogger.com/atom/ns#' term='VOIP'/><category scheme='http://www.blogger.com/atom/ns#' term='Phone'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Skype'/><title type='text'>Google Voice and User Experience</title><content type='html'>&lt;span style="font-size:100%;"&gt;Have you read about google voice?  &lt;a href="http://www.nytimes.com/2009/03/12/technology/personaltech/12pogue.html"&gt;http://www.nytimes.com/2009/03/12/technology/personaltech/12pogue.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;This is really phenomenal from a user experience perspective. Users can use a regular telephone to make free long distance calls. The news outlets make a big deal about the competition with Skype but all those voip services that rely on the computer limit the way people want to use the phone.&lt;br /&gt;&lt;br /&gt;I compare this to the difference between watching Netflix videos on a computer to the change that Roku brought. It's a world of difference.&lt;br /&gt;&lt;br /&gt;Vonage has similar advantages but I think Google Voice could succeed where Vonage has not. Vonage is potentially great but it doesn't save me that much money and the service doesn't work that well.&lt;br /&gt;&lt;br /&gt;The Achilles heal hear is that Google will have people call a voice mail service and make calls therefrom. That extra step could be a real hassle and keep people from using it. But, I could image having a speed dial number that gets a user directly to the Google Voice dialtone. That would ease things significantly.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19647277-7342017857070926872?l=focusondistinction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://focusondistinction.blogspot.com/feeds/7342017857070926872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19647277&amp;postID=7342017857070926872' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/7342017857070926872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/7342017857070926872'/><link rel='alternate' type='text/html' href='http://focusondistinction.blogspot.com/2009/03/google-voice-and-user-experience.html' title='Google Voice and User Experience'/><author><name>John laPlante</name><uri>http://www.blogger.com/profile/14164750338598946681</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19647277.post-1919985699894341649</id><published>2009-01-19T08:10:00.000-08:00</published><updated>2009-04-14T08:56:54.313-07:00</updated><title type='text'>The pain of Flash CS3 &amp; ActionScript 3</title><content type='html'>&lt;span style="font-family:verdana;"&gt;I recently began using ActionScript 3 for Flash work. I'm surprised that there are so many gotchas because of the changes to the language and the environment.  I think there is a close parallel between the changes that Adobe made and the changes in XHTML.  Both require much more stringent adherence to official practice and syntax.  For example, XHTML requires all tags be closed. I've heard arguments in favor of this such as that the browser doesn't have to do so much work to detect and correct malformed HTML. But, this puts the onus on the author to get things right. I'm attracted to the idea of having the computer do the my work. The parallel in AS3 is that the author has to write object oriented code rather than writing simple snippets.  For really simple things, this is a major pain. For big jobs, it's not so bad but still, lots of learning.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;An example of unnecessary complexity is in combining manual use of the library and the document class. It's common for Flash authors to drag a library item onto the stage and then begin scripting it in a frame script. The instance name is a easy way to reference items.  But if you use a document class, then referencing a item on the stage is easy to screw up. The class has to have a few things&lt;/span&gt;&lt;br /&gt;&lt;ol style="font-family: verdana;"&gt;&lt;li&gt;Uncheck 'automatically declare stage instances' from a dialog within a dialog titled 'ActionScript 3.0 Settings'&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Add a variable with the name of the stage item. The stage item has to have the same instance name . E.g., public var img1:MovieClip;&lt;/li&gt;&lt;li&gt;The previous line requires importing a reference to the MovieClip class. E.g., import flash.display.MovieClip;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-family:verdana;"&gt;I wrestled with this for a while and researched it until I found a workable solution. Item 1 is entirely unintuitive.  If you don't do this, Flash produces a less than helpful error:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:verdana;" &gt;1151: A conflict exists with definition img1 in namespace internal.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;This means that the variable can't be defined (a.k.a., declared) twice. &lt;/span&gt;&lt;span style="font-family: verdana;"&gt;The Flash compiler tends to want to auto define/declare things if the user doesn't and in this case, with that checkbox checked, Flash went ahead and declared the variable. Other cases where Flash auto creates is the Document class and a default class when the user chooses Export for ActionScript on a MovieClip symbol. It would be nice if Flash was smart enough to look in the Document class to see if the variable has been defined and then avoid doing it again.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;If you don't add a variable to the class (item 2), then you get the following error:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:verdana;" &gt;1119: Access of possibly undefined property visible through a reference with static type Class.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;This means that you are trying to refer to a variable in your class that isn't defined. The need to define/declare MovieClips as variables in the class has been around since AS2. But even then it was annoying that the Flash compiler can't look for symbol instance names.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;If you don't give the stage item an instance name (item 2) then the movie compiles but when you invoke any code that references the stage item, you get this error and a stack trace.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;TypeError: Error #1009: Cannot access a property or method of a null object reference.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The runtime can't find the MovieClip on the stage because it doesn't have a name. It would be nice if they were to mention the class property name at least. This is the worst situation because it is so hard to figure out. It is easy to forget to name a item on the stage.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Item 3 demonstrates how ActionScript 3 is much stricter than ActionScript 2. If you leave the import statement out of the class, you get the following errors:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:verdana;" &gt;1017: The definition of base class MovieClip was not found.&lt;/span&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;&lt;span style="font-style: italic;font-family:verdana;" &gt;5000: The class 'com.efi.LessScreen.LessScreensClazz' must subclass 'flash.display.MovieClip' since it is linked to a library symbol of that type.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;This is std stuff for languages like Java but it still is overhead that makes it harder to work with the language. If you use a tool like FlashDevelop or Flex Builder, it generally auto-inserts import statements.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;It turns out that it is generally easier to leave the stage empty and add items through code. But, this defeats some of the power of the library. Maybe it is time to switch to Flex where it seems the code editor and the visual editor for components are more closely tied.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BTkgr68UwUk/SXSo7BLOOSI/AAAAAAAAAEM/_-lgu_s3gQ0/s1600-h/ScreenShot506.png"&gt;&lt;img style="cursor: pointer; width: 734px; height: 642px;" src="http://1.bp.blogspot.com/_BTkgr68UwUk/SXSo7BLOOSI/AAAAAAAAAEM/_-lgu_s3gQ0/s400/ScreenShot506.png" alt="" id="BLOGGER_PHOTO_ID_5293041193948428578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_BTkgr68UwUk/SXSqSE-4mtI/AAAAAAAAAEU/JnQG84qmGlk/s1600-h/ScreenShot507.png"&gt;&lt;img style="cursor: pointer; width: 303px; height: 106px;" src="http://3.bp.blogspot.com/_BTkgr68UwUk/SXSqSE-4mtI/AAAAAAAAAEU/JnQG84qmGlk/s400/ScreenShot507.png" alt="" id="BLOGGER_PHOTO_ID_5293042689619040978" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Some of this is discussed on the blog &lt;/span&gt;&lt;a style="font-family: verdana;" href="http://blog.dreamsandcreations.net/?p=42"&gt;Dreams And Creations&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;.&lt;br /&gt;Moock also has some material on this: &lt;a href="http://www.moock.org/lectures/ActionScriptAndFlashCS3/"&gt;Moock Lectures&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19647277-1919985699894341649?l=focusondistinction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://focusondistinction.blogspot.com/feeds/1919985699894341649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19647277&amp;postID=1919985699894341649' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/1919985699894341649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/1919985699894341649'/><link rel='alternate' type='text/html' href='http://focusondistinction.blogspot.com/2009/01/pain-of-flash-cs3-actionscript-3.html' title='The pain of Flash CS3 &amp;amp; ActionScript 3'/><author><name>John laPlante</name><uri>http://www.blogger.com/profile/14164750338598946681</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_BTkgr68UwUk/SXSo7BLOOSI/AAAAAAAAAEM/_-lgu_s3gQ0/s72-c/ScreenShot506.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19647277.post-5833165951097451455</id><published>2008-11-19T08:42:00.000-08:00</published><updated>2008-11-19T09:53:28.121-08:00</updated><title type='text'>Barny Frank and the Unions</title><content type='html'>&lt;a href="http://www.npr.org/templates/story/story.php?storyId=97187470"&gt;NPR had an article today with Barney Frank&lt;/a&gt;, the congressmen from New York about a bailout of GM.  He is in favor of giving GM $25 billion. Normally, I would find this kind of thing run-of-the-mill but he made the clear point that he favored this because it protects the union employee contracts.  In the spirit of the title of this blog, that really is a point of distinction. I was surprised that he would put that out there.  I would expect him to make all kinds of other arguments about the viability of GM and it's important role in our economy which are all relevant but sort of beat around the bush and don't name the winners and losers.  The NPR folks didn't seem to pick up on this point of distinction which isn't surprising because the press seems to usually miss these things because they have a script of questions to ask.&lt;br /&gt;&lt;br /&gt;The opposition to a bailout want to let GM go into bankruptcy. The argument goes that GM has structural costs like too many dealerships and 'contracts' that they can't change. But, by going into bankruptcy, everything is on the table including union contracts. I haven't heard any of the pro bailout pundits mention tearing up union contracts. Of course they wouldn't because that would be controversial.  Their rhetoric is so much more effective if they stick to platitudes.&lt;br /&gt;&lt;br /&gt;However you feel about the issue, it is great to once and a while hear someone cut to the heart of the matter. The press has been reporting that the democrats favor the bailout and the republicans don't but until this article, it wasn't at all clear why. Now, it's clear as day. Democrats favor unions and republicans don't. The question that I would expect NPR to ask is whether Frank thought that keeping uncompetative union salaries was in the interest of the country. Given that salaries are lower in domestic auto plants that employee non-union employees, isn't the payroll a big reason why GM is not competative.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19647277-5833165951097451455?l=focusondistinction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://focusondistinction.blogspot.com/feeds/5833165951097451455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19647277&amp;postID=5833165951097451455' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/5833165951097451455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/5833165951097451455'/><link rel='alternate' type='text/html' href='http://focusondistinction.blogspot.com/2008/11/barny-frank-and-unions.html' title='Barny Frank and the Unions'/><author><name>John laPlante</name><uri>http://www.blogger.com/profile/14164750338598946681</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19647277.post-2233740083069434325</id><published>2008-10-29T06:50:00.000-07:00</published><updated>2008-10-29T07:26:04.121-07:00</updated><title type='text'>Usability and Dependeny Injection</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Usability and programming is a pet topic. I've often thought that a big limit on advanced topics in programming is related to usability issues, such as jargon, the use of complicated examples, and abstract, imprecise language that reminds of an over use of pronouns (he said to her that they did that with the other). Sadly, many practitioners feel that their hard won knowledge is a badge of honor and that newbies should suffer to join the club.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;I've recently been listening to a lot of &lt;/span&gt;&lt;a style="font-family: verdana;" href="http://www.theflexshow.com/blog/index.cfm"&gt;Flex Show podcasts&lt;/a&gt;&lt;span style="font-family:verdana;"&gt; that focus on frameworks. Most of these related to dependency injection and inversion of control.  The speaker usually starts out by saying something like: this is a difficult topic to discuss but let me try.  Then true to form, they are incomprehensible. They start throwing in a lot of terms about objects, factories, servers, references, remote objects, calls, etc.  Jargon, jargon, jargon.  I wrote this article to explain some of these concepts in a simple fashion, trying to use uncluttered examples .&lt;/span&gt;&lt;h3  style="font-family:verdana;"&gt;&lt;span style="font-size:130%;"&gt;Dependency Injection &amp;amp; Inversion of Control&lt;/span&gt;&lt;br /&gt;&lt;/h3&gt;&lt;span style="font-family:verdana;"&gt; I've heard a lot of speakers in podcasts talks about dependency injection, most of which make it amazingly hard to understand largely due to the speaker using too much jargon, using abstract examples, and using examples that are realistic but unnecessarily complex to convey the idea. In fact, it is a very simple idea. &lt;/span&gt;&lt;a style="font-family: verdana;" title="Wikipedia has a pretty simple explanation" href="http://en.wikipedia.org/wiki/Dependency_injection" id="zbke"&gt;Wikipedia has a relatively simple explanation&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;. The simplest way I can put it is: think of injection as assigning a variable and a dependency as a reference a class so it is assigning a reference to a variable. what could be simpler? More specifically, it is a technique that assigns (i.e., injects) a reference to class B or C or D (i.e., a dependency) to a public property X in a class A rather than assigning that property within class A. This moves any decision making about the assignment from class A to the code that makes the assignment. This technique keeps class A uncomplicated and doesn't change it. Now class A isn't doing the controlling but rather the class that assigned property X which is where the term inversion of control comes in. We inverted the control from A instatiating B to something else instantiating B on A. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Further, imagine we have two classes, A &amp;amp; B. We could create a instance of B within A with a statement new B(). The 'problem' that people have with this is that if we wanted to swap out B for class C then we'd need to change A and recompile. Alternatively, we could have an IF THEN ELSE block in class A and instantiate B in one case and C in another but this is messy and what if later we wanted D.  It would be nice to get class A complete &amp;amp; bug free then not have to touch it (see similar reasoning for using events).  This is where the injection comes and it boils down to assigning a public property in A from another class. That is assign (i.e, inject) that property (i.e., dependancy).  The code that makes this assignment is usually put in a class that is neither class A or B. In 'inversion of control' frameworks, it is usually given some mystical name like 'application context' etc. which make it sounds like rocket science.  It is advantageous to have the the code for managing the injection separate from A &amp;amp; B because it centralizes part of your code that often changes and by centralizing it, you've reduced the number of files and classes that change.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;This seems like a lot of trouble to go to to simply assign a property (i.e., inject a dependency).  Besides the thrill of far flung abstractions and being able to out-geek your neighbor, this has some practical, effort saving benefits.  Classes B, C, and D in a real application often deal with code for communicating with the server. For testing A, it is common to fake the server with some client code.  The real server code might be in class B but the fake server could be in C. Further, class D could be a unit test for evaluating class A. If the programmer had to change class A for each of these cases, then it would require frequent changes to class A which is time consuming and likely to introduce bugs into class A. Another benefit is re-use of class A for other projects. For example, if class A is a user interface view. Realistically, it is unlikley that a user interface could be re-used whole-cloth. But, by keeping class A relatively simple, a programmer could readily re-purpose it for another project.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3  style="font-family:verdana;"&gt;&lt;span style="font-size:130%;"&gt;Loose Coupling&lt;/span&gt;&lt;/h3&gt;&lt;span style="font-family:verdana;"&gt;Proponents of the dependency injection technique often bring up the term coupling which means that one piece of logic is connected logically to another. In the software engineering world, loose coupling is a stated common goal. But, what is 'loose' mean. In the example, any way you look at it, class A is coupled to class B.  In the first case where class A instantiate class B, class B it is tightly coupled to class A. With dependency injection, class B is loosely coupled to class A.  Why is it 'loosely' coupled? Because it is easy to change the coupling of A to C or A to D. Maybe it should be called flexible or optional coupling. The biggest issue I have with the term is that it implies that coupling is bad. Programs are interconnected by their nature which means they are coupled. The real problem is that they coupling often is done in a rigid manner which makes a program hard to extend or change to provide alternative behavior.  Techniques like dependency injection were developed by software engineers to provide more flexible coupling.&lt;/span&gt;&lt;br /&gt;&lt;h3  style="font-family:verdana;"&gt;&lt;span style="font-size:130%;"&gt;   Conditional Logic&lt;/span&gt; &lt;/h3&gt;&lt;span style="font-family:verdana;"&gt;What could be more basic than IF THEN ELSE. I don't hear any podcasts about this topic or how someone has invented a framework to add it to your project.  But, I can be sure that folks use it every day in their work.  That is because it offers a basic way to add alternatives to a computer program.  I bring this up because that is exactly what dependency injection and inversion of control do as well.  Plus they add the ability to move the control to a strageic place in your code which is largely possible because of object orientation. The ability to strategically position logic is yet another way to organize and modularize a program which relates to past improvements to computer programming, such as putting code into functions rather than using goto statements.  It is also where programming gets into architecture.   Too bad that it these tecniques involve so much jargon and complication to setup.  But, then I don't think about the label 'conditioanl logic' when I use it, I just use it.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3  style="font-family:verdana;"&gt;&lt;span style="font-size:130%;"&gt;   Using Events to Connect Code&lt;/span&gt; &lt;/h3&gt;&lt;span style="font-family:verdana;"&gt;I see a common thread between dependency injection and the use of events and event dispatching.  Class A can call a method B1 on class B in which case I would consider method B1 tightly coupled to class A. Another way to handle this is for class A to dispatch an event when something critical happens and for class B to listen for that event. I would then consider the connection loosely coupled. In the first case, if I want to change the logic, I could change method B1 which may not be ideal or I could change class A and call B2.  A problem here is that I don't want to change class A nor method B1. Using events, I could change the listener of B to handle the event differently. Another scenario is that I want to add class C at a later time. Using events, I can add a listener to class C for the event that class A dispatches and I don't need to make any changes to class A.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;In both the use of dependency injecdtion and events, I can architect my program so that I don't have to change class A and I can add flexibility to my program without doing a lot of rewiring. One of the themes here is leaving well enough alone. If you can write parts of your program and then leave them and still add new functionality, it is a recipe for faster programming and less errors.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3  style="font-family:verdana;"&gt;&lt;span style="font-size:130%;"&gt;Factories&lt;/span&gt;&lt;/h3&gt;&lt;span style="font-family:verdana;"&gt;In most talks that I've heard on the subject of dependancy injection, the topic of Factories arises. At first, I envisioned a rusty, noisy steel mill that is pumping out objects which seemed a tad mysterious. But again it isn't that complicated. A factory is a class where you can put the code you use to instantiate objects. This is a way to organize and centralize your code for instantiating class instances so that you aren't instantiating instances throughout your code which can be messy.  In the dependency injection example, we referred to the idea of a 'application context' that instantiates class B and assigns it to property X on class A. This is an example of a Factory.  In addition to the basic instantiating, a Factory can provide extra benefits. For example, it can organize (e.g., lists, hashes, etc.) and provide access to instances of a class. If you want to only instantiate a class one time and use that instance repeatedly (a singleton) rather than repeatedly instantiating instances, then a Factory can manage this for you.  It isn't hard to write a singleton but it is convenient to have a class that can manage that process.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19647277-2233740083069434325?l=focusondistinction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://focusondistinction.blogspot.com/feeds/2233740083069434325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19647277&amp;postID=2233740083069434325' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/2233740083069434325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/2233740083069434325'/><link rel='alternate' type='text/html' href='http://focusondistinction.blogspot.com/2008/10/usability-and-dependeny-injection.html' title='Usability and Dependeny Injection'/><author><name>John laPlante</name><uri>http://www.blogger.com/profile/14164750338598946681</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19647277.post-7711267328359254924</id><published>2008-08-29T10:35:00.000-07:00</published><updated>2008-08-29T10:41:58.884-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dual list'/><category scheme='http://www.blogger.com/atom/ns#' term='duallist'/><category scheme='http://www.blogger.com/atom/ns#' term='dual-list'/><category scheme='http://www.blogger.com/atom/ns#' term='component'/><title type='text'>Novel Dual-List Comonent</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_BTkgr68UwUk/SLg0YiAyNJI/AAAAAAAAADw/GGtqAcCqY40/s1600-h/article_image-10091655.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_BTkgr68UwUk/SLg0YiAyNJI/AAAAAAAAADw/GGtqAcCqY40/s320/article_image-10091655.jpg" alt="" id="BLOGGER_PHOTO_ID_5239995762497172626" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;I saw this dual-list list box on a sales force dot com site. It appears that the second list pops out and is quite stemless graphicaly.  The idea of a dual-list is not new but making the second list appear dynamically is a good idea for saving space.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19647277-7711267328359254924?l=focusondistinction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://focusondistinction.blogspot.com/feeds/7711267328359254924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19647277&amp;postID=7711267328359254924' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/7711267328359254924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/7711267328359254924'/><link rel='alternate' type='text/html' href='http://focusondistinction.blogspot.com/2008/08/novel-dual-list-comonent.html' title='Novel Dual-List Comonent'/><author><name>John laPlante</name><uri>http://www.blogger.com/profile/14164750338598946681</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_BTkgr68UwUk/SLg0YiAyNJI/AAAAAAAAADw/GGtqAcCqY40/s72-c/article_image-10091655.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19647277.post-8940753354800845667</id><published>2007-02-26T11:16:00.000-08:00</published><updated>2008-10-29T06:50:48.138-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cell references'/><category scheme='http://www.blogger.com/atom/ns#' term='Cross Worksheet Reference'/><title type='text'>Cross Worksheet References in Google Spreadsheets</title><content type='html'>&lt;span style="font-family:verdana;"&gt;I was struggling to reference a cell from one sheet of a Google spreadsheet into another sheet.  The google spreadsheet help wasn't helpful. The refer to 'cell references' all over but don't mention how to do it.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;It's pretty easy. Here is a reference to cell B9 in a worksheet named john &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;=john!B9&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;I found that I could also type equals (=) followed by clicking on the john worksheet link and make the referencing by directly clicking.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19647277-8940753354800845667?l=focusondistinction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://focusondistinction.blogspot.com/feeds/8940753354800845667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19647277&amp;postID=8940753354800845667' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/8940753354800845667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/8940753354800845667'/><link rel='alternate' type='text/html' href='http://focusondistinction.blogspot.com/2007/02/cross-worksheet-references-in-google.html' title='Cross Worksheet References in Google Spreadsheets'/><author><name>John laPlante</name><uri>http://www.blogger.com/profile/14164750338598946681</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19647277.post-114856864986228023</id><published>2006-05-25T07:50:00.000-07:00</published><updated>2006-05-25T07:52:26.550-07:00</updated><title type='text'>Receiveing Change</title><content type='html'>&lt;span style="font-family: arial;"&gt;A long running pet peeve, cashiers who pile coins on top of bills prior to handing over change due.  The resulting precariously balanced pile requires careful handling.  I wonder if I'm the only one who finds this annoying?  Most cashiers who do this don't even realize it's an annoyance.  But, did the cash register hand it to them that way.  No.  They created this state of entropy.  It's much easier to receive coins in a open hand and then the bills.  That way, I can place the coins in my pocket, coint purse etc and the bills in my wallet.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19647277-114856864986228023?l=focusondistinction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://focusondistinction.blogspot.com/feeds/114856864986228023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19647277&amp;postID=114856864986228023' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/114856864986228023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/114856864986228023'/><link rel='alternate' type='text/html' href='http://focusondistinction.blogspot.com/2006/05/receiveing-change.html' title='Receiveing Change'/><author><name>John laPlante</name><uri>http://www.blogger.com/profile/14164750338598946681</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19647277.post-114124583013763916</id><published>2006-03-01T12:43:00.000-08:00</published><updated>2006-03-01T12:43:50.136-08:00</updated><title type='text'>Searching the iPod File System</title><content type='html'>&lt;a href="http://focusondistinction.blogspot.com/"&gt;I've for sometime wanted to search my iPod file system.  &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I've for sometime wanted to serach my iPod file system using. I can see the files, sort of crippled, but they are visible in the Windows Explorer.  It occured to me that I could make this list with a command line argument.  After a few mintues here it is.&lt;br /&gt;E:\iPod_Control\Music&gt;dir /S &gt;c:\iTunesMusisList.txt&lt;br /&gt;&lt;br /&gt;Now I have a text file that lists every song and which folders they are in.  I'm sure this idea could be extended in all kinds of nifty ways.  Now that I'm able to get the list, I'll think about how I might make this more helpful&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19647277-114124583013763916?l=focusondistinction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://focusondistinction.blogspot.com/feeds/114124583013763916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19647277&amp;postID=114124583013763916' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/114124583013763916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/114124583013763916'/><link rel='alternate' type='text/html' href='http://focusondistinction.blogspot.com/2006/03/searching-ipod-file-system.html' title='Searching the iPod File System'/><author><name>John laPlante</name><uri>http://www.blogger.com/profile/14164750338598946681</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19647277.post-114124554197439309</id><published>2006-03-01T12:39:00.000-08:00</published><updated>2006-03-01T12:39:02.003-08:00</updated><title type='text'>Focus on Distinction</title><content type='html'>&lt;a href="http://focusondistinction.blogspot.com/"&gt;Focus on Distinction&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19647277-114124554197439309?l=focusondistinction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://focusondistinction.blogspot.com/feeds/114124554197439309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19647277&amp;postID=114124554197439309' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/114124554197439309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/114124554197439309'/><link rel='alternate' type='text/html' href='http://focusondistinction.blogspot.com/2006/03/focus-on-distinction.html' title='Focus on Distinction'/><author><name>John laPlante</name><uri>http://www.blogger.com/profile/14164750338598946681</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19647277.post-113536575127943544</id><published>2005-12-23T11:14:00.000-08:00</published><updated>2005-12-23T11:22:31.290-08:00</updated><title type='text'>Tables and Grids</title><content type='html'>&lt;span style="font-family: verdana;"&gt;I'm planning to build a simple Flash table component.  This looks to be little more than a matrix of text fields with a border.  I'm doing the research now and dug up a old &lt;a href="http://web.archive.org/web/20001013085204/www.geocities.com/SiliconValley/Park/6068/grid.htm"&gt;Java Grid from the wayback machine&lt;/a&gt;.  This contains instructions and source code for building a table.  I'm not planning to follow this code but it may be of value to others.  I looked for similar code  and advice in Google but came up empty.&lt;br /&gt;&lt;br /&gt;I could extend the Flash Table Compnent (v2 components in Flash MX 2004) but that is a little more than I need presently.  I may try that in the future to get a full fledged table. &lt;br /&gt;&lt;br /&gt;I'm not sure why people use the term grid and table to mean what appears to be the same thing.  Maybe there is a difference between a grid and a table.  In my case, I'm not even sure I should refer to my component as a table or as a grid since it lacks many of the distintive features, such as sorting, swapping columns, embedding various types of components in the cells.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19647277-113536575127943544?l=focusondistinction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://focusondistinction.blogspot.com/feeds/113536575127943544/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19647277&amp;postID=113536575127943544' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/113536575127943544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/113536575127943544'/><link rel='alternate' type='text/html' href='http://focusondistinction.blogspot.com/2005/12/tables-and-grids.html' title='Tables and Grids'/><author><name>John laPlante</name><uri>http://www.blogger.com/profile/14164750338598946681</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19647277.post-113392924154148741</id><published>2005-12-06T20:02:00.000-08:00</published><updated>2005-12-06T20:20:41.546-08:00</updated><title type='text'>Distinction</title><content type='html'>&lt;span style="font-family: verdana;"&gt;I signed up for Blogger sort of compulsively and found myself facing down a form that asks for the name of my blog.  Bumper sticker slogans constantly pop into my head but what now.  So, I named it Focus on Distinction because I am often caught with thoughts of distinction in films, in design, for a moment in a sporting match that made all the difference.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19647277-113392924154148741?l=focusondistinction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://focusondistinction.blogspot.com/feeds/113392924154148741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19647277&amp;postID=113392924154148741' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/113392924154148741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19647277/posts/default/113392924154148741'/><link rel='alternate' type='text/html' href='http://focusondistinction.blogspot.com/2005/12/distinction.html' title='Distinction'/><author><name>John laPlante</name><uri>http://www.blogger.com/profile/14164750338598946681</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
