Disclaimer

The content of this blog is my personal opinion only. Although I am an employee - currently of Nvidia, in the past of other companies such as Iagination Technologies, MIPS, Intellectual Ventures, Intel, AMD, Motorola, and Gould - I reveal this only so that the reader may account for any possible bias I may have towards my employer's products. The statements I make here in no way represent my employer's position, nor am I authorized to speak on behalf of my employer. In fact, this posting may not even represent my personal opinion, since occasionally I play devil's advocate.

See http://docs.google.com/View?id=dcxddbtr_23cg5thdfj for photo credits.

Monday, September 01, 2008

Back to the Future

What does it say that I, a committed handheld gadget early adopter, now have only a cheap cell phone? And that I am considering adding a separate, cheap, Palm PDA?

I.e. what does it say about the market for handhelds, PDAs, SmartPhones, etc., that I am considering - heck, actually have - and going back to my cell/PDA configuration of more than a decade ago.

My current cell phone is a Motorola V197. Essentially the cheapest cell phone that i could get, unlocked. It has minimal address book functionality, and that's about it.

I don't currently have a PDA, apart from the limited functionality of my cell phone. I was shopping today, and am probably homing in on the Palm Z22 (99$, "technophobe") or TX (270$, WiFi).

I am, or at least was, an early adopter. I got a cell phone before they were popular or digital - as a modicum of safety for climbing. I purchased the first Palm PDA.

My wife and I agree that our best cellphone ever was our Kyocera SmartPhone. A good enough phone, and a good enough pen-based PDA. I negotiated two job changes using text messaging and the pen on that phone.

But I have been disappointed since then. My most recent disappointment was my AT&T Tilt (HTC 8925). Now, the device formfactor itself was not a disappointment - but its lack of durability was. A minor fall to a carpetted floor broke the screen. Googling reveals that such problems are common, and that the warranty seldom covers such damage. I am reluctant to replace this rather expensive but apparently unreliable device. Moreover, in at leas one way oit is overkill: I never used the slide out keyboard, at least not after the first day. Pens rule!

Which is probaby the problem: I love the pen interface. I hate the mini-keyboards; and I especially hate the pseudo-keyboards of numeric pad phones. But there are almost no cellphones, bar the HTC family, that have a decent pen interface. An always out keyboard wastes precious screen space.

The iPhone is cool, but Steve Jobs apparently has a thing against pens, since his erstwhile rival promoted the Newton.

I naturally gravitate towards Linux devices such as Nokia's web tablets, but, again, they have no pen interface. Nor do any of the numerous Linux ports to PDAs and SmartPhones appear to support pens.

So, this leaves me with non-phone PDAs, mainly PalmOS and Windows Mobile 5 and 6.

Hence my reversion "back to the future": back to carrying a separate phone and PDA. The only saving grace is that this time around, the PDA may have WiFi or GPS. It's a pity that the PDA won;t be able to dial the phone via bluetooth.

Friday, August 08, 2008

More slowness at startup

Today is not really a fair example: I was starting up today from shutdown and power down, i.e. I was doing a cold boot, because I had been running various tools, installing patches, etc. all night long. (I may record notes about how long *that* took; suffice it to say that my computer was useless 12noon yesterday to 6am today, and the job is still not done.)

But, although it may not be comparable to earlier logs of such slowness, it is fair to say that it is typical: I do such a cold boot every week or so, on bad days two or three times in a day.

I cam in late because I was installing virus scanner patches at hope - "High priority security updates" that I was warned could not be interrupted.

Times off my cell phone:

10:11 cold boot starts

