The original design was to allow different return types / different function signatures, but that becomes tricky when you want to provide helpful warnings in the IDE in the event things don’t match up. I’d love to add that before too long, but it isn’t on our short term roadmap yet as far as I know.
@wesner0019, Spark.publish() was conceived to publish short event messages and not to replace TCP-type larger packet communications. How you send your data depends where the data is going and how it’s being received. You could use TCPClient or HTTPClient for example.
My hope is that we’ll increase the publish limits, but I don’t know about the function argument limits, I think it’d be nice to bump those too. @peekay123 is totally right about the idea behind the limits, we wanted to encourage direct socket stuff for much larger transfers, the cloud stuff is awesome for coordination, management, integrations, etc, but bulk data transfer will get the best speed / throughput when talking directly to your apps.