Training for your Apple Devices​

Need training or help with your Mac, iPad, iPhone, Apple Watch, or Apple TV? I can help. I have over 1,200 lessons and tips available. I also offer help through my webinars and my help request form. Available for one-low price.


No strings attached. No payment information. Unlocks everything.

Easy-to-Follow Video Tutorials

All tutorials are organized and include easy-to-follow video lessons. New lessons are added on a. regular basis.

Available Help

Need help with your Mac, iPad, iPhone, or Apple Watch? Members have access to a special form where they can ask me directly.


Have a question? Would you rather ask me the question directly? Ask me in one of my webinars that I host on a regular basis.

Reminders Sent before Renewal

Reminders are sent about 2 weeks prior to renewals. No more surprise renewals, at least not from me.

Affordable Training for your Apple Devices

Plans are about the cost of a buying me a good cup of coffee each month.

Course Tracking

The site keeps track of tutorial progress including what lessons and tips you have taken.

Take Notes

Take notes while watching a lessons. Find all your notes later under your Dashboard.

Everything Is Included

All plans unlock everything, and they also include a 14-day free trial.

No-Hassle Cancellation Policy

When you are ready to cancel, I make it easy and painless with a simple link from your Account page.

Latest News and Updates

Below are my latest news and updates to the site.

Learn how to easily take a screenshot of your display and save it to your Desktop

In this lesson for the Mac, I show you how you can easily take a screenshot of your entire display and save it to your Desktop, all with a single key command. Just tap the commnad-shift-3 keys at the same time. When you do this, your Mac will take a screenshot of your display, and save it to your Desktop. See how this works in this lesson on the Mac.

Learn how to erase a Mac hard drive by formatting it with Disk Utility

In this lesson for the Mac, I show you how you can erase an external hard drive by formatting with with Disk Utility. Using Disk Utility is an easy and fast way to erase any external drive, including USB flash drives. In this lesson, I go through the steps of formatting and erasing a hard drive, including choosing who format to use when you erase it. See how this works in this lesson for erasing hard drives on the Mac.

Learn how to change the style of your notification banners on the iPhone

In this lesson for the iPhone, I show you how can change the style of the notification banners on the iPhone. The iPhone basically has two different styles, a temporary banner and a persistent banner. Temporary banners disappear after a few seconds, while permanent banners show until they are tapped on or interacted with. You can change the style of a banner for each notification. See how this works in this lesson showing you how to change notification banner styles on the iPhone.

New Lesson Collections Available

I’ve added new Lesson Collections to the site. These collections group my lessons from various tutorials into a single collection. With over 1,300 lesson available, one of the main issues for me is to keep these lessons organized in a way that my users can easily find what they need. It’s a constant challenge, especially as I add new content.

Learn more about my tutorials

Learn more about my site and what I have to offer to help you learn more about your Apple devices.

Play Video

Sign Up Today

Unlocks all tutorials, lessons, and tips. All plans include a 14-day free trial.

Monthly Membership

All Access - Includes Everything
$ 6
No payment taken today!
  • Includes 14-day free trial
  • All Access Plan - includes Everything
  • Reminder sent 2 weeks before Renewal
  • No-Hassle Cancellation Policy
  • No Ads
  • Responsive site - view in any browser
  • Distraction-Free Training

Annual Membership

All Access - Includes Everything
$ 48
No payment taken today!
  • Includes 14-day free trial
  • All Access Plan - includes Everything
  • Reminder sent 2 weeks before Renewal
  • No-Hassle Cancellation Policy
  • No Ads
  • Responsive site - view in any browser
  • Distraction-Free Training

Lifetime Membership

All Access - Includes Everything
$ 150 No payment taken today!
  • Includes 14-day free trial
  • All Access Plan - includes Everything
  • Lifetime Access - Does not expire
  • Single Billing
  • No Ads
  • Responsive site - view in any browser
  • Distraction-Free Training
1 Payment

What My Students Have to Say

Join My Growing Number of Happy Students Today!

Join today and join my growing list of happy students who are learning more about their Mac's, iPad's, iPhone's, Apple Watch's, and Apple TV's.

Free Membership

