But, a quick warning! If you learn to ollie while standing still, you can develop some bad habits. Some skaters end up turning in the air a little, and not landing straight. You might not even notice until you try to ollie while rolling. So, if you practice while standing still, I highly recommend also practicing while rolling. Maybe only practice in one spot for a few days - maybe a week or two - and then give the rolling ollie a shot. That way, if you are developing bad habits, you can shake them off before they really mess you up.
Land at the same time – Again, this is probably silly to repeat, but you’d be surprised to find out how many people execute a successful jump, and then throw their hands up in the air to celebrate their new-found triumph, and forget the most important part: landing. The best position for your feet to be in is as close to the trucks as possible. Don’t land too close to the nose or tail, or you could end up breaking off those the board itself. Also, remember to bend your knees to absorb the jump. Don’t want to land straight-legged: that’s how kneecaps are destroyed.
Any serious skateboarder will tell you that the ollie is the most fundamental skateboard trick. In fact, it's probably the first trick that you'll learn on your skateboard. They’re great for getting over obstacles, moving around on your board, or just looking cool. Know the right way to move your feet on the board and with a little bit of practice, you can learn to pull off the perfect ollie.

The official record for the highest flat-ground ollie is 45′ (114.3cm) by Aldrin Garcia during the “Maloof High Ollie Challenge,” held on the 15th of February, 2011. You can watch the movie here. However, a groundbreaking moment in the lore of the ollie will always belong to Danny Wainwright’s ex record of 44.5′ (113.03cm, ELEMENT-HIGHEST OLLIE CONTEST Feb.6th,2000.) Reese Forbes, a competitor of Danny’s in this contest, was also well-known as a master of the ollie.
From cheap skateboards to high end, custom complete skateboard decks, we have boards for riders of every skill level and tax bracket - we get it, we put skateboarding before everything else first. If you can’t always afford a new board, but go through decks like toilet paper, consider a CCS Skateboard - they cost less, but are manufactured in the same factories as other brands we carry. CCS Skateboards are held to the same standards as every skateboard we sell, but we can sell them for less.
I found that my problem was unclear instruction about the timing between jumping and popping. One day when I was watching a slowmo ollie video though, I noticed that the skateboarder already was beginning to jump (at least his body was already going in an upward motion) before snapping the board off the ground. That was a critical change I needed to make in order to get it working. I had been trying to pop the board while all my weight was still pushing down on it (kind of an obvious mistake, but I somehow overlooked this). Hope this helps somebody.
!function(e){function n(t){if(r[t])return r[t].exports;var i=r[t]={i:t,l:!1,exports:{}};return e[t].call(i.exports,i,i.exports,n),i.l=!0,i.exports}var t=window.webpackJsonp;window.webpackJsonp=function(n,r,o){for(var s,a,l=0,u=[];l1)for(var t=1;td)return!1;if(p>f)return!1;var e=window.require.hasModule("shared/browser")&&window.require("shared/browser");return!e||!e.opera}function a(){var e="";return window.Q.sendErrorsToWeblogger&&"quora.com"==window.Q.subdomainSuffix&&(e+=[window.location.protocol,"//log.quora.com"].join("")),e+="/ajax/log_errors_3RD_PARTY_POST"}function l(){var e=o(h);h=[],0!==e.length&&c(a(),{errors:JSON.stringify(e)})}var u=t("./third_party/tracekit.js"),c=t("./shared/basicrpc.js").rpc;u.remoteFetching=!1,u.collectWindowErrors=!0,u.report.subscribe(r);var f=10,d=window.Q&&window.Q.errorSamplingRate||1,h=[],p=0,m=i(l,1e3),w=window.console&&!(window.NODE_JS&&window.UNIT_TEST);n.report=function(e){try{w&&console.error(e.stack||e),u.report(e)}catch(e){}};var y=function(e,n,t){r({name:n,message:t,source:e,stack:u.computeStackTrace.ofCaller().stack||[]}),w&&console.error(t)};n.logJsError=y.bind(null,"js"),n.logMobileJsError=y.bind(null,"mobile_js")},"./shared/globals.js":function(e,n,t){var r=t("./shared/links.js");(window.Q=window.Q||{}).openUrl=function(e,n){var t=e.href;return r.linkClicked(t,n),window.open(t).opener=null,!1}},"./shared/links.js":function(e,n){var t=[];n.onLinkClick=function(e){t.push(e)},n.linkClicked=function(e,n){for(var r=0;r>>0;if("function"!=typeof e)throw new TypeError;for(arguments.length>1&&(t=n),r=0;r>>0,r=arguments.length>=2?arguments[1]:void 0,i=0;i>>0;if(0===i)return-1;var o=+n||0;if(Math.abs(o)===Infinity&&(o=0),o>=i)return-1;for(t=Math.max(o>=0?o:i-Math.abs(o),0);t>>0;if("function"!=typeof e)throw new TypeError(e+" is not a function");for(arguments.length>1&&(t=n),r=0;r>>0;if("function"!=typeof e)throw new TypeError(e+" is not a function");for(arguments.length>1&&(t=n),r=new Array(s),i=0;i>>0;if("function"!=typeof e)throw new TypeError;for(var r=[],i=arguments.length>=2?arguments[1]:void 0,o=0;o>>0,i=0;if(2==arguments.length)n=arguments[1];else{for(;i=r)throw new TypeError("Reduce of empty array with no initial value");n=t[i++]}for(;i>>0;if(0===i)return-1;for(n=i-1,arguments.length>1&&(n=Number(arguments[1]),n!=n?n=0:0!==n&&n!=1/0&&n!=-1/0&&(n=(n>0||-1)*Math.floor(Math.abs(n)))),t=n>=0?Math.min(n,i-1):i-Math.abs(n);t>=0;t--)if(t in r&&r[t]===e)return t;return-1};t(Array.prototype,"lastIndexOf",c)}if(!Array.prototype.includes){var f=function(e){"use strict";if(null==this)throw new TypeError("Array.prototype.includes called on null or undefined");var n=Object(this),t=parseInt(n.length,10)||0;if(0===t)return!1;var r,i=parseInt(arguments[1],10)||0;i>=0?r=i:(r=t+i)<0&&(r=0);for(var o;r