Archive for the ‘Microsoft’ Category

Android on it’s way to a 3.1 moment

Aug 10
22

The story of Android vs. iPhone reminds me a lot of the story of Microsoft Windows vs. Apple Macintosh. In this version the part of Microsoft will be played by Google.

The similarities are striking. Apple was first to market and wowed everyone. Google followed close behind with a competitive, less polished product. Now is where it get’s interesting.  In the original story Microsoft had success with the OS but it wasn’t until Windows 3.1 when everything clicked. I believe Android could be at a similar tipping point. A large number of hardware OEM’s are on board with Android and with a small number of adjustments the OS is primed to take off.

What needs to change?

  • Apps are inconsistent, and hard to use. The design patterns and guidance that are available in iOS are missing and developers are left to come up with their own sets of best practices.
  • Level of design and attention to detail is low. The OS works, but not well.
  • App market is incredibly poor. No wonder dev’s aren’t making money. No excuse Google has to fix this. App Search is even worse, I expect more from Google on this topic.

Fix those three things and Android will take off faster like a rocket.

Resolution Independent Computing

Sep 08
23

Turns out that a large percentage of people adjust their monitors to use a resolution that’s lower then the native resolution. As many as 55%. What does that tell us?  Well the most likely thing is that people are having trouble reading the tiny text. The other thing it tells us is that display architectures aren’t designed right.

Resolution explained simply is the size of the pixels on the screen. On a printer, digital camera or on a TV you want the best resolution possible. You want the pixels to be really small so that you get a sharp image. Unfortunately computer’s aren’t designed like this and higher resolution on your monitor results in smaller text.

In the physical world there are two pays to make something appear bigger. You can bring it closer, or you can stretch it. The way windowing systems are setup, the only option you get is to stretch.

The problem with the classic stretch is that it takes more screen space. For some applications the increased space provides more area for document data but it usually doesn’t improve the legibility of the data.

To compensate application developers have started adding zoom controls to their applications to give the effect of scale & stretch.

While this is a great feature for applications that support it there is still a huge problem. The entire operating system does not deal with high resolution correctly or uniformly.  The Start Menu, Finder, Explorer, Preferences across all modern operating systems have a coupled relationship between the on-screen text size and resolution.

It’s a really hard problem and to date the only solution has been a bizarre dialog that asks you to hold a ruler up to your monitor to adjust the dots per inch that a font takes up:

The dialog makes an attempt to address the high-DPI font issue but anyone with experience in High DPI knows that changing these settings can have all sorts of undesirable effects on applications.

What we need is to decouple the application layout and positioning from the rendering that can be done resolution independently. This will allow us to have 300dpi monitors that are crisp as paper with fonts that are sized appropriately for reading.

