HOME

TheInfoList



OR:

{{Infobox software , name = Smile , logo = Smile-Icon.png , logo size = 48px , screenshot = , caption = , developer = Satimage Software , latest_release_version = 3.7.0 , latest_release_date = November 15, 2013 , operating_system =
Mac OS X macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
, genre =
Data analysis Data analysis is a process of inspecting, cleansing, transforming, and modeling data with the goal of discovering useful information, informing conclusions, and supporting decision-making. Data analysis has multiple facets and approaches, en ...
, license = Proprietary , website
www.satimage.fr/software
Smile is a free
Macintosh The Mac (known as Macintosh until 1999) is a family of personal computers designed and marketed by Apple Inc. Macs are known for their ease of use and minimalist designs, and are popular among students, creative professionals, and software en ...
computer programming and working environment based on
AppleScript AppleScript is a scripting language created by Apple Inc. that facilitates automated control over scriptable Mac applications. First introduced in System 7, it is currently included in all versions of macOS as part of a package of system aut ...
. Smile is primarily designed for scientists, engineers, desktop publishers, and web applications developers, to help them automate frequent tasks and control complex operations.


History

Smile was first released in 1995 as SMILE (in upper case). The acronym stood for ''SMI, Limited Edition'', with SMI standing for ''Scriptable Measurements on Images''. SMI is a software developed by Satimage Software, a French company engaged in
machine vision Machine vision (MV) is the technology and methods used to provide imaging-based automatic inspection and analysis for such applications as automatic inspection, process control, and robot guidance, usually in industry. Machine vision refers to m ...
technology, to automate real-time measurement and inspection systems for industrial plants. SMI is the core engine, which is written in C/ C++ that alone does nothing: it requires an interface, and that interface's behavior is programmed in
AppleScript AppleScript is a scripting language created by Apple Inc. that facilitates automated control over scriptable Mac applications. First introduced in System 7, it is currently included in all versions of macOS as part of a package of system aut ...
. SMI's core implements the key features of the software and publishes them to
AppleScript AppleScript is a scripting language created by Apple Inc. that facilitates automated control over scriptable Mac applications. First introduced in System 7, it is currently included in all versions of macOS as part of a package of system aut ...
. Basically, Smile is just SMI, without real-time video processing features. The need for 2D and 3D real-time visualization (of the measurements) gave rise to SmileLab. More recently, web-based control of facilities has become a standard, and Smile is now also a web applications server and a
web browser A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used on ...
.


Smile

The technologies included in Smile: * AppleScript Terminal windows, * an
AppleScript editor Script Editor (called AppleScript Editor from 2009 to 2014) is a code editor for the AppleScript and Javascript for Automation scripting languages, included in classic Mac OS and macOS. AppleScript Editor provides basic debugging capabil ...
with many helpers, * an editor of scripted interfaces, * a web browser, * a proprietary URL protocol to make HTML interfaces and have them send events to scripts, * a text editor for
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because ...
and
Unicode Unicode, formally The Unicode Standard,The formal version reference is is an information technology standard for the consistent encoding, representation, and handling of text expressed in most of the world's writing systems. The standard, ...
, with a search-and-replace tool supporting
Regular Expression A regular expression (shortened as regex or regexp; sometimes referred to as rational expression) is a sequence of characters that specifies a search pattern in text. Usually such patterns are used by string-searching algorithms for "find" ...
s, * a
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. ...
editor, * a
Regular Expression A regular expression (shortened as regex or regexp; sometimes referred to as rational expression) is a sequence of characters that specifies a search pattern in text. Usually such patterns are used by string-searching algorithms for "find" ...
engine, * an
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. ...
and p-list engine, * a 2D graphic engine, to program vector
PDF Portable Document Format (PDF), standardized as ISO 32000, is a file format developed by Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems. ...
graphics by script, * fast mathematical commands on numbers, arrays and matrices, * commands for driving industrial interfaces:
RS-232 In telecommunications, RS-232 or Recommended Standard 232 is a standard originally introduced in 1960 for serial communication transmission of data. It formally defines signals connecting between a ''DTE'' ('' data terminal equipment'') suc ...
serial communication, digital I/O, LED display, * a smile software for editing, * TextExpander (5.1.2).


SmileLab

Smile provides an Aqua interface to make any data graph "manually" and libraries of commands to make graphs and process data via scripts (SmileLab can display at any moment the script corresponding to the user's action.)


Performance

Computational extensions can be written in C or C++. Smile handles common file formats, but extensions for unsupported file formats can be added.


Smile Server

Smile Server is a bridge between a CGI program and
AppleScript AppleScript is a scripting language created by Apple Inc. that facilitates automated control over scriptable Mac applications. First introduced in System 7, it is currently included in all versions of macOS as part of a package of system aut ...
. This works by Smile opening a server port. A specific CGI, included, makes an HTTP request into a p-list (Apple's associative array XML format) and sends it to Smile Server on that port (specified in a configuration file). Asynchronous as well as synchronous behaviours are implemented, allowing Smile Server to be used as an alternate solution to .asp or .php to build dynamic sites, including
AJAX Ajax may refer to: Greek mythology and tragedy * Ajax the Great, a Greek mythological hero, son of King Telamon and Periboea * Ajax the Lesser, a Greek mythological hero, son of Oileus, the king of Locris * ''Ajax'' (play), by the ancient Gree ...
-based websites. Smile also handles
XML-RPC XML-RPC is a remote procedure call (RPC) protocol which uses XML to encode its calls and HTTP as a transport mechanism.Simon St. Laurent, Joe Johnston, Edd Dumbill. (June 2001) ''Programming Web Services with XML-RPC.'' O'Reilly. First Editi ...
requests.


External links


Satimage Software
Macintosh operating systems development