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?

Infinite LiveCode – An Example

by Mark Waddingham on May 16, 2016 4 comments

Prologue

The engineering team at LiveCode recently published a technical whitepaper on how we’d like to make LiveCode Builder interoperate better with other languages by improving its so-called ‘foreign function interface’.

In this post, I’d like to work through an example of how Infinite LiveCode, once it is funded, might be used to write an extension for an ability the engine does not have: battery status monitoring on iOS.

There are several steps involved in working out how to build an extension which hooks into foreign APIs:

  1. Define what you want to be able to do
  2. Find the foreign APIs that you need to use and figure out how they work
  3. Work out a suitable set of functionality to expose to LiveCode Script
  4. Wrap the foreign APIs for use from LiveCode Builder
  5. Write a LiveCode Builder module which uses the wrapped foreign APIs to build the LiveCode Script functionality.

I’ll go through each of these five steps in turn.

read more
Mark WaddinghamInfinite LiveCode – An Example

LiveCode Widgets: The Header Bar

by Elanor Buchanan on May 15, 2016 9 comments

Following Ali’s blog about the navigation bar widget another must-have control we wanted in LiveCode 8 was the header bar. As with the navigation bar this is a very common control in mobile apps and hopefully providing it as a widget will save you time, effort and some of the headaches associated with creating native-looking mobile applications.

The LiveCode header bar is based on the iOS Navigation Bar and the Android App Bar. If you are working on Mac a header bar widget will be themed like an iOS Navigation Bar, if you are working on Windows or Linux it will be themed like an Android App Bar.

read more
Elanor BuchananLiveCode Widgets: The Header Bar

Infinite LiveCode – A letter from our CEO

by Kevin Miller on May 12, 2016 No comments

Dear All,

Have you tried LiveCode 8 yet? We’re incredibly proud of it and we think you will love it. You can read all about the new benefits here, watch our launch webinar or read the Q&A about LiveCode 8 here.

I’d like to extend a huge thank you to those of you that backed the project through crowd funding and to all our paid license holders and backers who made this mammoth project possible.

But we’re not done yet.

Infinite LiveCode

As truly wonderful as LiveCode 8 is, it is a new set of foundations and a ground floor – an enabler for an ecosystem an order of magnitude larger than the one we already enjoy today. That’s why today I’m announcing the our biggest and most important campaign of 2016 — Infinite LiveCode.

read more
Kevin MillerInfinite LiveCode – A letter from our CEO