Introducing LiveCode’s New Feature Exchange Platform
I’m very pleased today to introduce to you our brand new Feature Exchange platform. The primary goal of this exchange is to bring you the features you want in LiveCode, when you want them. I’ll describe how the exchange works in a moment. First, a little context.
We’re now very much on the home stretch in relation to the previous crowdfunding campaigns. LiveCode 8, the first release that represents the outcome of what we’ve truly been aiming at with all this effort, is now about to go into the refinement phase. To that end we just announced a Global Jam to help you to move your applications to LiveCode 8 and work with us in our quest to make 8 truly great for YOU. We’ll take the time we need to refine the 8 release, and doing that properly is going to be critical to ensuring the experience is a delight. That point notwithstanding, from an effort perspective the road ahead is far smaller than the effort behind. We’re open source. The refactor is done (never again!). The first version of LiveCode Builder with widgets is shaping up very well. Cocoa is done. Resolution Independence is done. We have the first initial build of HTML5. The new multi-platform drag-drop browser widget will be going into an 8.0 DP build any day now. There are a handful of remaining stretch goals that we’ll mostly be taking care of over the 8.x series using our new LCB widget capabilities.
Like most software projects it has all taken longer than we hoped. However we know the 8 series is awesome and well worth the wait. Our goal now is to look for ways to maintain the momentum we’ve established. We have a larger team that is now experienced in developing our platform, and you have a long list of things you’re clamoring for us to add to the platform. The world is moving forward rapidly and we need to ensure we keep up and continue to provide a platform that meets your needs. We are also determined to find ways to put as much as we possibly can – the vast majority of everything we do – dual licensed into the Community Open Source edition of LiveCode.
How it Works
Feature Exchange is an opportunity to make all this happen. It is a simple idea. We’ll post smaller development projects up for funding. Everything that gets funded through our public Feature Exchange will go into all editions. We’ve done crowdfunding in the past, but this is different in a few ways.
First of all, this is not for long term projects that involve refactoring and lead times well into the future. Instead it is for projects that we can slot rapidly into our engineering schedule, starting within days or weeks of each campaign close (we’ll indicate lead times on each page). Secondly, each campaign will be short, just 7 days. That allows us to figure out what you want, plan quickly, schedule engineering and get a good flow of activity going. Next, each page will be for a single feature. We’ll post details of what is included in each one and you can choose if you want to fund it. Finally, we’ll be aiming to create sustainability by making each feature a little profitable in its own right. Past crowdfunding campaigns have been about our long term vision and while they raised a great deal, they have needed to be heavily supported and subsidized from other sources. Instead with Feature Exchange we’re aiming that for every hour we spend adding a feature, it will cover at a minimum another hour of time to be spent on the completion, refinement and maintenance of current releases (at present the 8 series and last few Kickstarter goals). Finally, we’re not going to be offering a long list of rewards. Instead you’ll get all the benefits of having the new feature, and we’ll add your name to the credits whenever you back something.
We’ll propose features for the Exchange based on our engineering priorities and on the feedback we get from the community. In addition, any Business License customer can propose a feature to be added to the exchange right away by asking us for a quote and then agreeing to pledge 25% of the value of that feature. This is a major benefit as it helps you to get the features you need in the platform on a timescale to suit you and at the minimum possible cost.
On occasion we will run a private Feature Exchange to just our Indy and/or Business customers for a feature that will only go into those editions. In those cases we will heavily subsidize the feature. And there will be cases where we build new features, or additional functionality on top of existing features, for Proprietary editions by funding the development exclusively ourselves internally. However our goal remains to develop the majority of features for all editions including Community, and Feature Exchange lets us do that far more often than we would be able to afford to otherwise. Remember, once it’s in the Open Source edition, it’s in it forever.
Feature Exchange is of course an experiment. In an Open Source environment, we’re looking at funding LiveCode in a slightly less traditional way, with a mix of licensing and this kind of funding project. Provided we get a good percentage of our campaigns funded then we can view it as a way to regularly, rapidly and sustainably add the features you all want while spreading the cost and thus keeping it affordable for everyone. If it goes well we’ll perhaps post a handful of features every few weeks or months (depending on project size, demand levels and engineer availability). If not we’ll have to go back and consider other avenues, or scale back our operation slightly and lose some momentum.
First Features
The first 4 items features are ready to fund now. We are funding the following:
Remote Debugger
A complete rework of the debugger to allow debugging a standalone application on any platform. For example, you’ll be able to deploy to your mobile device, then step through your scripts as you interact with it running. Want to set a breakpoint and debug those native iOS or Android device specific features that don’t run in the IDE? Remote debugging will make this easy.
While we’re in there we’ll take the opportunity to clean up all the issues we know about in the current debugger, making it completely separate from your app and thus able to debug the various edge cases that it currently doesn’t work so well with. For example, the current debugger can adjust field or window focus, changing the behavior of some scripts. With remote debugging that will be a thing of the past.
We chose this feature because it’s one of the most frequently requested features and we think it will be a real boost to developer productivity across our entire community. For more details on what is included and to back this project, see the project page here.
64-Bit Mac Support
As time moves forward the viability of 32-bit Mac applications is diminishing. Certain features are not available to 32-bit applications (such as MapKit), and third-party offerings are gradually removing support for that architecture (the CEF browser being the most notable). In order that LiveCode keep pace with Mac development, it is important that the engine be transitioned to 64-bit on Mac.
A 64-bit Mac version of LiveCode would have the following benefits:
Performance: we observed a 10-15% performance increase in the Linux engine after transitioning to 64-bit – particularly in graphics rendering.
Longevity: by removing antiquated APIs we can ensure that the LiveCode engine will continue to function well as the Mac platform evolves.
Assurance: the Mac App Store periodically changes its submission requirements, by ensuring we are 64-bit compliant it ensures that we can keep pace with any changes in policy
Modernity: updating the multimedia APIs to use the newest ones available on Mac will ensure that this important aspect can continue to be supported well and completely.
Learn more and back this project here.
IPv6 Support
By adding support for IPv6 to the LiveCode engine, we future proof support for accessing the internet as well as ensuring LiveCode applications can be deployed in any location regardless of whether they have IPv4 based network infrastructure, or IPv6 based network infrastructure.
Learn more and back this project here.
PostgreSQL SSL
PostgreSQL is a client-server RDBMS which the LiveCode platform has long supported. However, whilst LiveCode’s MySQL driver allows the use of SSL to secure connections this feature has never been added to the PostgreSQL driver. Being able to secure database connections is important to prevent snooping and man-in-the-middle attacks on data streams travelling between client and server.
Learn more and back this project here.
Benefits to Everyone
We hope you’ll back our first Feature Exchange features and that this will develop into a viable model for adding many of the things you want to all editions of LiveCode, quickly and efficiently. It will also help us to extend our runway as we refine the final Kickstarter goals. We want Feature Exchange to be a big win for our community as a whole. With your support we can enable LiveCode to move forward faster, broadening even further the projects you can do with the platform, boosting your productivity and attracting even more people to the platform and into our ecosystem as a whole.
Thank You
Thank you for previewing the brand new Feature Exchange that will be going live on Monday 21st. As one of our top LiveCode customers we would very much like to hear what you think about the new Feature Exchange and the proposed first features to go into it.
Once you have had a moment to look over all of the features in the Feature Exchange we would love if you could send us your feedback in this very short survey.
Please remember that this is a preview and the Feature Exchange will not be going live until Monday 21st September so please do not share this page.
Kind Regards
Kevin Miller