(12) United States Patent (10) Patent No.: US 6,662,341 B1 Cooper Et Al
Total Page:16
File Type:pdf, Size:1020Kb
USOO666.2341B1 (12) United States Patent (10) Patent No.: US 6,662,341 B1 Cooper et al. (45) Date of Patent: Dec. 9, 2003 (54) METHOD AND APPARATUS FOR WRITING 6,370,552 B1 * 4/2002 Bloomfield ................. 345/759 A WINDOWS APPLICATION IN HTML OTHER PUBLICATIONS (75) Inventors: Fly, P NR". We http://www.meadroid.com/docs/wpm/overview.htm, (US); Loren M. Konnielder, Bellevue, “MeadCo's WPM 5.0 Programming Manual,” available at WA (US); Roderick A. Chavez, least as early as Jun. 1999. Kirkland, WA (US) http://www.meadroid.com/docs/wpm/refs.htm, “Mead Co (73) Assignee: Microsoft Corporation, Redmond, WA WPM 5.0 Programming Reference,” available at least as (US) early as Jun. 1999. (*) Notice: Subject to any disclaimer, the term of this * cited bby examiner patent is extended or adjusted under 35 Primary Examiner Stephen S. Hong U.S.C. 154(b) by 0 days. (74) Attorney, Agent, or Firm-Christensen O'Connor Johnson Kindness PLLC (21)21 Ap1.Appl. No.: 09/315,09/315,858 (57) ABSTRACT (22) Filed: May 20, 1999 7 A method, apparatus, and computer-readable medium for (51) Int. Cl." ................................................ G06F 17/21 authoring and executing HTML application files is dis (52) U.S. Cl. ..................................... 715/513; 715/501.1 closed. An HTML application file is basically a standard (58) Field of Search .............................. 707/513,501.1; HTML file that runs in its own window outside of the 709/230, 310-311, 320, 328-329; 717/106, browser, and is thus not bound by the security restrictions of 110, 112, 114-119, 71.5/513,501.1 the browser. The author of an HTML application file can take advantage of the relaxed Security. The author of the (56) References Cited HTML application file designates the file as an HTML application file by doing one or more of the following: U.S. PATENT DOCUMENTS defining the MIME type as an HTML application MIME 5,892,908 A * 4/1999 Hughes et al. .............. 707/100 type, or using an HTML application file extension for the 5,995,756 A 11/1999 Herrmann ............ ... 717/178 file. When a browser, such as the Internet Explorer, encoun 6,125,352 A 9/2000 Franklin et al. .............. 705/26 ters one of the above, it processes the file as an HTML 6,178.426 B1 1/2001 Klein et al. .......... ... 707/102 application file rather than a standard HTML file by creating 6,195,694 B1 2/2001 Chen et al. .......... ... 709/203 a main window independent of the browser, and rendering 6.212,535 B1 4/2001 Weikart et al. ............. 707/513 the HTML in the main window. 6,263,344 B1 7/2001 Wu et al. ......... ... 707/104.1 6,266,681 B1 7/2001 Guthrie ....................... 707/10 6,317,759 B1 11/2001 Osmond ..................... 707/513 9 Claims, 22 Drawing Sheets 29 START DETERMINEIFHTML APPLICATION 36 (FIG.9) 24 22 SETFILETYPE TO NO OTHER PERFORM STANDARD PROCESSING 42 140 SETFILETYPE TO HTML PARSE HTML APPLICATION APPLICATION EE CREATE HTML APPLICATION WINDOW RENDERHTMLIN 48 SETFILETYPE TO APPLICATION 'SANDARO WINDOW HTML U.S. Patent US 6,662,341 B1 U.S. Patent Dec. 9, 2003 Sheet 3 of 22 US 6,662,341 B1 U.S. Patent US 6,662,341 B1 U.S. Patent Dec. 9, 2003 Sheet 5 of 22 US 6,662,341 B1 U.S. Patent Dec. 9, 2003 Sheet 7 of 22 US 6,662,341 B1 qoueºs556),"ZI.ÁæWI-IIlogqeMºu, U.S. Patent Dec. 9, 2003 Sheet 8 of 22 US 6,662,341 B1 09 'Off” [? U.S. Patent US 6,662,341 B1 U.S. Patent US 6,662,341 B1 U.S. Patent Dec. 9, 2003 Sheet 12 of 22 US 6,662,341 B1 09 U.S. Patent Dec. 9, 2003 Sheet 14 of 22 US 6,662,341 B1 09 ogForusulon 98 U.S. Patent Dec. 9, 2003 Sheet 15 of 22 US 6,662,341 B1 09 U.S. Patent Dec. 9, 2003 Sheet 16 of 22 US 6,662,341 B1 <HTA:APPLICATION ID=myapp applicationName=name version=String icon=imageURL singleInstance=yes no showInTaskBar=yes no minimizeButton=yes no maximizeButton=yes no border=none thin dialog thick borderStyle=Normall Raised Sunken complex I Static sysMenu = yes no windowState=Normal Maximize Minimize caption=yes no Fig.6. U.S. Patent Dec. 9, 2003 Sheet 17 of 22 US 6,662,341 B1 START 100 CREATE STANDARD HTML FILE 104 TSLIPPLYHTML APPLICATION TAG 106 DESIGNATEFILE ASHTML APPLICATION FILE Fig.7. U.S. Patent Dec. 9, 2003 Sheet 18 of 22 US 6,662,341 B1 START 120 DETERMINE IF HTML APPLICATION (FIG.9) 122 PERFORM STANDARD PROCESSING 126 PARSE HTML APPLICATION FILE 128 CREATE HTML APPLICATION WINDOW 130 RENDER HTML IN HTML APPLICATION WINDOW Fig.8. U.S. Patent Dec. 9, 2003 Sheet 19 of 22 US 6,662,341 B1 120 START 136 SETFILE TYPE TO NO "OTHER" 140 SET FILE TYPE TO "HTML APPLICATION' 148 SETFILE TYPE TO 'STANDARD HTML" Fig.9. U.S. Patent Dec. 9, 2003 Sheet 20 of 22 US 6,662,341 B1 START 120 DETERMINE IF HTML APPLICATION (FIG.9) 156 152 PROVIDE APPLICATION YES OPTIONS TO 158 NO SELECTION OF 154 OPTION FROM UISER PERFORM STANDARD PROCESS USER PROCESSING SELECTION (FIG. 11) Fig.10. US 6,662,341 B1 1 2 METHOD AND APPARATUS FOR WRITING as the Same become better understood by reference to the A WINDOWS APPLICATION IN HTML following detailed description, when taken in conjunction with the accompanying drawings, wherein: FIG. 1 is a block diagram of a general purpose computer FIELD OF THE INVENTION System Suitable for implementing the present invention; This invention relates generally to writing computer FIGS. 2A-2B are exemplary screen shots illustrating applications, and more particularly to writing a Windows rendering of a standard HTML file; application using HTML. FIGS. 3A-3B are screen shots illustrating the same file BACKGROUND OF THE INVENTION shown in FIGS. 2A-2B authored and rendered as an HTML Most existing Windows application development envi application file in accordance with the present invention; ronments require knowledge of Specialized computer lan FIGS. 4A-4E are exemplary screen shots illustrating guages Such as C++, or Visual Basic. Learning a specialized rendering of another standard HTML file; computer language is often difficult for non-technical indi FIGS. 5A-5E are screen shots illustrating the same file viduals. However, many non-technical individuals can use 15 shown in FIGS. 4A-4E authored and rendered as an HTML HTML (HyperText Markup Language) and scripting application file in accordance with the present invention; languages, such as VBScript and JScript. HTML and script FIG. 6 illustrates an HTML application tag and its ing languages are run inside of a Web browser, and thus, attributes, inherit the browser's user interface and Security mecha FIG. 7 is a flow diagram illustrating the logic of authoring nisms. Because non-technical individuals have knowledge an HTML application file; of HTML and Scripting languages, it would be advantageous to leverage Such existing knowledge to implement a Win FIG. 8 is a flow diagram illustrating the logic of executing dow's application. Such applications should be free to define a locally stored HTML application file; their own user interface elements and to run as trusted code FIG. 9 is a flow diagram illustrating the determination of on the System, i.e., outside of the Security model imposed by 25 whether a file is an HTML application file or a standard the Web browser. The present invention is directed to HTML file; achieving this result. FIG. 10 is a flow diagram illustrating the logic of remotely executing an HTML application file; SUMMARY OF THE INVENTION FIG. 11 is a flow diagram illustrating in detail the logic of The present invention is directed to a method, System, and processing a user Selection based on the invocation of a run computer-readable medium for creating and executing remote HTML application file; and HTML applications. FIG. 12 is a message Sequence diagram illustrating com In accordance with the present invention, creating an munications used in executing an HTML application file HTML application file is done by an HTML author by using Microsoft Internet Explorer 5.0 in accordance with the creating a Standard HTML file and then designating the file 35 present invention. as an HTML application file. In accordance with other aspects of the present invention DETAILED DESCRIPTION OF THE identifying the file as an HTML application file can be PREFERRED EMBODIMENT accomplished by naming the file using an HTML application 40 FIG. 1 and the following discussion are intended to file extension. Alternatively, designating the file as an appli provide a brief, general description of a Suitable computing cation file can be accomplished by specifying the MIME environment in which the present invention may be imple type as an HTML application MIME type. mented. Although not required, the invention will be In accordance with yet other aspects of the present described in the general context of computer-executable invention, an HTML application can be run locally or 45 instructions, Such as program modules, being executed by a remotely. personal computer. Generally, program modules include In accordance with further aspects of the present routines, programs, characters, components, data structures, invention, running an HTML application is accomplished by etc., that perform particular tasks or implement particular determining whether the requested file is an HTML appli abstract data types. AS those skilled in the art will appreciate, cation file. If the HTML file is an application file, a deter 50 the invention may be practiced with other computer System mination is made as to whether the file should be run.