LiveCode 8 Launch Webinar Recording. Plus your questions answered…

by Steven Crighton on May 10, 2016 9 comments

 

 

To celebrate the launch of LiveCode 8 we held a special launch webinar where we gave a demo of some of the exciting new features and took your questions live. We have included these questions and answers below as well as some of the questions we just didn’t get round to answering.

Ali – Will you be adding support for integrating VR or 3D graphics?

A: At present we don’t have any plans to do this ourselves in LiveCode. This would be something it would be great to see someone in the community take on and extend the functionality of LiveCode to support.

Stavros – Is it possible to add some kind of animation effects to our apps so that we can add as widgets?

A: If you mean, can widgets be animated, then yes. Take a look at the source for the Clock widget and you’ll see this updates the clock hands smoothly inside the widget code.

Tom – Are there any LiveCode objects or wrappers for Bluetooth and/or NFC functionality in mobile devices?

A: Yes, in Indy/Business you have access to mergBLE which provides Bluetooth device support.

Steve – Will the “Create it with LC” Course be offered for LC 8.

A: Yes, the Create it course in its new iteration as the App Builder Course is being rebuilt for LiveCode 8. The first 2 lessons are almost ready to go and you should see those start appearing shortly in your account.

Steve – What’s the progress / status of the mergext for Android platform?

A: This is a priority for us. Monte will be working on both widgetizing these and where possible porting for Android. This should help ensure that our widget support for Android is on a par with other platforms, which of course is our goal.

Tim – Could you elaborate on the SVG enhancements?

A: Basically we didn’t quite have time to finish off the SVG feature set in the 8.0 development cycle. We have wrapped a small SVG library in the low level engine but have not yet made it available as a widget or in the environment. We do plan to do this in the near term. We basically want to make it as easy as possible to load an SVG file into LiveCode and render it.

Tom – Does this mark the end of development for 6.x and 7.x?

A: Yes it does. We have been flagging this for some time now, and these versions of LiveCode are now officially End of Life. We did do a community survey to see if there was sufficient support for continuing to support these versions and there was not.

David – How about Open Language – is that still on the road map?

A: Yes, that is still very much on the roadmap. Our focus with LiveCode 8 is very much on rounding out widgets and ensuring there is a widget for anything and everything you could want, once this is done we will turn our attention to Open Language.

David – How about sending Javascript commands to the browser widget?

A: You can still do this using “do as” eg

Do “string” in widget “blah”

And if the widget is a browser widget it will elect to do that as javascript in the context of the browser widget.

Scott – When your talking about in May is that this month or next year?

A: This month! Not next year 🙂

Ken – To follow up on the VR/3D question, how would one host a Unity 3D application inside of a LiveCode project – or is that possible?

A: I believe it is possible to build a Unity 3D application as an embeddable library, in which case you could use LiveCode Builder to wrap that as a native layer. Additionally we will this summer have a feature in Business to allow you to embed a LiveCode application within an application created in another language.

Sean – When will we be able to create our own interactive tutorials?

A: You can do that right now, the tutorial system is not hard coded and is completely open source. It is only useable within the IDE for the moment, and you can see a detailed blog post about how it works and how you can use it here:me

LiveCode Interactive Tutorials

You may be able to use this in your apps in the future as the language develops, it would not be very hard to spin this off.

Sean – is it possible to include and display a PDF included inside an app (rather than download from web) with browser widget? (i.e., without the external only Business license people get?)

A: Yes you can. Note that when you are setting the URL for display in the browser widget it does expect the URL to be in standard URL format. If you set it to a local path then be sure to encode correctly.

Sean – We are not crazy about this trend of extension ONLY for biz subscribers and discarding Indy users.

A: We have to look very carefully at the commercial reality of the cost of providing each feature. Obviously we want to put as much into Community and Indy as possible but we have done almost all of our development work over the last three years for all the editions, and that is something we need to balance out if we’re going to continue to sponsor LiveCode Community (Open Source). We won’t necessarily always get it exactly right in where these features go and we’re always open to discussion in getting that balance right but overall this is something we need to do to provide a strong platform for everybody.

Rick – There are tons of code samples for LC itself but very little samples or training on LC Builder. What is the best path to start learning LC Builder?

A: There is documentation available. You can find this in the Dictionary. Open the Dictionary inside LiveCode 8, and in the top left corner, click on the “Guide” tab. A guide to LiveCode Builder will open. Also you can try opening some of the existing widgets and playing around with them. You can find the widget code on github, or if you dig them out of the LiveCode app bundle you can play with them from there. We also invite you to join our upcoming course which will be freely available, details to be posted here on this blog soon!

Rick – I have a few apps that parse very large text files. I currently use LC 6.X instead of LC 8 because of the huge performance difference between the two versions. Is LC 8 ever going to be as efficient as 6.x when it comes to manipulating text?

A: We should be already in 8.0 for the most part. We did do a lot of optimization in particular of the native text processing routines where native text does not contain any unicode characters. You should find that mostly LiveCode 8 text operations are about the same speed as long as there are no Unicode characters in them. We are still working on this area.

Ralph – I do all my own resizing for mobile. How would I resize a widget? If I can resize it how will I keep the aspect ratio correct?

A: This works exactly the same way for widgets as it does for any other object. You can use the geometry manager or your own routines and preserve the aspect ratio if you need to do that. Scaling and resolution independence works exactly the same for widgets as anything else.

Paul – With what post 8.0 version do you expect to finish the “Extension Builder” so that Widgets can be edited and built in LC8 rather than an external editor?

A: This is not terribly high on our list of priorities. Its quite a lot of work to provide an editor internally for not a huge amount of benefit. We would point out that the source is all open and if someone wanted to write a nice internal editor and submit it we’d be very interested in looking at that! In the mean time we recommend Atom, which has a very nice LiveCode Builder formatter/colorizer extension.

E K – How can mergext extensions be used in LiveCode 8? Is it there documentation on using them? I’ve been using mergext for 5 years and I depend on it, so I’m very worried about the migration path.

A: There is a lesson here that will step you through it:

http://lessons.livecode.com/m/33498/l/535498-adding-mergext-extensions-to-your-app

We will be improving access significantly in 8.0.1, allowing you to add these directly from the standalone builder.

E K – Is it there window scrolling so we can design retina apps in non 4K or 5k monitors? Is about scrolling in the IDE so we as developers can design and work on 1:1 scale and see the interface in the monitor even if it is not 4000 x 2500 px.

A: You can use the stack scaling feature. Set the scaleFactor of your stack to .5 or .25 and you should be able to see all of it on smaller screens.

Bob – We’ve been trying to get LC to talk the external H/W for a long time (serial/usb) so we can use a stack as an interface to something like a PLC, Arduino etc. Will widgets be a tool to do this?

A: LiveCode Builder does currently have quite low level foreign function support. You should be able to write a library that hooks into the necessary operating system functions to talk to specific devices. If you are having problems connecting to serial ports then please check/submit a bug report because this is an area that should work.

Roger – Will there be any future widgets that provide native LC syntax access to google apps (docs. spreadsheets.etc)?

A: That would be a perfect thing for a third party to build. Also check out mergGoogle already included in Indy.

Robert – If we are in v 6.5 can we skip v7 and go straight to v 8?

A: Yes, we’d recommend you do that. 8 is essentially an improved 7 with LiveCode Builder, widgets and an improved IDE added.

Curt – What will be involved in moving a project currently using QT on Windows to DirectShow? Will the player object automatically ‘know’ how to switch, or will we need to make changes to the player object?

A: We are aiming as far as possible to ensure that the Player Object works the same as it did before. There are some features that do not directly map, and some Quicktime specific things will be lost eg support for Quicktime VR. The core set of features will definitely work, you will be able to play any video format supported by Directshow, set start and end time, set callbacks etc. If you are using Quicktime specific features they will not work.

Zoltan – The postgresql driver is compatible with Postgres-XL?

A: We’re not sure, we’ll look into that.

Further A: Yes – the FAQ for postgres-xl explicitly states that the protocol is ‘wire-level compatible’ with postgres. This means that dbpostgres (the LiveCode postgres driver) should connect to postgres-xl instances without modification.

Richard – When do you expect Builder will allow us to work with Android APIs?

A: It is possible to use C in Android so theoretically you could do this now, but it would be more tricky and fiddly than we would like. Direct calling of Java is very high on our list of priorities to add.

Tom – Will it be possible to “wrap” another process…like command line window in LC builder widget?

A: You can currently open a process already. There is no reason you couldn’t wrap another process by using shell functionality or open process.

Bernd – Will all of these features of LC8 also available in the LC server edition? What is your development strategy of LC server edition?

A: As far as we can we will continue to maintain compatibility between the Server edition and other editions of LiveCode. Obviously some of the GUI features are not appropriate to Server as it has no visible UI, but the Server edition is being very actively developed, is updated at the same time as other editions and we intend to continue to do that. LCB widgets and extensions work in the Server engine, you need to load them using script commands “load extension…”

Guy – Continuing Raspberry Pi support?
David – Any plans for Raspberry Pi for Livecode 8?

A: We are looking at this, it’s not something we are planning immediately. We might offer this as a feature exchange. If there is enough demand we will do it.

Richard – How do I access external databases or files using deploy to HTML5? This is a priority for my apps. My understanding at this point is that HTML5 doesn’t do this at present. What are your plans on addressing this huge limitation?

A: We are planning to improve the internet and url access protocols to let you do this.

Mike – It’s been a while since I’ve messed with widgets. For the tree’s lineHeight, can we change the theme, i.e. The tab where the property appears? For example, if I want to put it with other size/position properties, can I do that?

A: Yes, you can. You can separate a metadata property of a widget which the IDE uses.

You can use this in LiveCode Builder to specify the section name of a property:

metadata <propertyName>.section is “<sectionName>”

David – Concerning HTML5, How extensive will the support of the entire LC language be supported. Is it going to be functionally like web deployment was?

A: We’re going to get as close as we can.

Dave – I notice you used .livecode instead of .livecodescript in your scriptonly stack demo – I’ve had less problems using other text editors if I use .livecodescript, can you say why you didn’t chose .livecode instead of .livecodescript?

A: In github and open source files we distinguish whether they are binary or text files by .livecode for livecode binary files and .livecodescript for text files. It doesn’t make any difference to the engine, the engine looks at the contents of the file to determine what it is.

Dave – I’m looking forward to adding documentation for widgets directly into the dictionary! Any idea on when this will be coming?

A: That’s there now. Documentation for widgets is automatically added to the dictionary. See the pull down menu it the top left of the API guide.

Simon – Have the graphics display been updated in LC 8 so that rotating a graphic multiple times does not result in the graphic breaking up?

A: That is a limitation of the graphic object which hasn’t been lifted yet. It would be possible to write a widget that allows transforms with a great deal better fidelity than the graphics object allows. We have plans for the future to write a replacement for the graphic object in LiveCode Builder.

Bo – Is it or will it be possible to use gradients in widgets?

A: Yes. You have access to a library which supports gradients with full transformations, text positioning and image fills, bitmaps… basically anything you can do with the 6.5 engine and upwards you can access from LiveCode Builder.

Bo – Will it in the near future be possible to interact with a browser as with previous enabled Chrome CEF?

A: The browser widget in LiveCode 8 uses UIwebview on iOS, webview on Android, HI web on Safari/Mac and we only use CEF on Windows and Linux now. This is because of bugs in CEF on Mac. The feature set should be as good as or superior to revBrowser.

Ethan – In the demo, you used Atom. I have also used Coda. Are there plans on being able to integrate 3rd party editors into the IDE for script only stacks?

A: We don’t have immediate plans to do that but it would be a easy thing for someone to do if you wanted to.

Keith – Is the dragData[“files”] property working in LiveCode 8 for dragging files outside of LiveCode? I have apps that require the user to be able to drag images outside of LiveCode. Thanks.

A: Yes, as far as we know. If you are having any difficulty with getting this to work as it did prior to 8, please file a bug report and we’ll investigate.

Tom – Are there plans for managing widgets and features that are created by members of the community?

A: Yes, the Extensions store will be a repository for that and will not necessarily be just paid extensions. In the meantime you can upload community stacks and projects to the Livecodeshare site [http://livecodeshare.runrev.com/].

Lloyd – Any plans for a game engine?

A: We don’t have specific plans at the moment. We are internally reviewing the Kickstarter goal for the Physics engine and we are considering finding a way to work with the community on providing this – it might be a good sample project to work on together to show how to build widgets. We are not planning a full game engine however, so this would be a great thing for someone in the community to build.

Michael – Where do i find more information about the Business Application Framework, you started to promote it about one year ago, but the information on livecode.com is very limited. Does it come together with training materials?

A: You will find some information here:

LiveCode Business Application Framework

If you need more information please write to support@livecode.com.

Joseph – Please send out email announcements about the free courses on building widgets.

A: Yes, we will!

Joseph – Do you foresee other tutorials that cover other scenarios and features?

A: Yes, certainly, we are already planning more interactive tutorials.

Joseph – Any thoughts on how to how to build apps for databases?

A: Well, generally, choose the right database for your project, if it is online you will probably want to use a webservice to connect to. There are lots of really good front end type apps for databases that have been built in LiveCode. Do ask specific questions in our forums [http://forums.livecode.com]. We have some useful lessons on databases to get you started, here:

http://lessons.livecode.com/searches?utf8=%E2%9C%93&text=database&commit=Search

Malte – Will the community version continue to use libURL?

A: Yes it will, we are doing a number of improvements to that library.

Malte – Widgets look great! Will there be a means for text input into a widget?

A: Yes, there will be.

Paul – Will LiveCode support Windows Universal Apps?

A: We’re not currently looking to add any further platforms. It is something we’ll keep an eye on.

Lloyd – I teach instructional design and eLearning design at the University of Georgia. A big stumbling block to persuading my colleagues and students to explore LiveCode as an eLearning development tool has been the lack of web-based delivery. So, I am very excited by the ability to export LiveCode to HTML5. However, there does not appear to be any way to push and pull data to and from a database, such as mySQL. This is a major limitation. Is this capability going to be available in the near future?

A: it is very unlikely that direct access to databases will ever appear in HTML5. Web sockets would require special setup inside a server. However we are planning more work to support networking and url operations, and this will allow you to use a web service to connect to a database. This is really the best way to connect to databases on all platforms for security and performance reasons.

Lloyd – I’ve successfully been able to add the required Apple developer certificates to create iOS mobile apps and distribute them through Apple’s iPhone app store. However, I’ve not been able to figure out how to add the developer certificates to a Mac desktop app to distribute Apple “certified” MacOS apps. Does LiveCode 8 facilitate this process. Any other advice on this point?

A: There are plenty of forum posts on the subject of getting apps into the Mac App Store. Some people recommend a third party tool for doing this, Appwrapper, which completely automates the process. Its worth having a look in the forums [http://forums.livecode.com]

Sandro – Better performance (3.5 x ) in which area or in which routine?

A: This is to do with text and data processing. Working with text, strings and variables, all the lower level operations used to do text and data have been optimized.

Douglas – Not specific to v8 but does a 1 seat Indy license allow installation on (at least) 2 – 3 computers *if* only one instance of the development environment by one person is used at any one time?

A: Yes, your license belongs to you rather than your computer. We define a single user license as use by *either* only one person on more than one computer *or* use by more than one person on only one computer. You can install LiveCode on as many computers and platforms as you personally are using, as long as you do not share that licensed copy with anyone else.

Douglas – Are the mergExt additions present in v8?

A: Yes, they are built in. However, owing to a slight glitch in the process, at present to use them please follow the steps in this lesson:

http://lessons.livecode.com/m/33498/l/535498-adding-mergext-extensions-to-your-app

Douglas – Are there any significant changes/improvements in v8 handling for serial/USB communication?

A: No, other than a number of bug fixes this functionality remains the same.

Pradeep – Is there XMPP support available in LC8?

A: No, but another user, David Bovill, has something available, please email us in support (support@livecode.com) to request details if you are interested in this.

Jill – What are the different ways I can export data from my app? I figure exporting a CSV is easy, but can I export into a PDF too? Thx

A: Yes, LiveCode has build in support for exporting to PDF. Search for Print to PDF in the documentation – there is a lesson here:

http://lessons.livecode.com/m/4071/l/29177-how-to-create-pdfs-using-livecode

David – Is there support for offline scenarios?

A: Yes, assuming by this you mean support for an app being both online and offline. You need to think this through carefully in the design of your app, LiveCode is very good at building apps that do this.

Frans – Could I write a widget that enables audio recording on Mac Os X 64 bit?

A: Yes, it might be quite fiddly at the moment, and it will get easier as the LiveCode 8 series matures but in principle you could do it now. The good news is that we are planning this feature already.

Frans – Are there any LCB language examples of writing a widget to enable fast animation?

A: Not at the moment, although there is a simple mechanism for updating a widget periodically. It should be possible to write a widget that wraps the native sprite layer object on Mac or other platforms.

Dar – What is the status of Extension store?

A: This is very much planned in the relatively near future. You can currently put extensions into the existing store but the store we are working on will make it much easier to locate, install and uninstall them.

David – Does the new Tutorial feature use the Open Language feature?

A: Not as yet, Open Language is still upcoming for the future. However LiveCode Builder itself could be considered as a prototype for Open Language.

Roddy – Is there, or will there be, a TableView widget?

A: We do plan to wrap some of the native controls but we would love to see some of our community members go in and do some of the work here to provide a TableView widget.

Marc – Recording support in AVFoundation and WIndows Media?

A: Yes so the AVFoundation support we need to do by sound recording support for the 64bit Mac engine and obviously with now the death of Quicktime we need to use Directshow sound recording on Windows. We haven’t looked into that, the first thing we want is Directshow rendering inside the player object on Windows then start looking at sound recordings.

Marc – Are you distributing the MergExt community licensed extensions?

A: Yes. These are being distributed in the 8 IDE, you will find a Blur external, the mergJSON library, mergMarkdown.

Alp – One of the goals was to run Livecode within a browser (on a Chromebook). When can we see this?

A: That should be possible now.

Steve – Are the same functions available on all platforms? Windows desktop, Linux, iPhone, Android, etc?

A: Our goal with LiveCode is to have seamless cross platform compatibility. Some of the feature sets are not perfectly the same on some platforms but where possible we try to ensure they are the same. There are gaps in functionality in some platforms, the goal is that widgets will allow people to fill those gaps quite quickly. This is something we will be helping you to do and we will be doing ourselves.

Gregory – Any plans to support Open Geospatial Consortium (OGC) WMS/WFS Open maps?

A: We don’t have any immediate plans for this. It sounds like something you could do yourself if there is a library that could be wrapped.

Mike – Can I use and program on the new macbook (not pro) with the core M processor. Do you have system requirement suggestions.

A: Yes, that should be fine. You can see system requirements in the release notes for each version, and in a FAQ here:

FAQ

Glen – What version of Xcode should we use for IOS?

A: At present 7.3.1. You can find which version each new release of LiveCode should be used with in the release notes for that version. You can also check this faq:

FAQ

Lagi – I thought you had changed availability of html5 was for business for the supporters ?

A: No, HTML5 deployment is available in all editions including Community.

Lagi – 1 widget that is missing is a widget wrapper for DLLs, that would be a killer widget

A: You can’t write a general widget that allows you to wrap any DLL because the function is usually not contained within the DLL so you have to write a specification on how to call the functions within the DLL. This is essentially what LiveCode Builder is – it is a way to write wrappers around system calls. So what you would do is write a small widget wrapper around the DLL. You can do this now. We will continue to look at ways to make this as smooth as possible.

Scott – Still waiting intently on physics / improved animation — any update?

A: We are considering a community project to implement the Physics engine – watch this space.

Oliver – What can we expect in terms of the player-object? Can we get similar control / capablities over mediafiles as was possible with the EQT External?

A: In the first instance we are aiming to ensure consistent cross-platform functionality across all platforms with the player object. The EQT external exposed a fair bit of QuickTime specific functionality; providing similar features using other APIs or third-party libraries might make an interesting community project though.

David – Is it possible to run the debugger on Widget LCB code?

A: Not at present. An LCB debugger would have to operate out-of-process as LCB code runs (for all intents and purposes) at the same level as the engine’s C code this means it is not possible for the IDE script-level debugger to be used.

Adrien – I have an Indy license and not clue on how to use the built-in mergExt. Do I have a box to tick somewhere? I have some mergExt entries in the dictionary but that’s about how far I can make it, something like “put mergAnswerColor(“FF0000″) into tColor” will not work by itself.

A: Please see this lesson that steps you through setting up mergEXT:

http://lessons.livecode.com/m/33498/l/535498-adding-mergext-extensions-to-your-app

Michael – Is a widget similar to Quartam reports planned in 8?

A: We don’t have immediate plans to do this. The Business Application Framework will overlap with some of those capabilities in time.

Todd – Will the Browser Widget JavaScript Hook work in Android? We can’t seem to get this work?

A: This should be working. If you are having problems please submit a detailed bug report at http://quality.livecode.com/

Charles – You indicated that LC 8 is 3.5 faster in developing apps. What are you using for this comparison?

A: The string and data manipulation operations are typically 3.5x faster. If you’re referring to the process of building apps specifically, then the new functionality provided in 8 makes many app development tasks much faster. For an example see this blog post https://livecode.com/a-mini-web-browser-in-under-15-minutes-sample-stack-included/

Fulvio – What about multitasking support on mobile, especially iOS ?

A: There is some background support in mergExt in Indy at present. Full support within the engine is planned for 8.x.

Andre – Will the Navigation Bar widget be able to scroll horizontally or orient vertically?

A: It present it doesn’t includes those capabilities. However it is written in LCB so you can go in and add those capabilities to the source if want to. Or you could create a new widget based on the navigation bar code.

David – Is there any plan to include a mergeExt to read RSS feeds? I saw there is a JSON one, so it shouldn’t be too difficult to do. One for a Twitter -stream might also be interesting

A: We would be pleased to see someone in the community create that functionality.

Still got questions?

Ask them in the comments section below. We will do our best to get them answered. We would also love to hear your feedback on LiveCode 8 so far, let us know in the comments below.

Steven CrightonLiveCode 8 Launch Webinar Recording. Plus your questions answered…

Related Posts

Take a look at these posts

9 comments

Join the conversation
  • Mikey - May 10, 2016 reply

    SUGGESTION: Kevin should speak faster, and Mark should sit further away when he speaks. Otherwise, it was an informative hour+

    Kevin Miller - May 11, 2016 reply

    Thanks Mikey. When I speak faster people always tell me to speak slower so I guess we can’t please everyone.

  • Todd - May 10, 2016 reply

    How about creating a LiveCode Web Server Script option so we don’t need to use another editor?? It would be great to start focusing on the web server because it is increasing important, even with HTML5, we still need a web server.

    Kevin Miller - May 11, 2016 reply

    Yes, its a good idea and we would like to do it at some point. Or someone in the community could do it, it shouldn’t be too hard.

  • Shane Gibbs - May 10, 2016 reply

    “Steve – What’s the progress / status of the mergext for Android platform?

    A: This is a priority for us. Monte will be working on both widgetizing these and where possible porting for Android. This should help ensure that our widget support for Android is on a par with other platforms, which of course is our goal.”

    Native Android widgets will be a premium feature? Ouch, that’s not what I wanted to hear 🙁

    Kevin Miller - May 11, 2016 reply

    The mergExt feature set is already (mostly) in Indy, though some is in Community and Business. We aren’t planning to change that much at the moment. Remember you can build your own widgets too in all editions!

  • Andrew Ferguson - May 12, 2016 reply

    Is there any news on the new visual editor that was announced with the Kickstarter campaign?

  • Paul G. McClernan - May 13, 2016 reply

    Someone did build a rudimentary and open-source 3D library using pure Livecode script about a year or more ago.

    Paul G. McClernan - May 13, 2016 reply

    https://github.com/angerangel/LCR3D

Join the conversation

*