Lasso began in the mid-1990s when early web developers were attempting to build database-backed websites using Apple's FileMaker Pro. On the Mac platform, there were two solutions: Eric Bickford's WEB-FM, and Russell Owens' FileMaker CGI (ROFM) - both built in AppleScript and requiring the use of FileMaker Pro calculation fields for formatting. (WEB-FM was subsequently rewritten in C).
In the fall of 1995, independent developer Vince Bonfanti wrote a new CGI based on ROFM, using C/C++ for improved performance, and using the notion of HTML-based "templates" instead of relying on calculation fields. This proved very popular in the FileMaker community, and was brought to the attention of Bill Doerrfeld, owner of Blue World Communications Inc., a print and website development firm based out of Issaquah, Washington, who bought the source code.11
At this time, Blue World experimented with improvements for the CGI in the Frontier scripting environment, which inspired the name "Lasso". Further need for improvement drove the creation of a C-based CGI which was later released as "Lasso 1.0". At this point Lasso only worked with FileMaker Pro 3.x and WebSTAR, and only ran on Apple Mac OS 8 and above.12
Lasso's usage grew notably from reviews in print publications13[discuss] and Blue World's hosting of and participation in many email discussion lists, many of which specifically pertained to FileMaker Pro. Blue World also made frequent appearances and was known as a leading company at MacWorld conferences.14
Following the release of the Lasso 1.2 lineup in January 1997, Blue World and the Bonfantis entered private talks with Claris, the software division of Apple Computer, and owner of FileMaker Pro. Claris eventually licensed the post-version-1.2 Lasso source code, and with the help of Vince and Paul Bonfanti released the FileMaker Web Companion as a component of FileMaker Pro 4.0. FileMaker Web Companion's language, CDML (Claris Dynamic Markup Language),15 differed from Lasso 1.2's LDML (Lasso Dynamic Markup Language), but was close enough as to offer an easy transition for developers looking to serve from FileMaker Pro through third-party servers16 and offered more compelling features.17
Including the Lasso-like Web Companion in FileMaker 4.0 also stimulated growth of Lasso within the Macintosh web development community. Blue World continued developing Lasso with Kyle Jessup becoming Lasso's lead programmer. Lasso 2.0 was released in July 1997, introducing some fundamental shifts in how Lasso could be used.18
On February 26, 2002, Blue World released Lasso 5, a radical departure from the FileMaker-centric language to date. (There was never a Lasso 4 release; the version number skipped from 3 to 5.) Lasso 5 included, among many updates, a completely rewritten architecture (for OS X, Windows, Linux), and an embedded MySQL database.19 Though Lasso 5 still spoke to a FileMaker database (but not to a FileMaker Server), FileMaker as a data source remained relatively slow compared to an SQL engine, and was prohibitively more expensive. Since v2.0, Lasso was fully multithreaded, allowing many connections at once, but succumbed to FileMaker's latency or lag in certain operations, and there was no way to get around it reliably other than to make major changes to the data source.20
Lasso 5 also added support for Apache HTTP Server natively under OS X, Windows, and Linux, joining Webstar 5, AppleShare IP (which was replaced by OS X Server), and iTools (from Tenon21). (Mac OS 9, on which Lasso had been used for many years, was unsupported). This drove closer ties to a classic LAMP server architecture.
Blue World Communications released a series of plug-ins for popular Web development packages from Macromedia and Adobe. Lasso Studio 1.5 for Dreamweaver was a runner-up in MacWorld magazine's Editors' Choice Awards for Internet and Development22 in 2001, losing out to Adobe Dreamweaver 3. Lasso Studio for Dreamweaver 1.523 was also reviewed favorably by MacWorld magazine, earning 4+1⁄2 mice. Later version of Lasso Studio supported both Macromedia Dreamweaver and Adobe GoLive including Lasso Studio 7 for Dreamweaver and GoLive24 on March 26, 2004.
With the release of FileMaker Server and FileMaker Server Advanced version 7 in 2004 FileMaker signaled a major change in their strategy for serving data to Web sites. They emphasized XML-XSLT, ODBC, and JDBC connectivity, but only through the more expensive FileMaker Server Advanced product.25 Blue World began to distance the Lasso language from FileMaker and Apple. In 2005, Lasso Pro received MySQL Network certification26 demonstrating the importance of the popular open source database to the future of Lasso.
On August 1 of 2004, Bill Doerrfeld officially sold the Lasso product line to OmniPilot Software, Inc. in Ft. Lauderdale, Florida. Lasso 7.0.3 was the last version of Lasso released by Blue World.27
On October 25, 2004, OmniPilot officially announced the release of Lasso 8, a version including sandboxing for multiple sites on the same server and connectivity to many new datasources.28 This also included the first "free" version of Lasso limited to IP addresses.29 OmniPilot followed this release with a number of complementary products, including Lasso Studio 8 for Dreamweaver and GoLive30 on March 28, 2005, Lasso Studio for Eclipse, ChartFX integration and a number of free Lasso-based solutions.31
In 2007, three OmniPilot employees, Kyle Jessup (the original developer of Lasso 1.0), Fletcher Sandbeck (an early employee of Blue World known for regular Tips and Tricks) and Kerry Adams (an employee of OmniPilot) created a new company, LassoSoft LLC, to purchase the intellectual property of Lasso from OmniPilot and continue development.3233 Recognizing the need to be competitive against much more popular languages such as PHP and ASP, radical changes in architecture, syntax and structure were made and released as Lasso 9.0. Technical challenges caused by these changes, coupled with limited marketing resources, led to significant community decline as the company struggled to release documentation and support for the new language.3435
In December 2010 a new Canadian company LassoSoft Inc. was formed, which bought and invested heavily in the Lasso 9.0 language, marketing and documentation. Kyle Jessup agreed to stay on as both Lasso's Lead Developer and Benevolent Dictator for Life. Several releases (9.1 and 9.2) have released further developments in recent years.36
Here are three ways to say "Hello world!" on a Lasso page.
Square brackets are reserved in Lasso, so HTML entities must be used to show square brackets on Lasso pages for other purposes than marking Lasso tags. Alternatively, printing square brackets can be by Lasso or be disabled by including [no_square_brackets] at the file top.
Inlines are the basic Lasso tool for database actions. Database commands can be issued as above, in Lasso's db-independent metalanguage, in which case the same search code works for MySQL, FileMaker Pro or for any other database backend with which Lasso can connect.
If needed, a SQL statement can of course be embedded in the inline when using a database server that supports SQL:
In the above example, the dashes (-) before commands denote optional parameters. These can be specified in any order and generated dynamically; the last of any duplicate parameters take precedence. The inline command supports a large range of parameters56 allowing developers to interact with databases that they may not have intimate knowledge of.
Custom database connectors can be created which allows leveraging the abstracted nature of the inline command.
The next procedural example prints out the lyrics for the song "99 Bottles of Beer".
The next example uses an OOP approach to print out the lyrics when the object is represented as a string:
Dave, Parkhurst (April 25, 1997), "New Web tools help servers link to legacy data", MacWEEK Magazine ↩
"Filemaker Pro Requires external connector". Feb 1, 2000. http://www.macworld.com/article/1014068/filemakerpro.html ↩
"Web-Enabling Filemaker Pro Databases". Aug 1, 2002. http://www.macworld.com/article/1001543/lasso.html ↩
"Microsoft on Query Expressions". 6 March 2024. http://msdn.microsoft.com/en-us/library/bb384065.aspx ↩
"Query Expressions Defined". http://www.lassoguide.com/language/index_language.html ↩
"An explanation of LassoApps". http://www.lassoguide.com/operations/lassoapps.html ↩
Chris, Tracewell (2006). "A Closer Look at Two OS X Scripting Languages". MACTech. http://www.mactech.com/articles/mactech/Vol.22/22.07/PHPvsLasso/index.html ↩
Brian, Dunning (February 1, 2005). "Pick the Right Tool for the Job". http://www.briandunning.com/browse/browse0205.shtml ↩
"Lasso vs Scripting Languages on W3Techs". http://w3techs.com/technologies/reportlist/programming_language ↩
"Comparison of Popular Languages". Archived from the original on 2009-01-16. https://web.archive.org/web/20090116080326/http://www.langpop.com/ ↩
"Vince Bonafonti LassoTalk Post". http://www.lassosoft.com/lassotalk/msg/197947/Re+The+Top+ELEVEN+That+Made+Lasso+What+It+Is+Today ↩
"Lasso 1.0 Requirements". Archived from the original on December 27, 1996. https://web.archive.org/web/19961227172044/http://www.blueworld.com/lasso/documentation/Docs/intro.html ↩
"Lasso in the Press (archived)". Archived from the original on June 8, 2003. https://web.archive.org/web/20030608120807/http://www.blueworld.com/blueworld/products/LassoPress.html ↩
Jim, Dalrymple (January 4, 2002), "Apple offers Connect: Pro2Pro event at Macworld", PCWorld ↩
"Claris Dynamic Markup Language". http://etutorials.org/XML/filemaker+pro+6+developers+guide+to+xml_xsl/Chapter+6+Using+HTML+and+XHTML+to+Format+Web+Pages/6.6+Claris+Dynamic+Markup+Language/ ↩
"Blue World Technology Acquired by Claris". Archived from the original on April 30, 2001. https://web.archive.org/web/20010430142254/http://www.blueworld.com/blueworld/news/9.8.97-clarisacq.html ↩
Yu, Chong-ho. "Lasso provides more features than Web Companion". Archived from the original on December 26, 2004. https://web.archive.org/web/20041226204149/http://www.creative-wisdom.com/computer/FMP/intro_FMP.shtml ↩
"Changes in Lasso 2.0". Archived from the original on May 1, 2001. https://web.archive.org/web/20010501134629/http://www.blueworld.com/blueworld/news/lasso2.0.pr.html ↩
"Lasso 5 released". http://www.macworld.com/article/1001543/lasso.html ↩
"Slashdot discussion about abandoning FileMaker". 31 August 2004. http://ask.slashdot.org/story/04/08/31/0121250/replacing-filemaker-with-free-software ↩
"Tenon". Archived from the original on 2018-08-28. Retrieved 2005-09-05. https://web.archive.org/web/20180828203227/http://www.tenon.com/ ↩
"Editors' Choice Awards: Internet and Development". MacWorld. IDG. Retrieved 28 October 2013. http://www.macworld.com/article/1001745/09internet.html ↩
Seiter, Charles. "Lasso Studio for Dreamweaver 1.5". MacWorld. IDG. Retrieved 28 October 2013. http://www.macworld.com/article/1015763/lasso.html ↩
Cohen, Peter. "Lasso Studio 7 for Dreamweaver, GoLive released". MacWorld. IDG. Retrieved 28 October 2013. http://www.macworld.com/article/1030112/lasso.html ↩
"FileMaker Server 7 Advanced Now Available". CMO. Retrieved 28 October 2013. http://www.cmo.com.au/mediareleases/6711/filemaker-server-7-advanced-now-available/ ↩
Cook, Brad. "Lasso Pro receives MySQL Network certification". MacWorld. IDG. Retrieved 28 October 2013. http://www.macworld.com/article/1042860/lasso.html ↩
"OmniPilot Software acquisition article". http://www.lassosoft.com/Omnipilot-Acquires-Lasso-Product-Line-From-Blue-World-Communications-Inc ↩
"Lasso 8 release announcement". http://www.macworld.com/article/1040256/lasso.html ↩
"8.5 for free". MacNN. http://www.lassosoft.com/Omnipilot-Offers-Lasso-Developer-85-For-Free ↩
Cohen, Peter. "Lasso Studio 8 for Dreamweaver & GoLive released". MacWorld. IDG. Retrieved 28 October 2013. http://www.macworld.com/article/1043914/lassostudio8.html ↩
"List of releases by OmniPilot on MacNN". MacNN. http://www.macnn.com/search/omnipilot/ ↩
"LassoSoft acquires OmniPilot's Lasso". MacNN. March 5, 2007. http://www.macnn.com/articles/07/03/05/omnipilot.sells.lasso/ ↩
"LassoSoft LLC acquisition article". http://www.lassosoft.com/Lassosoft-Acquires-OmniPilot-And-The-Lasso-Product-Line ↩
Gunderson, Lars. "What I hope Lassosoft is doing right now". http://www.lassosoft.com/lassotalk/msg/258902/What+I+hope+Lassosoft+is+doing+right+now ↩
Gunderson, Lars. "Graph of LassoTalk community decline". http://bildr.no/view/730908 ↩
"9.2 Release". https://www.macupdate.com/app/mac/7277/lasso-server ↩
"First Version of Lasso Released". Archived from the original on October 19, 1996. https://web.archive.org/web/19961019190348/http://www.blueworld.com/ ↩
"Lasso 1.0.4 Manual" (PDF). Archived from the original (PDF) on December 27, 1996. https://web.archive.org/web/19961227171843/http://www.blueworld.com/lasso/Lasso%20Manual.pdf ↩
"Lasso 1.1 Released". Archived from the original on December 27, 1996. https://web.archive.org/web/19961227162936/http://www.blueworld.com/lasso/ ↩
"Lasso 2.0 Release". Archived from the original on June 12, 2003. https://web.archive.org/web/20030612124837/http://blueworld.com/blueworld/news/lasso2.0.pr.html ↩
"Broken Link to MacWeek Review". Archived from the original on April 22, 1998. https://web.archive.org/web/19980422040818/http://www.blueworld.com/ ↩
"Lasso 3.0 Released". Archived from the original on June 12, 2003. https://web.archive.org/web/20030612040411/http://blueworld.com/blueworld/news/10.7.98-L3Release.html ↩
"Lasso 3.5 Released". Archived from the original on June 8, 2003. https://web.archive.org/web/20030608113803/http://www.blueworld.com/blueworld/news/4.14.99-Lasso3.5Ship.html ↩
"Lasso 3.6 Release". Archived from the original on June 11, 2003. https://web.archive.org/web/20030611094829/http://blueworld.com/blueworld/news/01.05.00-LassoWDE3.6Ship.html ↩
"Lasso 3.6.5 Released". Archived from the original on June 11, 2003. https://web.archive.org/web/20030611230547/http://blueworld.com/blueworld/news/10.02.00LassoLite365.html ↩
"Lasso 5.0 Release". Archived from the original on August 2, 2003. https://web.archive.org/web/20030802080855/http://www.blueworld.com/blueworld/news/02.26.02-LP5Release.html ↩
"Lasso 6.0 Released". Archived from the original on June 22, 2003. https://web.archive.org/web/20030622143136/http://www.blueworld.com/blueworld/news/09.04.02-L6ProdLine.html ↩
"Lasso 7.1 Release (copy)". http://www.lassosoft.com/Omnipilot-Announces-Lasso-Professional-71-Compatible-With-Filemaker-Pro-7 ↩
"Lasso 8.1 Released". http://www.lassosoft.com/Omnipilot-Announces-Lasso-Professional-81 ↩
"Lasso 8.5 Released". http://www.lassosoft.com/Lasso-Professional-Server-85-Officially-Released ↩
"Lasso 9 Release". http://www.lassosoft.com/News-Update-Jan-29-2010 ↩
"Lasso 8.6 Release". http://www.lassosoft.com/lasso-8_6-release ↩
"Lasso 9.1 Release". http://www.lassosoft.com/Lasso-9-1-Product-Release ↩
"Lasso 9.2 Release". http://www.lassosoft.com/News-Lasso-Server-92-Released ↩
"Lasso 9.3 Release". http://www.lassosoft.com/lasso-9-3-release-notes ↩
large range of parameters http://www.lassosoft.com/lassoDocs/languageReference/obj/inline ↩