The upcoming version of Windows (#7) claims to be going down this path and it’s exciting to see. The key that I don’t think they’ve touched on is having the application scale be variable per-application.

- The idea is that the monitor always runs at native resolution.
- Each application window can be stretched (traditional edge-dragging) or scaled (new multi-touch pinch)
- The application can render normally without the application developer being aware that the application is being streched. The key is to make the font API’s be smart under the covers to render to the native resolution font.  For this to work fonts have to scale in a linear way. (Currently a problem on Windows because of hinting)

I’d love to see something like this on both Windows 7 as well as future version of OSX. The existing architectures have held back high DPI monitors since 2000 when I first started looking at this problem.

Google Chrome Browser Review

Sep 08
3

Google surprised everyone when it recently released a web-browser named Chrome. The surprise was primarily due to the fact that Firefox seemed to be the Google darling for many years. As Google has grown, the dependency on browser technology has also grown.

As a search engine Google primarily displays HTML with some minimal JavaScript. But as an email, calendar, ad-network, blogging platform, news-reader and more, the dependencies on the browser have grown. To alleviate this Google has used projects like Google Gears, Google Toolbar, Google Web Toolkit and more to fill the gaps of the browser. Now it seems the stop-gap solutions are not enough.

First off… Google Chrome is not for everyone. In fact I may even say it’s not yet for anyone. It’s a Version 1 and it does a lot of things well but it’s not perfect and there are still a number of issues that need to get worked out. It also only works on Windows. That said it’s a pretty good V1.

Google stands on the shoulders of both Mozilla’s Firefox and Apple’s WebKit for many pieces of the browser. This could not have happened without open-source software. The primary rendering of pages seems quick and crisp and all pages in my initial testing seemed to work without a problem.

The key areas where the Chrome browser is different:

  • Opening a new tab
  • Auto-completing a URL
  • Overall look and feel
  • Incognito
  • What’s missing – Plug-ins, spellcheck, etc.
Opening a new tab
Opening a new tab in Chrome brings up a page with the top sites you visit and allows you to quickly pick either an existing site or browse to a new site. This is a great idea. Reasearch shows that users re-visit the same 5-7 sites over and over again and often they type the website name each time. Firefox 3 keeps track of your recent sites but this takes it to the next leval and allows you quickly and visually identify and open a site. I love it and expect to see this in other browsers very soon.

Auto-completing a URL

When you start typing a URL into the address bar Google chrome automatically starts searching your history, your bookmarks and Google itself via Google Suggest. As anyone who’s done reasearch on search knows that one of the most common things typed into any search engine is a URL. By combining search and URL’s you have one stop shoping for typing a site name, a bookmark or a search. I wouldn’t say it’s better or worse then Firefox it’s just a little different. Some users may appreciate the change while others may find it annoying.

Overall Look and Feel

The overall look is very clean and minimal. It reminds me a lot of Safari on the Mac. The buttons are minimal, there are no draggable toolbars, no hidden menus when you hold Alt, no bookmark manager, no spinning logo, no toolbar customization. The browser does it’s best to stay out of your way.

  • The find on page dialog floats cleanly within the window
  • The download page doesn’t get lost in a secondary window
  • The status areas comes and goes as you hover over links never stealing space from your overall browser.
Showing IE, FF and Chrome displaying 1px of vertical content you can see that Chrome is much thinner:
In general this means that more space is given to your content and less to the ‘chrome’.

Incognito

In Safari it’s called “Private Browsing” in Mozilla there’s an extension called ‘Distrust’ in IE the often talked about but never implemented ‘promiscuous mode.’ In Chrome the feature is called Incognito aka ‘porn mode’ creates a seperate window that is free from the browser cache, history or other identifiable data.

I’ll just say it’s an interesting feature to include considering the other features that have not been included.

What’s missing

As I said previously I don’t consider Chrome to be a complete browser. There is no bookmark managment, no visible support for plug-ins, no spellchecker, no way to set a home-pages, etc. etc. Some of the tools you depend on may not be available. For some people this isn’t a big deal for others it’ll be a show-stopper.

The big deal is performance

In initial testing Chrome seems to be significantly faster at rendering complex pages then both IE and Firefox. The difference is visually noticable as pages pop and complex interactive sites like Gmail load with new found speed.

This performance is undoutably one of the key reasons that Google decided to invest in it’s own browser. The engine driving Chrome’s Javascript is a new peice of technology that does for JavaScript what Java had promissed to do years ago.

The added performance does come as some cost in terms of memory:

Sure it’s faster but look at all the memory it’s using. 80 megs for a browser is about 4 times what firefox and Internet explorer use. On modern computers memory performance tends to be cheap. Of course you want fast and minimal memory but if you had to choose one I’ll take the performance.

Other details

  • Chrome has a feature to turn a page into a desktop appication. This is simlar to the Prism concept from Mozilla. This is the future. I was very happy to finally see this in a shipping product.
  • There is a development mode that’s preety slick. It’s not quite Firebug but it’s pretty good.
  • View Source formats and displays a good looking source page
  • Browser settings, bookmarks and other data import nicely
  • Spell Check. I miss you.
  • Tabs can be ‘torn’ off similar to Safari to create a new window, tabs can also be re-ordered by dragging.
  • The browser passes the Acid-test 2 and does OK on acid test 3 (77/100)
  • Accessibility and keyboard shortcuts seem to work well
Overall a good V1. It’ll eat away market share from Internet Explorer and Firefox in limited places but for the most part I see this as a technology preview. The power of Firefox is still it’s extensive plug-in and customizations. The power of IE is it’s enterprise deployments and OEM’s. In the short term Chrome doesn’t change that but longer terms it’s certainly a large peice in this puzzle. Either way the Google browser will help push the state-of-the-art in open source web browser development.

Testing IE6 on Vista Using Virtual PC

Sep 07
13

If you’re a web developer you may need to test on IE6, Firefox and IE7 while running Vista. The last two are easy the first one is a little trickier. Here are the steps needed:

  1. Download Virtual PC 2004
  2. Download the Internet Explorer 6 Testing VPC Image
  3. Unzip and setup everything and launch Virtual PC.
  4. Create a new virtual machine for Windows XP, click next, name your virtual PC image and then continue to add the “Hard Drive Image” you downloaded in step 2.
  5. Run the image and get the basics working. You’ll now notice that XP has no memory and can’t get on the network.
  6. To increase the paging file you have to right click on My computer, go to properties, advanced, performance, settings, advanced and set the virtual memory using the change button.
  7. If you get a firewall dialog box make sure you allow access.
  8. To get the VPC on the network you need to open up internet explorer and go to the options tab. Then go to connections tab and select LAN settings. Here you will need to uncheck the Proxy Server checkbox. ITGProxy is the internal proxy that needs to be used within Microsoft internally. It’s clear that this was never tested outside of Microsoft as this setting should never have been set. This drove me crazy for about an hour as I checked all sorts of settings. Hopefully this tip can save you some headaches.

The entire procedure is rather a pain to test for a browser. You have to download a half a gig of software just to test compatibility. In theory it should be possible to run IE6 side by side with IE7 (I do this on XP using a great program called Multiple IE’s) but for whatever reason it doesn’t work on Vista. One step forward two steps back.

Why IE isn’t standards compliant

Sep 07
8

I recently read a post that whines about the fact that Internet Explorer isn’t standards compliant. Boo hoo. Of course it isn’t standards compliant and if people understood how business works we could get IE to be strict on standards in 8 months.

To understand why IE isn’t standards compliant you need to understand how operating systems are sold.

Sales: We have a great new operating system. It has all sorts of great features, it’s more secure, robust, cost effective, it has great ROI, feature, feature, feature.

Business: Will all our business applications, devices and internal websites continue to work?

Sales: Yes. We support 98% of all your core software and our web browser is backward compatible so it won’t break your internal web applications.

Business: Ok, well we’ll roll it out in stages over the next four years and we’ll support both OS’s during the transition.

IT Department: Shit.

The equation is simple. Businesses take a long time to adopt new technologies and they tend to fear change because it tends to break things and cost them money. This creates an incentive for Microsoft to create backward compatible technologies. It’s hard enough to create a standards compliant browser but it’s likely impossible to do so and maintain compatibility with the bugs you had in previous versions of your browser. This is exactly what IE is trying to do. They will happily fix ‘IE hacks’ that require a workaround but they don’t go for the brass ring of passing the acid test because too many businesses want the legacy behavior because they don’t want to update their internal applications.

It’s not about websites asking for change it’s about big business. What can business decision makers, educational institutions and governments agencies do to help impact this type of change quickly?

Simple.

Business: We’ll upgrade the OS when it supports a truly standards compliant web browser.

Get your company, state government or city to say that sentence and you’ll see a new version of IE that’s finally standards compliant in the next 8 months.

Linux and Patents

May 07
16

People in the Linux community are asking Microsoft to “show me the patents.” Microsoft is certainly creating some uncertainty but they are very likely on solid footing on some of their many patents. The reason that Microsoft isn’t making a move is because it’s not yet clear who to go after. The desktops? The distributions? The corporations deploying the software? A legal battle would likely cost them more then they could gain.

Many of the patents in the MS portfolio cover core design and implementation details that would not be trivial to code arround. Three examples that I suspect are undoubtably part of the list:

  1. The start menu
  2. Long file names
  3. Plug and Play

Each of these covers a different area of design and protection. The start menu is clearly a distinct visual element that is very recognizable as a fundemental part of windows.

Long file names is a level deeper in the OS. This describes how a file can have spaces and still be used to traverse folders using traditional commands with quotation marks. The use of quotation marks is not-obvious and the duplication of the feature (even though it’s a separate implementation) is likely an infringement.

Lastly Plug and Play is down in the guts of the OS. This is core to how the OS deals with hardware devices. In order for Linux to be compatible with hardware it’s necessary to be compatible with the way that Windows does plug and play.

Of course this is likely the tip of the iceberg. Hundreds if not thousands of additional patents lie just beneath the surface.
The best defense is a good offense

There are many technologies that are invented and created by individuals in the open source community. These technologies are invented, designed and made popular. Many of these inventions make their way into Linux and other products. The best defense is to build up an ‘open patent portfolio.’ This would allows contributors (IBM, Dell, Novel, Adobe, Ubuntu, KDE, Gnome, etc.) to include patents in a community portfolio. The portfolio would be open and cross-licensed to other organizations that provide reciprical agreements.

Basically companies can use the open patent portfolio without cost as long as they don’t sue the patent contributors.

What ends up happening is you have a ‘cold war’ on patents. Both sides build up an arsenal of 100′s of patents and neither side will sue because it’s a no win situation.

(A crazier idea is to enact software patent reform, but that’s just pie-in-the-sky long-term thinking.)

Fitts law of mental clicking

Apr 07
27

Fitts law is a basic UI principal that predicts how easy it is to click on something. Larger things that are close to the mouse are easier to click and smaller things that are far away are harder to click. This principal guides a lot of UI design and helps ensure the proper placement of buttons, controls scrollbars and other elements.

It’s perhaps not fair to call it a ‘law’ since many applications and operating systems break the law in many places. One of the artifacts of this rule is that the edges of the screen end up being much easier to click.  In Windows XP & Vista the start button is clickable from the far-most corner even though the pixels in that corner are visually not inside the button area. (However the clock is not clickable, oops)

Fitts law predicts how easy something is to click but it doesn’t predict what you’re actually more likely to click. For example given two buttons that have the same meaning you are more likely to click the larger one.

Let’s take an actual example:

Example of vista taskbar button

Here I’m showing the mouse as it hovers along the taskbar. The user is moving their mouse along the bottom looking for a particular application. Once they see that application there is a strong instinct to want to click on the actual object that they see because it’s larger. This is what I call “Fitts Mental Law” the user will want to click the larger button. From the users perspective the image is the application so this maps to what they want.

Unfortunately on Vista this doesn’t work. As soon as you move your mouse toward the large image it disapears.  Add another little frustration to my growing list.

Things to Love & Hate about Vista

Apr 07
18

Love

  • New start menu – In general the new start menu is easier to navigate. By typing a few letters you can quickly find an application. Alternativly you can navigate the menu structure without filling the screen with cascading menus.
  • Better system searching. Finally. – You get relatively fast results without too much pain. It has room for improvement but it’s 100x better then XP searching.
  • File-system meta-data tagging – You no longer have to create sub-folders for everything. Just save all your stuff into one core location and use tags and meta-data to find it. This in conjunction with searching moves away from hierarchical storage. This makes it much easier to manage 100,000′s of files without having overly nested folders.
  • Better photo browser – Along with the generic file-system meta data there are photo specific attributes and a photo browser that makes it easier to look at large collections of pictures.
  • Other things I loved? Nothing really.
    • Tablet and Media Center are great if you’re using Vista as either a tablet or a media center. Having these features built in didn’t really change anything.
    • Aero is nice. It looks better then the XP theme but doesn’t dramatically impact how you use the computer. Flip-3D is also nice but slower then the traditional Alt+Tab. Whenever I see Flip3D it reminds me of the “Window->Cascade” menu in Windows 3.1. The more things change the more they stay the same.

Hate

  • Security dialogs, warnings and confirmations. I generally don’t turn security features off but it’s so awful I just had to disable it in order to actually use my computer. Security shouldn’t impact the user experience unless the user is actually doing something that could harm the computer. These security dialogs are now all over the place.
  • Stuff that used to work in XP may no-longer works (my scanner from HP doesn’t work, my web-cam from Logitech doesn’t work, certain software applications such as Quickbooks’05 are not supported, my standard dell sound card driver didn’t work without a lot of tweaking. etc, etc.)
  • Stuff that changed but didn’t improve. There are many example of dialogs and interface screens that got re-vamped and didn’t add significant improvements. In fact many of these seem to have lost some features or gotten unnecessarily complex.
    • Windows explorer used to have a film-strip view when viewing photos – gone
    • You used to be able to select the photos you wanted to print from the photo printing wizard – gone
    • You used to be able to change the date/time from one dialog, now it’s four separate screens .
    • You used to be able to adjust your screen/display/theme from one dialog, now it’s five separate screen.
    • Remote desktop forgets my multi-monitor resolution when I re-connect to the desktop.
  • There are now 50 different control panels. That’s 50 different places that you could screw up a setting. (Win2000 and XP had about 23)
  • Sidebar. – Anything that takes up permanent screen space should help users work with their computer. The sidebar is a classic example of a distractor. Google desktop and Yahoo both have their own versions of this same ‘tool.’
  • Business/Home/Ultimate differentiation. – Business should be a super-set of home so if you wanted home plus some other stuff you would get business. Now certain features aren’t in business but they are in home. You can’t have Windows business and still play games during lunch like solitaire.


Should I upgrade?

Probably not. Unless you like living on the edge or are developing Vista sotware there really isn’t a compelling reason to migrate. Tools like Google and Yahoo desktop fill the gap for desktop search and ‘sidebar widgets’ (if you like that sort of thing) Picassa is a good photo stop-gap for XP machines. The time saved by other improvements across the system are outweighed by the time lost due to security dialogs, re-learning and incompatibilities.

If you are really itching to improve productivity I would instead recommend the upgrade to Office 2007.

Eat your own dog food

Mar 07
28

At Microsoft we used an expression ‘eating your own dog food’ the basic idea is that you’re supposed to use your own products. By using your own products you can better see the real world scenarios and problems that customers will experience. It’s a great way to run a real-world usability test on yourself.  When you eat your own dog food it tastes awful at first (hence the name)  and there are all sorts of problems. In some cases the software is so bad it can impact productivity. However it’s these pain points that help focus developers and product groups on fixing real-world problems that address tangible needs. If you’re not willing to use your own products and software on a day to day basis what makes you think that someone else will?

I was reminded of this today on a visit to iRobot. I was listening to a general talk about robotics and human-robotic-interaction. (A whole different post).  The talk covered general robotics and company specific products such as the Roomba sweeping robot. As the talk let out around 9:30pm people mingled and talked. Then to my surprise the night cleaning crew came in and started vacuuming the room with traditional vacuums . I half expected dozens of Roombas to launch a coordinated assault on the building cleaning, vacuuming and polishing the floors. I’m sure the cleaning crew does a great job but it seems like a lost opportunity to learn and improve the product.

If your company creates a product, any product, that you can use on a day to day basis you should. Even if the use is slightly abstract and convoluted. Only by using your own products will you be able to find the pain points. Just remember to enjoy the puppy chow.

IE7 Beta 3

Jun 06
29

A few months ago I posted about Ie7 beta 2. Yesterday beta 3 came out and I took it for a whirl. Overall it has some improvements (most of these seem to be following in the steps of Firefox.)
-Tab re-ordering has been added. This allows users to drag tabs to re-order. Unfortunately dragging a tab into an email or to the desktop doesn’t give you a shortcut as expected.
- The icons have been re-freshed and overall they do look cleaner. The overall design of the browser is the same as in Beta 2.
- When viewing an image IE now uses a zoom mouse cursor to allow users to expand or contract an image in place. The behavior is much better then the auto-resizing toolbar from previous versions. Unfortunately there is a bug that you only see the mouse cursor change once you move the mouse away from the image and then return back.
- A rendering bug may have been introduced. The site digg.com started showing home page problems. (This could of course be an issue with the digg site)
- Some earlier bugs have been fixed with regard to zooming, rss reading etc.

The other change that’s not so much visual is performance. IE7 beta 3 seems much snappier to launch and to navigate between pages.

Did I think about switching back?
Briefly. The performance does seem a lot snappier and most of the core features are similar. One of the things about FireFox that makes it ‘sticky’ is the large number of useful extensions and customizations that are not available for IE.