Rails (or ribs), are narrow strips of plastic or metal that are attached under the deck lengthwise along the edges. They are used for additional grip for grabs, and to enhance sliding while protecting the deck's graphics at the same time. Rails also provide a more consistent feel for slides, as the slide of a regular skateboard will suffer from the wear of the paint or varnish on the bottom of the board. Although rarely used anymore, they are useful for experienced skaters that are capable of grabs.
When you’re searching for one of the best skateboard decks on the market, it’s important to not go overboard. You don’t need one that is made from the rarest wood or has the most unique design. The best boards may be the ones that balance cost, design and quality. Afterall, with healthy use, you’ll eventually have to replace your deck anyway. You want the one that will give you the most functionality and happiness while you use it.
Decks come in a variety of shapes and sizes. You can choose a mini-board, a cruiser, a drop-through or a standard deck for your favorite set of wheels and hardware. Widths range too from a few inches with a 22-inch board to the wide size of a true cruiser. Some decks are flat as possible while others are significantly concave for optimized turning. You can buy a deck with artwork and grip tape already attached for a quick install or you can get a bare-bones wooden deck to truly customize.
Before we show you how to ollie, let’s get familiar with the legends that brought this skateboard trick to the masses.  If it were a person, the history of ollie would start way back in 1974, when Alan Gelfand got his first skateboard from his father after his family moved to Hollywood, Florida from New York state. It didn’t take him too long to get the hang of it; he won the South Florida Skateboard championships two years later.
Learning to skateboard takes dedication.   If you want to learn fast, it helps if you have an order and a strategy.   Many new skateboarders try to learn to Ollie or learn to kickfliip before they are ready.  They will try to Ollie before they can effectively push their skateboard or even do a kickturn.   This often leads to frustration and even giving up.   So, for you parents and Noobs out there, here is an outline of some of the very first things you should learn to do on a skateboard.
To summarize, a skateboarder's feet need to do two things successfully to complete an ollie. They need to provide a changing force to move the board correctly (so that the combined force of gravity and the skater's feet add up to the green arrows above), and they need to provide different amounts of force with each foot (shown by the red and blue arrows above) to steer and turn the board into the right orientation.

!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
×