Tuesday, December 18, 2012

Wanted: Picture and Fax Viewer

As a developer when I am working on Windows Desktop programs I take lots of screen shots. (The Snipping Tool is very handy for this by the way.) Then when I want to view a sequence of them I have just double clicked and had the Windows Picture and Fax Viewer open the photo. I would often use it to scroll through a few screen shots and zoom in and zoom out. Occasionally I may print a shot or two out to discuss with others and write some notes on.

In Windows 8 the default image viewing program is the Photos "Windows Store App" by Microsoft. When I double click a photo it takes over and goes full screen. That was a little jarring to my normal work-flow but manageable, I could drag it to the second monitor. The real trouble started when I wanted to view more than one photo. I could not figure out how to get more than one to show up to scroll through. The Pictures Library said it had two ("Pictures library         2") photos on the app's start screen, and when I clicked Pictures Library, it then said it only had one ("Pictures library 1 file"), despite the fact that my Pictures folder is chock-full of images. I read in the store reviews and other places online that I am not the only one experiencing this issue. One guy in the store pointed out that you can't print a picture from the app (at least there is no obvious interface that he or I can find.) I tried both fix solutions suggested by Microsoft Support Engineer Nithyananda J, re-installing the app and running the Modern UI App troubleshooter. No dice.

My fix for the Photos app is to avoid it. Just go to the Default Programs control panel and Associate a file type or protocol with a program and change as many of the image types that are currently associated with the Photos app to Windows Photo Viewer that you want. Now forward and back navigation buttons and printing are all right in front of me and they all work the way I'm use to.

Do you have another built-in or Windows Store app that works better?

Friday, December 14, 2012

No MS Virt For You!

As a developer I have found having virtual machine images the best thing since sliced bread when it comes to testing installs onto a clean system and to target multiple versions of MS Windows from the convenience of my desktop. I had been using Virtual PC since it was aquired from Connectix and appreciated the drag-and-drop easiness of moving my installer files onto the target machine and it's overall integration into my desktop environment.

I should have researched this key tool before upgrading but I didn't. After switching and attempting to install Virtual PC I found out that it is no longer supported. No big deal, everyone says to switch to Hyper-V, it's new and therefore better and the  System Center Virtual Machine Manager is suppose to be able to convert Virtual PC images to work with the Windows 8 Pro built-in Client Hyper-V. When I went to Control Panel > Programs > Turn Windows features on or off, I found that Hyper-V Platform was disabled. When I hover over the option it says "Hyper-V cannot be installed. The processor does not have second level address translation (SLAT) capabilities." So, like the NX bit fiasco with some other systems, my hardware is not up to snuff for the latest and greatest from Microsoft.

What about an older version of Virtual PC? Virtual PC (for Windows 7) required Windows validation, and that tool failed with error 0x80096002, most likely due to the tool being for Windows 7, so no Windows 7 Virtual PC for me. Virtual PC 2007 SP1 "has compatibility issues".

VirtualBox to the rescue!

I had been using VirtualBox for my Debian and Ubuntu images because it was such a pain to get them going under Virtual PC. I had also used it to preview the Windows 8 RC because again Virtual PC was picky. It worked great on Vista as long as you ran the versions of Windows it wanted to target, otherwise it was not so good but VirtualBox "just worked". I had preferred Virtual PC for it's smoother desktop integration but now I was forced to switch.

I stressed unnecessarily for a bit trying to find a conversion tool that would switch from Virtual PC format files to VirtualBox ones. There are two sets of files used by both camps, an XML configuration/settings file (.vmc and .vbox) and a hard disk image file (.vhd and .vdi). VirtualBox can open the Virtual PC vhd disk image files, so no conversion is needed there. All you need to do is create a new virtual machine, choose your settings and select the existing disk image. I opened the vmc file in a text editor to see what settings I was using before, mostly for the memory but also to see what kind of devices I had attached. Since both use an XML format I still find it surprising that there is no import option in VirtualBox or conversion tool.

