Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Morfik Patents AJAX Compiler

Posted by Hemos on Mon Apr 02, 2007 09:20 AM
from the i-am-patenting-newspaper-delivery-as-well dept.
MikeyTheK writes "It appears that under the radar, the USPTO granted Morfik a patent for the "System and method for synthesizing object-oriented high-level code into browser-side javascript". Reading further, it appears that they have patented the compiling of high-level languages into AJAX apps. The high-level languages include "Ada, C, C++, C#, COBOL, ColdFusion, Common Lisp, Delphi, Fortran, Java, Object Pascal, SmallTalk, Visual Basic, and Visual Basic.NET". It would appear that the application date is September, 2005."
This discussion has been archived. No new comments can be posted.
Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • My first thought was, "Is Google Web Toolkit [google.com] prior art or infringement?" After a bit of looking around, it seems this patent was filed on September 5, 2006 while GWT 1.0 was released in May 2006. Sorry Morfik, but your patent is invalid. (Thank God, too. This patent appears to be overreaching and far too broad. It could prevent an entire industry from developing.)

    All I can say is: where was your due diligence, Morfik? It doesn't make a whole lot of sense to spend time and money on filing a patent that will be useless to you after it's granted. The best they could do is scare a few Open Source projects into submission. Anyone with a vested interest in the technology is going to do the due diligence that Morfik didn't, and take the matter to court.

    The only "out" they have available is to show evidence that they disclosed the inner workings of their JST product prior to GWT being released. In which case they might have protection from the "one year to file" rule. Maybe. Or maybe they're just trying to carry out this threat [ajaxian.com] in a laughably oversimplified fashion. (They're lawyers must be telling them it won't work?) Go figure.

    For those who are unaware of what GWT is, it's basically a toolkit that takes Java programs and converts them down to Javascript. By coding Java to the GWT toolkit*, you gain all the benefits of the Java compiler and type checking without sacrificing the ability to deploy on browsers that do not have Java installed. I'd rather code in Javascript myself, but it has its place. :)
  • by istartedi (132515) on Monday April 02 2007, @09:22AM (#18573313)
    (Last Journal: Thursday April 18 2002, @07:50PM)

    Then maybe the patents aren't such a bad thing.

  • Economic Model (Score:2)

    by jeevesbond (1066726) on Monday April 02 2007, @09:22AM (#18573321)
    (http://www.apaddedcell.com/)
    1. Patent obvious method
    2. Sue Microsoft for Atlas AJAX library
    3. ???
    4. Profit!
  • Don't even think it. (Score:3, Funny)

    by Seumas (6865) on Monday April 02 2007, @09:23AM (#18573323)
    I swear, I will set fire to the first bastard to reply to this article with "dur dur... I'm going to patent blank"!
  • ya know (Score:3, Funny)

    by hansoloaf (668609) <hansoloaf@noSPaM.yahoo.com> on Monday April 02 2007, @09:23AM (#18573329)
    April Fools Day is over.
  • Turing tarpit (Score:2)

    by bcmm (768152) on Monday April 02 2007, @09:24AM (#18573345)
    Of course it is technically possible to do anything in Javascript. But can this technology do any task which is actually complex enough that it wouldn't be easier to just port it manually, at anything like reasonable speed?
  • Not an invention (Score:2)

    by jesterpilot (906386) on Monday April 02 2007, @09:28AM (#18573429)
    (http://www.fietsersafstappen.nl/)
    It's more like 'a job someone had to do'.
  • Turing Completeness? (Score:4, Insightful)

    by Anonymous Coward on Monday April 02 2007, @09:28AM (#18573435)
    Shouldn't any technology like this be immediately unpatentable? All this does is translate code in one Turing-complete language to another. Since this transformation is mathematically proven to be possible for all Turing-complete languages, this is merely an algorithm and should be unpatentable...

    (I know, they'd approve a patent on cheese if you worded it as "a method for transforming milk and bacteria into edible food product.")
  • Python (Score:1)

    by FMota91 (1050752) on Monday April 02 2007, @09:32AM (#18573505)
    Aha, Python's not on the list!

    Must be too high-level.
    • Re:Python by jimbojw (Score:1) Monday April 02 2007, @12:10PM
    • pypy by nairb774 (Score:2) Monday April 02 2007, @12:27PM
    • Re:Python by DannyO152 (Score:2) Monday April 02 2007, @10:51PM
    • 2 replies beneath your current threshold.
  • NOT A PATENT (Score:5, Informative)

    by thebdj (768618) on Monday April 02 2007, @09:35AM (#18573563)
    (Last Journal: Sunday August 06 2006, @10:39PM)
    There is not a patent here. This is a published application. Filed in 2006, not 2005, with priority to 2005 through a provisional application, which almost gives it the same level of priority as if it were file in 2005. Someone wake me up WHEN this gets issued and not when it is just an application that quite possibly hasn't even been viewed yet. (USPTO has almost a 3 yr backlog in some arts.)
    • Re:NOT A PATENT by Shadowlore (Score:2) Monday April 02 2007, @10:52AM
      • 1 reply beneath your current threshold.
    • Re:NOT A PATENT by Otter (Score:2) Monday April 02 2007, @12:59PM
    • Re:NOT A PATENT (Score:5, Informative)

      by thebdj (768618) on Monday April 02 2007, @11:56AM (#18575677)
      (Last Journal: Sunday August 06 2006, @10:39PM)
      There is a hell of a lot more going on then just stamping "approve" on the thing [patent].

      There is a review process where an examiner searches for prior art that matches or closely matches the application. Then, in probably 90% or more of cases, a rejection letter for some or all of the claims is sent to the attorney (or the applicant if filing without an attorney). After a few months, a response from the attorney comes. This can now go one of two ways. If the attorney argued your prior art is not applicable, you can 1) uphold your decision, in which it become a "final rejection" or 2) change your rejection in which case you basically repeat the first step again.

      The other method is they pre-date your prior art, using proof of older design date, if your rejection wasn't under 102(b) that is. You can now write a rejection with new prior art and this becomes a "final rejection". However, these "final rejections" are not the end of the process. They can either make a last ditch effort to amend to your liking (and probably get their "stamp"), they can basically repay the filing fees and start over with another two rounds, or they can file an appeal to the Board of Patent Appeals and Interferences (BPAI, I think that is right.). If they still don't like the decision they can appeal to the CAFC (Court of Appeals for the Federal Circuit), and in the very unlikely case, all the way to the Supreme Court.

      I recommend three pieces of literature before you say they just stamped "approve" on everything. Read title 35 of the United States Code (35 USC), title 37 of the Code of Federal Regulation (37 CFR), and the Manual for Patent Examining Procedure (MPEP). I am pretty sure that is the right CFR, but all of those documents will give you an idea of what a patent examiner deals with. I gave you a very rough and very brief explanation of the procedure above. And to end this, I was a Patent Examiner, so yes, I do know something about this.
      [ Parent ]
    • 1 reply beneath your current threshold.
  • What will the reflection of that patent or whatever is going to be on ajax ?
  • Simple work-around (Score:1)

    by Tablizer (95088) on Monday April 02 2007, @09:48AM (#18573757)
    (http://www.geocities.com/tablizer | Last Journal: Saturday March 15 2003, @01:22PM)
    ...just don't use OOP. I always wanted to see a relational GUI anyhow (using dynamic relational, not Oracle-like static stuff).
       
    • 1 reply beneath your current threshold.
  • ColdFusion? (Score:2, Insightful)

    by bigblackcar (1072018) on Monday April 02 2007, @09:58AM (#18573893)
    (http://www.hce.it/)
    Since when is ColdFusion a high-level language? Just because they use it in MySpace?
  • Compiler definition (Score:3, Insightful)

    by Jerf (17166) on Monday April 02 2007, @09:59AM (#18573925)
    (Last Journal: Saturday August 18 2001, @11:04AM)
    The definition of a compiler seems to differ from person to person, but the best one is something that reads a stream of input, converts it into a richer internal representation (usually a tree but it doesn't have to be), and writes out a different stream based on this internal representation.

    Even here in 2007, some people still seem to think the only thing that can be called a compiler is something that takes source code and emits binary code, but that's just one specific special case. The same basic principles that GCC uses will be used by PovRAY to compile its scene language into an image, ignoring the raytracing part. (That is, setting up the internal representation of the scene is just like a compiler.) Compiling C# into IL uses the same basic techniques. Defining anything that uses standard compiler techniques as a compiler is the motivation for my preferred definition.

    Given the long history of compilers, and the sheer profusion of them, I really don't think that compilers ought to be patentable anymore. Compiling Java into Javascript isn't a novel idea, it's "just" some engineering by somebody who understands compilers. (Which the recent "Wasabi" uproar over Joel on Software's posting proved is not all that many people, but still, it's simple once you see the tricks.) The only even remotely tricky part of such a compilation is if there's no easy way to get the syntax tree directly from the language parser, and that's still just engineering. There's definitely plenty of copyrightable stuff in such a compiler, but it'd take something very, very novel for it to be patentable.

    (Note I'm writing this message as if I weren't entirely against software patents, which I am, at length [jerf.org]. This is written from the putative point of view of the patent system; even then, compilers generally aren't that novel an idea. Saying "with a compiler!" is up there with "on the internet!" for novelty.)
  • Ruby on Rails?? (Score:2)

    by beldraen (94534) <beldraen_sdNO@SP ... nsdomain.com.com> on Monday April 02 2007, @10:16AM (#18574179)
    Isn't this part of the basic framework of Ruby on Rails? I call "high-level" commands which "translate" to AJAX functionality. Rails has been around since 2004. Not to mention the obvious, but how is creating a framework that encapsulates another system's behavior new in any sense.. Yeah, yeah, I know.. I suppose the following is a patented, "new" idea:

    <%= observe_field(:person_search,
    :frequency => 1,
    :update => :output,
    :with=> "'search='+escape(value)",
    :url => { :action => :search_changed })
    %>
  • Yeah, haha, Hemos, you almost had me! OMG PONIES!!!1!! Very clever April Fool's joke! And for the USPTO to be in on it... Wow. Best one yet!

    ...wait a tic, it's April 2nd... WTF?

  • GPL3 ecosystem (Score:2)

    by MarkWatson (189759) on Monday April 02 2007, @10:26AM (#18574333)
    (http://www.markwatson.com/)
    This is yet another argument for creating a large "ecosystem" of valuable GPL3 code: lock vendors who abuse patents out of this ecosystem. Companies can still keep their intellectual property to themselves: private and proprietary data used with GPL3 code.

    As a consultant, I always try to sell my customers on going open source, if it makes sense for their situation. Open source == cost savings.
  • Slashdot Just DOES NOT GET Patents (Score:5, Informative)

    by Anonymous Coward on Monday April 02 2007, @10:36AM (#18574513)
    For as smart as the people on Slashdot are, it continually surprises me to see just how bad people are missing the boat in terms of what a patent application such as this means. Seriously, discussion here might be elevated from ridiculous to meaningful if everybody would just keep in mind the following things:

    1. The title of a patent does not describe the scope of what the patent will cover. In this example, they are not trying to patent every single "System and method for synthesizing object-oriented high-level code into browser-side javascript." They are trying to patent *one particular, specific system and method* for doing so. That is a big friggin difference. If you read the patent claims, you will see what the patent is actually covering. Summary: People on Slashdot inappropriately freak out when they see a patent title that looks broad and they really ought to know better by now.

    2. This is a patent APPLICATION!!! Not an issued patent. When people try to get a patent, they make the claims incredibly broad at first. And then the examiner will make them narrow the claims as they negotiate what the patent actually will cover. In this example, I am going to hazard a guess that the examiner will probably make them throw out claims 1 through 4. And the examiner might let their broadest claim be claim 5. The people trying to get this patent KNOW that this is what will happen during this process--it is how things are done! I am astounded that the people on Slashdot have not picked up on this yet. Summary: Just because a patent application has incredibly broad claims, that does not mean 1) that the patent will issue that way, or 2) that the people applying for the application realize that what they are in their application claiming is too broad.

    Get with it, people! I hope that reading this may take the discussion here from "Patents suxkzorz!!" to "Well, claim 1 looks way to broad because of $somePriorArt . . . but the method described in claim 5 . . . hmmm, I don't know that I've ever heard of anything that does it that way exactly."

    Here's to hoping, anyway!
  • by blckbllr (242654) on Monday April 02 2007, @10:39AM (#18574567)
    In this case, the application was filed September 5, 2006. Thus, the application filing date is September 5, 2006. However, the application claims priority to a provisional application [uspto.gov] filed September 6, 2005. Thus, the application has a priority date of September 6, 2005. This difference is important for 35 U.S.C. 102(e) [uspto.gov] purposes.

    Under 35 U.S.C. 102(e), a prior filed U.S. patent or application can be used as "prior art" against a currently filed application. As an example, suppose Application A was filed on March 1, 2006 that discloses each and every limitation of claim 1 of the current application. Application A could then be used under 35 U.S.C. 102(e) as "prior art" to reject claim 1 because it has an earlier filing date (application date) than the current application. However, the Applicant of the current application could then rely on the priority date of the provisional application, which is September 6, 2005, to overcome the rejection. In this case, the Examiner would then have to go back to the provisional application to which the current application claims priority, and determine, whether, in fact, the provisional application discloses the subject-matter claimed by claim 1. As an additional comment to 35 U.S.C. 102(e), I briefly add that it is common for an Examiner to reject a claim in view of a reference that qualifies as "prior art" under 35 U.S.C. 102(e), where the reference is used with other art under 35 U.S.C. 103(a) [uspto.gov].

    Hence, there is a difference between filing dates and priority dates, and these two dates need not always be the same. So, to say that these application has a filing date of September 5, 2006 would be correct, but then to say that this application has a priority date of September 6, 2005 would also be correct.

    The opinion expressed herein does not represent the views of any government or private organization.
  • Time to Modernize.... (Score:3, Funny)

    by truckaxle (883149) on Monday April 02 2007, @10:40AM (#18574579)
    (http://perlworks.com/)

    The high-level languages include "Ada, C, C++, C#, COBOL, ColdFusion, Common Lisp, Delphi, Fortran, Java, Object Pascal, SmallTalk, Visual Basic, and Visual Basic.NET".


    I guess now I am forced to to port all of my FORTRAN AJAX apps over to Perl :)
  • by billcopc (196330) <vrillco@yahoo.com> on Monday April 02 2007, @10:51AM (#18574721)
    (http://fnarg.com/)
    "System and method for synthesizing object-oriented high-level code into browser-side javascript"

    I suck at english, I really don't "get" what they're patenting here, a code translator or something ? Code your webpage in "MorfikLang++" and it will automagically translate into Javascript, so you can do double the debugging plus pay licensing/royalties for something everyone else has been doing natively for a couple years :P

    I don't see this as affecting AJAX at all. AJAX is just a catchphrase that seems to group any functionality that doesn't result in a page reload, hopefully involving meaningful data exchange with the server. Hell, lots of people falsely believe that prototype.js == AJAX.

    Besides, if they were really trying to patent AJAX, don't you think Google would play musical court chairs with them until little miss Morfik runs out of seed money ? The system is broken, that's for sure, but it's broken in favor of whoever has more money. Who the hell has more money than Google and MS ? (Bad Boy) Noooooooobody!
  • Technical merit (Score:1)

    by piprog (933048) on Monday April 02 2007, @10:57AM (#18574809)
    Related to prior art: there were already discussions about this subject when the GWT v.s. Morfik case emerged a few months back. The Morfik toolkit itself is in development for over six years now (at least) so one should seek evidence prior 2000, I suppose. And AFAIS Morfik's patent involves not only the fact of "translation" ("what") but also the method (the "how") that they call JST (JavaScript Synthesis Technology). I will be looking into the Morfik patent from this technical perspective and through the looking glass of a convert Morfik developer, as soon as I can at piBlog (http://www.pannonrex.com/blog [pannonrex.com]).
  • This article is so 2006. :-)

    http://blogs.zdnet.com/web2explorer/?p=196 [zdnet.com] explains the patent back in 2006. No, Morfik didn't copy it. They even hypothetically showed it to Google before GWT was released.
  • by xutopia (469129) on Monday April 02 2007, @11:13AM (#18575003)
    (http://www.xutopia.com/)
    I worked for b-process.com in 2001 and we implemented exactly this in Java. I also have done similar stuff in PHP since then. It's nothing new.
  • Simple solution. (Score:2)

    by ZiZ (564727) on Monday April 02 2007, @11:48AM (#18575549)
    (http://ziz.org/~ziz/)
    It's not JavaScript. It's ECMAScript [wikipedia.org], and your JavaScript terp just happens to run it properly.
    • 1 reply beneath your current threshold.
  • by nevets429 (827656) on Monday April 02 2007, @11:59AM (#18575733)
    Back in 1996 we were using a developer kit from IBM on their VisualAge C compiler for OS/2 that let us write client side Javascript dynamically. It wasn't called Ajax back then but it's definitely prior art.
  • Yay! (Score:2)

    by smcdow (114828) on Monday April 02 2007, @01:04PM (#18576749)
    (file:///proccpuinfo)

    The high-level languages include "Ada, C, C++, C#, COBOL, ColdFusion, Common Lisp, Delphi, Fortran, Java, Object Pascal, SmallTalk, Visual Basic, and Visual Basic.NET".
    Cool. I can still use Python and Perl.
  • Solution? (Score:2)

    I don't own any patents, and don't claim to know much about them, but I think I have a solution to them.

    Just have someone show a working invention to the people at the patent office. That will be patented. You want to spur innovation? Maybe rewarding people AFTER they innovate might be better than to reward them after they have submitted nothing but paper and ink?

    Just a thought.

     
  • by FishCalledOscar (691194) on Monday April 02 2007, @01:52PM (#18577425)
    Nothing to see here, the examnier hasn't even looked at it yet. Here's the transaction history:

    04-01-2007 Case Docketed to Examiner in GAU
    03-08-2007 PG-Pub Issue Notification
    10-04-2006 IFW TSS Processing by Tech Center Complete
    10-03-2006 Application Return from OIPE
    10-03-2006 Application Return TO OIPE
    10-03-2006 Application Dispatched from OIPE
    10-03-2006 Application Is Now Complete
    09-21-2006 Cleared by OIPE CSR
    09-19-2006 IFW Scan & PACR Auto Security Review
    09-05-2006 Initial Exam Team nn
    This application Claims Priority from Provisional Application 60/714,285 filed 09-06-2005

    If you have documented prior art, alert the USPTO. An even nastier way to deal with it is to alert Morfik and/or the law firm that filed the application. They are then legally required to notify the USPTO. If they don't notify the USPTO, then there is a very good case that a court would invalidate the patent for failure to disclose relevent prior art. It can work even if the prior art isn't sufficient for rejecting the application.

    Here's the address of the firm that filed the app:

    William C. Milks, III;RUSSO & HALE LLP
    401 Florence Street
    Palo Alto, CA 94301
  • So at worst, Morfik should recoup its total costs that it risked by pouring them into developing this invention. And even a 100% profit, to promote progress in science and the useful arts. Collectively from the actual infringers, who have themselves poured lots of money into delivering their versions of the invention. I think that means a few thousand infringers have to split the bill to Morfik of under $100K. Which Morfik will need later when someone else with even more prior art shows Morfik is infringing them, and Morfik has to pay it all, but without the people who got out in the first round.
  • Obviousness, Prior Art, a bad patents (Score:3, Interesting)

    by dfoulger (1044592) on Monday April 02 2007, @02:13PM (#18577699)
    (http://davis.foulger.net/)
    I read through the whole thing, that this is just a very bad patent. Not bad for people in general. It can't possibly stand up to scrutiny. Its just a bad patent at every level I can think of up to and including "badly written".

    Its a bad patent because it is so "obvious". All they've done is to define JavaScript as as a p-code machine and created a (set of) compiler(s) for translating arbitrary programming languages into JavaScript "p-code". They have, in effect, attempted to patent compilers, albeit in a very limited way. Doing this was extrordinarily obvious, so much so that it wouldn't surprise me if there were hundreds of instances of prior art.

    This may be one reason why the patent is so badly written. A truly general patent would make claims against all possible programming languages, but this one explicitly does not. Almost every claim is tacked down to a specific list of languages, and that list varies from claim to claim. Worse, none of the claims address some of the most widely used web programming langauges, including Perl, RUBY, Python, and PHP. My guess is that either (1) the patent was written by an amateur or (2) that these list variations reflect what they were able to find in their search of prior art. The mere existence of variations in the claims is probably evidence of the obviousness of this patent.

    As for prior art, we've already seen claims of prior art in IBM (1996) and Microsoft (1998) products. That doesn't surprise me at all. I can recall discussing use of a JavaScript translator for an Ajax-like project I was in involved with (at IBM Research) in 1996. We didn't actually do it while I was on the project, but it was an option, and certainly not one that anyone would have believed was in any sense patentable. Appearance of such code in VisualAge during that same time frame would be anything but surprising. That is, for instance, the same time frame in which Mike Cowleshaw is translating REXX into Java p-code while retaining the interpretability of the REXX.

    There are so many other examples of this kind of machine code translation, going all the way back to the original Fortran. I don't see a chance that this patent will hold up to scrutiny.
  • S2 (Score:2)

    by makomk (752139) on Monday April 02 2007, @02:56PM (#18578253)
    (Last Journal: Friday August 17, @08:29AM)
    Hmmm, interesting - they acknowledge the existence of S2 (LiveJournal's templating language - translated to Perl before execution) and the JavaScript-outputting backend thereof, which apparently predates the first patent application by a year (but is only really a PoC). IANAL, but I suspect this may narrow the applicability of the patent somewhat - I suggest you take a look at that part of the patent...
  • by Qbertino (265505) on Monday April 02 2007, @03:07PM (#18578423)
    1.) This process is generally regarded as 'generating' rather than compiling. Compiling implies that something is transferred into a lower level language for speed and better runtime integration. Here it's the opposite. Thus: Generating. The servlet (or whatever) does it is generically refered to as 'generator'. Compiling is the wrong term.

    2.) Prior Art. Tons of it. Laszlo [openlaszlo.org] and a bunch of other generators have been doing this for years. This patent won't even last a month. To many big players involved in RIA to let it pass. It's about as long lasting (and as silly) as the famous Gary Larson 'Chicken hung by a helium balloon floating into a pub full of Samurai'. Nothing new here, move on.
  • by ACORN_USER (902686) on Tuesday April 10 2007, @04:23AM (#18672785)
    Ok, we have to live with software patents for the time being, but the enforcement authority is just out of line. We need lobbyists to put up the pressure on the patent office to ensure that generic classes of problems are not so easily patented.

    This type of forward patenting is not of benefit to anyone, least of all Morfic, since such a train will simply reduce developer comfort when selecting technologies such as AJAX. As a developer, I'll say 'sod it' and go ahead with using something like GWT, however the odds are my employer will taboo it. This is not the way forward and it really gets my metaphorical-knickers in a twist.

    I read that Microsoft held a patent on mashalling objects into XML. I usually ignore this and will go head with using an off the shelf XML writer, however I shouldn't have to feel that using such a general purpose solution will be infringing a copyright. It's not on!

    It feels as though our patent office hosts a bunch of morons who will white stamp anything coming in before them. When this can have such an impact on the whole field of software development, it's simply WRONG.

    Perhaps we should have a committee of forward thinkers who sit back and GPL every conceivable idea before Greedy Joe has had a chance to claim it as his own. It sickens me.

    I'm now going to file a patent against generation of Javascript Basic from all high level languages which are currently mentioned in every other patent.

  • by htmlapps (875185) on Monday April 02 2007, @11:48AM (#18575553)
    I think Microsoft had prior art as early as 1998. http://www.microsoft.com/mind/0498/cutting0498.asp [microsoft.com]
    [ Parent ]
    • 1 reply beneath your current threshold.
  • 8 replies beneath your current threshold.