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

What does Infinite LiveCode mean for users of the platform?

by Steven Crighton on May 18, 2016 No comments

Unless you have been avoiding your mailbox recently you will know that LiveCode 8 has launched with the first iteration of LiveCode widgets written in the LiveCode Builder Language. LiveCode 8 marks the beginning of the new for the LiveCode platform.

Today, LiveCode lets us build powerful applications faster. We have a powerful and productive programming language that is close to the way we speak and think, we have a tool that enables rapid app development, we can deploy apps to all major platforms from one code base. Imagine if we had a thriving extensions EcoSystem with thousands of useful widgets and libraries that you can use in your application without the need to expand your team size or programming ability. As things stand you can open up LiveCode and drag out useful objects, customise them in the Property Inspector and you have a fully functioning object that would have required hand coding in previous versions. This will forever be useful but it does leave you wanting more, more widgets, more functionality, more usefulness, more productivity.

Introducing the Infinite LiveCode campaign.

What does Infinite LiveCode mean to you, as an end user? Suppose you do not yourself feel you have the time, ability or inclination to write new widgets or extensions for the platform, how does it benefit you?

read more
Steven CrightonWhat does Infinite LiveCode mean for users of the platform?