The Winds of Change

by Kevin Miller on November 5, 2021 11 comments

I’m delighted to be able to report back on more of what we have planned for LiveCode 10. Recent changes at LiveCode have meant that we have been able to scale up our LiveCode development team. New engineers will be moving to or joining that team from next week and give us the biggest team we’ve ever had working on LiveCode in our 20 year history. We’re all super excited about what this means for the LiveCode platform. 

Measure twice, cut once

We’ve been tremendously successful in researching how to deliver a truly fantastic Web experience in 10. Our goal is that you can take an existing stack and run it within a browser and barring a handful of web-specific limitations, it will work well. As discussed in a recent blog post, the initial move to Web Assembly (WASM) has been a critical first step, delivering an experience that is 4X faster and crucially running code that relies on the “wait” feature within the engine, meaning that a lot more code will run without modification. Yes, the research took a while. It’s going to be worth it.

Let’s get graphical

I’m able to share today the remaining pieces that will really make this technology suitable for a broad range of apps. Firstly, we are reworking the graphics layer to use native browser rendering. This doubles the (already improved with WASM) rendering performance, and our initial benchmarks suggest that it performs slightly better or at least as well as our desktop app rendering. It is well worth noting that this initial graphics work relates well to the graphics project we are planning in phases for future LiveCode versions.

Minimal overhead

Secondly, the Web engine is getting smaller. A lot smaller. By moving to native browser rendering we eliminate the dependence we have on Skia, which is both a very significant download and a memory and performance drain. We are doing something similar with ICU, moving to alternative methods for common operations and allowing the remaining ICU features to become an optional download only if your app uses them.

The result looks like we can have the overhead of the LiveCode engine down to around about a 3MB download. We can host that somewhere on a CDN network for you so you won’t even need to include that in your web standalones.

A clean sweep

Finally, we’re refreshing the objects you need to ensure as near parity with the desktop as possible. That means things like the player, browser and map widget being extended to “just work” on Web. Other new features include sorting out networking and URL access in the web edition, a web based camera object, clipboard access and web native field. And of course you can extend your LiveCode Web apps by calling JavaScript from LiveCode Script, or LiveCode Builder.

When you put this all together you’ll be able to take the vast majority of your LiveCode content, deploy it in a browser and have it perform really well in all modern browsers, including on iOS and Android. Download times and load times are going to be on a par with what you’d expect from other modern web technologies.

Robots will be robots

It has taken us a little longer than we hoped to bring you an initial build as we ended up needing quite a few infrastructure changes in our build robots to support it. However that is almost complete and so a DP 1 will be along very shortly. This will have just the WASM compile (the engine won’t be minimized or use native graphics in dp-1 yet). It isn’t going to take all that long before the other things here appear.

You’ll be blown away

Web isn’t all we have planned for LiveCode 10. Stay tuned to our blog to hear details about the new multi-platform CSS Box widget, the new LiveCode Script based (LCS) widget architecture, a new Chart widget (running a popular JS charts engine), the new syntax we promised in our previous blog post, a new design for the Tools Palette, additional tutorials, in-product chat, a new analytics library and more. We’re also very grateful to those of you that took time to give us feedback for our recent “top bugs” survey. We will aim to squash 100 or so of your top bugs in LiveCode 10.

We’ve also been doing some ambitious product research around improvements for versions after 10. We’re looking at bringing a very popular and well known set of widgets to LiveCode, complete with responsive layout and animations, a faster graphics architecture that layers native controls better and more.

Fasten your hats, it’s going to be an interesting ride.

Kevin MillerThe Winds of Change

Related Posts

Take a look at these posts

11 comments

Join the conversation
  • Clarence Martin - November 5, 2021 reply

    Kevin, thanks for this information. This is somewhat like having a Fireside Chat and I think, an important communications tool that users will appreciate. Please keep doing this. I look forward to the coming updates to LiveCode. Please keep the “Wind of Change” blowing forward.

  • André De Tienne - November 5, 2021 reply

    Being able to enlarge your team significantly is a potent tangible sign that your recent change of strategy has strengthened your viability. That in turn supports the optimism that suffuses your announcement regarding LiveCode 10’s current and planned innovations. The future bodes well and promises to be quite attractive. I am also glad that you’ll be squashing bugs by the dozens. Each one is a puzzle to solve, and therein, too, lies much joy. LiveCode will feel cleaner afterward. Thanks for that, too.

    Carl Garcia - November 13, 2021 reply

    My thoughts exactly. I think it’s time to start making some noise

  • Vikram Singh - November 5, 2021 reply

    You check back after a few years and get this great update!

    Sounds good! Cant wait.

    Vikram

  • Joseph Pendley - November 5, 2021 reply

    Kevin,
    Thank you for the updates. They sound ambitious and useful. I have been with you over 18 years. This update is perhaps the most encouraging and promising.

    Please continue to train us. I could use tutorials that teach the concept of building an app. I know that you have the dictionary volumes. But they seem like a list of things that I have no idea how to combine into an app. Knowing how to approach the architecture of building an app would be a breakthrough.

    BTW, our son who played “printer football” in your office in 2011 is now in 6th Form. Go figure!

    Thank you!

    Joseph

  • Simon - November 7, 2021 reply

    I really hope that will keep the promises of HTML5.
    That would be wonderful, a game changer.

  • Keith Martin - November 9, 2021 reply

    This is really great news! The promise of browser-based apps has been there for a long time, and what you describe sounds like it directly and thoroughly addresses the challenges we’ve seen so far. This is so, SO cool!

  • Carl - November 13, 2021 reply

    This feature is happening in a perfect storm: the low-code/no-code tsunami –one that LiveCode should have led years ago. I am glad you are ‘finally’ open for investments.

    Kevin, you’ve got to start making noise in the media NOW! Everybody’s getting mega funding in low-code/no-code.
    https://www.spreadsheetweb.com/investments-in-no-code-low-code-how-much-money-did-they-raise/

    Moreover, put some resources on full wireframes/SVG importing (not just into one graphic) — groups, everything. The huge UI/UX world will love you, especially if LiveCode could import their wireframes from Figma & XD and generate a fully functional app that runs everywhere. They are the HyperCard type and in no time they will start doing LiveCode scripting. Who knows, with the right tools on the LC side, you could compete with Figma and Adobe head on.

  • Richard - November 15, 2021 reply

    What is “ICU” in this context?

    Kevin Miller - November 15, 2021 reply

    ICU is the large library we currently use to do Unicode support.

  • Tom Glod - November 20, 2021 reply

    Love what I reading here. Along with the new coding for kids initiative. Thank you team!

Join the conversation

*