Cross-platform app deployment with LiveCode is now even easier!

by Ali Lloyd on June 16, 2016 3 comments

While the majority of LiveCode features are built-in to the language, there are increasing numbers of ways to extend LiveCode, some of which require the inclusion of native code modules and other resources. The long-term vision for the IDE is to provide an extensions ecosystem, where script libraries, plugins, LiveCode Builder widgets, libraries and modules, custom controls and old-style externals can be easily downloaded and installed, and if required, subsequently built into standalone applications.

One important step towards this was the implementation of a dynamic property inspector, so that widgets and custom controls could have a way of specifying their editable properties and how they can be edited. Up until now the standalone settings stack has suffered some of the limitations of the old property inspector – namely that adding features requires manual modification of a stackfile.

An ‘Inclusions’ pane has been added to the LiveCode standalone settings user interface for the 8.1 releases, which not only simplifies the way you choose what extra functionality you want in your apps, but also allows you to select from a complete list of available inclusions, with a clear indication of the supported platforms at the side.

This significantly improves the cross-platform development experience provided by LiveCode. The iOS and Android panes no longer have separate check boxes for the various built-in externals (such as the XML external). Moreover any resources added to the appropriate locations should be reflected in the list.

read more
Ali LloydCross-platform app deployment with LiveCode is now even easier!

LiveCode Widgets: SVG Path

by Ali Lloyd on June 10, 2016 No comments

Continuing the blog series on the initial set of widgets included with LiveCode 8.0, here we are going to look at the SVG Path widget in a bit more detail.

What is SVG?

SVG stands for Scalable Vector Graphics. An SVG image file is essentially a set of instructions about how it should be drawn. SVG paths are sequences of commands which specify how the path is constructed from co-ordinate to co-ordinate (see the specification for SVG paths). This is how the scalability of SVG images is achieved – in order to scale it one simply has to adjust the scale used by the canvas. The SVG path widget only deals with the ‘path’ element of an SVG image. A prototype of full SVG rendering capabilities has been written, however there is a lot to do before SVG can be fully integrated into the engine so that SVG images can be used for button icons and so on.

read more
Ali LloydLiveCode Widgets: SVG Path

Extending the interactive welcome BMI app with HealthKit

by Monte Goulding on June 2, 2016 2 comments

By now many of you will have completed the new interactive tutorial for LiveCode 8. If you haven’t done that yet, you might like to go and complete it before continuing on here.

By the end of the tutorial you should have an app that looks something like the image below. If you’re like me and get excited by pancake printers it’s probably telling you something different to the image below but let’s not worry about that just now… the point is you should have an app that uses a web service to calculate BMI and charts it.

Today I’m introducing a new external for HealthKit called mergHK. With mergHK you can read and write to the HealthStore and therefore improve the integration of your health app with the array of other apps that users use to manage their health data.

read more
Monte GouldingExtending the interactive welcome BMI app with HealthKit

Removing Quicktime Dependency from LiveCode’s Player Object

by Ian Macphail on May 26, 2016 4 comments

A recent blog post from computer security firm Trend Micro announced that they had found 2 potential security vulnerabilities in QuickTime for Windows, and that a fix for those issues would not be forthcoming as Apple have withdrawn support for the Windows version of QuickTime. Consequently they recommend Uninstalling QuickTime for Windows as soon as possible. This is also the recommendation of US-CERT, the US government’s Computer Emergency Readiness Team.

Links:
Trend Micro Blog Post
US-CERT Alert
Apple QT For Windows Download Page

How does this affect LiveCode and our users? Our media player object has been based on QuickTime, on Windows and Mac. There is fallback support to use the old Windows MCI system, however this has been around since the days of Windows 3.1 and is no longer supported by Microsoft. Clearly it is now necessary to remove our reliance on Quicktime and move to a modern implementation of the player object. Happily, we have just done that, and the solution is available to you in the latest LiveCode release.

read more
Ian MacphailRemoving Quicktime Dependency from LiveCode’s Player Object

Infinite LiveCode – Third Stretch Goal – Mobile Native Field Widget

by Mark Waddingham on May 23, 2016 No comments

One of the biggest new features of LiveCode 8 was the Browser Widget. This new control allows any LiveCode application to take advantage of an embedded browser by just dragging and dropping a control onto a card – just like other LiveCode controls. This replaces the previous way you would use an embedded browser in LiveCode – either via revBrowser on Desktop, or mobileControlCreate(“browser”) on Android/iOS. It goes without saying that this widget was implemented using the power of LiveCode Builder!

The new browser widget really does make using an embedded browser so much easier: there’s no cross-platform difference between how you use it; and there’s no need to manage the browser’s lifetime yourself as it works just like a normal engine control (because that is what it is!). We’d like to extend this ease of use to mobile-specific feature which is widely used: the native field control accessible via mobileControlCreate(“input”).

This stretch goal’s proposal is to build a Builder widget which uses a native layer to make it possible to drag-drop native mobile field controls onto your stacks and use them, with exactly the same functionality as currently provided via the mobileControl functions, but in a way much more in keeping with how LiveCode should be.

read more
Mark WaddinghamInfinite LiveCode – Third Stretch Goal – Mobile Native Field Widget

Infinite LiveCode – The First Stretch Goal – SQLite Library

by Mark Waddingham on May 20, 2016 3 comments

SQLite databases are used ubiquitously in modern applications. Whether they be used as caches for downloaded data (so apps can run offline), as a file format for document editing apps or just for persistent data storage. Indeed, we feel that they are so important that they deserve their own clean, modern, high-level set of functions in LiveCode Script to access directly – rather than going through revDB.

For this Infinite LiveCode stretch goal we propose to:

  • Provide gyp-based descriptions of building the SQLite native code library.
  • Wrap the SQLite API using Infinite LiveCode to allow it to be used directly from Builder
  • Write a Builder module which allows usage of SQLite databases easily from Builder
  • Write a Builder library module which exposes a high-level API for manipulating SQLite databases directly from Script
read more
Mark WaddinghamInfinite LiveCode – The First Stretch Goal – SQLite Library

Trevor DeVore interviews Kevin & Mark on Infinite LiveCode

by Steven Crighton on May 19, 2016 No comments

The LiveCode community is vital to the success of our platform. We want to ensure the community voice is heard loud and clear. To this end, we approached a leading and respected member of the LiveCode community known for his outstanding contributions and for his extremely successful LiveCode built apps.

We asked Trevor DeVore, Director of Technology at ScreenSteps if he would like to interview Kevin & Mark, asking all the questions that he might have as an active LiveCode community member. Trevor kindly agreed and came up with some excellent questions which we are sure will be of interest to a wide audience!

read more
Steven CrightonTrevor DeVore interviews Kevin & Mark on Infinite LiveCode