Saturday, December 5, 2009

What If....?

Sometimes I envision of something in the tech world, and wondered if it really exists. The following will show a few of what I had envisioned.

Windows Audio DSP

Many audio players these days features support for third-party plugins and DSPs, most notably foobar2000, WinAmp, and even Windows Media Player itself. It would be nice if Windows itself would feature these audio-enhancing DSPs, regardless of audio drivers, as it would improve every sound output regardless of software. Of course, the DSPs should be configurable on which application to ignore, or include. A good starting point is to include the basic Balance/Treble/Bass controls, an equalizer, and perhaps my favorite noise sharpening DSP.

Emulated Multi-machine Motherboards

Okay, I admit its a little hard to get what I mean with this. I came up with the idea of a fusion between a multi-boot and virtualization. Multi-boot allows a PC to have more than one operating system (OS), but the OSes cannot run simultaneously. That is, you need to shut down the PC in order to use the the other OS. Virtualization, on the other hand, allows a guest OS to run simultaneously inside the host OS, using a virtual machine. Too often virtual machines can't run as fast as the real machine, and driver support is very limited. Heck, you shouldn't even play 3D games in a virtual machine.

Enter my idea: Make the real machine to work like a virtual machine. Let's say there are two OSes in this machine. I boot the first OS just like a normal boot in the real 'first' machine. Then, with some hotkeys, I jumped into the (still real) 'second' machine, and boot the second OS. After this I would be able to jump any of these machines freely, without shutting down the PC. The motherboard will automatically put the other OS into a save state when I'm using an OS.

Confused? Okay, I'll simplify.

Open PC > Select '1st Machine' or '2nd Machine' > Load OS (depending on what 'machine' you select) > Press hotkey to turn on '2nd Machine' (or '1st Machine', if you select '2nd Machine' earlier) > Load the other OS > Press hotkey to jump to other 'machines'

The advantage to this method is that you'll free up almost all the resources for only one OS at a time, while being able to switch to the other OS almost instantly. But, looking at todays' technology, this seems to be very far away, and possibly won't happen either.

The End Of Ridiculously High Megapixel Compacts

Camera manufacturers, please be honest. Milking your customers from the Megapixel Myth isn't doing much justice to them. Firstly, most compacts are aimed towards the casual point-and-shoot users, who doesn't know much about picture quality. Secondly, it will be very rare for them to print very large pictures (for instance, the poster sized A3 paper), where a lower resolution would suffice for standard prints (3-4MPs are actually good enough). Third, putting in too much pixels in a small sensor (DSLRs typically have larger sensors) will only make each pixel so tiny that it will generate less-than-accurate colors, introducing more noise (or grain, in film terms) to the picture. Fourth, higher resolution will only take up more space, while not giving them significant improvements.

Being a photographer myself, I'd appreciate if the manufacturers would be honest about megapixels. In the long term, people would get better pictures, lowering costs (both camera and storage), and happier moments.

That's all for now, maybe I'll post something else later.

3 comments:

  1. both Intel & AMD virtualization technology (VT) already enabled this, however it is more prominent on Macs bcos things are simplified by EFI instead of the old BIOS like those found in Windows PC. Ever heard about "hardware partitioning"? In layman's term, it is about 'dividing' your hardware into several 'partitions' so that both OSes (host or guest) can access the 'same' hardware resources without conflicting each other. Currently this is limited by the OS design, while full hardware support is already available, which explains why the host OS still need the virtualization software (like VirtualBox) to host the guest OS.
    ----------
    I do mostly agree with your words about the megapixel myth, except for the tiny pixel thing. AFAIK it is not the tiny pixels that introduces the noise/grain but it is more of the technology used by the sensor itself. It is like packing a big picture into a smaller negative/film. Well, when the camera makers bragging about bigger MPs, bear in mind that there are 2 types of MP, namely 'theoretical' MP and effective MP. Effective MP usually 0.1 less than the stated (theoretical) MP. Some camera makers are 'honest' enough to state the MP with the 'x.1' format (eg. 5.1 megapixel). In this case, the 5.1 MP is the factory MP while the effective MP would be around 5.0 MP. Considering this, it should be safe to assume a 5.0 MP camera would only have a 4.9 effective megapixels.

    ReplyDelete
  2. I'm quite familiar with virtualization, yes. In fact I use it to run legacy 16-bit apps, as my current OS is 64-bit, which can run 32-bit apps but not 16-bit apps. I also use it to test modified OS installers, which I modify using nLite, vLite, or simply WAIK.

    My idea is more like the motherboard is preinstalled with a mini 'OS' (which takes very little resource) to become the host, instead of using Windows/Mac/Linux as the host. Hardware partitioning only hurts the performance, as far as I can tell. Hardware acceleration helps but still not quite as good as the real stuff.

    But hey, come to think of it, why not the companies who make virtual machines (VMs) make these mini 'OS'es? Seems quite feasible to me, similar to Chrome OS where it's some sort of internet browser OS, only this time it's a virtualization OS. VirtualBox OS maybe? XP
    -------------
    About the tiny pixel thing, I'd like to analogize it to a bucket for measuring rainfall. Theoretically you will get more accurate results by using bigger buckets, rather than smaller ones. Same goes to the sensor, where it captures light rather than rain. When a pixel only covers a very very small part of the sensor, the light captured may not be so accurate. So when these less-than-accurate pixels are placed together in a picture, you get noise.

    Which is why, apart from a good lens, photographers also talk about larger sensors rather than megapixels, for better quality.

    ReplyDelete
  3. That'd be a good thing too, to have something similar to VirtualBox to sit between the pre-boot environment (PE) and operating environment (lets call that as 'VMOS' for now. However, I think hardware partitioning would still be required. Other problem would be the storage of the VMOS since it would have to be loaded from a ROM chip, just like the system of the very first Mac OS. And this would lead to another problem, upgradeability of the VMOS. Upgrade & patches might be needed from time to time not only to support newer guest OSes, but also for better security. Since it sits in a ROM, upgrades/patches would require a user to 'flash' the ROM (like what we do to the mobo BIOS) and this is a risky business to an average user, while security concerns does not only affect advanced user but also all computer users, regardless their computing skills. Maybe a mobo maker can make the process simplified and less risky (perhaps with flashing tool from within the guess OS as well as a backup ROM should the flashed ROM become corrupted in the process).

    Anyways, virtualization is not only about loading a second OS in the background, but also about loading the exact copy of our working environment in parallel so that we can switch to it right away whenever the OS we're currently working in crashed, or if the system requires a restarting so we can temporarily 'transfer' our work to the parallel working environment while letting that OS to restart.

    ReplyDelete