Once VirtualBox had the new virtual machines pointing at the old vhd files it wasn't very much more work to get things working again. Since I wasn't expecting the trouble I hadn't been proactive and removed the Virtual PC guest additions before switching. So, when I booted into each Windows VM the mouse didn't work at all and they kept offering to install a bunch of hardware. I declined all offers and used the keyboard to get to the Control Panel and uninstall the guest additions and reboot. This got the mouse working. I went ahead and installed the VirtualBox guest additions and then accepted the driver installations.

Only one system required a little more work than this. It must have been using the IDE interface previously and VirtualBox setup the drive using the SATA interface by default for that version of windows. To fix the problem I just had to remove the disk image under the SCSI interface and add it under the IDE one. After booting up it saw the SATA interface and added it's drivers. I shutdown and moved the image back and booted without any trouble. Some tutorials have you get into the hardware control panel and remove devices. For whatever reason that wasn't necessary in my case.

Thursday, December 13, 2012

Windows Live Anyway, Or Not

Despite all this seemingly integrated Microsoft Account (aka Windows Live ID) stuff in Windows 8, in order to submit product mapping information to SysDev, I must install either Windows Live Essentials or Windows Live ID Sign-In Assistant.

Fine, whatever. Windows Essentials 2012 it is, with Writer (I might use it for blogging here instead of the Blogger web editor) and Live Messenger. It seems so odd that they continue to bundle this a month before Skype is suppose to take over.

After I installed and logged in, the first advertisement was about how Skype is replacing Messenger.

Skype and Windows Live Messenger are coming together. Update to Skype, sign in with your Messenger ID and your contact list and the IM feature will be there.

So, I downloaded the client (the Desktop application) and it says that since my contacts will be moving from Messenger to Skype, they will be uninstalling Messenger. No ifs, ands or buts. No options. Just uninstalling.

A few jiffies later and I'm asked to provide my Microsoft account to sign in. We're in the final stretch and then...
Sorry, something went wrong. Please try again.
I had tried the Windows Store App version of skype first, and it gave me almost the same message:
Oops...there was a problem
Skype is having some issues. Please restart the application and all should be well. If it isn't, get in touch with customer support.
Dragging the Skype App close and starting it several times did not resolve the problem, and customer support just means a FAQ page that attempts to match your problem with a known answer and despite web search results to the contrary, the page acts like this isn't a known issue.

Now I'm back to the lame Windows Store Messenger App.

OK, I'll play their game. The FAQ search is no help. Scroll down and Get more help. Another search, but this time a promise that if it doesn't work I can Get more help. Search again for trouble signing in and click Get more help again.

Guess what, to get more help you have to sign in and the form looks a lot like the Windows Store Skype App. Hope starts to abandon ship. Fine, one more shot. Sign in with the Microsoft Account, and it accepts me. Then tell it I'm new to Skype (again just like in the Skype App) and... it works. I'm signed in to the web site with my Windows Live ID. Windows + Tab and try the same in the Skype App. Success. Alt + Tab and try the same in the Skype Desktop Application and it works.

Already I see I can send and receive files in Skype but only if the other person is also using Skype. We'll see how group chat goes tomorrow.

Wednesday, December 12, 2012

O Messenger, Messenger, wherefore art thou Messenger?

A day into re-configuring my computer and re-installing all the main development applications I use and I've come across my first "the bad", with a potential to also be one of "the ugly". Messaging.

Since some kind of Windows Messenger client has been pretty ubiquitous with Windows starting with XP we have come to enjoy the convenience of the client around the office. When lunch time comes we pull together a quick multi-person chat and place our order. When someone wants to share a screen shot or a file, it's a simple drag-and-drop operation and then chat a little about what you are both looking at.

From time to time Microsoft's messenger servers are not available and over a month ago they were doing something very odd that was killing not only Messenger sessions but computer performance on a few computers at the office. Some people worked around the issue by using the Web interface for the day or two of trouble. Others just shutdown messenger during the event. I tried third-party clients and found none of them to be affected. (This lead me to believe the issue was with some advertisement being sent to the client.) These issues make me occasionally dream of a local messaging service, either using a peer to peer local network auto-discovery system or an XMMP based system hosted with our mail server. The rest of the time Live Messenger serves us well.

