It might feel like a year already, but Niantic's free-to-play phenomenon Pokémon Go only began its gradual worldwide release roughly three weeks ago. The location-based augmented reality (AR) mobile game may have taken over the world, but it's far from perfect.

As discussed in our review, a large part of Go's success stems from the nostalgia-fuelled social aspect it inspires, rather than the qualities of the app itself.

Some believe it's an abject mess, while we and others are of the opinion that it has problems but serves as a functional basis for the social experience of playing it. Nobody is saying it's perfect.

So, here are ten ways to improve Pokémon Go, from the painfully obvious to what we know is coming, as well as some fun additions of our own.

Improve server stability

Let's get the painfully obvious out of the way first. Server stability has been a big problem since the game launched, owing to its enormous success. Given the surprising demand for Go, it's understandable that Niantic has encountered problems, but it still needs fixing. This would also solve knock-on effects server instability has had, such inaccurate feedback in the field showing nearby Pokémon.

Improve battery consumption

Data usage isn't as big a problem for Go as it seems while playing (I assumed after two weeks of regular play my 3GB mobile data allowance would have been obliterated, but it was never close). Battery consumption is, however, and needs to be addressed. A fully-charged Samsung Galaxy S5 will be drained after approximately three hours of persistent play, and the game takes only 15-20 minutes to make your phone hotter than a Magmar family reunion.

Trading between friends and others

One notable part of the classic Pokémon experience that's been missed in Pokémon Go is trading – but it is coming. Niantic confirmed that the feature is being worked on at San Diego Comic Con, but also said that server stability remains their priority. With the game's ability to display when nearby fights are happening, clearly it knows when other players are active in the area.

If there's no means to allow players to interact with strangers in nearby areas, perhaps it could make use of the contacts on a user's phone.

Pokemon Go
I really want a Growlithe. How come I've never found a Growlithe? The Pokémon Company

Live battles against friends and others

Battling others is also a massive part of the classic experience that is currently missing. Battling exists in Go through the Pokémon Gym element, but it's not a classic six on six match against a live opponent. The way battles work currently it'd be a crapshoot, and probably not a particularly fun one, but that could be worked on for a more conventional mulitplayer element.

Background functionality and notifications

At the moment Pokémon Go does nothing if the app isn't open and on-screen. If you want to hatch an egg or find Pokémon, you'll have to walk with the app running. There's no background functionality at all, which is unusual for a free-to-play mobile game.

The only reason why is apparently cynical. At the end of the month Nintendo launches Pokémon Go Plus – a wrist-mounted peripheral that connects to your phone via Bluetooth (that'll be another strain on batteries) and will vibrate when a Pokémon or Pokéstop is nearby but your phone is closed.

Once enough of the Plus accessories have been sold, hopefully we can see more background functionality introduced into the base app. At the very least, let's hope players will eventually be able to hatch eggs with their phone locked.

Allow easier healing in the menus

Using healing items is a slog at the moment. Each item is used one at a time, and if the app has been on a while it can be a laborious source of slow-down. The ability to select multiple Pokémon to use a potion or revive on at once, or an icon allowing the use of an item on every listed Pokémon, would make this necessary aspect of Go a lot more palatable.

Allow users to transfer multiple Pokémon at once

Transferring a ton of Pokémon is a painfully slow experience at the moment. If users could tap and hold one on the Pokémon screen to then select as many as they want and transfer them en masse – suddenly a sluggish part of the game becomes a lot easier.

Populate rural areas

Pokémon is great fun if you live in a city, but not everyone does. That might be a foreign concept to the Silicon Valley-based team at Niantic, but it's true. In rural areas there's really not much going on in the way of PokéStops and gyms, and nor are there a huge amount of good Pokémon. Even more-suburban areas that you'd expect to be quite busy often aren't if they're far enough removed from major cities.

It takes the shine off Go's fantastic ability to get people outside if it's only pushing them towards city centres and away from actual fresh air. Hopefully this is a side-effect of the location data gathered from Niantic's first game Ingress, and is addressed in the future.

Increase the player interaction radius

There's a pulsating ring that emits from player avatars as they move through the in-game map, dictating what can be found and interacted with: PokéStops and gyms, but also Pokémon that appear. It should be extended. Often I've found things just out of reach, requiring me to stand in specific – sometimes awkward places. I'd rather just sit on a nearby bench than loiter near a traffic light.

PokéSelfies

The camera-based AR functionality of Go is simple and effective, but it could be so much more. We've all seen people taking snaps of Pokémon they've found and are attempting to capture, but what if they could do this with Pokémon they've already caught. What if there was a front-facing camera option so you could put a Paras on your shoulder?

Would it litter social media with insufferable nonsense? Of course, but that's what social media is for.

For all the latest video game news follow us on Twitter @IBTGamesUK