Misplaced Pages

NewtonScript

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

NewtonScript is a prototype-based programming language created to write programs for the Newton platform. It is heavily influenced by the Self programming language, but modified to be more suited to needs of mobile and embedded devices .

#680319

58-493: On August 3, 1993, Apple unveiled the Apple Newton MessagePad . The device had 640 KB RAM, 4 MB ROM, and a 20 MHz ARM 610 microprocessor. The main intention behind Newton project, was to develop a device capable of replacing a computer while being portable. With limited battery and memory, the developers were looking for programming language capable of meeting these challenges. The developers looked at

116-522: A GUI environment for programming. This allowed Newton programs to be developed on a computer running the Toolkit, where the programs would be compiled and then downloaded to a Newton device for running. One of the advantages of NewtonScript's prototype based inheritance was reduced memory usage, a key consideration in the 128 KB Newton. The prototype of a GUI object could actually be stored in ROM, so there

174-502: A Newton device to access additional information, find out where they were in the museum, listen to audio, see animations, control robots and other media, and to bookmark information for printout at the end of the exhibit. The device became known as the ARIF, a Malay word for "wise man" or "seer" and it was also an acronym for A Resourceful Informative Friend. Some 400 ARIFS were installed and over 300 are still in use today. The development of

232-406: A better, clearer, backlit screen, attracted critical plaudits. The eMate 300 was a Newton device in a laptop form factor offered to schools in 1997 as an inexpensive ($ 799 US, originally sold to education markets only) and durable computer for classroom use. However, in order to achieve its low price, the eMate 300 did not have all the speed and features of the contemporary MessagePad equivalent,

290-622: A desktop computer graphics tablet . With "Shapes", Newton could recognize that the user was attempting to draw a circle, a line, a polygon , etc., and it would clean them up into perfect vector representations (with modifiable control points and defined vertices) of what the user was attempting to draw. "Shapes" and "Sketches" could be scaled or deformed once drawn. "Ink text" captured the user's free-hand writing but allowed it to be treated somewhat like recognized text when manipulating for later editing purposes ("ink text" supported word wrap , could be formatted to be bold, italic, etc.). At any time

348-463: A developer might create a new button instance. If the button uses the default font, accessing its font "slot" (i.e., property or member variable) will return a value that is actually stored in ROM; the button instance in RAM does not have a value in its own font slot, so the prototype inheritance chain is followed until a value is found. If the developer then changes the button's font, setting its font slot to

406-422: A fixed, predefined stroke alphabet. The stroke alphabet used letter shapes which resembled standard handwriting, but which were modified to be both simple and very easy to differentiate. Palm Computing also released two versions of Graffiti for Newton devices. The Newton version sometimes performed better and could also show strokes as they were being written as input was done on the display itself, rather than on

464-418: A friend, Dru Nelson, with his language, Cel. He learned that he really didn't know much about how languages worked, and set out to write a tiny language to understand the problems better. Io's goal is to explore conceptual unification and dynamic languages , so the tradeoffs tend to favor simplicity and flexibility over performance. In its simplest form, Io syntax is composed of one identifier: Assuming

522-639: A keyboard. Fourteen months after Sculley demoed it at the May 1992, Chicago CES, the MessagePad was first offered for sale on August 2, 1993, at the Boston Macworld Expo . The hottest item at the show, it cost $ 900. 50,000 MessagePads were sold in the device's first three months on the market. The original Apple MessagePad and MessagePad 100 were limited by the very short lifetime of their inadequate AAA batteries. Another factor which limited

580-638: A line of Newton devices called the ExpertPad PI-7000/7100; those were the same as Apple's MessagePad and MessagePad 100, the only difference is the physical design (the ExpertPads feature a screen lid, which Apple added in 1994 with the release of the MessagePad 110) and the naming. There were a number of projects that used the Newton as a portable information device in cultural settings such as museums. For example, Visible Interactive created

638-408: A meeting on March 11, 1990. There, they brainstormed a way of saving the MessagePad. Sculley suggested adding new features, including libraries, museums, databases, or institutional archives features, allowing customers to navigate through various window tabs or opened galleries/stacks. The Board later approved his suggestion; he then gave the Newton his official and full backing. The first MessagePad

SECTION 10

#1732786952681

