Welcome to MSDN Blogs Sign in | Join | Help

Using OMSpy to “fix” the bug with the image rotator

    I wanted to show the output of OMSpy in case someone wants to get very bold and use it to update the XML on a OneNote page to work around the limitations I mentioned on Monday with the image rotator.

    Let's start with a simple image to use for testing:

    clip_image001

    And if I right click on the image and select "Copy Text from Image," this is the text I get:

     

    ---------------

    pride and Prejudice

    by ane Austen

    chapter 1

    It is a truth universally acknowledged, that a single man in

    possession of a good fortune, must be In want of a wife. However little known the feelings or views of such a man may

    be on his first entering a neighbourhood, this truth is so well fixed in the minds of the surrounding families, that he is

    considered the rightful property of some one or other of their daughters.

     

    --------------

    This is pretty good. The first "p" needs to be capitalized, and poor Jane lost her "J." The rest of the text looks accurate to me (but the fonts are a little off).

    If I use OMSpy to look at the data on the page, I first start OMSpy and use the tree control to open the page I want to modify. Here's what that looked like to me:

    clip_image002

    <one:OCRData lang="en-US">

    <one:OCRText>

    <![CDATA[pride and Prejudice

    by ane Austen

    chapter 1

    It is a truth universally acknowledged, that a single man in

    possession of a good fortune, must be In want of a wife. However

    little known the feelings or views of such a man may

    be on his first entering a neighbourhood, this truth is so well

    fixed in the minds of the surrounding families, that he is

    considered the rightful property of some one or other of their

    daughters.]]>

    </one:OCRText>

    I broke up the XML to make it a bit easier to read. The first node just tells me this is OneNote's OCR data using English (and more specifically, my system is set to use US English, as opposed to the Queen's English, for instance). The next tag specifies that the actual text OneNote found is coming. It's contained in the CDATA[ ] element found next.

    Then a closing tag and that's it for the text. For images that are upside down

    Next up are a whole slew of lines that look like this:

    <one:OCRToken startPos="0" region="0" line="0" x="1.5" y="2.25" width="30.0" height="8.25" />

    <one:OCRToken startPos="6" region="0" line="0" x="39.75" y="2.25" width="17.25000190734863" height="8.25" />

    <one:OCRToken startPos="10" region="0" line="0" x="65.25" y="2.25" width="55.50000381469727" height="10.5" />

    These track the (x,y) coordinates of each word OneNote. A quick example might help explain what these are for. If I search for Prejudice, I see this in the first image above:

    clip_image003

    The word "prejudice" is highlighted based on the (x,y) coordinates specified here. In this case, the word is the third word found in line 0, so OneNote moved over 62.25 pixels to the right, then down 2.25 pixels to draw a rectangle 55.5 pixels wide and 10.5 pixels tall. The "region" attribute corresponds to the "paragraph" where the word occurs, with "paragraph" being loosely defined since the text you are extracting may not use paragraphs as we typically expect them. The details of the XML schema can be found here. Since even this small bit of text has many words in it, the list of words and (x,y) coordinates here is quite long.

    Anyway, since the image is going to be flipped, rotated and otherwise skewed, this data will soon be NA.

    So to delete all the OCR data with OMSpy, I selected everything from the oneOCRData tag to its close - this includes all the OCRToken data. Then I deleted it from OMSpy. Then I clicked UpdateContent and the XML, which no longer has the OCR data for the image, was put onto the page replacing everything that had been there. Here's what the page data looked like at that point:

    clip_image004

    To me as a user, nothing on the page looked different after I updated the content. When I right clicked the rotated image and selected to extract the text from the image, OneNote triggered its OCR code to recreate the index for the words in the image. Had I performed a search immediately for "pride," though, nothing would have been found since I had just deleted the index.

    Note: If you don't delete exactly the OCRData node and its closing node, you will get error number

    HRESULT: 0x80042000

    Which means you have invalid XML and the API won't let you update the page. Double check the XML structure and try again! In my first image above you can see I did not delete the opening XML tag for OCRData so this is the error I got when I tried to apply my changes after deleting the highlighted information.

    Have fun and remember to back up your notebooks before modifying them!

    Questions, comments, concerns and criticisms always welcome,

    John

Posted by JohnGuin | 1 Comments