The Windows Store Messenger app has not served me well. It all started out looking simple enough. A purple rectangle on the Start screen says Messaging. Giving it my Windows Live ID pulled in all my Live Messenger contacts into People and I could chat. Success, but it was short lived.

When the call for lunch came, I didn't get a single message. Several tests showed that I no longer get messages that are sent to multiple recipients and I can't figure out how to invite multiple contacts into a conversation that I start. No soup for me I guess.

Later in the day one of my co-workers seemed to start babbling out of context. I couldn't figure out what in the world they were talking about. Finally they asked about the screen shot they had started the conversation off with. I never received it, or even a notification that one was sent and failed. Now I have to watch for this and warn them that the Microsoft Windows 8 Store Messaging App is even more gimped than the third-party program I was previously using.

Finally, and most troublesome, if I miss the noise and the little alert text that flashes into Desktop mode for a moment, and don't occasionally switch to the Messaging app, I have no idea that people have sent me something. I miss my glowing toolbar button!

I have searched, so far in vain, for a reason or a fix or a replacement. I think I can install the old Live Messenger client in Desktop mode, but people complain about getting duplicate sign-in notifications a lot going that route.

I wonder if Microsoft even cares about the feature drop, seeings as they seem intent on pulling the plug on the Messenger client anyway.

Explorer Reloaded

There is something off about folder refreshing in Windows 8. I've been spending a lot of time copying or moving files from my old drives to where I want them on the new drives and without fail, Windows 8 fails to refresh the folder view as soon as a file is copied, moved, or deleted. It will update, sometime, and I can force it to update sooner by pressing F5, but it takes it's sweet time about it. That's ugly.

Tuesday, December 11, 2012

Conjunction Junction, what's your function?

The new drives look great. Newegg delivers again. I am intrigued by the VelociRaptor's use of a 2.5" hard drive. I hope that the reduced surface area leads to increased data density and better response times. Time to install.

My first attempt was following the instructions posted by Kari on eightforums.com using the System Preparation Tool answer file. I was already leaning more and more towards the junction option and concerned about having the right offline image source name, but I stumbled even before that. I was either typing the command wrong or had done something really wrong with the syntax. No dice.

My next attempt was using the mklink command to junction the Users folder to the new drive, but I tried it after I had logged in once and got a lot of file permission errors with the XP/Vista compatibility junctions that had been created in the first user's account. I wonder if part of the issue was the copy command just not being up to it. Perhaps I should have used robocopy as Garth Metzger does. His instructions are much simpler. Another write-up can be found on Life Hacker.

Since I hadn't done anything important I decided to reformat and give the junction trick a go again, this time stopping early to Audit Mode as suggested in the system prep tool instructions. Then I did the junction trick instead of messing with the answers file, rebooted and then continued with the Personalize step of the Windows 8 installation.

Now all my User files are really on the HDD. This junction method works much better than rewriting a bunch of Registry keys or setting a default location. Hard coded apps think they are writing to C:\Users. Since the junction is from a folder on one drive to a folder on another drive, there are no strange rules and behavior for drive roots like you get when you assign a mount point to a folder path. It doesn't relocate just some of my data as . I think I could have ignored Kari's warning about ProgramData and done the same.

Now I'm clicking away getting my user accounts setup. I decided to make a Local Account for day-to-day work and a Microsoft Account for testing that feature out later.

Friday, December 7, 2012

Complicating Matters

I've been experimenting with solid state drives (SSD) as boot drives on Debian systems and things have gone well there. Of course I have a lot more control in mounting different devices at different points in these Unix-like file system than I have had in the past with Windows, so I can put the heavy-write file systems like /var onto a hard disk drive (HDD) and keep the mostly read-only points of the file system on SSD. Boot times are great and hopefully the lifetime is extended by limiting writes.