696-456: A new value will override the prototype; this override value is stored in RAM. NewtonScript's " differential inheritance " therefore made efficient use of the Newton's expensive flash RAM by storing the bulk of the default data and code in the PDA's cheaper and much larger ROM . Views: They are objects created by Newton View System, which are created on run-time to render views. Template: It

754-472: A new, empty object is created and only the differences between it and its parent are stored within the new object; this behavior is known as differential inheritance . An example of this behavior is shown: A simple non-recursive factorial function, in Io: Because assignment of res * i to res is the last action taken, the function implicitly returns the result and so an explicit return expression

812-491: A power adapter. It provides data transfer at 2,400 bit/s, and can also send and receive fax messages at 9,600 and 4,800 bit/s respectively. The original Apple MessagePad and MessagePad 100 used four AAA batteries . They were eventually replaced by AA batteries with the release of the Apple MessagePad 110. The use of 4 AA NiCd (MessagePad 110, 120 and 130) and 4x AA NiMH cells (MP2x00 series, eMate 300 ) give

870-404: A runtime of up to 30 hours (MP2100 with two 20 MB Linear Flash memory PC Cards , no backlight usage) and up to 24 hours with backlight on. While adding more weight to the handheld Newton devices than AAA batteries or custom battery packs, the choice of an easily replaceable/rechargeable cell format gives the user a still unsurpassed runtime and flexibility of power supply. This, together with

928-459: A silkscreen area. For editing text, Newton had a very intuitive system for handwritten editing, such as scratching out words to be deleted, circling text to be selected, or using written carets to mark inserts. Later releases of the Newton operating system retained the original recognizer for compatibility, but added a hand-printed-text-only (not cursive ) recognizer, called " Rosetta ", which

986-458: A team headed by Walter R. Smith developed a new language called NewtonScript. It was influenced by dynamic language like Smalltalk and prototype model based like Self. Although NewtonScript was heavily influenced by Self, there were some differences in both the languages. Differences arose due to three perceived problems with Self. The syntax was also modified to allow a more text-based programming style, as opposed to Self's widespread use of

1044-568: A user could also direct their Newton device to recognize selected "ink text" and turn it into recognized text (deferred recognition). A Newton note (or the notes attached to each contact in Names and each Dates calendar or to-do event) could contain any mix of interleaved text, Ink Text, Shapes, and Sketches. While the Newton offered handwriting recognition training and would clean up sketches into vector shapes, both were unreliable and required much rewriting and redrawing. The most reliable application of

1102-729: A walking tour in San Francisco's Chinatown but the most significant effort took place in Malaysia at the Petronas Discovery Center, known as Petrosains . In 1995, an exhibit design firm, DMCD Inc., was awarded the contract to design a new 100,000-square-foot (9,300 m ) science museum in the Petronas Towers in Kuala Lumpur. A major factor in the award was the concept that visitors would use

1160-480: Is a blueprint from which views are created. Protos: They can be blueprint for a template or a view, and are elements of NewtonScript code libraries. Frame and Slot: Frame is a dynamic collection of slots, and one element of frame is called as a slot. A slot is made up of name and value. The value can be of any type. It is worthwhile to note that all objects in NewtonScript are frames. Soup and Entry: It

1218-400: Is a related collection of frames/ data. Entry is an individual frame in a soup. Frame Heap: RAM allocated dynamically by NewtonScript. Base View: It is the main view of application, consisting of all the variables and methods used in the application. With the cancellation of the Newton project by Apple in 1998, all further mainstream developments on NewtonScript were stopped. However,

SECTION 20

#1732786952681

1276-597: The ARM 610 RISC processor , run Newton OS , and all feature handwriting recognition software. Alongside the MessagePad series, Apple also developed and released the eMate 300 Newton device. The development of the Newton MessagePad first began with Apple's former senior vice president of research and development, Jean-Louis Gassée ; his team included Steve Capps , co-writer of Mac OS Finder , and an employed engineer named Steve Sakoman . The development of

1334-489: The C++ programming language but realized that it lacked flexibility. They started focusing on prototype based languages and were impressed with Smalltalk and Self. Concurrently Apple was developing another dynamic programming language called Dylan , which was a strong candidate for the Newton platform. However, both Self and Dylan were dropped out of consideration, as they were both in nascent stage for proper integration. Instead,

