I like it, I think it has a lot of potential here are some of my suggestions:
1) Use acceleration and give the player two speeds of travel. One of the things that frustrated me is that since there's a single velocity, in order to proceed through some parts of the level you essentially had to move pixel-perfect to how the designer wanted you too, but as we know all successful platformers never do that give the player plenty of opportunity to maneuver (Super Meat Boy or the Mario Games.)
2) Make the slide get released the moment when the player releases the key. The way the slide works right now is a big no-no in my opinion. The most important thing in a platformer is control, so when a player is forced to slide for a certain duration, expect frustration. Ideally the slide maximum duration should be based on the player's velocity.
3) Introduce gameplay elements more gradually. This is just a personal preference, but I like it when new gameplay elements are introduced gradually, one at time so I can quickly pick up what they're supposed to do. It's even better when they're introduced in a risk free situation. An example would be that when the first the player encounters to blue jump boosters, should be when he's running on a flat surface, with an elevated surface in front of him. The maximum distance of when a jump can be initiated to reach it should be where the jump booster is located, so the player is automatically jumped there. This does two things: 1) Instantly teach the player what it does without other stressful influences. 2) Instills the idea that the player would have to use them to progress through the level.
Best of luck!