I have ordered two drives to use when installing Windows 8. I am complicating matters, but what I want is to have SSD system drive with the more static Windows and Program Files contents and a HDD for the more dynamic User and ProgramData.

For the SSD I was torn between the much higher price and lower performance of the Intel chipset SSD, like the 320 series, and the higher performing but purportedly more fail prone sandforce based controllers. After reading a lot of reviews of people having problems and satisfaction across all manufactures and product lines, I went with the Crucial 128 GB SATA III M4. Hopefully that's enough space and it doesn't die anytime soon.

For the HDD I knew I wanted speed more than terabytes of storage. The Western Digital VelociRaptor 250 GB 10,000 RPM SATA 6 Gb/s 32 MB cache drive seemed to fit the bill.

Now I was faced with the challenge of splitting Windows across two drives. The last time I tried this on an XP system it was such a pain that I never wanted to revisit it because "relocating My Documents" is not what I am after. I want all of the Users data on the other drive. Perhaps I should have used a hybrid drive or something fancy like the Apple Fusion Drive to avoid the issue. On the other hand, the way I chose allows me to control what data is where.

After some research I found two possible solutions to my dilemma. The first and most linked solution uses an answer file with the System Preparation Tool. The second option uses directory junctions to create a very Unix-like state. This seems much simpler but the first solution appears to be vetted.

Thursday, December 6, 2012

Preparing to Commit

Now we've got a tech support system reference system setup, but as I noted in the opening post, we still want a development system. My Vista system needs to upgrade at least to Windows 7 since WinQual became SysDev and a new Product Mapping Tool that requires Windows 7, so it is a candidate.

The current drives are full of years of accumulated bits, and not all of it can be blamed on any pack-rat like tendencies I may have. Despite compacting and freeing what I could of old service releases, the Windows folder used 35 of the 80 GB I had allocated to Windows, thinking that would be enough. This makes me very skeptical of the 20 GB hard disk space requirement for Windows 8. In any case, the partition doesn't have 20 GB free, plus I'd like to swap back if this is a failed experiment so I opt to go with a new drive.

I also did some research into the multi-screen capability of Windows 8. The first things I ran across mislead me to believe it didn't work very well. Further research corrected this vision and pointed out a few features that sounded very promising:


  • The Start screen can be used on either monitor
  • You can run Windows Store Apps on one monitor (same monitor as Start screen) and the Desktop on another.
  • You can run a 1/3 split Windows Store App and the Desktop on the same monitor.
  • The Desktop task bar can be on all displays and has options for controlling what buttons are on the taskbar.
I am most interested in the last point. I often move my browser or email program to one monitor and it will be nice to see it's taskbar button on the same screen so I won't have to move my mouse as far to interact with it. The other points give me hope that I can mostly keep with my normal workflow while interacting with the Start screen and any Windows Store Apps I may run.

Wednesday, December 5, 2012

Where is the Power button?

After a day of Windows 8 experimentation and demonstration, I was ready to shut it down before going home. By this time I had looked up (and forgotten) some windows key shortcuts like Windows key + D to toggle the Desktop and Windows key + R to pull up the Run dialog box, and I had explored the Windows 8 Charms.

I could figure out how to log out and switch users by clicking my always-visible user name on the Start screen, but still no clue on how to shut down. Even bringing out the Charms bar didn't help: Search, Share, Start, Devices, Settings, Power. Just kidding. That's where I thought it should be, but no dice, the list ends at Settings.

I eventually tried logging out and there found a familiar looking power icon to click. I decided to try again to see if that was the only way. This time I looked at Settings from the Charms bar and found Power. Four clicks... Searching around I found another option. Go to the classic Desktop and then give the classic Alt + F4. Shutdown menu. A little more searching suggests there may be some ways to get a Windows Store app, old-style widget, or custom shortcut on the Start screen to do the same.

I suspect this hidden shutdown option is either a nod to working more like a tablet, or to an expectation of always-on or sleep like the Apple i-Macs (turning those things on does not give good feedback, yet return from sleep is instant.)

