Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Responsive Web Design by Example
Responsive Web Design by Example

Responsive Web Design by Example: Embrace responsive design with HTML5, CSS3, JavaScript, jQuery and Bootstrap 4

Arrow left icon
Profile Icon Frahaan Hussain
Arrow right icon
€18.99 per month
Full star icon Full star icon Half star icon Empty star icon Empty star icon 2.6 (5 Ratings)
Paperback Dec 2017 292 pages 1st Edition
eBook
€8.99 €26.99
Paperback
€32.99
Subscription
Free Trial
Renews at €18.99p/m
Arrow left icon
Profile Icon Frahaan Hussain
Arrow right icon
€18.99 per month
Full star icon Full star icon Half star icon Empty star icon Empty star icon 2.6 (5 Ratings)
Paperback Dec 2017 292 pages 1st Edition
eBook
€8.99 €26.99
Paperback
€32.99
Subscription
Free Trial
Renews at €18.99p/m
eBook
€8.99 €26.99
Paperback
€32.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
Table of content icon View table of contents Preview book icon Preview Book

Responsive Web Design by Example

What is Responsive Web Design?

This chapter will explain what Responsive Web Design is, how it benefits our websites, and the core concepts that it consists of.

The topics covered in this chapter are as follows:

  • Responsive design philosophy
  • Responsive design principles
  • Responsive grid and columns
  • Smooth user experience
  • Understanding responsive grid systems
  • Design methodologies
  • User-friendly websites
  • Elegant mobile experience
  • Adaptive design and development

Responsive design philosophy

There was a time when most web surfing occurred on a computer with a standard-sized/ratio monitor. It was more than adequate to create websites with a non responsive layout in mind. But over the last 10 years there has been an exponential boom of new devices in a plethora of form factors, from mobile phones, tablets, watches and a wide range of screen sizes. This growth has created a huge fragmentation problem, so creating websites with a single layout is no longer acceptable. A website with a lot of content that works great on desktops doesn't work very well on a mobile device that has a significantly smaller screen. Such content is unreadable, forcing the user to zoom in and out constantly. One might try making everything bigger so it looks good on mobiles, but then on a desktop, the content doesn't take advantage of the immense real estate offered by bigger screens.

Responsive Web Design is a method that allows the design to respond based on the user's input and environment, and thus based on the size of the screen, the device, and its orientation. This philosophy blends elements of flexible grids and layouts, images, and media queries in CSS.

Enter Responsive Web Design. This alleviates this problem by allowing developers and designers to create websites that adapt to all screen sizes/ratios. There are various approaches that different websites take, but the core concept is illustrated in the following figure:

The preceding figure shows how the same website's layout can be adapted to suit different devices. On the desktop there is a lot more real estate, so the content is bigger and more can fit on a single row. But, as the screen size shrinks and its orientation changes, the content readjusts itself to accommodate this change. This provides a seamless and elegant experience for the user on all form factors. If you look closely at the preceding figure and at modern websites, you will see a grid that the content conforms to. The grid is used to lay out the content of a website, and both of these elements go hand in hand. This grid system is one of the most important aspects of how Responsive Web Design works, and this will be covered in depth very soon.

Responsive design principles

This section will cover the main principles behind designing responsive websites. Though these aren't set in stone and will change over time, they will provide a great foundation.

Responsive versus adaptive

Responsive designs constantly change website layouts depending on their size and orientation. A single pixel resize will tend to have an effect on the layout, usually not by a lot.

Adaptive schemes, on the other hand, have preset layouts, which are loaded depending on the size of the screen. This technique doesn't look as fluid and seamless as do responsive designs.

Modern-day Responsive Web Design usually incorporates both methods. Set layouts will be provided, as can be seen in the previous figure. But any changes made to a website's size will have an impact in real time through responsive scaling.

Breakpoints

Breakpoints are points at which a website's layout is no longer fit for the screen size, device, and/or orientation, and we are able to use different and unique layouts to accommodate the various changes that can occur to screens. When these points occur, the current layout is switched for a more suitable layout. For example, a mobile device in portrait mode will not effectively be able to use a layout that is designed for a widescreen desktop display; this just isn't possible. However, by using breakpoints a single website can serve many screen variations whilst making the website feel like it was designed with the user's current screen, device, and/or orientation in mind. This does not occur when reloading the web page, but content moves around dynamically and is scaled accordingly. Without breakpoints the website would appear with the same layout on all form factors and browser sizes, which using the example we just mentioned, would not be fit for purpose.

These breakpoints usually occur when the width of the browser changes and falls into the category of another more appropriate layout.