10:13 logged in to windows (that wasn't so bad - in fact, that was faster than standby often is)

10:15 desktop is visible

10:16 screen resize to fit docking station

10:18 Outlook starts

10:20 Outlook meeting notifications visible - however, they do not immediately respon when I hit the click button

10:22 Outlook still not responding to attempts to dismiss meetings or read email

... Have to run to a meeting.

BOTTOM LINE: more than 11 minutes wasted, and never got to the point where I could actually use my computer.

Thursday, August 07, 2008

Thinking about "Slowness at Startup"

I am recording these episodes of "Slowness at Startup" mainly to record hard data as to how real this problem is.

Partly because one day I was talking with Linus - at the approximately once a year dinner David Kanter arranges for Portland area folk - and I said, in passng "I hate opening my laptop, it always takes 5 minutes to come out of standby". Linus looked at me witheringly, partly with the "You stupid fool, you shouldn't be running Windows" attitude he always wears, but also disbelievingly because he said that "even Windows" came back from standby quicker than this.

Partly because I work with people who claim that they are responsible for Windows coming out of standby in 30 seconds or less, 15 seconds, etc. - and who say that they are going to get it to just a few seconds.

There is a major mismatch between what these guys claim, and what I experience.


I suspect that a lot of the mismatch lies in how you measure time to "Get out of standby".

I think that many of them measure it as "time to see the screen redrawn". Whereas I measure it as "time to actually being able to use my computer to get work done." For example "time for me to read the first email in my Outlook Inbox", which is fairly unambiguous, although it does depend on Outlook's state when I went into standby.

"Time to read Outlook email" is my main metric, although I have others, such as "Time to being able to use a web browser to do a Google search". Or "Time to my screen being resized to take advantage of the two monitors I have when docked, or to fot onto my laptop screen when undocked". (This can be critical, because it is pretty close to impossible to work when you have a large screen displayed on a small monitor, but, unfortunately, often the applications come up quickly but the screen resizing (Thinkpad Presentation Director) takes a lot longer. Not to mention that resizing my screen often takes 2-3 minutes in and of itself.

It has been a truism that one should design systems to get the screen drawn quickly, even though the application is not yet ready to do so. I am not so sure that this is a good idea any more - I find it quite irritating that a window is up, doing nothing, while the application is ever so slowly coming back to life. I find it hard to tell the difference between an app that is coming back slowly, and one that is dead. I probably waste a lot of time killing such apps, and restarting.

I think that it might be better user interface design to make it explicit what is happening to app.

Instead of

(0) Window manager draws a frame, but the window contents is blank
(delay of a few minutes)
(1) Application receives a redraw event, redraws the window contents, but isn't ready to respond to keyclicks
(delay of a few minutes)
(2) Application is finally responsive

with no visual difference between (1) and (2), except maybe for the hourglass cursor, which isn't reliably displayed, how about:

(0) Window manager draws a frame.
Window manager redraws the window contents from backing store.
Window manager greys or shades the window, to indicate that the app is not ready yet
(1) OS doesn't even allow the application to do anything until its working set is loaded
(delay of a few minutes)
(2) Application working set (from before the standby) is loaded, app can be expected to be responsive.

This gets you to the place where you can see the window contents quickly, quicker than Windows does now. You can flip through apps, or, if you are like me and often have your calendar up, look at an old display of your calendar, which may have the info you need.

But it delays making the application appear to be ready to talk to you, until it truly is. Thus diminishing that frustrating "I don't know if the application is ready or not" delay that trakes 5 or more minutes on my current system.

For extra credit, ungrey buttons as the application is ready to deal with them. For example, ungrey the close window / kill application button as soon as possible, but only ungrey resize when thre application is ready.

---

I'm not going to say "It's not the slowness, it's the user interface that makes the slowness more frustrating". Because the slowness is a problem.

But the user interface is particularly annoying, and exacerbates the slowness.

More slowness at startup

Today was not all that bad - only 5 minutes until I could do something, although I had to leave to go to a meeting before everything was up.

8:44 start from standby

8:47 Outlook screen is redrawn,
With an email that I was composing before I left at the top.
Cannot type at this email, or send.
Can't read Outlook email yet.
Outlook reminders pop up.
Clicking on Outlook reminders to dismiss them - nothing happens.

8:48 switch to Internet Explorer window. Click to close.
Count 30 seconds while waiting for it to close, but still doesn't close.
Switch to another window.

NOTE: the window manager (Windows Explorer?) is alowing me to switch windows.
It redraws the frame quickly, but redrawing the contents of the frame,
which seems to be up to the app, is slow, doesn't happen for > 1 minute

8:49 The email that was on my screen at startup finally gets sent
(or, at least, it responds to mny pressing the send button)

8:50 Acknowledging (dismissing, snoozing) Outlook reminders
takes more than 30 seconds

8:50 The Internet explorer window that I clicked to close at 8:48 finally closes.

8:51 Outlook starts recognizing keystrokes

8:52 I still haven't been able to switch to see any of the email in my Outlook Inbox.

... at this point I have to go to a meeting. When I get back at 10:10, performance is much better.

Wednesday, August 06, 2008

More startup slowness

This morning:

9:10 start from standby
9:12 mouse movement and clicks start working.
9:13 display gets resized
9:15 resize done
(yes: resizing on my ThinkPad takes at least 1 minutes, circa 2)
9:16 Outlook is now visible, although it is not responding to clicks.
Apparently it is archiving email
9:17 Today's calendar is visible
9:20 Internet Explorer windows still framed, but blank inside the frame
9:21 I have finally been able to read my first email on Outlook.
However, disposing of it and moving on the the next email still takes a very
long time.
9:23 I regret making the mistake of clicking on a link in a piece of Outlook email.
Now both Outlook and Internet Explorer are hung.
9:33 Finally, Internet Explorer display the link that I clicked on 10 minutes ago.

Bottom line:
7 minutes to where I can look at my calendar
11 minutes to where I could read my first email.
23 minutes to where I can actually process email that involves web.links

More slowness at startup

Yesterday, Tuesday:

8:28 start from Standby
8:30 Outlook visible, but blocked - not accepting input, etc.
8:35 able to change Windows in Outlook, can see calendar, but can't do email yet
8:38 Outlook says it is archiving folders
8:39 still getting hourglass
8:42 able to read email

Bottom line: 14 minutes from start, to reading email.

Monday, August 04, 2008

Slow Monday Morning

I complain constantly and profusely about how slow the computer is that IT forces me to use.

(I don't complain so much about my personal computers, which are faster to begin with, and less weighed down by IT software.)

This morning is a particularly bad example:

8:32 - start trying to use computer.

But this is a particularly bad slow day: (a) I reinstalled IT's BESclient, so as to allow me to try to upgrade some software, installing the missing Microsoft Equation Editor; and (b) when I went to bed last night at 1am I started up IT's backup tool, Connected TLM, which was still running.

Although I hit the "cancel" button on the backup in progress, after 8 minutes it had not even accepted the keypress so I went further:

8:40 - requested a "Restart" of the OS

circa 8:45 - the actual reboot started, after stopping all pending processes

8:53 - the reboot had progressed to the point where I could see the digital clock on the status bar

8:55 - my screen was resized by the reboot, to reflect my docking station configuration

8:56 - Outlook started

9:00 - I can finally see my Outlook calendar!!!

9:04 - I can finally see the first piece of email in my Outlook Inbox.

One way of looking at this is that it took 32 minutes from the time I decided to start using my computer, to the time I could do anything with it.