1392-407: The flash memory used as internal storage starting with the Apple MessagePad 120 (if all cells lost their power, no data was lost due to the non-volatility of this storage), gave birth to the slogan "Newton never dies, it only gets new batteries". The Apple MessagePad 2000/2100, with a vastly improved handwriting recognition system, 162 MHz StrongARM SA-110 RISC processor, Newton OS 2.1, and

1450-507: The ARIF system was extremely complex and required a team of hardware and software engineers, designers, and writers. ARIF is an ancestor of the PDA systems used in museums today and it boasted features that have not been attempted since. Anyway & Company firm was involved with the Petronas Discovery Center project back in 1998 and NDAs were signed which prevents getting to know more information about this project. It

1508-595: The InterConnect port, while itself very advanced, can only be used to connect a serial dongle. A prototype multi-purpose InterConnect device containing serial, audio in, audio out, and other ports was also discovered. In addition, all Newton devices have infrared connectivity, initially only the Sharp ASK protocol, but later also IrDA , though the Sharp ASK protocol was kept in for compatibility reasons. Unlike

1566-506: The MP100 has 1.3 that can be upgraded with various patches.) The Newton OS was also licensed to a number of third-party developers including Sharp and Motorola who developed additional PDA devices based on the Newton platform. Motorola added wireless connectivity, as well as made a unique two-part design, and shipped additional software with its Newton device, called the Marco. Sharp developed

1624-548: The MessagePad 2000. The eMate was cancelled along with the rest of the Newton products in 1998. It is the only Newton device to use the ARM710 microprocessor (running at 25 MHz), have an integrated keyboard, use Newton OS 2.2 (officially numbered 2.1), and its batteries are officially irreplaceable, although several users replaced them with longer-lasting ones without any damage to the eMate hardware whatsoever. Many prototypes of additional Newton devices were spotted. Most notable

1682-557: The Newton MessagePad operated in secret until it was eventually revealed to the Apple Board of Directors in late 1990. When Gassée resigned from his position due to a significant disagreement with the board, seeing how his employer was treated, Sakoman also stopped developing the MessagePad on March 2, 1990. Bill Atkinson , an Apple Executive responsible for the company's Lisa graphical interface, invited Steve Capps, John Sculley , Andy Hertzfeld , Susan Kare , and Marc Porat to

1740-403: The Newton handwriting recognition system is the modeless error correction . That is, correction done in situ without using a separate window or widget, using a minimum of gestures. If a word is recognized improperly, the user could double-tap the word and a list of alternatives would pop up in a menu under the stylus. Most of the time, the correct word will be in the list. If not, a button at

1798-606: The Newton platform in a hands on relaxed fashion. The stores had no traditional computer retail counters and featured oval desktops where interested users could become intimately involved with the Newton product range. The stores were a model for the later Apple Stores. (HxWxD) (lid open) (lid open) (23 x 37 x 13 cm) with batteries installed with batteries installed with batteries installed * Varies with installed OS Notes: The eMate 300 actually has ROM chips silk screened with 2.2 on them. Stephanie Mak on her website discusses this: If one removes all patches to

NewtonScript - Misplaced Pages Continue

1856-433: The Newton was collecting and organizing address and phone numbers. While handwritten messages could be stored, they could not be easily filed, sorted or searched. While the technology was a probable cause for the failure of the device (which otherwise met or exceeded expectations), the technology has been instrumental in producing the future generation of handwriting software that realizes the potential and promise that began in

1914-470: The Palm Pilot, all Newton devices are equipped with a standard PC Card expansion slot (two on the 2000/2100). This allows native modem and even Ethernet connectivity; Newton users have also written drivers for 802.11b wireless networking cards and ATA-type flash memory cards (including the popular CompactFlash format), as well as for Bluetooth cards. Newton can also dial a phone number through

1972-468: The above doStuff is a method , it is being called with zero arguments and as a result, explicit parentheses are not required. If doStuff had arguments, it would look like this: Io is a message passing language, and since everything in Io is a message (excluding comments ), each message is sent to a receiver. The above example demonstrates this well, but not fully. To describe this point better, let's look at

2030-482: The bottom of the list allows the user to edit individual characters in that word. Other pen gestures could do such things as transpose letters (also in situ ). The correction popup also allowed the user to revert to the original, un-recognized letter shapes - this would be useful in note-taking scenarios if there was insufficient time to make corrections immediately. To conserve memory and storage space, alternative recognition hypotheses would not be saved indefinitely. If

2088-450: The built-in speaker of the Newton device by simply holding a telephone handset up to the speaker and transmitting the appropriate tones. Fax and printing support is also built in at the operating system level, although it requires peripherals such as parallel adapters, PCMCIA cards, or serial modems, the most notable of which is the lightweight Newton Fax Modem released by Apple in 1993. It is powered by 2 AA batteries, and can also be used with

2146-418: The development of Newton-Apple's Ink Handwriting Recognition. The MessagePad 100 series of devices used Macintosh's proprietary serial ports —round Mini-DIN 8 connectors . The MessagePad 2000/2100 models (as well as the eMate 300) have a small, proprietary Newton InterConnect port. However, the development of the Newton hardware/software platform was canceled by Steve Jobs on February 27, 1998, so

2204-537: The device and its ease of use made it possible for the electronic diaries to be carried around and used in the patients' everyday life setting. This was an early example of electronic patient-reported outcomes (ePRO). Io (programming language) Io is a pure object-oriented programming language inspired by Smalltalk , Self , Lua , Lisp , Act1 , and NewtonScript . Io has a prototype-based object model similar to those in Self and NewtonScript, eliminating

2262-402: The devices among Newton users. Even given the age of the hardware and software, Newtons still demand a sale price on the used market far greater than that of comparatively aged PDAs produced by other companies. In 2006, CNET compared an Apple MessagePad 2000 to a Samsung Q1 , and the Newton was declared better. In 2009, CNET compared an Apple MessagePad 2000 to an iPhone 3GS , and the Newton

2320-453: The display rotated, although display calibration is needed when rotation in any direction is used for the first time or when the Newton device is reset. In initial versions (Newton OS 1.x) the handwriting recognition gave extremely mixed results for users and was sometimes inaccurate. The original handwriting recognition engine was called Calligrapher, and was licensed from a Russian company called Paragraph International . Calligrapher's design

2378-418: The distinction between instance and class . Like Smalltalk, everything is an object and it uses dynamic typing . Like Lisp, programs are just data trees. Io uses actors for concurrency. Remarkable features of Io are its minimal size and openness to using external code resources. Io is executed by a small, portable virtual machine . The language was created by Steve Dekorte in 2002, after trying to help

NewtonScript - Misplaced Pages Continue

2436-483: The dongle on Newton devices with a Newton InterConnect port, most notably the Apple MessagePad 2000/2100 series, as well as the Apple eMate 300 . Newton devices featuring Newton OS 2.1 or higher can be used with the screen turned horizontally ("landscape") as well as vertically ("portrait"). A change of a setting rotates the contents of the display by 90, 180 or 270 degrees. Handwriting recognition still works properly with

