Post a Comment
many in the computer industry think numerical when they thing about computer link. But, if you want really multiplatform multi standard interoperability you need to think real world connection.
i said many time the biggest letdown of the computer industry since the early 80's is the abandon of the IO concept that interface to real stuff that do real things. This mean that to connect to the analog world that we live in we need analog aware protocol.
For a computer that don't know (yet) what the next computer he will communicate with will be like, he have to assume all possibility. All possibility mean analog chanel. I don't mean trow away checksum concept and all, just that the signal need to travel on their own frequency (to be totally asynchronous and remove net congestion acordeon style) and be voltage independant (or current or laser, or IR etc..)
Another advantage of being analog is that it remove any hardcoded limitation of a protocol, 127 limit for USB (don't remember that one exactly), gone. The limit become only the scope of the emitter receiver, while in numerical protocol both protocol coded limit and the hardware block the performance increase over time.
Analog was removed for weird reason from computer. The obvious one like error propagation of re-addition of variable (like a =a +1 ) are gone for good reason, but in many place (especially IO) it was a big fashion move that every computer company followed blindly.
I expect I am probably just being stupid, but I still don't get it. I am not criticising, but I do have a few questions that I feel neither of the articles to date have adequately answered.
Does the example used mean that an application developer would have to write all the handling code for every possible controller?
Would a flight stick require different control code in a program to a yoke type system?
Isn't this a case of the system making life easier for the few (hardware developer) and more difficult for the many (software developer), after all if I want to access a controller in a game at the moment it is usually just a case of asking for a value from a controller number and axis/button.
Personally, I like the idea. I don't see how this would stifle competition or make companies go out of business.
This would especially be ideal for users of alternative OSes, who usually end up suffering from limited peripheral availability. This I know from my BeOS days.
The trick would be getting hardware vendors to actually adopt this. Most are under MS's heel and would get slammed for participating in something like this.
Maybe I just don't get it, but what exactly is the deal here? I mean that as sincerely as possible without internet sarcasm. If I truly don't get it, just ignore the rest of the article.
We have devices, which need a standard interface. The devices communicate with the OS via this interface via a protocol which everyone standadizes. The OS then routes this packet to the appropriate application.
I mean really, what is the purpose of the PDA in this example? Why don't you just work on the base station and not route the packet to the PDA? Do people really want to do their work on the PDA, while just using the base station to plug in a keyboard?
Why don't we just say something like this:
1. All devices use firewire
2. Some committee standardizes all possible types of devices and their communication packets
3. computer uses this standard to read from firewire port and route data to applications.
There is no magic bullet here. By that matter, why don't we just standardize everything and store settings on a PDA...which the base station could just read off.
-desktop settings
-desktop resolution
-wall paper
-faourites location
-recent documents
...
Hell, let's standardize word documents, spread sheets....wait a minute...I got it. Let's transfer all data using XML with standardized keys. Yes!
Then when you boot, the base station reads these and all is done magically. Yeah, we could get everyone to standardize these
And what happens in the future when new types of desktops are invented?
Wait a minute....even better....Let's skip the PDA concept. Why not just store all your settings online? Yes, and transfer everything online in XML standard.... .NET anyone?
Standardizeing everything is a dream that works in hindsight. You cannot predict what future needs are, so you cannot plan for them in your standard. Standardizing products before they are made also limits innovations and delays product delivery.
are you saying you do not like the idea of virtual hardware?
That's why great ideas like this will never happen but crap like DRM will make it's way to hardware. When you have a monopoly calling the shoots in the OS world they won't settle for anything that would allow others to compete. Thus they will use whatever influence they have on hardware makers to make sure something like this does not happen and IF it does it will be proprietary as hell ! Along with a full set of razor sharp and pointy DMCA issued teeth !
Opening up hardware peripherals to operate on any platform-os combo would by a testing nightmare not to mention prohibitively costly in not only time but in purchasing software and hardware.
You can't just declare that since a product adheres to a standard that it will interoperate perfectly with its environmnet. You actually have to go out there and do the testing if you expect customers to purchase your hardware.
The fact is that companies just want to target the top 2 or 3 groups of OS/platform users. Less to support, big enough market and cheap to do it.
So in a nutshell after removing all the fluff the author proposes that hardware vendors should open up their device interface, something that they have always avoided doing e.g. binary only drivers for video cards, modems, etc. Hmmm... it would be nice but alas.
On another note the example you give is a perfect world example for it does not propose how to actually stardardize the way in which the information is sent and recieve, and skips completely what to do with devices that can't live within the standard "packet" templete...
I just don't see any commercial interests on this topic.
targeting 3% of "install base" that expect everything is free ?
Sorry if this is irrelevent.
"... A world that would allow you to sit down at computers at different physical locations (schools, libraries, hotel rooms) and have your data, programs, and preferences follow you around ...."
This sound awfully like Plan 9 from Bell lab (designed by the same creaters of Unix). In Plan 9 you can run a program using the processor on one machine, and get the files from another computer, and display it on a third computer.
However it is a very os-centric solution.
Knoppix (bootable CD/DVD), 64MB USB portable drive etc
works on basiclly every machine from 486 to whatever...
from the hardware point of view open standards have been around forever... there are also open motherboard designs etc.. which i think IBM and other companies created.
(did not get past the first couple of lines of the artical)
Analog was removed for weird reason from computer. The obvious one like error propagation of re-addition of variable (like a =a +1 ) are gone for good reason, but in many place (especially IO) it was a big fashion move that every computer company followed blindly.
It was not something followed blindly. It was about cost (cheaper to use digital), and the fact that most analog paths were being used to transmit digital data, often with redundant channels to compensate for the other problems with transmitting in an analog fashion. There is currently a huge market in D/A and A/D converters that handle the conversions in a fairly generic fashion so companies can convert their old analog equipment to digital over time (ie convert the controllers to digital first, then convert the equipment being controlled to digital later), or to reuse old hardware in new systems. I've seen equipment using 8 analog paths to send 3 digital bits and a timing line (which is also 1 line mirrored), and equipment using 50+ analog paths to send 16-bit data words. It's really just rediculous.
Debman,
i don't know what you refer to. Virtual hardware for me is emulator, i don't see the link.
PainKilleR,
i don't think it cost less being numerical. Any IO device controller cost something. The problem with current situation is that we need around 15 adaptor to interface physicaly all thoe peripheral to our PC.
BeBox Geekport and Mac Geoport become more and more intelligent way now that PC have a lot bigger choice of peripheral. Imagine a PC with only 1 kind of connector that you can fit on any device as long as it's electrically in the range of tolerance. Seem a lot simpler to me.
this remember me of digital audio (yeah right
sound travel in binary form in the air anyway
), this was only to sell new cable because the other model could have lasted 50 year. Now they limit their life time by standard change of connector and comm protocol
My whole point is, if you want to stay in control of your hardware use and not corporation, analog is better (keep in mind that analog can do digital ALSO, analog = digital but digital =/= analog).
Knoppix (bootable CD/DVD), 64MB USB portable drive etc
works on basiclly every machine from 486 to whatever...
Actually not it doesn't. I tried to get it to boot on an onld Cyrix MII based emachine and it hung. I could not get Red Hat9 or Madrake 9.1 to load on that old beast. I did get Lycios to load, Who knew.
I don't get it...was what I heard time and time again.
Or...what is the deal? What is this guy advocating?
Everything already works?
The issues are hard to grasp unless you have delved into chips, and how they operate, along with device drivers and interrupt service routines.
Most people who are extremely knowledgable with OS's and high level languages are very comfortable when it comes to CPU's and Memory. But when it comes to the chips that drive the Ethernet, Firewire, IDE, serial, USB connections...and the peripherals on the other end...and how it all comes together--that's when the uninitiated enter the "twilight zone". Not because they are stupid. But, because they have not exposed to "what amounts to a whole different world".
My major beef here is on the "peripheral side".
I want to make it easy...and level the playing field for users and hardware and software companies of all sizes.
Some perpherials have historically been very open in their methods of controling the peripheral itself. Modems, Printers, Dumb Terminals...all these come with optional Technical References on how to make them work.
I don't have to go out and "buy" or "download" communications program, or a GUI program with a "Print Button", or a Terminal Emulator program. I have enough information that can write my own program to talk to and control these perpherials and make them do the things I want them to do.
I can make a modem dial a phone number, connect at a certain baud rate, hang up...a printer formfeed a page, go into compressed print or a different font...a dumb terminal to clear the screen and position the cursor,etc.
And openness helps not only the true end users...but those developing alternative OS's and the people writing programs to run on those alternative OS's. They shouldn't have to suffer from not being able to run the same peripherals as the Windows guys.
On the other hand, other types of perpherals, "especially recently", are becoming pretty much totally closed. USB Game Consoles and USB Mice are just one example. If you don't believe me just e-mail Logitec(Mouse) or GH Products(game perpherials) and see if they will give you any information on communicating with even one of their products. I've contacted Logitech about a mouse and generically asked GH about User API's for a game controller both to no avail.
Is this just the tip of the iceberg in what for Microsoft could be a whole new front of MS vs. the OS alternatives?
But in this instance, an MS attack from the hardware side.
Isn't it funny that the old serial devices were fairly open in their operation. Then along comes USB(Intel) and the devices connected all of a sudden start becoming very closed from a user perspective...and yet all the game companies writing the games for the Microsoft OS's have seemingly little trouble getting the info. Just a coincidence???
And as more and different devices tap into this USB...will this follow the same scenerio? Microsoft bending over backwards to help peripheral hardware and software partners to use USB to tap into the ubiquity of Windows OS's and applications. And of course, in doing so, won't the pheripheral makers feel coersed (even subconciously not to byte the hand that feeds it).
The MS vision to the partners would go something like this. Users really "don't need to know", "nor do they care" how these things work. They don't want get their hands dirty programing these perpherials. Just let them buy a peripheral and package from one of our MS hardware and software partner's. But really, the alterior motive all along is to withhold informatiion and make this difficult for alternative OS's to use these as perpherials as well?
For the life of me, I don't know how any of these myriad of distributions of Linux, or any of the other alternative OS's will ever have the clout to wring out the necessary info to even begin thinking about using these different peripherals.
If you're a maker of game peripherals doing nearly 100% business with Microsoft games...are you going to risk you good standing with MS by making your peripherals easy and readily available to alternative OS's for what amounts, at least initially, to table scraps?
Back in the old days IBM was sued (and lost) because they locked outside peripherial makers from attaching non-IBM tape, disks, printers, to IBM mainframes.
Are we seeing the first glimpses of what is simply a variation on a theme? As the serial, parallel, keyboard and mouse ports transition to USB (providing the oportunity for mischief)...are we just seeing the beginnings of a Microsoft shadow distorting the hardware peripheral market?
The scary part is--what sort of restraints did the antitrust settlement put on Microsoft from the hardware side--if any. And secondly, what happens if Microsoft really begins to feel competetive pain at the desktop?
I have to ask again. What are you advocating?
I mean can the article basically be summarized into saying:
"Companies need to open up their device interfaces?"
Well I don't think you'd get much disagreement there. I'd love to able to call up Logitech or whoever and learn to talk to their mice...I personally think it should be criminal to hide your interface unless its actually technologically ground-braking or somthing like that. But then again, I don't make the law.
Where does the PDA fit in to all of this? Perhaps I am just a high-level guy who doesn't grasp the issues of bits going in one end, and coming out the other; Packeting these, and notifying applicationsl or reversing the process. Perhaps you could write an article explaining the issue and then the solution to the problem. Perhaps with the help of a diagram or two showing how things currently are then how this solution will play out.
If what you're saying is that drivers should be unnecessary, I agree. There's no reason that any operating system above the firmware level should care what kind of hardware you have - it should all be a standard interface. See USB HDI drivers for an example of that done right.
I have to nitpick, though - how do you choose your standards? For keyboards and mice, the USB HDI standard has existed since the beginning of that bus, and is platform/company-independent. For printers, PostScript is the world standard. There's no reason to use anything but.
i propose a change in protocal from firewire. How about Fibre Channel? This is a simple single pair line with Cu, that can run for 10+meters. I can support 100+ devices and assigns device ID based on physical location on the line. it is a loop channel to 2 pair would be needed to complete the circut but ethernat cableing can handle this with ease, in fact it could handle two channels of Fibre Channel if necessary. Fibre Channel is also a 1Gb link/channel, and uses open SCSI protocals. The chips are fairly inexpensive fore this limited production and would come down dramatically in price if used on a larger scale. Another advantage is that the Fibre Channel(FC) controller handles all data and passes only relevant data to the CPU or memory system making it ideal for PDA style devices that need to conserve as much CPU time as possible.
I think this would follow the guidelines set out for your "Open Hardware" system, allowing just a single driver for an OS to get access the the FC subsystem, and just make every device have a simple controller onboard to communicate the proper data.
FC also has the ability to use Fiber Opticals as a medium, and can reliably transfer data 5+Kilometers without a repeater, at 1Gb/s or faster. and a single Optical line can cary a number of FC links using different frequencies of light, make this a viable option for higher end systems and not just desktop and mobile users.
with 1Gb/s, you can handle everything you need in periferals including a display device with ease, Including external storage devices.
FC also would allow a "storage port" in enterprise environments where users could attach their mobile system or PDA to the file servers with a 1Gb/s link and giving the TCP/IP network a break.
-----
article is a good read
btw





