[jawsscripts] Re: Introducing HomerJax script library for accessing Internet data

  • From: "Donald Marang" <donald.marang@xxxxxxxxx>
  • To: <jawsscripts@xxxxxxxxxxxxx>
  • Date: Wed, 5 Aug 2009 19:12:57 -0400

I just signed up for the flexible Google Voice free service. It has many 
cool features, but I was wandering if HomerJax WebRequests would be 
appropriate for a few of these features.  Particularly, I am interested in 
their Quick Call
mobile web site page:
www.google.com/voice/m

  It provides an edit box (name=number) and a Call button.  When used the 
service calls your number and when you answer, it will call the desired 
number free anywhere in the US (as well as cheap international calls).  I 
currently have a script that grabs any selected text and adds it to a list 
of commonly called numbers.  It will extract the phone number, connect to 
the mobile web site and enter the data.  That way I can easily make a phone 
call from Anytime Organizer or anywhere I come across a phone number.  It 
works, but it takes a while to load the web page from a Run statement.  I 
would think these WebRequests functions would be much faster!

Google Voice also can send SMS text messages.  I don't think I will use this 
since I can send these simply through email.  Perhaps if I can write a 
WebRequest function to monitor a response, it might be worth the effort.

Of course, you need to be set up with a free Google Voice number to get to 
any of these pages.  It will give you a free number you pick out of a list. 
It is attached to a person or fanmily rather than a physical phone.  From 
their web site you can set up incoming calls to riing all of your different 
numbers all at once, or or forward to particular phones or straight to voice 
mail based on phone number.  When you answer the call you have the option to 
anser, answer & record, send to voice mail or send to voice mail & listen. 
There Go to:
www.google.com/voice

and request an invitation.  It is not widely available yet.  I mostly use 
the mobile pages because the main pages use ARIA controls.  None of the 
controls are recognized or work in IE/JAWS.  The controls are recognized in 
firefox 3.5.1, but some do not work as I would expect.

Don Marang


----- Original Message ----- 
From: "Jamal Mazrui" <empower@xxxxxxxxx>
To: <JAWSScripts@xxxxxxxxxxxxx>
Sent: Monday, August 03, 2009 3:27 PM
Subject: [jawsscripts] Introducing HomerJax script library for accessing 
Internet data


