A computer-implemented method for scheduling task performance based on prediction of future capabilities, the method comprising: identifying, by an electronic device (102, 200), one or more computing tasks to be performed; predicting, by the electronic device (102, 200), one or more future sets of computing resources provided by one or more additional computing devices (108, 110) that are physically distinct from the electronic device (102, 200) that will be respectively available to the electronic device via an ad hoc wireless network at one or more future time periods; and determining, by the electronic device (102, 200), a schedule for performance of the one or more computing tasks based at least in part on the prediction of the one or more future sets of computing resources that will be respectively available at the one or more future time periods, wherein predicting, by the electronic device (102, 200), the one or more future sets of computing resources that will be respectively available to the electronic device (102, 200) at the one or more future time periods comprises: receiving, by the electronic device (102, 200), location data associated with the electronic device and/or user of the electronic device (102, 200); predicting, by the electronic device (102, 200), one or more destinations based at least in part on the location data; and determining, by the electronic device (102, 200), one or more sets of computing resources associated with the one or more predicted destinations. identifying, by an electronic device (102, 200), one or more computing tasks to be performed; predicting, by the electronic device (102, 200), one or more future sets of computing resources provided by one or more additional computing devices (108, 110) that are physically distinct from the electronic device (102, 200) that will be respectively available to the electronic device via an ad hoc wireless network at one or more future time periods; and determining, by the electronic device (102, 200), a schedule for performance of the one or more computing tasks based at least in part on the prediction of the one or more future sets of computing resources that will be respectively available at the one or more future time periods, wherein predicting, by the electronic device (102, 200), the one or more future sets of computing resources that will be respectively available to the electronic device (102, 200) at the one or more future time periods comprises: receiving, by the electronic device (102, 200), location data associated with the electronic device and/or user of the electronic device (102, 200); predicting, by the electronic device (102, 200), one or more destinations based at least in part on the location data; and determining, by the electronic device (102, 200), one or more sets of computing resources associated with the one or more predicted destinations. receiving, by the electronic device (102, 200), location data associated with the electronic device and/or user of the electronic device (102, 200); predicting, by the electronic device (102, 200), one or more destinations based at least in part on the location data; and determining, by the electronic device (102, 200), one or more sets of computing resources associated with the one or more predicted destinations.