Archive for Technical

Acrobat Reader Browser Plug-in

I have complained before about Acrobat Reader’s poor usability. Tonight, I want to point out another flaw in the way Acrobat deals with PDF links from within a web browser.

For example, if you search Google and find a PDF link, click on it, and Acrobat opens as an embedded window within your web browser, then Acrobat will attempt to conserve bandwidth by not downloading the full PDF but only rendering the contents that you are viewing. This makes sense for people on slow connections with large PDF documents. However, there’s no point doing this if the connection is fast enough. It really makes browsing the PDF almost unusable in a variety of situations.

Because content is only downloaded as it’s needed, you often have to wait between pages for the content to download and be rendered. If this were a PDF stored in entirety on your hard drive, this time would be unnoticeable. It only gets worse if you try skipping around in the document; you will suffer from serious lag (no matter how fast your connection) waiting for the download thread(s) to synchronize and render the content you are actually trying to view.

Now try searching the PDF loaded within your web browser. You will see that Acrobat (via the browser) makes numerous connections to the web server to retrieve content. My suspicion is that there is one round trip per page of the PDF document, as if it were rendering it one page at a time. For a large PDF document of a couple hundred pages, it makes it impossible to perform a text search on the document in a reasonable amount of time. It can easily take up to a second to search 1 or 2 pages when uncached. It would make much more sense to download the entire PDF, then perform a text search, which happens in less than a few seconds even for PDF documents of several hundred pages.

Ultimately, this leads the savvy web user to click ‘back’, save the PDF link to the disk, and then open it externally in Acrobat to make navigation and searching fast. The trouble is, average users probably don’t know they can do this. Or even how. They may not be able to understand the association between the slow search and viewing the document within the web browser; and if they do, they may not know how to get around this.

This is a classic usability problem that drives me crazy on a regular basis.

Comments off

Traditional Media Web Sites Are Always the Worst

I think I’ve written about this before. But I’m going to do it again with a different spin.

Why are traditional media web sites (CTV, CNN, the Globe and Mail, Canada.com, etc.) always the worst? They are quite possibly the most poorly thought out, the least accessible, and the most annoying to read of any industry of major web sites.

Apart from the fact that they are too cluttered (often trying to make their front pages look like their newspaper’s front page, forgetting the fact that we’re dealing with monitors not newsprint), they often have annoying little slide shows or “interactive” stories exploiting (and I chose that word quite deliberately) Flash.

Let’s choose, for example, CBC’s interactive food safety map. I hate to pick on CBC, because I think they are among the best at maintaining a well-designed web presence, however, this is an excellent example of what I’m writing about.

Problem #1: how is this interactive? I can click on a picture and then see text relating to it. Is this really what interactive means? Maybe my expectations are too high.

Problem #2: why couldn’t this have been presented as a list with an image and some text broken into sections/categories. They could have even had one category per page and made a “slide show” using real HTML pages, eliminating Flash altogether. Maybe this interactive map is just a way of disguising their lack of real content.

Problem #3: how can people who can’t read embedded Flash text read this? It is entirely unaccessible. What makes it most frustrating is that there is no good reason for using Flash.

Problem #4: Flash. Okay, so this is the common problem among everything I have said already. I think the important thing to understand about Flash is thus: Flash is an acceptable web site component only when you are trying to present content that is otherwise ill-suited for a web browser environment. These include: games, movies (think YouTube), and other multimedia content unfit for HTML. This does not include advertising or any other means for presenting otherwise static content.

Problem #5: it’s annoying to use. I have to click to bring up the content I want. Click again to hide it. Click again to bring up the next set. It scores very low on my usability scale and does not ever make me want to view an interactive tidbit at CBC (regardless of how much I like CBC) again.

When I see things like this happen, it makes me wonder if it’s the web designers who are trying to show-off their fancy Flash skills because they’re bored of designing conservative web sites for their media companies, or if it’s mid- to high-level managers trying to make their respective media companies keep up with the Jones’ because “everyone is doing Flash.” I would really like to know.

Comments off

Inconsistent Reply Flag in Outlook

I find the reply flag on email in Outlook only somewhat useful. But regardless, it would still be nice if it was consistent.

When using Outlook Web Access (OWA) to connect to the Exchange server at work, the reply flag on an email is set immediately after I click the ‘reply’ or ‘reply all’ button. Even if I cancel the message, the email is still flagged incorrectly. Why? Is it so hard to make it consistent?

This makes a pseudo-useful feature even less useful due to unreliability. If I can’t trust it, why would I pay attention to it?

Comments off

Hauppage MediaMVP

After running into problems (and quite frankly, being too lazy to fix them) running my old 3dfx Voodoo3 with TV-out to my TV, I decided to look for a device that would play the movies and TV shows that I had on my computer on my TV without a whole lot of fuss. After some searching, I discovered the Hauppage MediaMVP.