I am offering a free account for 30 days - totally free! No payment information is needed or asked for. You'll have instant access for 30 days, no strings attached.
Scroll to Top
[mepr-membership-registration-form id="25875"]
<div class="mp_wrapper"> <form class="mepr-signup-form mepr-form" method="post" action="/#mepr_jump" novalidate> <input type="hidden" name="mepr_process_signup_form" value="1" /> <input type="hidden" name="mepr_product_id" value="25875" /> <input type="hidden" name="mepr_transaction_id" value="" /> <div class="mp-form-row mepr_bold mepr_price"> <div class="mepr_price_cell_label">Price:</div> <div class="mepr_price_cell"> Free for 30 days. Enter your name, email address, and create a password to sign up. </div> </div> <div class="mp-form-row mepr_first_name"> <div class="mp-form-label"> <label for="user_first_name3">First Name:*</label> <span class="cc-error">First Name Required</span> </div> <input type="text" name="user_first_name" id="user_first_name3" class="mepr-form-input" value="" required /> </div> <div class="mp-form-row mepr_last_name"> <div class="mp-form-label"> <label for="user_last_name3">Last Name:*</label> <span class="cc-error">Last Name Required</span> </div> <input type="text" name="user_last_name" id="user_last_name3" class="mepr-form-input" value="" required /> </div> <input type="hidden" class="mepr-geo-country" name="mepr-geo-country" value="" /> <div class="mp-form-row mepr_email"> <div class="mp-form-label"> <label for="user_email3">Email:*</label> <span class="cc-error">Invalid Email</span> </div> <input type="email" name="user_email" id="user_email3" class="mepr-form-input" value="" required /> </div> <div class="mp-form-row mepr_password"> <div class="mp-form-label"> <label for="mepr_user_password3">Password:*</label> <span class="cc-error">Invalid Password</span> </div> <input type="password" name="mepr_user_password" id="mepr_user_password3" class="mepr-form-input mepr-password" value="" required /> </div> <div class="mp-form-row mepr_password_confirm"> <div class="mp-form-label"> <label for="mepr_user_password_confirm3">Password Confirmation:*</label> <span class="cc-error">Password Confirmation Doesn't Match</span> </div> <input type="password" name="mepr_user_password_confirm" id="mepr_user_password_confirm3" class="mepr-form-input mepr-password-confirm" value="" required /> </div> <div class="mp-form-row mepr_math_captcha"> <div class="mp-form-label"> <label for="meprmath_quiz"><span id="meprmath_captcha-5f2da08250e04"></span>*</label> </div> <input type="text" name="meprmath_quiz" id="meprmath_quiz" value="" class="mepr-form-input" /> <input type="hidden" name="meprmath_data" value="MDc4YTc5Nzg5OWQ2YmQ3MTdkMTU5NDdkYzIzNTVlMmI=" /> <script> function mepr_base64_decode(encodedData) { var decodeUTF8string = function(str) { // Going backwards: from bytestream, to percent-encoding, to original string. return decodeURIComponent(str.split('').map(function(c) { return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2) }).join('')) } if (typeof window !== 'undefined') { if (typeof window.atob !== 'undefined') { return decodeUTF8string(window.atob(encodedData)) } } else { return new Buffer(encodedData, 'base64').toString('utf-8') } var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=' var o1 var o2 var o3 var h1 var h2 var h3 var h4 var bits var i = 0 var ac = 0 var dec = '' var tmpArr = [] if (!encodedData) { return encodedData } encodedData += '' do { // unpack four hexets into three octets using index points in b64 h1 = b64.indexOf(encodedData.charAt(i++)) h2 = b64.indexOf(encodedData.charAt(i++)) h3 = b64.indexOf(encodedData.charAt(i++)) h4 = b64.indexOf(encodedData.charAt(i++)) bits = h1 << 18 | h2 << 12 | h3 << 6 | h4 o1 = bits >> 16 & 0xff o2 = bits >> 8 & 0xff o3 = bits & 0xff if (h3 === 64) { tmpArr[ac++] = String.fromCharCode(o1) } else if (h4 === 64) { tmpArr[ac++] = String.fromCharCode(o1, o2) } else { tmpArr[ac++] = String.fromCharCode(o1, o2, o3) } } while (i < encodedData.length) dec = tmpArr.join('') return decodeUTF8string(dec.replace(/\0+$/, '')) } jQuery(document).ready(function() { document.getElementById("meprmath_captcha-5f2da08250e04").innerHTML=mepr_base64_decode("NiArIDIgZXF1YWxzPw=="); }); </script> </div> <input type="hidden" id="mepr_coupon_code-25875" name="mepr_coupon_code" value="" /> <div class="mepr-transaction-invoice-wrapper" style="padding-top:10px"> <span class="mepr-invoice-loader mepr-hidden"> <img src="https://www.danstutorials.com/wp-includes/js/thickbox/loadingAnimation.gif" title="Loading icon" width="100" height="10" /> </span> <div> <!-- Transaction Invoice shows up here --> </div> </div> <div class="mp-form-row"> <div class="mepr-mailpoet-signup-field"> <div id="mepr-mailpoet-checkbox"> <input type="checkbox" name="meprmailpoet_opt_in" id="meprmailpoet_opt_in" class="mepr-form-checkbox" checked='checked' /> <span class="mepr-mailpoet-message">Sign up for my newsletter</span> </div> <div id="mepr-mailpoet-privacy"> <small> We Respect Your Privacy </small> </div> </div> </div> <div class="mp-form-row mepr_invisible_recaptcha"> </div> <div class="mepr_spacer">&nbsp;</div> <div class="mp-form-submit"> <label for="mepr_no_val" class="mepr-visuallyhidden">No val</label> <input type="text" id="mepr_no_val" name="mepr_no_val" class="mepr-form-input mepr-visuallyhidden mepr_no_val mepr-hidden" autocomplete="off" /> <input type="submit" class="mepr-submit" value="Sign Up" /> <img src="https://www.danstutorials.com/wp-admin/images/loading.gif" style="display: none;" class="mepr-loading-gif" title="Loading icon" /> <span class="mepr-form-has-errors">Please fix the errors above</span> </div> </form> </div>