Bring HTML5 Web Delivery to LiveCode
Get The LiveCode You Want
$0
pledged of $395,000 goal
0
backers
0
days to go
This project was successfully funded on 31/07/2014. HTML5 Web Deployment is coming to LiveCode
Bring HTML5 to LiveCode
Our mission is to bring coding to everyone, everywhere.
LiveCode is all about building a complete solution that lets you create full featured apps, faster and easier, without compromise. Over the last 12 months one thing has kept popping up that is not currently in our roadmap and it needs to be in order for us to truly fulfil our goal: True Web Apps.
You told us we need to bring HTML5 Web Delivery to LiveCode. We surveyed our entire user base and a massive 85% of you want HTML5 deployment, asap. This is not just a project for adding another deployment option, it is a project for making LiveCode the complete app development solution that we know it will be, and to bring it to you faster. It’s a project that changes the way we create and deliver apps.
Here are some of the things you said when we asked if you wanted HTML5:
Deploy apps via the web? Awesome!
It would make LiveCode complete
I would be delighted to publish my work on the web.
No install. Browse to a page and boom, you’re running the app.
it’s the new way forward
We all have big dreams for LiveCode and together we are already working on LiveCode Open Source to get it there. Adding HTML5 Web Delivery completes our vision of what LiveCode needs to be. Support our campaign to bring this vital platform into LiveCode, now that we have completed the core refactor from last year’s Next Generation project.
Picture this. You or your client has an idea for an app. You open up LiveCode, drag out some cool controls, write some actions in a language that comes naturally to you, make a fully featured app without worrying about different screen sizes, LiveCode takes care of that for you. Then choose where you want to deploy your app: iOS, Android, Desktop or the Web at a click of a button. No mess, no fuss and no plugin.
That’s where LiveCode is going. We need your help to take it all the way there.
We have already made App Development accessible to everyone with a computer. Sounds great? It is great but we know what still needs to be done and we are working round the clock to make sure that every part of app creation is smooth, beautiful and cross platform. Adding HTML5 web delivery to be created in parallel with our existing projects completes the LiveCode we want to make and the LiveCode you want to use. We want to get this to you fast so we have come up with some great rewards to ensure you get great value when supporting your platform . Pick your favourite reward and get behind LiveCode. #CompleteLiveCode
What is HTML5 Web Delivery for LiveCode?
Web delivery will provide the ability to output your LiveCode applications into modern web browsers. It will allow a fully faithful representation of your application within the browser environment. It uses HTML5 so it does not require a browser plugin. You will be able to author true Web Apps with LiveCode.
This is the final missing piece to ensure that you really can write your app in LiveCode and deliver it anywhere you or your customer wants it. HTML5 is a large and growing area of the app market and you will be able to leverage it alongside all the existing platforms LiveCode already supports.
What can I do with it?
Deliver to the Web! Now you have another delivery option for your LiveCode projects. In addition to the option to creating native executable apps for each platform, you can create apps to deploy in a browser. By delivering your app in a browser, your end user does not have to install any software to use your app. Your app will be platform agnostic.
Browser delivery suits a wide range of application types. Whether you’re building interactive educational content, dashboards, simulations, sales tools, database front ends, or any of many other types of application, LiveCode for HTML5 will deliver. And if you want to deliver both a native app and a browser based app option, you’ll be able to do that from a single code base. If you want to support platforms where LiveCode doesn’t currently run, this gives you the way to do so. As long as the platform can run an HTML5 capable browser, you can deliver your app to it.
- For LiveCoders it means your apps delivered over the web!
- For developers it means an iterative, rapid dev environment for apps on the web.
- For hobbyists it means the opportunity to try out building apps for the web without having to learn JavaScript or Flash.
- For schools it means you can teach with LiveCode and ALL kids can show their apps to their parents by opening up a link to their project in a browser.
Will I be able to author apps within the browser?
The basic target for this project is just to create an additional deployment option. However take a look at the campaign stretch goals (below) for more information.
How does it work?
The short answer is that we will compile the LiveCode engine to JavaScript.
The longer answer is that in order to make LiveCode work within a browser there is a lot of work to be done. There are four phases.
- Refactor the way the engine executes to use a continuation parsing style. This is necessary as the threading environment available within JavaScript is more limited.
- Compile the engine to JavaScript using emscripten.
- Port the graphics output to work with the web. We’ll look at supporting the canvas object and/or WebGL. The canvas object is fairly limited in its capabilities so will be suitable for simpler apps. WebGL will give better performance and has wide and increasing browser coverage in modern browsers. However it isn’t yet available in all of them. Exactly what this support will end up looking like will depend on what we need to do to deliver good performance.
- Create the deployment tools to create a modular deployment that minimizes the overhead that the engine adds to each web app.
What are the limitations?
The LiveCode engine will be compiled to JavaScript together with your stack. There will be a minimum overhead involved in doing this and some load time when opening the web page. You’ll be able to display a progress bar and we’ll do everything we can to minimize this. However it does mean that this solution is more suited to applications that contain rich functionality where the user is willing to wait a few seconds to load them. It therefore probably isn’t suitable for doing really simple content on a page such as a rotating banner.
WebGL is not installed in every modern browser. The canvas object has limited performance and capabilities so may only be suitable for simpler apps. We have a number of ideas on how to deliver good performance which we will explore.
It may take some time for us to optimize the entire web deployment experience. We expect that over the first few versions of this technology we’ll be able to improve the performance of the solution. Web technologies are a fast moving target, however they are moving squarely and decisively in the direction of improving of improving performance of JavaScript. We are confident that this type of web deployment is something that will get easier and faster as the technology progresses.
Finally, apps deployed within a browser will exist within the browser’s sandbox. They will only have access to any OS or native device capabilities that are available within that sandbox. This is a good thing for many types of apps. However if your app needs unfettered access to the device or OS you will probably want to continue to deploy it as a native app.
Why now?
We have now done the majority of the refactoring work specified against last year’s Kickstarter project. This is therefore the first point at which work for HTML5 output could be started in parallel with the other activities going on within the source base at present.
We were shocked at the strength of feeling in the community about HTML5. From the survey we realised this is something you do not want to wait for. So many projects would be enabled by HTML5, we feel its become essential to add this to our range as soon as we can.
We estimate that from the starting point to the first point of delivery of a prototype will take around a year. This was the final “stretch goal” on last year’s Kickstarter project that we didn’t get to including in that campaign. We’d like to start now so we can deliver as soon as possible! We’ve learned from our previous project, that it can take a long time to hire the right talent, train up new programmers and get productive on a brand new project.
We also have a window right now to obtain match funding for any funds we raise to create HTML5. Those funds can be used both for this and for existing projects. With your help we’ll get all of that funding!
When will the final version be delivered?
We aim to have a working prototype in the first half of 2015 and a final version later that year. A great deal of experimentation will be required to make web delivery fast enough so it is not possible to give a more accurate timescale yet.
What is the impact on existing projects and goals?
There is none. We will be creating a separate team to both create and maintain HTML5. In the short term the net impact on existing projects will be positive as we will train the new team members on some of our remaining stretch goals, many of which provide an easy entry point into working on the engine now that the core refactor is done.
What are the licensing arrangements for HTML5?
The HTML5 version will be dual licensed just as the rest of the platform is. That means that any web apps you create with the open source edition of the platform will themselves need to be open source under the GPL. You can buy a license to create a closed source web app.
The commercial license for HTML5 will be priced the same as the current license pricing to build apps.
It will be an entirely separate license.
This output platform provides significant additional value for our customers and will require its own engineering team and ongoing maintenance thus the separate license.
How does this differ from the web plugin you offered some years ago?
No plugin is required in order to deploy LiveCode apps using HTML5. We discontinued support for the plugin-based solution as modern browsers were reducing their support for plugins. Installing a plugin was an obstacle to app adoption by end users. The opposite is true for HTML5. A considerable amount of investment is being made at present in JavaScript and other related technologies, and more and more end users want to run an app in their browser without installing anything.
What is the total cost of the project?
We have set the minimum target for this campaign at $395,000 (approximately £230,000). With the match funding we have this is sufficient to cover the creation of a basic version for HTML5. If we raise additional funds during this campaign those funds can be used towards our stretch goals. If we raise less than the minimum we reserve the right to cancel this campaign and refund all pledges. In that case, this project may not be undertaken until 2016-17 (if at all).
Have you made enough progress on existing goals to take on a new project?
We’ve completed the majority of the goals from last year’s Kickstarter campaign. These include the core, massive goal of the campaign which was to refactor our source code. We’ve replaced the graphics library and delivered Resolution Independence. We’re in the final states of testing Cocoa and transparent Unicode. We’re over half way through the graphics library optimizations. Themes is well under way and we’ll be showing the first fruits from that project at the conference. There are just a handful of goals left beyond this. From a community perspective 75% of you said that you were satisfied with our progress since last year’s campaign, 22% were neutral and just 3% expressed disappointment. From a tech perspective, this is the first point we can start HTML5 independently, in parallel now the main source refactor is done.
Of the remaining road map, which projects will be delivered first?
All of the existing stretch goals will be completed and delivered before HTML5. However rather than then having to wait a full year before the first version of HTML5 after we complete those, we will be ready to follow the final stretch goal with the first version of HTML5 very rapidly. HTML5 was the last stretch goal on last year’s campaign which we didn’t get to. Beyond simply having match funding for HTML5, we have match funding that will be used to help speed up our delivery of the final portions of our Next generation Roadmap. So the more you pledge, the faster you will get everything not just HTML5, but the remaining stretch goals from Next Generation.
Campaign Stretch Goals
Our basic target gets LiveCode applications running in a browser. Succeeding beyond our $395,000 target allows us to consider other areas that will make the experience shine. Many of these projects will result in improvements to other platforms too. These are projects that we would like to get to. If we can fund them during this campaign it will allow us to deliver the perfect LiveCode experience much faster.
- Accelerated Web graphics – We’ll implement accelerated web graphics, building on the experimental approaches that form the groundwork for this project. When creating a serious app, we recognise that it must deliver serious performance. This project is a split between improving the graphics on all platforms and making specific web optimizations. When completed you’ll be able to run rich animations in the browser on relatively low end devices.
- Modularization – This is about making the “standalone” we build to deploy to the browser as small and lightweight as possible. Web is the most important target for this work however again, the work we do here can be used on the other platforms to create smaller standalones. Rather than attaching several MB of engine data to each web app, we’ll make the standalone builder magically only include the code for the features your app actually needs. That way a simple web app may start from just a few hundred KB. Not only will that download faster but it will also load faster.
- JavaScript Bridge – We’ll create a fully featured bridge between LC and JavaScript, to allow seamless bi-directional communication between LiveCode in the browser and any other JavaScript features you’re using on your site. This will greatly help integrate the LiveCode experience with your existing content, allowing your LiveCode app to affect the rest of your content and vice-versa.
- Web based IDE – We’ll create a complete set of tools from the ground up for building both apps and websites in a browser. You’ll be able to author and deploy right from the browser in seconds. This will also let you author on your iPad or Android tablet. And you’ll be able to easily load and tweak your LC projects from a browser, anywhere, anytime.
We’ll roll out all the features of this project step-by-step as it gets delivered. By backing a stretch goal now you’ll enable us to plan and resource delivering that feature with a target of 2015, as opposed to 2016-17 (or possibly not at all). If you are excited about any of these stretch goals and would like to see our extended team tackle them and deliver these game changing goals faster, we invite you to get behind this campaign and pick up a fabulous reward whilst doing so.
Who We Are
Our motto is Everyone Can Code. We are a small passionate team with a shared goal of delivering a platform that makes coding faster, easier and more accessible to everyone without compromise.
At this moment we are reinvesting everything we make back into LiveCode to ensure we achieve our goals and deliver a platform for everyone. Regardless of your skill level, your budget, your target platform, the size or technical requirements of your project, the LiveCode we are building will deliver.
LiveCode is based in Edinburgh, Scotland, a privately held company with customer and external investor shareholders.
We’re Hiring
Are you a talented C/C++ developer that is interested in joining our team in Edinburgh to work on the LiveCode platform? We’d love to hear from you. Apply now.
Other ways to support LiveCode
We have created pledges that offer fantastic value, however if you are interested in finding out other ways you can support LiveCode then we would love to hear from you. Get in touch here.
More Info
Project now funded
for Mac, Windows, Linux, iOS, Android, Server + 1Y HTML5 when released. Instant Reward.
More Info
Project now funded
Embed the project on your website
Widget
Youtube Video
Pledge without reward.
Please enter the amount you want to pledge in the box, without any currency symbols. You can set the currency on the basket screen.
Thank you for your support, you are helping to make HTML5 a reality!