This should be an interesting talk to hear in September

    Remember back in June I mentioned Mark Russinovich had talked about his experience starting at Microsoft? I still keep up with his blog (and any tester should keep an eye on it as well) so this notice I received stood out to me. Mark is giving an online talk about Vista performance on September 24. I've already marked my calendar and recommend you do the same.

    Here's the official marketing spiel (which doesn't include the link they included in the email notice - https://ms.istreamplanet.com/springboard. ):

    Springboard Series Virtual Roundtable

    Under the Hood: Windows Vista Performance...Need Answers?

    clip_image001

    Join Mark Russinovich and a panel of industry experts for a LIVE virtual roundtable to explore your top of mind performance issues, common misconfigurations, and tips on how to fix them. From boot times and applets to disk performance and battery life, find out how to optimize Windows Vista and what you can do to improve overall system performance. 

    Submit your performance questions live during the event or send them in advance to vrtable@microsoft.com.

    Save the date!

    Wednesday, September 24, 2008

    9:00am Pacific Standard Time

    -----

    There is a calendar item you can open attached at the bottom of this entry to add to Outlook or any other ical application.

    Questions, comments, concerns and criticisms always welcome,

    John

Using a TRS-80 to find a bug with the image rotator in OneNote

    One of my hobbies which I never have time for is playing around with my old TRS-80 Color Computer. For those that remember this old machines, the majority of software was distributed in magazines and books, and you had to type the code in yourself to run the programs. If the author wrote good code, you learned quite a bit, and if not, you had fun debugging…

    A few days ago an email request came in to the Coco mailing list for a copy of an old program the writer of the email remembered as being named "JOT" and was a three letter word guessing game. Derek, the fellow looking for the program, mentioned he wanted to update the game to use a speech pack or something similar. I had never heard of this, but checked one of my old "TRS-80 Color Programs" books from Radio Shack and found it. I sent Derek a scan of the pages and then decided to see if I could get the program up and running myself. MESS is a fantastic emulator for these old 8 bit machines and newer builds let you paste text into the emulator instead of typing. I decided to scan the pages of the book, let OneNote perform its Optical Character Recognition (OCR) on the text and see how well it converted old BASIC code to text. I figured I could clean up the code in OneNote since its editor is much better than the old TRS-80 and paste away.

    Scanning the book was relatively simple. I had one snag when the cover of the book accidentally hit the power button on my HP-5280 scanner. Since I was only scanning one page at a time, I flipped the book upside down every other scan knowing I could use the image rotator to flip the scan back. Here are the first two scans after I flipped the second image around:

    clip_image001

    The text for the first image wasn't too bad (an excerpt):

    330 PRINT”(THIS TAKES ME A WHILE ...)“

    340 FOR A=N TO 100 STEP —1

    350 B:RN0cA)COSUB fi000;NEXT

    360 PRINT:O=RND(N)

    370 PRINT”I’VE ALMOST GOT IT ..“

    38!) FOR A—99 TO 2 STEP —i

    390 E:=RND(A:COSuB 4000:NExT

    400 lls=As(a):PRINT

    410 PRINT”OK DO YOU WANT TO “

    420 INPUT”GO FIRST”Q$

    430 O$LEFT$(Q$,1)

    Image for the flipped page:

    clip_image002

    But the text for the second (flipped) image was a complete mess:

    1sd 009Z ..a.oii ]V331INI&#62;d 0901
    OLOZ 0601 NJH.L 0&#60;&#62;4 dl OSOT
    •ld 090Z oooc snsoj
    Iid 0S0 $dt.ajg !33 &#18;IflOA S,1LHM,.1fldNI OCOT
    D J 00 1NI ooi
    I 0C0 •.; 3No&#18; SINIHWOS1N1J 0101
    =sc 0Z0Z NId 0001
    OIOZ NJfl1 066
    Id 000Z 0fr6 N3H.L r=&#60;i dl 086
    X3N OIfrI 0001 NH T&#62; dl

    Here's what happened. When I scanned the second image, OneNote ran the image through its OCR logic and generated the text it thought was in the image. Then I rotated it, but for performance reasons, OneNote doesn't send the image through OCR again. (If you've ever copied text from an image and had to wait while OneNote shows the "Recognizing text in pictures" dialog, you'll know how long your computer takes to analyze the image).

    So this is a design flaw in the image rotator. When an image is rotated, the code should remove the list of words associated with the image and let OneNote re-analyze the image after rotation. I verified this would work by using OMSpy to remove the OCR data from an image and updating the page, if you want to follow along with it. Simply copying the image within OneNote also copies the OCR index, so that doesn't work around the image rotation.

    An easier workaround for the time being is to use the screen clipper to capture the rotated image and paste it right back into place. Or, you can cut the image, paste into Paint, then copy and paste right back into OneNote. Using either method works well and this is what the text looked like after using the screen clipper to re-create the image:

    550 IF P$<> THEN 580

    560

    570 H1(CI)=9:GOTO 5000

    588 COSU8 3000

    590 IF F=1 THEN 630

    óco PRIHT”THAT’S NOT A LECAL WORD “

    610 PRIt4r” —- TRY ACAIN

    621 COla 500

    630 OP1$2GOSUB l200:Q.p

    640 ‘ooo

    650 PRINr• OF HITS ISt0

    Which is much better.

    Of the three things to do to work around the problem (use OMSpy, use the screen clipper, or re-write the addin), I prefer the screen clipper since it lets me fine tune the scans. We can also look at the code and try to work in a fix in between testing OneNote.

    Let me know what you think!

    Questions, concerns, comments and criticisms always welcome,

    John