>I have created a JAWS script library for accessing Internet resources
> called HomerJax, available at
> http://EmpowermentZone.com/HomerJax.zip
>
> It is a collection of JavaScript functions that become available to JAWS
> scripts via the files HomerJax.jsb and HomerJax.wsc.  No COM server has to
> be registered to access the HomerJax object and its many methods.
>
> HomerJax.jss currently contains two functions:  CreateHomerJax() for
> creating the object, and HomerJaxDemo() for running an interactive demo of
> its capabilities.  The demo shows how you can get the content type, source
> HTML, or plain text of a web page; download a file to disk; get public
> messages from Twitter.com, or post a tweet if you have an account.  The
> code accesses data in JSON format (JavaScript Object Notation) as well as
> in XML.  The demo may be run by launching Notepad and pressing
> Alt+JAWSKey+D.
>
> Documentation is in the files HomerJax.txt and HomerJax.htm.  For ease of
> learning more via this email message, I am pasting the initial sections of
> documentation below.
>
> I credit list members:   Bryan Garaventa for information on the
> MSXml2.XMLHTTP object, and Martin Slack for information on the
> System.Collections.ArrayList object.
>
> Jamal
>
> HomerJax
> Beta 0.6
> August 3, 2009
>
> Copyright 2009 by Jamal Mazrui
> GNU Lesser General Public License (LGPL)
>
> Contents
>
> Introduction
> Overview
> COM Exchange Format
> Dialog Methods
> File Methods
> Folder Methods
> HTML Methods
> JScript Data Methods
> Path Methods
> Regular Expression Methods
> Registry Methods
> Shell Methods
> String Methods
> Variant Data Methods
> Web Request Methods
> XML Methods
> Development Notes
> ----------
>
> Introduction
>
> HomerJax is a library of convenience functions for accessing Internet
> resources.  It is written in JScript, the Microsoft version of JavaScript,
> and is dependent on several COM servers distributed with Windows.  The
> word "Homer" is a brand name I sometimes use for developer tools I create.
> The word "Jax" derives from Ajax, which originally meant "Asynchronous
> JavaScript and XML."  Ajax technologies focus on building dynamic user
> interfaces in web browsers.  HomerJax functions use some of these core
> technologies, but focus on reading, interpreting, and writing data from
> the Internet.
>
> Since the Internet is a great source of accessible information for people
> with visual disabilities who cannot readily read the printed word, my hope
> is that this library makes it easier for developers, including blind ones
> like myself, to build applications that take advantage of new social
> networking sites such as Twitter, FaceBook, and many others.  I intend for
> HomerJax to be accessible via various programming environments, including
> the Windows Script Host, screen reader scripting languages, and other
> programming languages via a COM server interface.
>
> A demonstration program is included that shows how you can easily get the
> content type, source HTML, or plain text of a web page; how you can
> download a file to disk, how you can get messages from the public timeline
> of Twitter.com, or poast a tweet if you have a Twitter account.  The demo
> shows how data is converted from JavaScript Object Notation (JSON) to what
> I call COM exchange format, and how XML data may be conveniently accessed
> as well.
>
> The functionality and documentation of HomerJax will improve over time in
> response to comments, questions, and suggestions.  Code contributions are
> also welcome.
> ----------
>
> Overview
>
> HomerJax methods are divided into categories indicated by a prefix at the
> beginning of their names:  Dialog, File, Folder, Html, Js, Path, RegExp,
> Registry, String, Vt, Web, and Xml.  By convention, HomerJax variable
> names use lower case prefixes to indicate the data type:  s for string, i
> for integer, n for floating point number, l for list, d for dictionary,
> and o for other COM object.  Method and variable names use upper camel
> case (like the .NET Framework), e.g., XmlGetValue rather than XMLGetValue.
> JavaScript is a case-sensitive language, so methods need to be called with
> appropriate capitalization.
> ----------
>
> COM Exchange Format
>
> The Component Object Model (COM) is a set of Windows standards by which
> different programming languages and applications can communicate.  COM
> uses a flexible data type called a variant, which can be an individual
> value, array of values, or complex object with methods, properties, and
> events.  In general, any COM client can use string, numeric, and COM
> objects as the data types of parameters or return values.  Some, however,
> cannot use arrays.  COM exchange format is intended to support
> collections, as well as primitive data types, for use by any COM client.
> Rather than an array, a list COM object is used from the .NET Framework
> (any version).  A COM object dictionary is also used from the Windows
> Script Host.
>
> HomerJax includes a method called JsToVt, which converts data in JSON
> format to variant types understood by JAWS  Script (or any COM client
> language).  JavaScript arrays are converted to COM objects with the progID
> "System.Collections.ArrayList."  The methods and properties of this object
> are documented at
> http://msdn.microsoft.com/en-us/library/system.collections.arraylist.aspx
>
>  JavaScript objects, which are like dictionaries, are converted to COM
> objects with the progID "Scripting.Dictionary."  This object is documented
> at
> http://msdn.microsoft.com/en-us/library/x4k5wbx4(VS.85).aspx
>
>  In Visual Basic and other languages, either of these types of object
> collections may be iterated with the "For Each" statement.  These objects
> have an "Item" method, which is the default COM method of the object, so
> syntax can succinctly referr to items without even using the "Item"
> keyword (just using an integer element of a list or string key of a
> dictionary enclosed in parentheses).  The code of the demo program
> illustrates this in getting public messages from Twitter.
>
> HomerJax includes various methods for converting between JavaScript Object
> Notation (JSON), variant data types, and COM exchange format.  This
> provides much flexibility for accessing data on the Internet.
>
> ...
>
>
> __________
> Visit and contribute to The JAWS Script Repository http://jawsscripts.com
>
> View the list's information and change your settings at
> http://www.freelists.org/list/jawsscripts
> 

__________ 
Visit and contribute to The JAWS Script Repository http://jawsscripts.com

View the list's information and change your settings at 
http://www.freelists.org/list/jawsscripts

Other related posts: