Misplaced Pages

LiveCode

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.

Revolution is a software development environment/multimedia authoring software in the tradition of HyperCard and is based on the MetaCard engine. Its primary focus is on providing a relatively accessible development tool set and scripting language that enable the creation of software programs that run across multiple platforms with little or no code modifications. The Integrated Development Environment (IDE) included with Revolution is built partly on the models created by Bill Atkinson and the original HyperCard team at Apple and subsequently followed by many other software development products, such as Microsoft 's Visual Basic . Revolution includes an English language-like scripting language called Transcript , a full programming language superset of the HyperCard's scripting language, HyperTalk .

#779220

64-457: LiveCode (formerly Revolution and MetaCard) is a cross-platform rapid application development runtime system inspired by HyperCard . It features the LiveCode Script (formerly MetaTalk) programming language which belongs to the family of xTalk scripting languages like HyperCard 's HyperTalk . The environment was introduced in 2001. The "Revolution" development system was based on

128-420: A Rolodex card-filing device. Each card contains a set of interactive objects, including text fields, check boxes, buttons, and similar common graphical user interface (GUI) elements. Users browse the stack by navigating from card to card, using built-in navigation features, a powerful search mechanism, or through user-created scripts. Users build or modify stacks by adding new cards. They place GUI objects on

192-528: A web browser . Development upon HyperCard 3.0 stalled when the QuickTime team was focused away from developing QuickTime interactive to the streaming features of QuickTime 4.0. in 1998 Steve Jobs disliked the software because Atkinson had chosen to stay at Apple to finish it instead of joining Jobs at NeXT , and (according to Atkinson) "it had Sculley 's stink all over it". In 2000, the HyperCard engineering team

256-512: A HyperCard stack and included bundled with some Macs (for example the Performa 5300), still lives on, making HyperCard a facilitating technology for starting one of the best-selling computer games of all time. According to Ward Cunningham , the inventor of Wiki , the wiki concept can be traced back to a HyperCard stack he wrote in the late 1980s. In 2017 the Internet Archive established

320-403: A field causes that text to be stored to the stack's physical file. The system operates in a largely stateless fashion, with no need to save during operation. This is in common with many database-oriented systems, although somewhat different from document-based applications. The final key element in HyperCard is the script, a single code-carrying element of every object within the stack. The script

384-463: A full database system with robust information viewing and printing features. The HyperCard-inspired SuperCard for a while included the Roadster plug-in that allowed stacks to be placed inside web pages and viewed by web browsers with an appropriate browser plug-in. There was even a Windows version of this plug-in allowing computers other than Macintoshes to use the plug-in. The first HyperCard virus

448-544: A hardware interface that allows the computer to control external devices. Connected via the Apple Desktop Bus (ADB), this instrument can read the state of connected external switches or write digital outputs to a multitude of devices. Externals allow access to the Macintosh Toolbox, which contains many lower-level commands and functions not native to HyperTalk, such as control of the serial and ADB ports. HyperCard

512-514: A new debugger and many improvements to the underlying HyperTalk language. At the same time HyperCard 2.0 was being developed, a separate group within Apple developed and in 1991 released HyperCard IIGS, a version of HyperCard for the Apple IIGS system. Aimed mainly at the education market, HyperCard IIGS has roughly the same feature set as the 1.x versions of Macintosh HyperCard, while adding support for

576-520: A new version, HyperCard Player, which Apple distributed with the Macintosh operating system , while Claris sold the full version commercially. Many users were upset that they had to pay to use software that had traditionally been supplied free and which many considered a basic part of the Mac. Even after HyperCard was generating revenue, Claris did little to market it. Development continued with minor upgrades, and

640-490: A project to preserve and emulate HyperCard stacks, allowing users to upload their own. The GUI of the prototype Apple Wizzy Active Lifestyle Telephone was based on HyperCard. HyperCard influenced the development of the Web in late 1990 through its influence on Robert Cailliau , who assisted in developing Tim Berners-Lee 's first Web browser. Javascript was inspired by HyperTalk. Although HyperCard stacks do not operate over

704-447: A stack, where they are directly available to scripts in that stack. During HyperCard's peak popularity in the late 1980s, a whole ecosystem of vendors offered thousands of these externals such as HyperTalk compilers, graphing systems, database access, Internet connectivity, and animation. Oracle offered an XCMD that allows HyperCard to directly query Oracle databases on any platform, superseded by Oracle Card . BeeHive Technologies offered

SECTION 10

#1732851377780

768-571: A term that is considered less daunting to beginning programmers. HyperCard can be extended significantly through the use of external command (XCMD) and external function (XFCN) modules. These are code libraries packaged in a resource fork that integrate into either the system generally or the HyperTalk language specifically; this is an early example of the plug-in concept. Unlike conventional plug-ins, these do not require separate installation before they are available for use; they can be included in

832-673: A variety of SQL databases, and TCP/IP libraries. The LiveCode engine supports several common image formats (including BMP, PNG, GIF, and JPEG,), anti-aliased vector graphics, HTML-style text hyperlinks, chained behaviors and embedded web browsers. Accessing these higher-level functions is designed to be straightforward. LiveCode has around 2,950 built-in language terms and keywords, which may be extended by external libraries written in C and other lower level languages. LiveCode project files are binary-compatible across platforms. They inherit each platform's look-and-feel and behaviors. Buttons, scroll bars, progress bars and menus behave as expected on

896-487: Is Classic mode in Mac OS X 10.4 (Tiger) on PowerPC-based machines. HyperCard has been used for a range of hypertext and artistic purposes. Before the advent of PowerPoint , HyperCard was often used as a general-purpose presentation program. Examples of HyperCard applications include simple databases, " choose your own adventure "-type games, and educational teaching aids. Due to its rapid application design facilities, HyperCard

960-449: Is a text field whose contents are interpreted in the HyperTalk language. Like any other property, the script of any object can be edited at any time and changes are saved as soon as they were complete. When the user invokes actions in the GUI, like clicking on a button or typing into a field, these actions are translated into events by the HyperCard runtime. The runtime then examines the script of

1024-402: Is a vast superset of the former HyperCard yet retains its simplicity. LiveCode includes a number of features missing from the original HyperCard program, including multiple platform deployment, communication with external devices and many fundamental language extensions. The LiveCode toolkit, as compared to HyperCard, has the ability to access internet-based text and media resources, which allows

1088-703: Is among the first successful hypermedia systems predating the World Wide Web . HyperCard combines a flat-file database with a graphical, flexible, user-modifiable interface. HyperCard includes a built-in programming language called HyperTalk for manipulating data and the user interface. This combination of features – a database with simple form layout, flexible support for graphics, and ease of programming – suits HyperCard for many different projects such as rapid application development of applications and databases, interactive applications with no database requirements, command and control systems, and many examples in

1152-402: Is capable of creating new object classes called "widgets". In earlier versions, the set of object classes was fixed, and could be enhanced only via the use of ordinary procedural languages such as C. The new language, which runs in its own IDE , is a departure from the transitional x-talk paradigm in that it permits typing of variables. But the two environments are fully integrated, and apart from

1216-518: Is derived from MetaCard's engine, so MetaCard stacks are 100% compatible with Revolution. However, the other way around is not necessarily true. HyperCard stacks can be run, but externals will only run on Macs. SuperCard stacks must be run through a converter to be upgraded to Revolution/MetaCard format. Revolution runs on Mac Classic, Mac OS X, Windows 9x/NT/2000/XP, and the following UNIX variants: Standalone applications written in Revolution can run on

1280-419: Is designed to be an environment where non-programmers feel at ease and programmers feel not too uncomfortable (after getting used to "non-traditional" programming syntax). Like any programming language or development environment, opinions as to the degree to which those aims have been achieved vary greatly. Before Revolution 2, the "Starter Kit" version was available. This was freeware and imposed restrictions on

1344-427: Is more powerful, and is useful in creating professional binary applications. The Enterprise version is probably too expensive for casual users, but when compared to other similar products such as Borland Delphi or Kylix , is priced competitively. If one wishes to develop programs on non-Microsoft platforms for cross-platform deployment, Revolution is one of a small handful of commercially supported options. Revolution

SECTION 20

#1732851377780

1408-519: Is one of the first products that made use of and popularized the hypertext concept to a large popular base of users. Jakob Nielsen has pointed out that HyperCard was really only a hypermedia program since its links started from regions on a card, not text objects; actual HTML -style text hyperlinks were possible in later versions, but were awkward to implement and seldom used. Deena Larsen programmed links into HyperCard for Marble Springs. Bill Atkinson later lamented that if he had only realized

1472-400: Is similar in concept to a form as used in most rapid application development (RAD) environments such as Borland Delphi , and Microsoft Visual Basic and Visual Studio . The database features of the HyperCard system are based on the storage of the state of all of the objects on the cards in the physical file representing the stack. The database does not exist as a separate system within

1536-466: Is that it lets people program without having to learn how to write code — what I call "programming for the rest of us". HyperCard has made it possible for people to do things they wouldn't have ever thought of doing in the past without a lot of heavy-duty programming. It's let a lot of non-programmers, like me, into that loop. David Lingwood, APDA HyperCard is based on the concept of a "stack" of virtual "cards". Cards hold data, just as they would in

1600-601: The Internet , by 1988, at least 300 stacks were publicly available for download from the commercial CompuServe network (which was not connected to the official Internet yet). The system can link phone numbers on a user's computer together and enable them to dial numbers without a modem, using a less expensive piece of hardware, the Hyperdialer. In this sense, like the Web, it does form an association-based experience of information browsing via links, though not operating remotely over

1664-589: The MetaCard engine technology which Runtime Revolution later acquired from MetaCard Corporation in 2003. The platform won the Macworld Annual Editor's Choice Award for "Best Development Software" in 2004. "Revolution" was renamed "LiveCode" in the fall of 2010. "LiveCode" is developed and sold by Runtime Revolution Ltd., based in Edinburgh, Scotland. In March 2015, the company was renamed "LiveCode Ltd.", to unify

1728-579: The National Film Board CinéRobothèque. In 1989, Hypercard was used to control the BBC Radiophonic Workshop Studio Network, using a single Macintosh. HyperCard was used to prototype a fully functional prototype of SIDOCI (one of the first experiments in the world to develop an integrated electronic patient record system) and was heavily used by Montréal Consulting firm DMR to demonstrate how "a typical day in

1792-511: The demoscene . HyperCard was originally released in 1987 for $ 49.95 and was included free with all new Macs sold afterwards. It was withdrawn from sale in March 2004, having received its final update in 1998 upon the return of Steve Jobs to Apple. HyperCard was not ported to Mac OS X , but can run in the Classic Environment on versions of Mac OS X that support it. The beauty of HyperCard

1856-612: The Beatles , and the Voyager MacBeth . An early electronic edition of the Whole Earth Catalog was implemented in HyperCard. and stored on CD-ROM. The prototype and demo of the popular game You Don't Know Jack was written in HyperCard. The French auto manufacturer Renault used it to control their inventory system. In Quebec, Canada, HyperCard was used to control a robot arm used to insert and retrieve video disks at

1920-437: The HyperCard stack; no database engine or similar construct exists. Instead, the state of any object in the system is considered to be live and editable at any time. From the HyperCard runtime's perspective, there is no difference between moving a text field on the card and typing into it; both operations simply change the state of the target object within the stack. Such changes are immediately saved when complete, so typing into

1984-414: The Macintosh community, as was the phrase "programming for the rest of us", that is, anyone, not just professional programmers. It is this combination of features that also makes HyperCard a powerful hypermedia system. Users can build backgrounds to suit the needs of some system, say a rolodex , and use simple HyperTalk commands to provide buttons to move from place to place within the stack, or provide

LiveCode - Misplaced Pages Continue

2048-570: The Motif, Platinum, and Windows appearance on any platform. There are many companies and groups which use the Revolution engine. It is mainly used by freelance programmers to make small widgets or libraries, but as one example is used exclusively by the Christa McAuliffe Space Education Center . HyperCard HyperCard is a software application and development kit for Apple Macintosh and Apple IIGS computers. It

2112-509: The ability to create new objects, development in LiveCode proceeds in the normal way, within the established IDE. A second crowdfunding campaign to Bring HTML5 to LiveCode reached funding goals of nearly US$ 400,000 on July 31, 2014. LiveCode developer release 8.0 DP4 (August 31, 2015) was the first to include a standalone deployment option to HTML5 . On 31 August 2021, starting with version 9.6.4, LiveCode Community edition, licensed under GPL ,

2176-611: The above, as well as Windows 3.1 (with limitations). As of March 2005, the Dreamcard Player runs only on Windows, Mac OS (Classic or X), and Linux. On Linux, the user's GNOME / Xfce /GTK+ theme will be used if GTK+ is installed, otherwise, a Motif look will be used. On the Mac, Appearance Manager will be used if available, otherwise the Platinum look will be used. On Windows, the XP theme or standard widgets will be used. Users can preview

2240-426: The cards using an interactive layout engine based on a simple drag-and-drop interface. Also, HyperCard includes prototype or template cards called backgrounds; when new cards are created they can refer to one of these background cards, which causes all of the objects on the background to "show through" behind the new card. This way, a stack of cards with a common layout and functionality can be created. The layout engine

2304-517: The color graphics abilities of the IIGS. Although stacks (HyperCard program documents) are not binary-compatible, a translator program (another HyperCard stack) allows them to be moved from one platform to the other. Then, Apple decided that most of its application software packages, including HyperCard, would be the property of a wholly owned subsidiary called Claris . Many of the HyperCard developers chose to stay at Apple rather than move to Claris, causing

2368-606: The company name with the product. In April 2013, a free/open source version 'LiveCode Community Edition 6.0' was published after a successful crowdfunding campaign at Kickstarter . The code base was re-licensed and made available as free and open source software with a version in April 2013. LiveCode runs on iOS , Android , OS X , Windows 95 through Windows 10 , Raspberry Pi and several variations of Unix, including Linux, Solaris, and BSD. It can be used for mobile, desktop and server/CGI applications. The iOS (iPhone and iPad) version

2432-556: The company promised to release it for free on all Macs. Apple timed its release to coincide with the MacWorld Conference & Expo in Boston , Massachusetts to guarantee maximum publicity. HyperCard was successful almost instantly. The Apple Programmer's and Developer's Association (APDA) said, "HyperCard has been an informational feeding frenzy. From August [1987, when it was announced] to October our phones never stopped ringing. It