Posted by JohnGuin | 5 Comments

Saying “goodbye to our intern” leads to a reason why a bug did not get fixed in Office 97

    Anirudh Saraf is winding up his internship this week. He's been pretty busy while here - diving into the subtleties of Hyper-V, learning how to get machines working on our network domain, moving into Windows Server 2008, learning our automation system and some of the tools we have, getting some of our automation running in those virtual images he learned about with Hyper-V and working on new features for OneNote! Whew - that's a lot of work for ten weeks. I expect now that he will get back to his blog he'll let us all know what he really thinks… :)

    He and I met yesterday and he had some paperwork which I also needed but had not had time to print. As we went to the photocopier to make me a copy, for no particular reason I was reminded about a bug I found in an addin for Excel way back in Office 97.

    --------------

    I had only been here a few weeks at the time, and Office 97 was in the final stages of shipping. We were looking for the core "ship stopping" bugs and staying focused only on the most severe problems. I was working with the Solver addin for Excel and wanted to print the sample (solvsamp.xls) which came with it. I printed the sample and went to the printer to pick up my copy. The printer was busy printing my copy, then another, and another, and another and so on… I didn't think I had selected multiple copies but went back to my computer to make sure. In the print dialog, the default number of copies which I had assumed was 1 was actually 12334. Yikes! I tried cancelling the print job, but that failed. I went running back to the printer and powered it down simply to save paper, called our helpdesk to let them know why the printer was off and went back to my office to file a bug. I was pretty nervous since I had only been here a few weeks and was wasting paper and unplugging printers. I had no idea what the policies were so I made sure I entered the bug ASAP.

    Here's what the print dialog I had blindly clicked OK on looked like:

    clip_image001

    The bug came back to me resolved as Postponed. To Office, that means the bug is important and we will fix it, but won't be fixed for the release. In this case, it meant Office 97 would ship with this bug and we would fix it in a future release. Considering the panic I had just been through, I disagreed at first. I fought a little to get the bug fixed (after all, it's only changing a single value in the code). I lost my fight, and here's why:

    • First, further testing showed it was only the second sheet of the sample workbook which had this error. There were seven sheets total (although one of the other sheets had -1 as the number of copied to print. If you tried to print it, Clippy would make you choose a valid number.
    • The Solver addin was an optional component and did not install by default. This means the likelihood of a large number of users hitting this is small.
    • Solver is a technically deep addin, and those users who do install it typically know something about linear optimization to begin with. Again, the number of people noticing the sample spreadsheet number of copies is bogus is small.
    • It had been in the product for the entire development cycle and no one had noticed, found or complained about it. Again, the number of users hitting this will be small, and is getting smaller the more I thought about this.
    • There is no data loss. This is limited to printing that one sample spreadsheet, so no one will lose any work.
    • There is no crash in Excel. Since we were in ship stopper mode, crashes and data loss were the most serious bugs.
    • A simple workaround is to type "1" in the number of copies field of the form. The number of copied was already highlighted. If I had been paying attention, I might have noticed it before I printed.

    For all of these reasons, we decided not to attempt a fix before releasing Office 97. It was just too late to try something as risky as "just one number being changed. What could go wrong?" We shipped and as far as I could tell, no one ever called PSS to report this. We eventually did fix the problem, though, so the bug is no longer there.

    --------------

    Kind of a long winded story about a bug, but it serves as an example of a minor bug that we don't want to fix since it puts the entire product at risk. Fixing any bug is a balancing act, and in this case, I think we made the right decision.

    Good luck to Ani as he heads back to school. Keep an eye on his blog for more addins for OneNote and his point of view for how the summer went.

    Questions, comments, concerns and criticisms always welcome,

    John

Posted by JohnGuin | 2 Comments
Filed under: ,

How To Modify OneNote toolbar buttons for installed addins

    Rainald Tassler, one of OneNote's MVPs, had contacted me a while back asking to have the Table of Contents powertoy tweaked to show a button on the toolbar rather than a text string. The text strings tend to take up too much horizontal space on the toolbar and he wanted to replace it with his own image. Fortunately, there is a way to replace that command in the toolbar without writing code and only tweaking the registry. Here's how:

    1. Exit OneNote.
    2. First, create the image if you want to replace a string with an image. It needs to be a 16x16 BMP format image.
    3. Save it in the same folder as the location into which you installed the addin. For instance, if you installed the addin to c:\program files\ microsoft\on table of content setup, copy your bitmap there. It doesn't really matter where you put it, just make note of where it is.
    4. Now it gets a little tricky. Run regedit and open HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\OneNote\Addins
    5. Highlight the addins key and right click it. Select "Export" and save the file to any location you want. This is now your backup in case the next few steps go awry.
    6. You will see a bunch of GUIDS like {806AD7E…} and so on. For the table of contents addin, look for this GUID: {4FE3B6DF-28B8-41d0-A4F5-7010E236B4A2}. Expand its branch
    7. On the right, you will see a string entry for "ButtonText" with a value of Table of Contents. Delete that key:

    clip_image001

8.  Now add a new string value named "IconPath". For its value, enter the path you copied from step 2 and be sure to add the name of the file. Here's what mine looked like:

    clip_image002

9.  Now exit regedit.

10.  Start OneNote. The "Table of Contents" button should be gone and replaced with the icon you created and pointed to!

    You can also reverse these steps and make text strings show for any icons you want.

    I followed the directions on page 11 of the "How to create toolbar addins for OneNote" PDF to come up with routine. Feel free to browse through it. You can even change which toolbar addin buttons appear on in addition to changing the icon. For instance, the task request addin I wrote for Outlook puts the icon for the addin on the Outlook toolbar (value == 9 in this case).

    And if you want to change one of these values and get to step 4 and cannot find the addin you want to modify, be sure to look in HKEY_LOCAL_MACHINE instead of HKEY_CURRENT_USER. Some addins install their keys there so all users can get the same experience.

    Have fun tweaking the addins for OneNote!

    Questions, comments, concerns and criticisms always welcome,

    John

Posted by JohnGuin | 0 Comments
Filed under:

Code for image rotator and some upcoming work for test

I got a request a few days ago to see about posting the code for the image rotator powertoy. Gary agreed to go ahead and release his code and you can get it here now. The link is at the bottom of this entry.

Another request that comes up every so often on the newsgroups is to restore the sample notebooks that come with OneNote. They are typically created in the \My Documents\OneNote Notebooks folder, but some people go ahead and clean them out from there as well. I've posted the Guide here. You can recreate the Work and Personal Notebooks by selecting File | New Notebook and choosing either Work or Personal from the template list. Oh, and this notebook today is in English. I'll also see about getting it uploaded to the www.microsoft.com/office site as well. The tester in me really wonders why so many users delete the Guide. I have no idea - disk cleanup and optimizer programs? I know the UI of OneNote can get crunched if you have many notebooks open, so closing it is easy to imagine. It's just the deletion I cannot understand.

In other testing news, we will be focused on Accessibility testing next week. We have a "bug bash" scheduled. Bug bashes are usually a lot of fun. Everyone gets turned loose for a day or two to push and stretch features in new ways and our planned testing is largely ignored for the bash. This is the time we get to answer "what if ?" Normally, we know the expected answer. For instance, with napkin math, if I type 6+4= and then hit the space key, I would expect 10 to get added right after the equal sign. With accessibility, I would check the font sizing matches, the screen readers could read it to me and font color as well. Once I started looking at font color, I would start playing with font colors, high contrast screen modes and seeing if I could somehow get the font to be invisible. Then I would start playing with the fonts of the 6, the + sign, the 4 and the = sign and setting them to be different sizes. I would expect the font of the 10 to be the same size (and font!) as the = sign, but maybe it should be the average of the font sizes used in the equation…

If you haven’t seen OneNote in high contrast mode, here is a quick sample:

image

I know that is a little hard to follow, but it is also a creative way to have some fun with testing. I'm looking forward to this upcoming bash.

Questions, comments, concerns and criticisms always welcome,

John

Posted by JohnGuin | 3 Comments
Filed under: ,

Attachment(s): Imagetools.zip

The thing about leaving your office for any amount of time around here…

…is the number of people who insist on decorating it while you are gone.  I came into my office.  Ceiling Cat was making sure to look over me and keep me safe:

clip_image001

and wall cat was there too:

clip_image002

I called phone cat to make sure he was OK:

clip_image003

robot cat glared at me:

clip_image004

red cat spelled mysterious messages…

clip_image005

and so did purple cat!

clip_image006

monitor cat is monitoring me:

clip_image001[5]

 

These decorations will stay up for awhile.  You can download the template from http://papercraft.wikidot.com/papercraft:cieling-cat  or http://bp1.blogger.com/_LSGnycsyeI4/R9h7i4jkaSI/AAAAAAAAARQ/tyFGdJo6mu0/s1600-h/ceiling_cat.jpg and make your own if you want.

 

Have fun!

 

Questions, comments, concerns and criticisms always welcome,

John

Posted by JohnGuin | 1 Comments
Filed under: ,

Using a cell phone as a modem and using OneNote in the real world again

 

So my "two week" navy training lasted just shy of four weeks this year.  I was very busy, but can't remember anything I did…

 

One challenge I had was trying to get an internet connection working.  My phone, a T-Mobile Wing, has the old $6/month data plan available, and it can browse the web.  I knew there was a method of sharing the internet connection somehow, and I finally got it to work in a very limited fashion.

 

First I read an article on Howard Forums to get the proxy server IP address.  I knew I would need this to set it up in Internet Explorer 7.  Next, I started the internet sharing application on the smart phone, and it immediately complained that it would not work if ActiveSync was running.  Why it did not close ActiveSync automatically is not clear to me, so I had to go to the phone settings and shut down ActiveSync.  Based on other newsgroup recommendations, I tried  216.155.165.50, port 8080 in Tools | options | Connection | LAN settings for the proxy server, and that allowed Windows to get an internet connection established.  I could use IE to get to CNN, for instance.  I could also get email in Outlook via RPC over HTTP.  I could NOT access Outlook Web Access, though.  The data plan I have is http access only, and OWA uses https.  Likewise, I could not download music to Zune, and I presume ftp would not have worked either (I did not have time to try).  I had no shared notebooks available, so I could not test much with OneNote.

 

The modem speed was only 40K bps, so I would set it up at night.  Overnight, I would let Outlook sync, and since I had connected the phone to my tablet via USB, the phone would charge as well.  The phone would never get fully charged - I guess because I was getting to sleep so late and getting up so early.  In any event, I was able to read email now and then.  I did not get a chance to reply until I got back.  I had a small backlog of email coming in through this blog, and at this point, I should have managed to reply to it all. 

 

While I did not get a chance to sync notebooks using my slow connection, I did use OneNote for collecting weather reports and tide and current table data.  The tide changes are not much where we were - only about a foot and a half per day, but still had an effect on when we could operate without restrictions.  It was incredibly convenient just to be able to send the web pages straight to OneNote for reference later.  Since my connection was so slow, I wanted to minimize time online and sending the pages to ON definitely paid off.  I had all the data I needed for a week or so at a time available. 

 

It's great to be back at work and testing OneNote. 

 

Comments, questions, concerns and criticisms always welcome,

John

Posted by JohnGuin | 2 Comments
Filed under:

I'm out until August

 

I've tried to keep this up to date twice a week since I started.  Like most other people who run blogs, I did not want to post a few entries and then give up.  I want to let you know I will be out of touch for the next few weeks and won't be updating this blog.

 

In the meantime, I will have my tablet with me tracking a few projects I have.  I already use OneNote to gather all my data for these projects (yes, this sounds like an advertisement), but I also noticed how much I am using some powertoys.  For instance, I always check the length of my ramblings with the Word Count powertoy and use the printout manager to handle long Word docs being printed to OneNote.  I make sure to shrink the image a bit to leave me room for notes off to the side.  I also use the Copy to Device addin to help syncing with my mobile phone (a T-Mobile Wing, for those interested).    And maybe if I get some free time, I can play Sudoku

 

One other loose end to tie up.  Last week I mentioned the final call I answered when I was in product support.  I also remember the first call I took.  We had finished our training (at the time, the basic class was 5 weeks) and had worked with each other to deal with the expected calls for a new OS.  Issues like "my sound card doesn't work," "One of the floppy disks is bad," or "I can't get my CD player to work when I boot to the boot floppy" were all covered.  Of course, the fist call I took was slightly different (and I'm paraphrasing here):

 

"I just installed Windows 95 into the 15th partition I have on my drive system.  I can see some of the FAT partitions - I have five, and can see three of them - but none of the HPFS partitions are visible.  The FAT32 partition for NT shows, but I cannot browse it.  Oh, and I have a BSD partition I can see, but I cannot browse it.  And none of my linux partitions even show, except when using fdisk at a command prompt.  What should I do?"

 

And all of this was thrown into this fellow's 386 based machine.  We worked and got all the FAT partitions working, and he said he would take it from there.  No big lesson here, but I always keep these experiences in mind when I have to call product or tech support myself. 

 

I should be back in August.  Enjoy the summer!

 

Questions, comments, concerns and criticisms always welcome,

John

Posted by JohnGuin | 2 Comments

Sudoku Addin for OneNote beta is available

    Carlos Rivera has been working feverishly over the last few weeks to polish Sudoku for OneNote addin, and I'm proud to announce he has released his beta version today! You can get it here (the link is also below), or over at the codeplex site (www.codeplex.com/onom) if you want the code.

    Remember, the purpose of this addin was to use object model code we have shared at the codeplex site above to see if it was "ready for prime time." I learned some lessons from this - namely, we need a lot more documentation, and some of the objects (like tables in this case) need some work. In spite of these needs, Carlos managed to put together quite a fun little addin which uses the OM!

    To install, follow these steps:

    1. Exit OneNote completely (use task manager to verify it is not running, or reboot Windows if you are unsure)
    2. Run the setup program
      1. You may get prompted to install the .Net framework 3.5. It is needed for this addin.
      2. This took a l-o-n-g time for me for some reason, but it did eventually finish.
      3. You may need to reboot after installing the framework.
    1. Start OneNote

    You will get 2 buttons on the standard toolbar now. "New Sudoku" makes a new 9x9 table of Sudoku for you and varies the complexity between hard, medium and easy. When you think you have a correct entry, you can press the "Check" button to verify. Excellent!

    (If you click one of the buttons and it gets grayed out, verify you have the ".net programmability support" added for OneNote. In control panel \ programs, open the entry for Microsoft Office (or OneNote) and make sure the ".net programmability support" is checked under the OneNote entry.

    clip_image001

    There is room for improvement if anyone wants to jump in. Being able to choose the level of difficulty is obvious, and being able to convert inked answers to numerals before submission would be a great addition for tablet owners.

    And some design considerations were raised on the OneNote side. For instance, each 3x3 square in a normal Sudoku puzzle is separated by darker lines than the rest of the cells, and that is not possible to do in OneNote. Also, if you have many addins installed, the Check and New Sudoku buttons may not be side by side.

    If you want to test this, be sure to compare this implementation to the specification at http://www.codeplex.com/onom/WorkItem/View.aspx?WorkItemId=4345. Report bugs as Issues at the codeplex site!

    Give it a whirl!

    Questions, comments, concerns and criticisms always welcome,

    John

Posted by JohnGuin | 6 Comments
Filed under: ,

Attachment(s): OneNote Sudoku Addin.zip

Fixing the Lenovo tablet. Again.

    The hard drive on my Lenovo had died. It would not even pass the BIOS level hardware test during the tablet's startup. I had an external case for EIDE drives which I had used in the past when my drive on my laptop at home died and I brought it in to see if the drive was at all salvageable. I did not remember having anything on it which had not been backed up, but wanted to be sure.

    Of course the drive was not EIDE, so my case did not work. It was a SATA drive (for those non-hardware folks, EIDE uses a wide cable to connect the drive to the computer, SATA uses a narrow cable. Among other benefits, the wide cables were actually starting to restrict the airflow inside computer cases causing heating problems. The SATA cables do not block the airflow) and would not fit. Gary came by and pointed out the obvious - I could connect the drive to my desktop Dell. I powered the Dell down, disconnected the power and cable to the CD player and plugged in the drive from the tablet.

    For some reason, I started thinking "This is like Star Trek - I'm re-routing the thing to bypass the other thing." Anyway, it worked, and the Dell booted. Windows 2008 immediately wanted to run scandisk on the drive (which was just sticking out of the case - there was no where to bolt it). 118 errors later, it reported it had fixed the drive. I powered the machine down and reconnected the drive to the Lenovo. Now the BIOS would allow the machine to boot, but Windows XP would not load due to some missing DLLs. I copied them over from another machine I had at a command prompt, and lo and behold, the Lenovo started! It wanted to run scandisk as well, and found about 25 more errors, including 4 bad sectors.

    At least it started, though. While we have a pretty good budget for hardware, I don't want to keep spending it on replacement hardware - I would much rather "move forward" and get newer devices rather than replacing old. I'll keep this thing until it really dies, which, honestly, could be any minute. I don't have too much faith in the hard drive at this point. I already keep it backed up so I won't lose more than one day's worth of work when it dies.

    One thing that was pretty interesting was the "shock resistance" the Lenovo uses for its hard drive. Their television commercials make a point of saying the drive can survive a fall from a few feet. When I pulled the drive out it had a pair of rubber sleeves on each side of it to provide shock absorption. Here's the photo:

    clip_image001

    Notice the pull tab on the drive as well. That is simply a nice touch and makes it very easy to remove. Lenovo really puts its attention into little details like this. I just wish this one particular machine was better and not such a lemon.

    Another thing I noticed was the drive is a 100MBB drive, but was only formatted to hold 80GB. The paperwork which came with the machine also said 80GB, and my first thought was Lenovo devotes 20% of the space to its backup system. I looked at the drive with Windows Server 2008 and saw about 10GB of unpartitioned space, so I have no idea what is going on. I resized the partitions to take advantage of the extra space, but since the drive is giving me problems, I don't expect any real benefits.

    In fact, I've already gotten one "No Disk Error" since re-assembling the tablet. Oh well.

    Questions, comments, concerns and criticism always welcome,

    John

Posted by JohnGuin | 4 Comments
Filed under:

Office New Employee Training

 

I was able to attend "New Hire Training" for Office last week.  At Microsoft, all newly hired people go through a day or two of training to get used to Microsoft, get your card key/badge and general agenda like that.  Mark Russinovich talked about his experiences with that session here, and it seems pretty straightforward.  And if you haven't started reading Mark's blog, you should.  It is very good and he shows how to use many of the tools from Sysinternals to troubleshoot and identify problems with Windows applications.

 

In addition to the overall Microsoft orientation, each team at Microsoft has its own ways of doing things.  Office is no different and we have started an orientation session aimed at people new to the office organization who have been here from a few weeks to a few months.  I did not get a count, but there were probably about 2 dozen at the session I attended last Friday.

 

I was there mostly as a sidekick to the main presenter, and told to offer "amusing anecdotes" or "amplifying information" when appropriate.  Naturally, the day started with an amusing anecdote.  One of the new employees came up to me and asked if I remembered him.  I did, since we had met last fall when I took a trip to Microsoft Texas.  He pointed to the tablet I had (the Lenovo - I managed to resurrect the disk) and asked if that was the tablet.  Spooky - he had been reading my blog and remembered all the problems I have had with that machine.  We talked a bit and then got down to the session.

 

My introduction to everyone started with my tenure as a PSS call center technician for Windows 95.  Two things became apparent from that year I spent on the phones. 

1. All the stories you hear about tech support calls are true.  All of them. 

2. My last call I ever had started like this: "I have an Epson compatible printer which won’t print with Windows 95, and I am not going to tell you what model the printer is.  It is Epson compatible and that's all you need to know."  This call did not go well. 

 

The rest of the session went well.  We talked about the drive to finish Office, how we release the builds, burn the CDs and even talked a bit about ship parties.  The only amplifying information I could offer was based on communication.  My suggestion was to attend a triage meeting (those meeting we use to identify the bugs we need to fix and in what priority order).  What can otherwise be a somewhat mysterious process is made much more clear when you see the human interaction around the discussion and understand, as a tester, why a bug comes back to you asking for more information.  Once you are familiar with why the bug comes back, you can be more sure the next time you go through the process that you get the information which is needed to evaluate the fix.  As a single example, let's say you have a spelling check bug and a fix for it.  One of the questions asked will be "What is the performance of the fix?"  If the new code fixes the problem but takes 500% longer to run than the original code, everyone needs to know this.  I think this is another way of saying to be complete with your testing and evaluation, and communicate clearly with your results.  Seems very basic to me!

 

Questions, comments, concerns and criticisms always welcome,

John

Posted by JohnGuin | 1 Comments

Some quick power consumption testing with a "new to me" tablet

 

The Lenovo I had been using has given up the ghost.  The hard drive in it has physically died - it won't boot, nor pass the BIOS diagnostics.  I now have managed to get assigned a Fujitsu Lifebook - a "hand-me-down" from another tester who no longer needs it.  It's pretty nice so far, but I am not looking forward to learning yet another keyboard layout.  Seriously, why no two companies can decide where to place keys is beyond me.  And on this tablet, the CAPS LOCK key is the second largest key on the keyboard. 

 

One of the last tests I did with the Lenovo before it died was hook it up to a Kill a Watt meter to see how much power it used.  While booting, with full screen brightness and the hard drive running, CPU at 100%, the tablet pulled 35 watts or so.  Not too bad relative to the a desktop.  As a single point of reference, both a 19 inch flatscreen and a 19 inch Energy Star CRT monitor need 60 watts.  I was not truly testing power consumption at this point.  I was just seeing what the device needed.

 

The Fujitsu arrived and I decided to hook it up the same way.  I expected similar results, but the Lifebook  needs about 45 watts on average, and can bump up to 55 at times.  Some of that much higher result is because the Lenovo did not have  a CD player and the Fujitsu does.  As it sits idle now, with only a full brightness screen, it uses 21 watts.  Turning the screen down to the most dim setting at which I can still see it, power consumption falls to 17 watts.  Not too bad for a dual core notebook.

 

Now here's the real geeky bit.  I run GIMPS at home 24 hours per day.  I have a single core dekstop running it, and the CPU stays at 100% load.  I'll spare you the math, but with GIMPS running, my power bill here in the Seattle area goes up about $56 per year.  It would be quite interesting to see how much each tablet would cost in electricity per year, but I'm sure each manufacturer would come up with a typical "user scenario" that benefitted its line of tablets. 

 

The OneNote 2007 team tested power consumption pretty well too.  If you look in Tools | Options | Other, you will see a battery settings dropdown.  This controls the search indexer, which in turns uses the hard drive.  Since most modern laptops will stop spinning the hard drive (due to its power consumption) unless it is needed, we let you control whether you want the indexer to run.  If you have many audio recordings, the index can take quite a while to be developed.

 

Questions, concerns, comments and criticism always welcome,

John

Posted by JohnGuin | 5 Comments
Filed under:

Tying up one loose end and starting another

 

In February 2008 I mentioned some extra functionality built into our "napkin math" system.  I sent the details to our technical writers and waited to see how long it would take to get the online help article at http://office.microsoft.com/en-us/onenote/HA102140621033.aspx updated.  The answer:  4 weeks.  Not too bad to get the new file localized to all the languages we support.

 

And my Lenovo died again.  I was remotely connected to it and my screen froze.  Looking at the tablet, I saw a pop up alert that the wireless connection had limited access.  I clicked it for details and got a blue screen of death.  And the machine won't boot anymore - not to Windows, not to safe mode, not to a command prompt.

 

One of the new benefits Microsoft recently rolled out was a laptop repair station.  I'll try to take this machine to them to see if there is something they can do (replace some faulty hardware most likely).  Since this is a new program, I will also track how long it takes to resolve the problem, mostly to satisfy my own curiosity.  I have no idea what to expect, but figure that if I had to return this machine to Lenovo to get it fixed, I would need about a week to ship it to them, two weeks for them to repair it and another week to ship it back.  Anything less than a month, then, seems like a nice win.  I'm just happy I had copied all my important data to some external sharepoint sites and flash memory devices.

 

I'll keep you posted.

 

Questions, comments, concerns and criticisms always welcome,

John

 

Problems with meetings (not OneNote or even software related!)

    Even testers need to have meetings now and then, and during my 40% of the week last week, we had two of "those meetings" back to back.

    In the first meeting, we could not get the overhead projector working with the first tablet we tried. The cable would not physically plug into the connector. The bolts connected to the connector had extending bolts attached to them, and that extending bolt was loose. A rough drawing is like this:

    image

    Piece 1 is the bolt which sticks out and is tightened when you connect the assembly to your video port. Piece 2 above is the part of the screw which gets bolted into your video port to hold the connector in place.

    We fought with the connectors - which, among other things, had been taped together - for a bit but did not want to waste too much time since our time in the room was limited. Instead, I grabbed the cable and connected to the Lenovo tablet I'm back to using. This worked well after I was able to tighten the screws. Then I had to unplug the cable. The screws would not loosen, so I grabbed my multitool and used force. Obviously, if I'm using a tool on a computer, something has or soon will go wrong, and this was no exception. I broke the screw (the red item above"piece 2") into the tablet by using the screwdriver:

    clip_image001

    Notice the right most post has the broken screw in it. Sorry for the fuzzy photo - it’s the best my cell phone could take.

    As if that wasn't enough, the exact same problem happened an hour later for a follow on meeting we had. This time, though, we did not tighten the screws down and called for a technician to come by. He noticed the bolts to the bolt extenders was not correct, and quickly assembled a new connector. Since they screws in this case had been over-tightened by whoever had previously used the room, his one tool was not enough. Out came my multitool again, and this time it took two of us to undo the connector. The tech quickly assembled a new connector and went out to inspect the other meeting rooms around us to prevent these problems from happening to others.

    I think the only lesson learned was to arrive early if possible to test any hardware you may need for a presentation. And carry a multitool.

    And on a Lenovo note, the sensor which detects when the screen has been rotated is flaky. Now and again, it will think I rotated the screen, so the UI will go into portrait mode. Talk about a frustrating bug…

    Lastly, thanks to Dan Escapa for reminding me that when frustrating events like this occur, I can always "blog about it and forget about it."

    Questions, concerns, comments and criticism always welcome,
    John

Posted by JohnGuin | 1 Comments
Filed under: ,
More Posts Next page »
 
Page view tracker