Even with a fancy A5 processor or who-knows-how-many-core Snapdragon chip, smart phones sometimes can't quite keep up and apps take far longer to load than we'd really like. A team of engineers, however, is building software that predicts the future in order to speed things up.

For the record, we're not talking crystal ball gazing here. Rather, this is to do with developing software that can learn about user behavior in order to ready itself for what it thinks might happen. New Scientist explains:

Called predictive caching, it involves guessing which software routines are most likely to be needed for the next stage of a computerised process - so that the right app is primed to run when called on, without booting from scratch. The system uses the phone's location and motion sensors to learn when the user typically runs the app.

Imagine you're getting up one morning to go to work. Your phone knows that first thing in the morning you check your email and Facebook, so it has the software preloaded to open faster. Then, it knows that when you step out of your front door you'll flick through Google reader to see what's happening in the world—so when it notices your GPS coordinates shift, it pre-launches that app, too.

This isn't just a concept, either: its already been coded up by Tingxin Yan from the University of Massachusetts Amherst. In tests using Windows Phone, the technique manged to cut the average app's boot time from 20 seconds—which seems high, but let's roll with it—to just 6 seconds. Sadly it did also cut battery life by 2 percent, but then, you can't have your cake and eat it, can you?

There's currently no word on whether such a system might be used by a big name. But Yan is presenting the concept at the MobiSys conference this week in the UK, so that might soon change. [New Scientist]