A number of LiveCode developers need sockets on iOS and android. The subject of developing an external for this feature came up recently on the LiveCode Developer Program list. It was proposed by a number of developers that the external would be a good candidate for crowd funding. As part of the discussions RunRev was asked for comment and we were given permission to publish the reply:
“I would go ahead and develop this if you receive the funding. We are not working on mobile sockets as a feature at the moment and it may be some time before we can commit resources to it.” Ben Beaumont (LiveCode Product Manager)
The current situation for sockets is a TCP client is able to be implemented on iOS using the rresocket external that is available in the iOS Externals SDK. This external is implemented using NSStream and won’t port to android when the android external sdk is published.
The proposal is to implement a sockets external in portable C++ code based on the boost.asio library in the hope that once the android external sdk is released it would port with minimal changes. The expectation is that $1000 to $1500 of funding will be sufficient to implement the bulk of the external, however, to ensure we are implementing the highest priority features first the external would be implemented in the following order:
- UDP client
- TCP server
- UDP server
- TCP client (last because of the availability of rresocket)
mergExt is about implementing features the LiveCode community needs when you need them. Some comments from members of the LiveCode Developer Program about why this external is worthwhile finding:
“Currently, mobile network actions are severely limited by the lack of a socket library. There is no way, for instance, to send mail without using the built-in mail app, even though having the user have a chance to read a system message and mess it up is not desirable.
We have an application where we would like to be able to communicate with a network-enabled appliance. it does not have bluetooth, and it does not use a standard http protocol, so without a network stack/sockets, I am dead-in-the-water.” Mike Kerner (R. M. Kerner Co.)
“I will definitely take part on the funding. I think socket support is an essential feature for LiveCode Mobile.” Matthias Rebbe
“I’m In.” Ralph DiMola (Evergreen Information Services)
“Mine included there are at least three votes. Anyone else?” Ralf Bitter (author of revIgniter)
“Please add my vote to this.” Pierre Sahores
“I am sure there are a number of people that would like to help fund a sockets external. I for one would be more than happy to dive in should you decide to look for funders for this external. I have a feeling this external will reach the funding value very quickly.” Mark Talluto (Canela Software)
There are 3 choices for funding. All options come with the access to the pre-release versions and the final version for iOS. Each level of funding gives you access to special discount rates on the mergExt store for the next 3 months. All funders (unless they don’t want to) will be thanked for their generous contribution in the documentation under their funding level.
Bronze: $80 funding and 10% off
Silver: $160 funding and 20% off
Gold: $240 funding and 30% off
Please note that as the android externals sdk is currently an unknown variable there can be no guarantee that more funding will not be required when it’s released. It is, however, the intention that the external be implemented so that it should cross compile for android. It is also not possible at this stage to estimate a date for an android version to be provided.
After 90 days if the project has not met it’s target the funders will be offered credit at the mergExt store to the value of their funding.