2496-441: The creation of both HTTP (through its influence on Tim Berners-Lee 's colleague Robert Cailliau ), and JavaScript (whose creator, Brendan Eich , was inspired by HyperTalk ). It was also a key inspiration for ViolaWWW , an early web browser. The pointing-finger cursor used for navigating stacks was later used in the first web browsers, as the hyperlink cursor. The Myst computer game franchise, initially released as

2560-628: The creation of internet-enabled desktop applications. iOS and Android targets are available in some versions. Note: Complete Linux requirements for 4.5.x-6.x are the following: Revolution (software platform) The higher-grade versions (see Versions , below), allow applications to be compiled to run on more than one platform, including Macintosh (Classic or Mac OS 9 , and Mac OS X ), Windows and Unix-like systems including Linux . It can also import HyperCard stacks, which require little or no modification unless they use external functions, which generally do not work in Revolution. Revolution

2624-584: The creators of Myst , to corporate information services. Apple eventually folded Claris back into the parent company, returning HyperCard to Apple's core engineering group. In 1992, Apple released the eagerly anticipated upgrade of HyperCard 2.2 and included licensed versions of Color Tools and Addmotion II, adding support for color pictures and animations. However, these tools are limited and often cumbersome to use because HyperCard 2.0 lacks true, internal color support. Several attempts were made to restart HyperCard development once it returned to Apple. Because of

LiveCode - Misplaced Pages Continue

2688-424: The development team to be split. Claris attempted to create a business model where HyperCard could also generate revenues. At first the freely-distributed versions of HyperCard shipped with authoring disabled. Early versions of Claris HyperCard contain an Easter Egg : typing "magic" into the message box converts the player into a full HyperCard authoring environment. When this trick became nearly universal, they wrote

2752-404: The first failed attempt to create a third generation of HyperCard. During this period, HyperCard began losing market share. Without several important, basic features, HyperCard authors began moving to systems such as SuperCard and Macromedia Authorware . Nonetheless, HyperCard continued to be popular and used for a widening range of applications, from the game The Manhole , an earlier effort by

2816-537: The following script was executed when the system clock was at 9:00:00 AM: Ten lines will be loaded into the first text field. (denoted as "field 1"), and seen as: Notes: LiveCode's natural English-like syntax is easy for beginners to learn. Variables are typeless, and are typed at compile time based purely on context. This makes the language simple to read and maintain, with relatively minimal loss of speed. The language contains advanced features including associative arrays , regular expressions , multimedia, support for

2880-466: The life of a patient about to get surgery" would look like in a paperless age. Activision , which was until then mainly a game company, saw HyperCard as an entry point into the business market. Changing its name to Mediagenic, it published several major HyperCard-based applications, most notably Danny Goodman 's Focal Point, a personal information manager, and Reports For HyperCard, a program by Nine To Five Software that allows users to treat HyperCard as

2944-413: The majority of RAD or database systems of the era, however, HyperCard combines all of these features, both user-facing and developer-facing, in a single application. This allows rapid turnaround and immediate prototyping, possibly without any coding, allowing users to author custom solutions to problems with their own personalized interface. "Empowerment" became a catchword as this possibility was embraced by

3008-528: The object that is the target of the event, like a button, to see if its script object contains the event's code, called a handler. If it does, the HyperTalk engine runs the handler; if it does not, the runtime examines other objects in the visual hierarchy. These concepts make up the majority of the HyperCard system; stacks, backgrounds and cards provide a form-like GUI system, the stack file provides object persistence and database-like functionality, and HyperTalk allows handlers to be written for GUI events. Unlike

3072-405: The personal computer of choice". While noting that its large memory requirement made it best suited for computers with 2 MB of memory and hard drives, the magazine predicted that "the smallest programming shop should be able to turn out stackware", especially for using CD-ROMs. Compute! predicted in 1988 that most future Mac software would be developed using HyperCard, if only because using it

3136-473: The power of network-oriented stacks, instead of focusing on local stacks on a single machine, HyperCard could have become the first Web browser. HyperCard saw a loss in popularity with the growth of the World Wide Web, since the Web could handle and deliver data in much the same way as HyperCard without being limited to files on a local hard disk . HyperCard had a significant impact on the web as it inspired

3200-537: The product's widespread use as a multimedia-authoring tool it was rolled into the QuickTime group. A new effort to allow HyperCard to create QuickTime interactive (QTi) movies started, once again under the direction of Kevin Calhoun. QTi extended QuickTime's core multimedia playback features to provide true interactive facilities and a low-level programming language based on 68000 assembly language. The resulting HyperCard 3.0

3264-495: The same navigation system within the data elements of the UI, like text fields. Using these features, it is easy to build linked systems similar to hypertext links on the Web. Unlike the Web, programming, placement, and browsing are all the same tool. Similar systems have been created for HTML, but traditional Web services are considerably more heavyweight. HyperCard contains an object-oriented scripting language called HyperTalk , which

SECTION 50

#1732851377780

3328-555: The software. Apple and its mainstream developers understood that HyperCard's user empowerment could reduce the sales of ordinary shrink-wrapped products. Stewart Alsop II speculated that HyperCard might replace Finder as the shell of the Macintosh graphical user interface. In late 1989, Kevin Calhoun, then a HyperCard engineer at Apple, led an effort to upgrade the program. This resulted in HyperCard 2.0, released in 1990. The new version included an on-the-fly compiler that greatly increased performance of computationally intensive code,

3392-431: The target platform without any intervention on the part of the one authoring a LiveCode application. Compiling a LiveCode "standalone" produces a single, executable file (minimum size ~1.5MB) for each platform targeted. There is no separate runtime necessary. The Misplaced Pages article on HyperCard contains a more detailed discussion about the basics of a similar development environment and scripting language. Modern LiveCode

3456-422: The user, such as not allowing scripts longer than ten lines to be compiled. However, this has since been discontinued and is no longer available for download. The "Dreamcard" version is intended for home users/hobbyists. Applications (called "stacks") built using it require either the "Dreamcard Player" or a full copy of Revolution to run because Dreamcard does not include the Revolution compiler. The "Studio" version

3520-437: Was a zoo." Within a few months of release, there were multiple HyperCard books and a 50 disk set of public domain stacks. Apple's project managers found HyperCard was being used by a huge number of people, internally and externally. Bug reports and upgrade suggestions continued to flow in, demonstrating its wide variety of users. Since it was also free, it was difficult to justify dedicating engineering resources to improvements in

3584-570: Was also often used for prototyping applications and sometimes even for version 1.0 implementations. Inside Apple, the QuickTime team was one of HyperCard's biggest customers. HyperCard has lower hardware requirements than Macromedia Director . Several commercial software products were created in HyperCard, most notably the original version of the graphic adventure game Myst , the Voyager Company 's Expanded Books , multimedia CD-ROMs of Beethoven's Ninth Symphony CD-ROM , A Hard Day's Night by

3648-442: Was created by Bill Atkinson following an LSD trip. Work for it began in March 1985 under the name of WildCard (hence its creator code of WILD). In 1986, Dan Winkler began work on HyperTalk and the name was changed to HyperCard for trademark reasons. It was released on 11 August 1987 for the first day of the MacWorld Conference & Expo in Boston , with the understanding that Atkinson would give HyperCard to Apple only if

3712-464: Was discontinued. The LiveCode software creates applications that run in many supported environments, using a compile-free workflow. The same computer code in LiveCode can play across multiple devices and platforms. LiveCode uses a high level, English-like programming language called Transcript that is dynamically typed. Transcript and compile-free workflow generates code that is self-documenting and easy for casual programmers to comprehend. For example, if

3776-627: Was discovered in Belgium and the Netherlands in April 1991. Because HyperCard executed scripts in stacks immediately on opening, it was also one of the first applications susceptible to macro viruses . The Merryxmas virus was discovered in early 1993 by Ken Dunham, two years before the Concept virus. Very few viruses were based on HyperCard, and their overall impact was minimal. Compute!'s Apple Applications in 1987 stated that HyperCard "may make Macintosh

3840-409: Was first presented in 1996 when an alpha-quality version was shown to developers at Apple's annual Apple Worldwide Developers Conference (WWDC). Under the leadership of Dan Crow development continued through the late 1990s, with public demos showing many popular features such as color support, Internet connectivity, and the ability to play HyperCard stacks (which were now special QuickTime movies) in

3904-494: Was noted for having a syntax resembling casual English language. HyperTalk language features were predetermined by the HyperCard environment, although they could be extended by the use of externals functions (XFCN) and commands (XCMD), written in a compiled language. The weakly typed HyperTalk supports most standard programming structures such as "if–then" and "repeat". HyperTalk is verbose, hence its ease of use and readability. HyperTalk code segments are referred to as "scripts",

SECTION 60

#1732851377780

3968-473: Was reassigned to other tasks after Jobs decided to abandon the product. Calhoun and Crow both left Apple shortly after, in 2001. Its final release was in 1998, and it was totally discontinued in March 2004. HyperCard runs natively only in the classic Mac OS , but it can still be used in Mac OS X 's Classic mode on PowerPC based machines (G5 and earlier). The last functional native HyperCard authoring environment

4032-501: Was released in December 2010. The first version to deploy to the Web was released in 2009. It is the most widely used HyperCard/HyperTalk clone, and the only one that runs on all major operating systems. A developer release of v.8 was announced in New York on March 12, 2015. This major enhancement to the product includes a new, separate development language, known as "LiveCode Builder", which

4096-527: Was so addictive that developers "won't be able to tear themselves away from it long enough to create anything else". Byte in 1989 listed it as among the "Excellence" winners of the Byte Awards. While stating that "like any first entry, it has some flaws", the magazine wrote that "HyperCard opened up a new category of software", and praised Apple for bundling it with every Mac. In 2001 Steve Wozniak called HyperCard "the best program ever written". HyperCard

#779220