There are a few fundamentals that should be mentioned regarding the responsive philosophy of Responsive Web Design:

  • Screen resolution: This is immensely influential in responsive design. The first thought for many designers is to design based on the resolution of the screen. But modern-day phones have resolutions of 1080p and beyond, which for the most part is still the de facto standard for desktops with some exceptions in 4K and ultrawide displays. This would prevent us from fully targeting all devices, as there is so much crossover in resolutions between devices. That is the reason why pixel density is very important when deciding which layout should be used as a 5-inch 1080p mobile display will be cramming the pixels in a lot closer than a 32-inch 1080p display. They both have the same resolution for the mobile device and they have a significantly higher pixel density, which helps distinguish between the device types. The viewport should also be taken into consideration, which is the user's visible area of a web page. This would allow us to rearrange content based on how much content should be displayed.
  • Media queries: These are amazing facets within CSS that allow us to actually detect changes in a screen such as its size and an event device type. These are the things used to specify code for a specific layout, such as a mobile or desktop display. You can think of media queries as conditional statements, just as an "if" statement would only run a piece of code if the condition was true. A media query is the same, its far more limited, but as are many things in CSS.

I'm positive you will have used a website and noticed that it looks different on a computer compared to a mobile phone, or even a tablet. This is thanks to the use of breakpoints, which are very similar to conditional statements in other languages such as C++. When a certain condition is met, such as screen size range, or, change in form factor, different CSS is applied to provide a better-suited layout.

Relative units

Let's cover what relative and static units are. Relative units take into account the other content and more specifically the content's size, whereas static units do not and have an absolute value regardless of the amount of content.

If relative units are not used then static units would be used, which essentially lays the content using fixed units such as pixels. With this method, a box with a width of 400px on an 800px screen would take half the width. But, if the screen size changes to 300px, the box will now be partially off screen. Again, this would not provide the reader with that seamless experience, which we aim to provide.

The units simply display your content relative to everything else, or, more specifically, the screen size or viewport. This allows us, as creators, to display content consistently. Take the previous example, if we would like to display the box at half the screen width, on an 800px screen the box would be 400px wide, and on a 600px screen the box would be 300px wide. Using percentages we can set the width to 50%, which forces the box to always be half the width of its parent container, making its size relative to the rest of the page's content.

Maximum and minimum values

Scaling our content is greatly dependent on the screen size. But with screens such as ultrawide monitors, scaling the content may make it too big, or even too small, on mobile devices. Using maximum and minimum values, we are able to set upper and lower limits providing us with readable and clear results.

Nested objects

If we displayed every object individually, we would have to make them all adjust accordingly, but nesting allows us to wrap elements using containers. Nested objects are like a paragraph tag, as they contain text, and any changes made to the paragraph tag, such as its position or color, also affect its contents. Objects nested within each other are affected by any change made to their parent containers. An object can be anything from text and images, to HTML tags/elements. Take a look at the following example:

In this example, there are four elements—a div, paragraph, span, and image tag. The paragraph, span, and image tags are nested within the div tag. If the div tag's maximum width and background color were changed, this would affect all its child objects/tags. But if we were to make a change to the paragraph tag, such as changing its text color, this would not affect any other sibling tags or its parent tag. It would only have an affect on its contents/objects.

So, for example, if a container is moved or scaled, the content within the container is also updated. This is where pixels come in use. You may not always want a container to be displayed 10% from the right as, on mobile devices, 10% equates to a lot of real estate potentially being wasted; you could specify 50px instead for example.

Mobile or desktop first

You can design a website from a small screen such as a phone and scale it up or go the other way round and design it with a large screen in mind. There is actually no right or wrong answer. Depending on the intended target audience and the website's purpose, this will become clear to you. Usually, considering both angles at the same time is the best route to go down. Most responsive frameworks on the market have been designed with a mobile-first philosophy, but that doesn't mean you cannot use it for a desktop-first design; it is on you as the designer to decide how content should be displayed.

Bitmaps versus vectors

Bitmaps are great for images with a lot of detail, such as backgrounds and usually logos. Common bitmap formats include .png and .jpg. But these images can be large in file size and require more bandwidth and time to load. On desktop devices this isn't too much of a problem, but on mobile devices that are heavily reliant on cellular services that don't always provide unlimited data, this can be problematic. Also, when scaling bitmaps, there is a loss in quality, which results in jagged and blurry images.