The MediaMVP is a Power PC-powered linux unit that does on-board MPEG 1 and 2 decoding. It connects to your LAN via wired or wireless ethernet, and communicates by various means to pull the data stream and display it on your TV. It comes with a remote control that you can use to browse your media, and play/pause/etc like you would on a VCR. Very useful. It turned out to be a better solution than using the TV-out since this way I don’t have to run over to my PC to make it pause the video.

The unit ships with Windows software for booting the device (the “MVP Server”) and streaming the data from the PC’s hard drive. For DivX, the host PC transcodes on-the-fly to mpeg and then streams to the device. I found the Hauppage software to be kind of ugly and not really all that great.

I decided to give some third-party software a try within a couple minutes of playing with the Hauppage stuff. First, I tried the MediaMVP Media Centre (mvpmc) which doesn’t require a Windows PC at all — better for me, since I don’t have one, apart from my laptop, which is not the way I want to run my MVP. mvpmc is a replacement linux kernel for booting on the MVP (served by tftp from any host) that connects to nfs and cifs (samba, Windows smb protocol) hosts to grab mpeg 1 and 2 data for playing. For DivX, it uses VLC with the telnet interface to stream mpeg to the device. This worked okay, but I ran into some audio sync issues and instability. Some DivX just wouldn’t play.

(The cool thing about mvpmc was that it had busybox on it. I could telnet into my MVP and do all sorts of stuff. Very cool. Not all together useful.)

Finally, I gave in and tried GBPVR, a larger PVR project for Windows. So I built a Windows 2000 virtual machine (since I’m a VMWare junky, it turned out not to be a big deal to run a Windows VM dedicated to the MVP) and set-up GBPVR. I don’t want/need any of the PVR capabilities, but it does a rather nice job of working with the MVP. It works the same way as the Hauppage software in many respects. For DivX, it transcodes and streams. Once I solved some aspect ratio problems (with the help of a utility for GBPVR called ZProcess), things are working relatively smoothly without too many hiccups. I can play my mp3s in the living room now, and listen to low-quality Internet radio stations.

On a side note, I ran into some bizarre issues with my Windows VM access Samba on my main workstation. For some reason, as soon as I started browsing, explorer would lock up for a few seconds. On large files, it would lock-up for a really long time — so long I never waited it out and killed explorer. In the end, I tracked it down to some bizarre problem with an option on my ethernet card: tcp segmentation ofload. Running ethtool -k eth0 tso off seemed to do the trick. There is also an option in Samba that may do the same thing, though I didn’t test it.

Later, I wired up my webcid script to send a YAC ping to the YAC listener plug-in for GBPVR. Now, when someone calls, I get caller ID information popping up on my TV when I’m using the MVP. Very cool, very useless. It was a little too easy to make all the bits interoperate it wasn’t that exciting to see it work.

So far, so good. It’s turned out to be a good $100 investment.

Comments off

New Hardware

After four years of the same old Athlon 1 GHz, I finally have some new hardware. It’s quite fun not to have to wait for anything to load. I’m not going to a big nerd and go on about the specs, however, I do want to write a bit about what works and what does not work with Linux, since it’s quite a different set-up than I’ve had previously.

RAID: my motherboard has on-board “fakeraid” which is poorly supported by the Linux kernel. I wanted RAID 1 (mirroring) and the current kernel (without crazy patches, which I hate doing) doesn’t do any redundancy checking when reading/writing from the RAID array, which basically makes the array useless. So I’m doing software RAID with Linux, which seems to be working well.

SMP kernel: I have a 64 bit dual core cpu. Installed linux-image-k7 worked great — it automatically is running with both cores, no configuring. Didn’t even require a special SMP kernel — it’s all one in. Very convenient.

(Why am I running a 32 bit kernel? Because, quite frankly, 64 bit sounds like a bit of a pain with drivers and the like. It’s just easier to stick with 32 bit for now.)

NVIDIA TwinView: I’m running binary NVidia drivers on my box, with two monitors — my existing ViewSonic widescreen and a regular 4:3 square Dell that I bought from a friend. TwinView is nice becaue I don’t have to worry about annoyances from some of the other lame ways of running dual-head with X. However, one of its major limitations is the inability to run a different DPI on each monitor. So far, I think it’s okay and my fonts aren’t screwy. But I’m kind of paranoid about it since the KDE login screen is quite badly distorted.

Google Earth: I can run Google Earth now, which seems incredibly cool. Except it doesn’t render correctly and I have no idea why.

Multimedia keys: It was surprisingly easy to set-up my multimedia keys on my Microsoft (gasp!) natural keyboard.

That is all for now.

Comments off

« Previous entries ·