A computer system for improving network communications involving at least one mobile device, the computer system comprising: a. at least one mobile device; and b. a computer implemented network router linked to the mobile device, or associated mobile devices, and configured to connect to, or initiate the connection to, a plurality of networks using associated network connections, wherein the network router accesses iteratively real time or near real time performance data for the plurality of networks, and based on this performance data, determines a network communication performance profile, and based on this performance profile splits the information into multiple data streams and controls the transfer of such multiple data streams via their associated network connections and networks, thereby improving communication of the information with the mobile device; wherein the performance data is accessed iteratively, thereby optionally updating the performance profile successively, and permitting the network router to vary the selective transmission across the network connections based on updates to the performance profile; characterised in that the router is configured to: enable sharing of network resources across a plurality of mobile devices by tracking bandwidth availability of laborer devices through one or more mobile applications residing on the laborer devices; and responsive to a request for additional bandwidth for communication of the information by a boss device, to match the boss device with a subset of the laborer devices based on the tracked bandwidth availability of the laborer devices, and to aggregate the bandwidth availability corresponding to the subset of laborer devices to transmit at least a portion of the multiple data streams across bandwidth made available by the subset of laborer devices. a. at least one mobile device; and b. a computer implemented network router linked to the mobile device, or associated mobile devices, and configured to connect to, or initiate the connection to, a plurality of networks using associated network connections, wherein the network router accesses iteratively real time or near real time performance data for the plurality of networks, and based on this performance data, determines a network communication performance profile, and based on this performance profile splits the information into multiple data streams and controls the transfer of such multiple data streams via their associated network connections and networks, thereby improving communication of the information with the mobile device; enable sharing of network resources across a plurality of mobile devices by tracking bandwidth availability of laborer devices through one or more mobile applications residing on the laborer devices; and responsive to a request for additional bandwidth for communication of the information by a boss device, to match the boss device with a subset of the laborer devices based on the tracked bandwidth availability of the laborer devices, and to aggregate the bandwidth availability corresponding to the subset of laborer devices to transmit at least a portion of the multiple data streams across bandwidth made available by the subset of laborer devices.