Vectors, on the other hand, are small in size and don't lose quality when scaling. I know you'll be tempted to scream, "Hail vectors!" at this book, but they do have their drawbacks. They are only useful for simple content such as icons. Also some older browsers do not fully support vectors.

Again there is no "right choice"; depending on the content to be displayed, bitmaps or vectors should be used.

Responsive grids and columns

The grid system is one of the universal concepts of Responsive Web Design, regardless of the framework a website is built upon. To put it simply, websites are split into rows and columns, and if an object/element occupies half the number of columns, it will always occupy that many regardless of the screen's size. So an element that occupies 3 of the 12 rows will occupy 25% of the width of its parent container, hence providing responsive design. This is great for small variations in screen sizes, but when a website is viewed on platforms varying from desktops to mobiles, then breakpoints are introduced as covered previously. Though there is no fixed number of columns that a responsive website should have, 12 is a common number used by some of the most popular and widespread frameworks. A framework in this context is anything built on top of the built-in web features. JavaScript is a web feature, but jQuery is a framework built on top of that to allow easier manipulation of the website using prewritten libraries/code. Though a framework isn't absolutely necessary, neither is using an off-the-shelf web browser. You could create your own, but it would be an immense waste of time, and the case for using a responsive framework is essentially the same. The following is an example of a basic responsive grid:

Rows allow us as developers to group content together, though there will be a fixed number of columns, not all columns have to be filled to go to the next row. A new row can be used explicitly, as can be seen in the following example:

This may be different to how you have developed websites in the past, but if there is anything you are unsure about don’t worry, as things will become clearer when we start working on projects in future chapters.

Summary

In this chapter, we covered what responsive design is and the philosophies that make it so great and essential to the future of the web. The next chapter will cover what Bootstrap is and how it relates to Responsive Web Design.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Rapidly develop and prototype responsive websites by leveraging the power of Bootstrap
  • Practice performance optimization techniques to make your site lighter and faster
  • Learn responsive web design and discover how to build mobile-ready websites with ease

Description

Desktop-only websites just aren't good enough anymore. As you enter a future of increasingly diverse browsing methods, you need to know how to build websites that are presentable and will work perfectly with the huge volume of different device sizes and resolutions that are now commercially available. Responsive web design is an answer to the problem of modern web development. By following the detailed step-by-step instructions, previews, and examples mentioned in this book, you will learn how to build engaging responsive websites and upgrade your skills as a web designer. With coverage of Responsive Grid System and Bootstrap, you will learn about the most powerful frameworks in responsive web design. In this book, you will learn how to create a crisp blog page, a beautiful portfolio site, a cool social networking page, and a fun photo gallery. Through each of these projects, you'll learn how to build various elements of a modern responsive website, and also find out which framework works best for your project specifications. By the end of the book, you will have gained practical skills you need to build real-world websites that are professional, creative and truly responsive.

Who is this book for?

If you are a web developers interested in incorporating responsive web designs in your websites, then this book is for you. Familiarity with HTML5, CSS3, and command lines, though not essential, will help you get the most out of this book.

What you will learn

  • Understand what responsive design is, and why it s vital for modern web development
  • Customize and extend responsive design frameworks
  • Create adaptable templates for all future projects
  • Build a semantic website structure with HTML5 elements
  • Determine a responsive website persona with CSS3
  • Learn how to decide which framework best suits your project specification
  • Implement a plethora of Bootstrap features in your websites

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Dec 13, 2017
Length: 292 pages
Edition : 1st
Language : English
ISBN-13 : 9781787287068
Languages :
Concepts :
Tools :

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Dec 13, 2017
Length: 292 pages
Edition : 1st
Language : English
ISBN-13 : 9781787287068
Languages :
Concepts :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 98.97
Mastering CSS
€32.99
Responsive Web Design by Example
€32.99
UX for the Web
€32.99
Total 98.97 Stars icon
Banner background image

Table of Contents