The Start screen IS the Start menu

My tests on Windows 8 earlier in the year were very minimal. Just a quick "see if our software installs and runs". I didn't think much of it after that. When I was asked to setup a couple of systems, I did a lot more research to get ready. One of the most frequent complaints or workarounds talked about was the "missing start menu" and how to put one back.

My use of the start menu may be non-typical. Since the switch to Vista I have become a huge fan of the Quicksilver-like search feature. I was equally pleased to have a similar feature appear on Ubuntu. When I need a calculator, I press the windows key and type calc, and press enter. When I need the word processor, I press the windows key, type word, and press enter. I do have a few quick launch items that I click on the task bar to launch, but that's the basic workflow. I haven't navigated into a nested start menu for quite some time.

To me the Windows 8 Start Screen is like a big horizontal start menu with no nested folders and a dashboard at the same time. The search feature is not at all obvious like it is in Vista and Windows 7, but it is there. Just start typing and you go into search mode. Being such a search fan, I think this will work for me.

I finished out the setup of the tech support system including the installation of a couple of our software packages and arranging their tiles on the Start screen to demo the process.

Tuesday, December 4, 2012

Account Type

Once I had a capable system for installing Windows 8 on, the install went smoothly. Soon I was asked to create my first user account and noticed the option to make it a Microsoft account or a Local account. Fortunately I had another computer handy to search and read up on the unexpected choice. The gist of the choices boils down to this:


  • Microsoft Account: Your preferences and settings are synced to their cloud. Ties into Windows Messenger (Windows Live ID), Sky Drive, and the Windows Store. It sounds like you can log into another Windows 8 computer and have these same things pulled down. Sounds great for home users. I'm not sure about for corporate users. More for the IT department and Legal to evaluate.
  • Local Account: Your preferences are local to this computer. This is the most similar to the user accounts you are use to using.
The User settings lets you switch either type into the other at any time, so just pick one. I chose to use local accounts. They "just work" with our workgroup file sharing and everything else we are use to.

System Requirements

Microsoft seems to have pretty reasonable system requirements for their new OS, so the task to "round up a system to run Windows 8 for technical support to have access to from one of the unused systems" didn't sound very difficult.

  • Processor: 1 gigahertz (GHz) or faster with support for PAE, NX, and SSE2
  • RAM: 1 gigabyte (GB) (32-bit) or 2 GB (64-bit)
  • Hard disk space: 16 GB (32-bit) or 20 GB (64-bit)
  • Graphics card: Microsoft DirectX 9 graphics device with WDDM driver

Four computers later, when I found one that worked, I realized that the NX bit was more elusive than I had expected, at least in the systems I had available to test. All three systems with Intel CPUs failed the test and would give a scary stop error when attempting to install from the DVD-ROM. The AMD based system of the same era worked. I'm not sure if this was due to supporting the feature or just not failing the test.

Run the Windows 8 Upgrade Assistant found on their support page for upgrading to Microsoft Windows 8 and pay special attention to the hardware restrictions listed in the report that are one of the system requirements listed above. The NX bit was a "maybe" option in the report but turned out to be a "no dice" road block when I was unable to update the old BIOS to have the option to enable the feature. A lot of searching found that the CPUs didn't even support the feature even if I had found a BIOS update.

Motivation

I've been using Windows Vista since shortly after it released. I had been happy with Windows XP, but some hardware issues lined up with the Vista update so I switched to make sure our software worked on "the latest and greatest from Microsoft." I enjoyed most aspects of Vista over XP and didn't see 7 as a big difference. The only hitch was when Windows Error Reporting's application mapping tool was updated to require Windows 7.

The real motivation to switch though was a perspective customer asking if our software supported Windows 8. I had run the preview release under Virtual PC a few months earlier and found that everything worked fine, but it was only a brief test and our technical support department didn't have any experience with the new operating system, so the boss suggested we get a system setup for them to have access to for familiarization and tech support and that we have a development system to make sure we're really ready for Windows 8.