Feature Exchange Update

by Mark Waddingham on October 21, 2015 4 comments

Background

During the last week of September we tried a new model to fund specific feature development for the LiveCode platform – The Feature Exchange. A simple crowd-funding platform, the idea was that we could raise money from the community to implement contained and specified features in a well estimated timescale.

Our first run of the Feature Exchange idea offered four potential projects to be funded:

feature

  • Remote Debugging
  • PostgreSQL SSL Support
  • IPv6
  • Mac 64-bit Support

Out of these, we reached successful funding for both PostgreSQL SSL Support and Mac 64-bit Support! Now that the dust has settled, we’d like to thank you for the support you offered for these two features and update you on progress towards them.

PostgreSQL SSL Support

The PostgreSQL SSL Support feature adds the ability to enable LiveCode to talk to PostgreSQL databases over SSL via revDB (the LiveCode extension adding database access support). Additionally, we also included adding iOS and Android support for the PostgreSQL driver – making it possible to connect directly to these databases from the Mobile platforms as well as the current Desktop platforms.

This involves a number of tasks including updating the version of the PostgreSQL client library (libpq), making sure it optionally links to the revsecurity library and updating the revOpenDatabase command to allow additional (SSL-related) options to be passed through when creating the connection. Some work in the standalone builder and mobile related build support is also required to bring the (updated) PostgreSQL driver to mobile.

Shortly after funding was achieved for this feature, Michael was set to work implementing it. I’m happy to report that progress has been good and we already have it working on the Desktop platforms! Indeed, the pull request (PR) implementing this feature is currently in the final stages of review with the aim of it being included in the next build of LiveCode 8 – DP8 (which should appear really soon now). For anyone interested in all the gory details, take a look here: https://github.com/livecode/livecode/pull/3067 .

Michael is currently working on adding support for Android and iOS, and we hope to have this ready for LiveCode 8 DP9 which we hope to appear around the beginning of November.

Thank you to all of you who contributed to this feature in the Feature Exchange – it should be a real boon for anyone needing to connect to PostgreSQL databases in different environments, and from mobile devices (great for internal projects, but we definitely don’t recommend you leave your PostgreSQL database on an open port facing the internet!).

Mac 64-bit Support

The Mac 64-bit Support feature adds the ability to ship LiveCode (and standalones built with it) as native 64-bit applications on Mac. Combined with the move to the Cocoa set of APIs with 6.7 and upwards, this completes ‘future-proofing’ of LiveCode on the Mac platform – ensuring that LiveCode will continue to run, and run well as Apple update and evolve the Mac desktop platform.

  1. Unlike the PostgreSQL project (which is very self-contained), the Mac 64-bit project will proceed over a longer timescale with a number of stages:
  2. Update any remaining old Mac APIs with their 64-bit compatible equivalents in the engine and externals
  3. Disable Multimedia support which relies upon QuickTime (as QuickTime isn’t available to 64-bit applications)
  4. Update the build system to produce Mac 64-bit engines
  5. Update the Standalone Builder to produce Mac 64-bit standalones
  6. Release an initial version of Mac 64-bit (without QuickTime / Multimedia support) as a Universal Binary alongside Mac 32-bit
  7. Stabilize and ensure identical functionality between 64-bit and 32-bit Mac engines
  8. Reimplement any missing Multimedia functionality on top of 64-bit compatible APIs
  9. Ship LiveCode as a 64-bit Mac application, creating 64-bit Mac standalones

Indeed, we will be able to drop the 32-bit Mac build as soon as we have done this as all the Mac OS versions we currently support will happily run 64-bit binaries!

Now the above list will (realistically) take us a while to get through, however Fraser has already been set to task on this project and progress has been quite swift. He has already submitted two PRs with the first set of updates:
Fixing a range of minor issues preventing 64-bit builds – https://github.com/livecode/livecode/pull/3036
Fixing the AppleEvents interface to make sure it is 64-bit compatible – https://github.com/livecode/livecode/pull/3048
He’s also reliably informed me that he has just started to get a 64-bit Mac engine running locally (with limitations) so this is a really good start!

We’ll be gradually merging in the changes needed for 64-bit Mac support throughout the LiveCode 8 development cycle and we are on track to deliver an initial version (without Multimedia support) in early December.

Again, thank you to all of you who contributed to this feature in the Feature Exchange – it will help ensure that the LiveCode engine remains future-proofed against any changes which occur as the Mac platform evolves.

Mark WaddinghamFeature Exchange Update

Related Posts

Take a look at these posts

4 comments

Join the conversation
  • malte - October 21, 2015 reply

    Wow! I did not expect postGres drivers for mobile! This is really really cool and opens a whole set of new doors for one of my pet projects!

    Sam - November 20, 2017 reply

    any update on this? have been waiting this feature for years.

  • Ernie - October 21, 2015 reply

    I would like to see direct USB access added. As near as I can tell, it doesn’t exist yet. Among other things, it would allow communication between LC and single board computers like Arduino, Raspberry Pi, etc.

  • Richard Gaskin - January 16, 2018 reply

    What is the current status of postgres support for iOS and Android?

Join the conversation

*