Mood:

Now Playing: Build a Barn With Bacon Bits - Scientist devises a way to transmogrify matter into construction materials (far out franchising)
Topic: Ultrasounds
I promised I would discuss what we've seen so far from the VCSY patent claims construction brief to be reviewed by the court in VCSY v MSFT for patent infringement on 6826744.
So, here's a first shot based on what little we've seen so far.
Many rightly argue “object-oriented” programming (OOP) was a fundamental improvement in the ability to build efficient applications. Describing the subjects of an application’s work as virtual objects allowed programmers to move from “linear code” to more modular ways of assembling representations of the real world.
This ability to describe a real “thing” in a virtual representation allowed programmers to simplify the application concepts into abstracts more easily recognized by non-programmers. Thus, OOP made the act of programming and maintaining the program code more manageable and efficient, while allowing others not skilled in programming a more easily understood view of the program construction and purposes.
The following article is an excellent explanation of object-orientation for the novice:
http://java.sun.com/docs/books/tutorial/java/concepts/object.html
The advantages of OOP over the “spaghetti code” derived from an earlier age of linear programming (having all functionality described within a single application body) are well known and acknowledged.
However, an ability to virtualize code in such a way as to remove knowledge requirements from the programming process means
the advantages derived by certain properties of OOP work may be further extended to build an even higher degree of abstraction with greater resulting efficiencies and capabilities.
In other words, the less you need to know about building something the more you can build while knowing less.
(from the tutorial:
Modularity: The source code for an object can be written and maintained independently of the source code for other objects. Once created, an object can be easily passed around inside the system.
Information-hiding: By interacting only with an object's methods, the details of its internal implementation remain hidden from the outside world.
Code re-use: If an object already exists (perhaps written by another software developer), you can use that object in your program. This allows specialists to implement/test/debug complex, task-specific objects, which you can then trust to run in your own code.
Pluggability and debugging ease: If a particular object turns out to be problematic, you can simply remove it from your application and plug in a different object as its replacement. This is analogous to fixing mechanical problems in the real world. If a bolt breaks, you replace it, not the entire machine.
)
So, while the way in which software objects may be made and used may be difficult for the novice to understand, the advantages of object-orientation should be fairly easy to grasp.
The novice may ask "What if we are able to further stream-line the handling of objects in programming tasks? Will the four benefits of OOP itemized above return even greater advantages?"
The answer will be ‘yes’ if the amount of information hidden by the abstraction allows the programmer to know less about the object before it can be used.
Having a system which is able to handle that information for the programmer brings modularity; the ability to combine the object with other objects without confusing the boundaries between the objects. Modularity brings “pluggability” and makes debugging and adaptation easier. Pluggable modularity allows for code re-use; the ability to use something written once to be used in many different ways without having to modify the object.
How can we improve on the OOP methods? Easy: Hide even more information. Hide the calling values. Hide the returning values. Hide the kind of information traditional OOP requires the programmer to find, learn, and employ without error. Hide it in the infrastructure of the system in which the application is being built.
In other words, allow the programmer to use the object by simply invoking the object’s name. The programmer should not be bothered with the various input and output information the object needs in traditional OOP. The system should be able to handle that information, thus, “arbitrating” the objects for a common use.
If the system can be tasked with accounting for all the values passed to the object by the application, and if the system can arbitrate the object behavior into acceptable performance with all other objects in the application body, the programmer will only need to know the name of the object to embed and actuate the object in the application.
I’ve posted a few gathered snippets from the VCSY brief filed for the claims construction process leading up to the Markman Hearing scheduled for early July 2008: https://ajaxamine.tripod.com/PortPot/index.blog/1814440/pieces/
VCSY’s lawyers say "A critical distinction between the present invention and previous object oriented development systems is the need to know how a function can be called and what to expect it to return, rather than just knowing the function's name."
We focus here on “…the need to know how a function can be called and what to expect it to return…”
“the need to know how a function can be called”
Each object (an object may represent a kind of functionality as well as a kind of “thing”) has a wide variety of properties and methods necessary to make the object operate properly with other objects. The VCSY patent claims to be able to hide and manage all that information in background layers freeing the programmer to use only the name of the object (or function) to construct the application.
“…and what to expect it to return…”
Just as the traditional OOP programmer needs to be intimately and flawlessly familiar with the parameters to be inputted into the object (calling parameters to be passed from the application to the object), the OOP programmer also must know precisely what the object being used will return (returned parameters derived within the object function to be passed back to the application) after being called or invoked to perform.
With the VCSY 744 patent, these requirements go away. The system “knows” what the objects need in terms of input and output. The system provides for those needs, thus hiding that sort of information from view. The system thus “arbitrates” use of the objects for the programmer, freeing the programmer to select objects and use in an “arbitrary” fashion.
OK, so that’s what one phrase in the patent claims construction describes. “Arbitrary” is the word to be dissected in the claims context. Without paying attention to what that single word says in the patent language, you’re going to be left with a “so what?” attitude that’s showing in the various dismissals written by supposedly expert “programmers”.
They don’t realize the main reason for their skill-evolutions and employment is vanishing.
Where do we go with a system that can free programmers from having to know anything about the objects available in an object library? What can a “programmer” do with such a system? It all depends on what you think can be done with universally accessible virtual versions of “things”.
We will need to examine what kinds of “things” are available in a virtual form in software. Knowing this will tell us if we (with no programming experience or knowledge) would be empowered to build applications using arbitrary objects.
Would you?
Use your imagination. We’ll attempt to discover what “arbitrary” programming brings in the next post after you’ve had a chance to digest this first advantage. And, we’ll see if your imaginations are correct.
Microsoft won't have a chance to experience Web 2.0 unless it pays up to use patent 744. The entire computing world, including Open Source, will have to pay up to use that billion dollar patent and only Vertical Computer System has it. 744 has a lock on XML, something that Vertical was smart enough to predict back in 1999.
Anyone who's listened to me for the last 8 years will become RICH beyond their wildest dreams, once Vertical comes out of "stealth" mode and Wade really lets the stock take off!