2494-577: The eMate 300 (by replacing the ROM chip, and then putting in the original one again, as the eMate and the MessagePad 2000/2100 devices erase their memory completely after replacing the chip), the result will be the Newton OS saying that this is version 2.2.00. Also, the Original MessagePad and the MessagePad 100 share the same model number, as they only differ in the ROM chip version. (The OMP has OS versions 1.0 to 1.05, or 1.10 to 1.11, while

2552-401: The early Newton devices' appeal was that desktop connectivity was not included in the basic retail package, a problem that was later solved with 2.x Newton devices - these were bundled with a serial cable and the appropriate Newton Connection Utilities software. Later versions of Newton OS offered improved handwriting recognition, quite possibly a leading reason for the continued popularity of

2610-603: The fact that they do not require explicit parentheses is a convenience. As you can see, there is also a little bit of operator precedence happening here, and the precedence levels are the same as with the C precedence levels . In Io there are two ways of creating anonymous functions : methods and blocks. Between them, they are almost identical except for scope . While blocks have lexical scope , methods have dynamic scope . Both method and block are higher-order functions . The ubiquitous Hello world program : New objects are created by cloning objects. In Io specifically,

2668-490: The features used in NewtonScript would continue to inspire other programming models and languages. The prototype-based object model of Self and NewtonScript was used in JavaScript , the most popular and visible language to use the concept so far. NewtonScript is also one of the conceptual ancestors (together with Smalltalk, Self, Act1, Lisp and Lua ) of a general-purpose programming language called Io which implements

2726-411: The figure to possibly 750 Newtons. They placed an “Internet Call” for Newtons. They purchased them in large and small quantities. The Newton was also used in healthcare applications, for example in collecting data directly from patients. Newtons were used as electronic diaries, with patients entering their symptoms and other information concerning their health status on a daily basis. The compact size of

2784-415: The next example: The above example demonstrates message passing in Io; the "version" message is sent to the "System" object. Operators are a special case where the syntax is not as cut-and-dried as the above examples. The Io parser intercepts a set of operators defined by the interpreter, and translates them to method calls. For example, the following: translates to: All operators in Io are methods;

2842-459: The same differential inheritance model, which was used in NewtonScript to conserve memory. MessagePad The MessagePad is a series of personal digital assistant devices developed by Apple Computer for the Newton platform , first released in 1993. Some electronic engineering and the manufacture of Apple's MessagePad devices was undertaken in Japan by Sharp . The devices are based on

2900-550: The user returned to a note a week later, for example, they would only see the best match. Error correction in many current handwriting systems provides such functionality but adds more steps to the process, greatly increasing the interruption to a user's workflow that a given correction requires. Text could also be entered by tapping with the stylus on a small on-screen pop-up QWERTY virtual keyboard , although more layouts were developed by users. Newton devices could also accept free-hand "Sketches", "Shapes", and "Ink Text", much like

2958-469: Was a Newton tablet or "slate", a large, flat screen that could be written on. Others included a "Kids Newton" with side handgrips and buttons, "VideoPads" which would have incorporated a video camera and screen on their flip-top covers for two-way communications, the "Mini 2000" which would have been very similar to a Palm Pilot, and the NewtonPhone developed by Siemens , which incorporated a handset and

SECTION 50

#1732786952681

3016-497: Was also under development but never released. However, users wrote similar programs which could evaluate mathematical formulas using the Newton OS Intelligent Assistant, a unique part of every Newton device. The handwriting recognition and parts of the user interface for the Newton are best understood in the context of the broad history of pen computing , which is quite extensive. A vital feature of

3074-476: Was confirmed that they purchased of MP2000u or MP2100's by this firm on the behalf of the project under the name of "Petrosains Project Account". By 1998 they had invested heavily into the R&;D of this project with the Newton at the center. After Apple officially cancelled the Newton in 1998 they had to acquire as many Newtons as possible for this project. It was estimated initially 1000 Newtons, but later readjusted

3132-446: Was declared more innovative at its time of release. A chain of dedicated Newton-only stores called Newton Source, independently run by Stephen Elms, existed from 1994 until 1998 . Locations included New York, Los Angeles, San Francisco, Chicago and Boston. The Westwood Village, California, near UCLA featured the trademark red and yellow light bulb Newton logo in neon . The stores provided an informative educational venue to learn about

3190-438: Was developed by Apple, included in version 2.0 of the Newton operating system , and refined in Newton 2.1. Rosetta is generally considered a significant improvement and many reviewers, testers, and most users consider the Newton 2.1 handwriting recognition software better than any of the alternatives even 10 years after it was introduced. Recognition and computation of handwritten horizontal and vertical formulas such as "1 + 2 ="

3248-473: Was no need to copy default data or functions into working memory. Unlike class-based languages, where creation of an object involves memory being allocated to all of its attributes, NewtonScripts' use of prototype inheritance allowed it to allocated memory to few fields like _proto and _parent instead of creating whole new object. Here, _proto and _parent signifies whether the object is using prototype or parent inheritance. An example to illustrate above concept,

3306-435: Was quite sophisticated; it attempted to learn the user's natural handwriting, using a database of known words to make guesses as to what the user was writing, and could interpret writing anywhere on the screen, whether hand-printed, in cursive , or a mix of the two. By contrast, Palm Pilot's Graffiti had a less sophisticated design than Calligrapher, but was sometimes found to be more accurate and precise due to its reliance on

3364-585: Was unveiled by Sculley on the 29th of May 1992 at the summer Consumer Electronics Show (CES) in Chicago . Sculley caved in to pressure to unveil the product early because the Newton did not officially ship until 14 months later on the 2nd of August 1993, starting at a price of $ 699 . Over 50,000 units were sold by late November 1993. With the MessagePad 120 with Newton OS 2.0, the Newton Keyboard by Apple became available, which can also be used via

#680319