Java and Microsoft Windows

P

Peter Olcott

Stefan Schmiedl said:
There are too many variables in your statement of the problem to
provide a "completely definitive" answer:

How about this one:
Within the goal of determining the exact location and current state of any GUI
control within every Java program, which cases of addressing this goal do not
have specific solutions for GUI controls that have a visible location and
visible state?
 
P

Peter Olcott

Stefan Schmiedl said:
Speaking of reliability ... have you noticed the last sentence of claim 15
on the web page of your patent? Does your software really "invoice" the
second program?

I did not notice this mistake. I just confirmed that this mistake was made by
the UTPTO. All of my material that was sent to them says "invoke". I will have
them fix this immediately.
Then what's the advantage to just parsing the HTML? In this specific context?

The goal is to provide a UNIVERSAL scripting language solution, and since HTML
is only one of many possible interfaces it would be far from universal. My
technology enables a universal scripting language for any application that takes
its input from one or more user input hardware devices and interacts with the
user through the display screen.
Do you want to move the mouse over every pixel? That would be about a million
on my screen, and you'd have to *wait* for a possibly slow browser (running
on a multitasked system) to really respond to the event. There goes the real
time response.

It has the same limitations as a person, if a link is not visually identified to
a person, most people will miss it too.
 
P

Patricia Shanahan

Peter Olcott wrote:
....
It has the same limitations as a person, if a link is not visually identified to
a person, most people will miss it too.

Remember that people have natural language understanding capability. A
piece of text can say something that indicates to a human that it is
likely to be a link. To attain universality, your program has to work
regardless of the choice of natural language. What is the Chinese for
"click here for ..."?

Even among web pages with distinctive formatting for links, the
difference can be anything.

Patricia
 
P

Peter Olcott

Michael Rauscher said:
I said "yes" to "it might be possible". To me "within everything pertaining to
Java" includes the Java language, the Java Platform and in particular the JNI,
too.

A definitive affirmative answer requires specific methodology.
So, if one can provide a DLL that is able to "always obtain the exact location
and state of any graphical user interface control" and one can use the
functions of this DLL by wrapping them with Java native methods, then it might
be possible.

With regard to the "opposite answer": this is most probably the consequence of
different interpretations of your question.

E.g. "within Java" is a very unclear statement to me. It could mean anything
from the language to the platform, with JNI/without JNI...

Anything that is in any way directly or indirectly related to the Java
programming language.

How about we simplify this specification and merely say: Is there any possible
way by any means generally available to the public to always obtain the current
state and location of every graphical user interface control by one program
pertaining to another program?

This question is not even restricted to Java, but, feel free to restrict your
answer to Java if you want.
 
P

Peter Olcott

Patricia Shanahan said:
Peter Olcott wrote:
...

Remember that people have natural language understanding capability. A
piece of text can say something that indicates to a human that it is
likely to be a link. To attain universality, your program has to work
regardless of the choice of natural language. What is the Chinese for
"click here for ..."?

Even among web pages with distinctive formatting for links, the
difference can be anything.

Patricia

UNIVERSAL meaning that it will work correctly for every application on any
platform. Any scripting language requires a programmer to tell it what to do. It
can recognize all the text on the screen simultaneously while recognizing
everything else, regardless of the size, color, or font (or even language) of
the graphical objects.
 
M

Michael Rauscher

Peter said:
How about we simplify this specification and merely say: Is there any possible
way by any means generally available to the public to always obtain the current
state and location of every graphical user interface control by one program
pertaining to another program?

OK, this makes life easier since I can give a short, definitive answer:
I don't know.

Bye
Michael
 
P

Peter Olcott

Michael Rauscher said:
OK, this makes life easier since I can give a short, definitive answer: I
don't know.

Bye
Michael
To what extent do you know?
Can you name one specific way that one program of any kind can obtain the
current location and current state of the graphical user interface controls of
another program that is a Java program?
 
M

Michael Rauscher

Peter said:
To what extent do you know?

To what I've written in previous posts: there's a way to use native
functions from within Java applications.
Can you name one specific way that one program of any kind can obtain the
current location and current state of the graphical user interface controls of
another program that is a Java program?

I don't know. In fact, meanwhile I don't even know what you're trying to
figure out (I assume that there aren't any side constraints):

- 100 % pure Java code can solve the problem: I'd say most probably no.

- there's a way for a Java application to use a solution: yes - most
probably - if one can provide (native) code that solves the problem.

- there's a way to solve the problem in particular with respect to
Java/Swing applications: I don't know but as you stated that your
technology works with any application, you should know it.

Bye
Michael
 
P

Peter Olcott

Michael Rauscher said:
To what I've written in previous posts: there's a way to use native functions
from within Java applications.


I don't know. In fact, meanwhile I don't even know what you're trying to
figure out (I assume that there aren't any side constraints):

- 100 % pure Java code can solve the problem: I'd say most probably no.

- there's a way for a Java application to use a solution: yes - most
probably - if one can provide (native) code that solves the problem.

- there's a way to solve the problem in particular with respect to Java/Swing
applications: I don't know but as you stated that your technology works with
any application, you should know it.

My method processes screen pixels, it does not need to understand the internals
of anything. I am trying to determine is the extent that competitors could use
alternative methods to achieve or approximate the functional benefits of my
technology.
 
M

Martin Gregorie

Peter said:
UNIVERSAL meaning that it will work correctly for every application on any
platform. Any scripting language requires a programmer to tell it what to do. It
can recognize all the text on the screen simultaneously while recognizing
everything else, regardless of the size, color, or font (or even language) of
the graphical objects.
In that case, why are you concerned with the innards of the Java GUI?
From the previous paragraph it sounds like you're just working with the
pixel
array scraped from the display device and therefore your invention
shouldn't care
at all about the programming language, support libraries or operating
system.

If I've understood you correctly it should also work with the content of
a window displaying the output from an application run remotely under
the control of any of the following:

- PC Anywhere (remote Windows display)
- VNC (*nix graphical)
- an X-term server, e.g. exceed (both *nix graphical and
*nix console textual output)
- telnet (*nix textual output)
- ssh client (*nix textual output)
- IBM 3270 (mainframe textual terminal emulator)
- IBM 5250 (AS/400 textual terminal emulator)
- Kermit (textual output from an application under ANY remote OS
that supports Kermit)

I'm using *nix as a shorthand for any UNIX-like OS: in other words
Linux, Mac OS-X, AIX, HP-UX or any other SVR4 UNIX.

Have I understood you correctly?
 
C

Chris Smith

Peter Olcott said:
From the best that I can tell, from the expert advice that I received here, even
this tiny task would tend to be difficult. The specific aspect of this task that
I must analyze is the difficulty of determining the current state and exact
location of any graphical user interface control. Since Java has at least three
different technologies for creating these controls, a first estimate from my
limited point of view would be that even this tiny subtask would require a hodge
podge conglomeration of these three technologies.

Perhaps I can provide a better answer. There are three commonly used
GUI technologies, as you've gathered, but we could be more explicit
about the names. They are:

- Plain AWT
- AWT with Swing
- SWT

Two of these are based on AWT, and the third is based on SWT. Both AWT
and SWT provide the ability to determine the exact location and state of
user interface controls from within that application, if you already
have a reference to the user interface control. From outside of the
application, you'd have to either act like a debugger and ensure the app
is running in debug mode, or obtain a handle to a JVM instance via JNI.
Neither can be done uncooperatively. So to do this with Java APIs, you
need to at least have the cooperation of the application that you wish
to interact with.

It is not reliable, at least in AWT or AWT/Swing, and probably in SWT as
well, to ask the operating system. Lightweight controls in AWT (and
this includes all Swing controls except the top-level containers) are
not exposed to the operating system, so the OS won't be able to give you
their location, nor even know that the control is there. So it is
probably not worthwhile to pursue the route of asking the OS.

You seem to be interested in recognizing controls based on the
equivalent of a screen shot. In this case, you actually need to
consider a larger number of cases: for one case per platform (and
possibly per JVM implementation) for plain AWT and for SWT, and one case
per look and feel for Swing. Since Swing has pluggable look and feels,
a component can literally look like anything in the world, depending on
which look and feel is in use. Of course, custom components may look
different for any of the above.

Finally, you keep mentioning your patent. That really sucks. Please
don't be part of the problem.
 
P

Peter Olcott

Chris Smith said:
Perhaps I can provide a better answer. There are three commonly used
GUI technologies, as you've gathered, but we could be more explicit
about the names. They are:

- Plain AWT
- AWT with Swing
- SWT

Two of these are based on AWT, and the third is based on SWT. Both AWT
and SWT provide the ability to determine the exact location and state of
user interface controls from within that application, if you already
have a reference to the user interface control. From outside of the
application, you'd have to either act like a debugger and ensure the app
is running in debug mode, or obtain a handle to a JVM instance via JNI.
Neither can be done uncooperatively. So to do this with Java APIs, you
need to at least have the cooperation of the application that you wish
to interact with.

It is not reliable, at least in AWT or AWT/Swing, and probably in SWT as
well, to ask the operating system. Lightweight controls in AWT (and
this includes all Swing controls except the top-level containers) are
not exposed to the operating system, so the OS won't be able to give you
their location, nor even know that the control is there. So it is
probably not worthwhile to pursue the route of asking the OS.

You seem to be interested in recognizing controls based on the
equivalent of a screen shot. In this case, you actually need to
consider a larger number of cases: for one case per platform (and
possibly per JVM implementation) for plain AWT and for SWT, and one case
per look and feel for Swing. Since Swing has pluggable look and feels,
a component can literally look like anything in the world, depending on
which look and feel is in use. Of course, custom components may look
different for any of the above.

Finally, you keep mentioning your patent. That really sucks. Please
don't be part of the problem.

I have a total of 30,000 hours and most of my life's savings invested in four
different software inventions. I work about 85 hours a week. Each of these ideas
focused on deriving unique ways to save businesses money. This one is the first
one with market potential.

I have to have patent protection otherwise a big software company will simply
take my idea, and squish my efforts and life savings with their unlimited
development and advertising budget.

Only because of the possibility of some protection from this do tiny little
one-man development companies have any significant chance of surviving.

Without patent protection it would not be worth the risk, therefore many
innovations would never be created. A patent only lasts 17 years, and then its
public domain.
 
C

Chris Smith

Peter Olcott said:
I have to have patent protection otherwise a big software company will simply
take my idea, and squish my efforts and life savings with their unlimited
development and advertising budget.

Only because of the possibility of some protection from this do tiny little
one-man development companies have any significant chance of surviving.

Plenty of one-person development companies survive. I'm sorry if you
don't think you can be one of them. Obstructing the rest of the world
is still not an ethical response.
Without patent protection it would not be worth the risk, therefore many
innovations would never be created. A patent only lasts 17 years, and then its
public domain.

Only 17 years? Do you realize what software looked like 17 years ago?
Do you realize what it would look like now if everyone had patented what
they did 17 years ago?

You are part of the problem.
 
P

Patricia Shanahan

Chris said:
Plenty of one-person development companies survive. I'm sorry if you
don't think you can be one of them. Obstructing the rest of the world
is still not an ethical response.


Only 17 years? Do you realize what software looked like 17 years ago?
Do you realize what it would look like now if everyone had patented what
they did 17 years ago?

You are part of the problem.

Confession: I'm a co-inventor on half a dozen computer architecture
patents, only one of which has passed the 17 year limit.

I don't see anything unethical about my employer wanting ownership of a
design they paid for.

Patricia
 
P

Peter Olcott

Chris Smith said:
Plenty of one-person development companies survive. I'm sorry if you
don't think you can be one of them. Obstructing the rest of the world
is still not an ethical response.


Only 17 years? Do you realize what software looked like 17 years ago?
Do you realize what it would look like now if everyone had patented what
they did 17 years ago?

You are part of the problem.
My software technology will save businesses billions of dollars every year. If I
could not get patent protection, I would have never developed it. No one else
would have ever gotten around to developing it, thus society comes out many
billions of dollars ahead only because of patent protection.

If it was not for patent protection most of the technology that you see today
would not exist. It would have been too risky to spend enough time to get it
fully developed. Even the automobile might never exist, if it was not for patent
protection. Edison might have never bothered to invent the light bulb, if he
knew someone else could take his idea for free. Why work eighteen hours a day
for many years for free? Why bother?
 
P

Peter Olcott

Patricia Shanahan said:
Confession: I'm a co-inventor on half a dozen computer architecture
patents, only one of which has passed the 17 year limit.

I don't see anything unethical about my employer wanting ownership of a
design they paid for.

Patricia

If it was not for patent protection we would still be in the dark ages, no light
bulb would ever exist. Patent protection is provided to put enough incentive in
the unreasonably grueling efforts required to significantly advance the current
state of technology.
 
M

Michael Rauscher

Peter said:
My method processes screen pixels, it does not need to understand the internals
of anything. I am trying to determine is the extent that competitors could use
alternative methods to achieve or approximate the functional benefits of my
technology.

I don't see any other way to achieve this than processing pixels in some
way - at least for the general case.

BTW: pixels and screenshots can be obtained by java.awt.Robot.

If one is happy to work with MS Windows controls, I could imagine the
use of the Windows function WindowFromPoint to obtain a handle to the
window or the use of a system hook to monitor window messages.

But this is by far off topic and since I'm not really at home in this
subject, I won't/can't deepen it.

Bye
Michael
 
P

Peter Olcott

Michael Rauscher said:
I don't see any other way to achieve this than processing pixels in some way -
at least for the general case.

BTW: pixels and screenshots can be obtained by java.awt.Robot.

If one is happy to work with MS Windows controls, I could imagine the use of
the Windows function WindowFromPoint to obtain a handle to the window or the
use of a system hook to monitor window messages.

But this is by far off topic and since I'm not really at home in this subject,
I won't/can't deepen it.

There was an in depth discussion of this on another newsgroup that I carefully
studied. There were problems with this approach for the general case too. It
seems that there are many cases the make this method untenable. Here is the link
to that discussion:

http://groups.google.com/group/micr...916eb799d8/74db496855f60a0f?#74db496855f60a0f

Hopefully I now have a product with market potential after 30,000 hours nineteen
years, and most of my life savings.
 
C

Chris Smith

Patricia Shanahan said:
Confession: I'm a co-inventor on half a dozen computer architecture
patents, only one of which has passed the 17 year limit.

I don't see anything unethical about my employer wanting ownership of a
design they paid for.

This is getting well off-topic (which is my fault... sorry), but neither
do I. It is when your employer claims legal rights over people who
independently happen to do things the same way that things get shaky.
Empirically, though, this tends not to happen so much with physical
inventions. It happens daily with software patents. For this reason,
rather than for any theoretical distinction, I object more to software
patents than physical patents. I would agree, though, if you wanted to
say that the real problem in both cases is that the patent office needs
to have the expertise to decide whether the advantages to society
outweigh the disadvantages for a given patent before they grant it.

In any case, I shoulda kept my mouth shut and just not provided any
help.
 
P

Peter Olcott

Chris Smith said:
This is getting well off-topic (which is my fault... sorry), but neither
do I. It is when your employer claims legal rights over people who
independently happen to do things the same way that things get shaky.
Empirically, though, this tends not to happen so much with physical
inventions. It happens daily with software patents. For this reason,
rather than for any theoretical distinction, I object more to software
patents than physical patents. I would agree, though, if you wanted to
say that the real problem in both cases is that the patent office needs
to have the expertise to decide whether the advantages to society
outweigh the disadvantages for a given patent before they grant it.

That is not how patents work. They never make this kind of determination. All
that they are required to determine is whether or not anyone has come up with
this idea before, and whether or not this idea is obvious in light of prior
ideas. Since 98% of patents never make any money, they would be wasting alot of
time trying to figure out the degree of benefit to society, 98% of the time
there is no benefit to anyone. If software patents are not allowed, then no one
would spent the 30,000 and hundreds of thousands of dollars deriving the
technology of my patent. Thus society would never reap the benefit of this
technology. Preliminary estimates indicate that this technology is able save
business billions of dollars every year. If it was not for software patents
these billions of dollars would simply be wasted. Seventeen years from now this
technology will be public domain.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,776
Messages
2,569,603
Members
45,201
Latest member
KourtneyBe

Latest Threads

Top