14 Chapters
What is Responsive Web Design? Chevron down icon Chevron up icon
What is Bootstrap, Why Do We Use It? Chevron down icon Chevron up icon
Reusable Project Template Chevron down icon Chevron up icon
Creating the Introduction Section Chevron down icon Chevron up icon
Creating a Generic Reusable Single Page Section Chevron down icon Chevron up icon
Creating a Contact Us Section Chevron down icon Chevron up icon
Creating the Blog Posts Home Page Chevron down icon Chevron up icon
Creating the Blog Posts Page Chevron down icon Chevron up icon
Adding a Sidebar to the Social Network Chevron down icon Chevron up icon
Creating the Home page in Our Social Network Chevron down icon Chevron up icon
Creating the User's Profile Page Chevron down icon Chevron up icon
Displaying Thumbnails of Our Photos Chevron down icon Chevron up icon
Opening Images Using a Light Box Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Half star icon Empty star icon Empty star icon 2.6
(5 Ratings)
5 star 40%
4 star 0%
3 star 0%
2 star 0%
1 star 60%
Supratim Paul Oct 10, 2018
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Okay
Amazon Verified review Amazon
Amazon Customer Mar 17, 2018
Full star icon Full star icon Full star icon Full star icon Full star icon 5
In the interests of full disclosure, I've been a professional software developer for over 15 years now and an Olympic-grade cynic and curmudgeon for about twice that. I was at university when the web first became a Thing and I've watched it develop over the years, for better or worse. I'll also state that a) I don't like Javascript and b) the fad-driven nature of web design and the mad rush to embrace the framework du jour is both annoying and somewhat pathetic.All that being said, despite being a primarily server-side developer I do occasionally need to make forays into front-end development and as such I just want to get the job done - I don't care about using this week's hot framework, I just want to get something up and running. Unlike other tech-driven bandwagons (DevOps, serverless, the cloud etc.) the whole 'responsive' web design paradigm does have a relatively stable footing and there is some method to the buzzword-driven madness.It's good, therefore, to find a book which cuts through all the BS and takes you through what responsive design entails in a sane manner with plenty of examples to boot. Better yet, for the Javascript-oriented stuff it resists the temptation to embrace ReAngTive-4.2 or whatever other framework the hipsters have embraced today and sticks to plain ol' jQuery and Bootstrap - this is a good start in and of itself.Very little prior knowledge is assumed - if you've got even a modest amount of programming experience you can comfortably skip the first couple of chapters, although the background behind responsive design is actually worth a read. Hussain is an engaging writer and over the course of the book you are taken through the steps necessary to build a responsive, single-page website starting with a reusable project template (I don't like the fact that Hussain uses PHP for this, but if you've got the nouse you could do it in any language - I used Python, for example) and takes you through the various stages of putting a website together using all the usual tricks that seem to be all the rage right now, with a bunch of real world examples to illustrate the points made. It's a reassuringly slim volume, too (less than 300 pages) and then quite a few of them are full-page illustrations - the book tells you what you need to know with a minimum of fuss.Possibly my only gripe is that the changes made to the code throughout the book could be a bit clearer - sometimes it's not exactly clear whether you're adding lines or taking them away as it is buried somewhere in an accompanying paragraph. That aside, the book does what it sets out to do admirably - it won't turn you into some kind of design guru overnight, and if you're looking for a breakdown of this week's hot framework then you're going to be sorely disappointed, but if you're not a front-end developer and want to get something done you could do a lot worse.
Amazon Verified review Amazon
Tony T Sep 24, 2018
Full star icon Empty star icon Empty star icon Empty star icon Empty star icon 1
My worst buy on Amazon ever, wasted 20 bucks on this book. Very shallow, short, doesn't explain anything in detail, just talks about general concepts and tells you to copy paste everything. For example there is a lesson on how to create a header. It almost literally goes like this: Copy this code (25 lines of code to copy-paste). Explanation: Creates the menu. More or less this is the level of depth you can expect from this book. I will never buy anything from Packt publishing again.
Amazon Verified review Amazon
Sharon Lee Ryder Jul 08, 2018
Full star icon Empty star icon Empty star icon Empty star icon Empty star icon 1
Book is not what is advertised. After a brief (and error-ridden) intro to Bootstrap, the book relies on creating a template using PHP. No where in any of the promotion does it mention PHP. I know Bootstrap, HTML, CSS and some Javascript/jQuery and wanted to delve deeper. Don't want to have to learn/use PHP. Not necessary to do any of the work with any of the aforementioned coding. Further, while the author may know his subject well, it appears that the book was translated from his native language and not translated well. Sometimes you have to untangle the syntax to figure out what is being said. This is the second book from Packt Publishing I've bought and returned. The first one was completely illiterate. They have no business being in the publishing business if they can't publish material that is grammatically and factually correct. I also tried to log on to their site to download files and encountered technical problems. I guess that says it all about their capabilities and knowledge about internet subjects.
Amazon Verified review Amazon
JM Oct 22, 2018
Full star icon Empty star icon Empty star icon Empty star icon Empty star icon 1
This book is just a basic guide to Bootstrap, not an in-depth guide to responsive web design idea and techniques. I read it in about 45 minutes and was not impressed at all. It is ok if all you want to do is make a basic website using Bootstrap.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.