1
00:00:02,200 --> 00:00:05,070
So now we know how we can check browser support,

2
00:00:05,140 --> 00:00:08,990
now with that, the naive thought might be that

3
00:00:09,190 --> 00:00:13,900
you simply check all these resources and then you need to find a way to make the feature you want to

4
00:00:13,900 --> 00:00:14,400
use

5
00:00:14,440 --> 00:00:23,050
work in all possible browsers across all browser versions and here, the clear answer is don't do this. For

6
00:00:23,050 --> 00:00:23,740
one,

7
00:00:23,740 --> 00:00:26,530
this will never be entirely possible,

8
00:00:26,560 --> 00:00:31,280
there are super older versions of Internet Explorer that don't support anything,

9
00:00:31,330 --> 00:00:36,120
you will never be able to make your application with all its features work there.

10
00:00:36,160 --> 00:00:43,570
You would just cut so many features that just to support a small fraction of the user base, you pass

11
00:00:43,600 --> 00:00:50,020
on some awesome features and awesome improvements you could offer to the vast majority of the user base.

12
00:00:50,020 --> 00:00:55,000
So you definitely have a tradeoff there and you want to be careful regarding your decision.

13
00:00:55,000 --> 00:01:02,500
Don't build an application for the smallest possible denominator, instead analyze your market, get an

14
00:01:02,500 --> 00:01:06,550
idea of who your users will be and then build your application

15
00:01:06,550 --> 00:01:13,650
for those users and use the features or make the features you plan on using work for these users and their

16
00:01:13,660 --> 00:01:17,200
browsers, not for the global user base.

17
00:01:17,200 --> 00:01:18,600
Here are some ideas,

18
00:01:18,640 --> 00:01:23,890
let's say you're building some internal tool or application, so something that runs in the internal

19
00:01:23,890 --> 00:01:28,990
company network and only employees of the company will be able to use that.

20
00:01:29,020 --> 00:01:30,310
It's a common use case,

21
00:01:30,340 --> 00:01:36,600
all companies have their own internal systems which often also are just web applications.

22
00:01:36,670 --> 00:01:42,640
Now there, the company browser might be clearly defined, maybe as a policy in your company,

23
00:01:42,640 --> 00:01:49,720
everyone has to use Chrome or Chrome or Firefox or everyone has to use Internet Explorer 11, then

24
00:01:49,720 --> 00:01:55,270
you know exactly what your user base is, you know exactly for which browser you need to build and you

25
00:01:55,270 --> 00:02:01,780
certainly don't need to support any other browser or let's say you are building some web page that targets

26
00:02:01,780 --> 00:02:03,480
tech savvy users,

27
00:02:03,490 --> 00:02:05,870
some blog about technology,

28
00:02:05,980 --> 00:02:09,170
some online learning site, anything like that.

29
00:02:09,190 --> 00:02:16,630
Well there, it's very likely that you have users who are using cutting edge or modern browsers and versions

30
00:02:16,640 --> 00:02:20,930
of these browsers by default because they're interested in technology,

31
00:02:20,950 --> 00:02:25,900
they keep their system up-to-date and of course they're using the latest browsers because they want

32
00:02:25,900 --> 00:02:28,290
to use all these rich web applications,

33
00:02:28,330 --> 00:02:34,690
then you might not need to support very old legacy browsers because only a very small fraction of your

34
00:02:34,690 --> 00:02:40,540
users visits your site with these browsers and it might be fine to pass up on these users,

35
00:02:40,540 --> 00:02:41,970
you can't satisfy everyone,

36
00:02:42,130 --> 00:02:45,900
maybe you want to show some message to these users who won't be able to use your site

37
00:02:45,970 --> 00:02:47,710
but that's all.

38
00:02:47,710 --> 00:02:53,840
Or you're building a site that targets older people or is simply a non-tech savvy audience,

39
00:02:54,190 --> 00:03:00,520
so then of course these people might be more likely to use slightly older browsers and therefore you

40
00:03:00,520 --> 00:03:05,000
want to make sure that you support these people and their browsers.

41
00:03:05,020 --> 00:03:10,870
You might not be able to rely on your audience to use cutting edge browsers and maybe therefore you

42
00:03:10,870 --> 00:03:17,850
need to be more cautious regarding which features you use and how you test your code on older browsers

43
00:03:17,950 --> 00:03:19,660
and that's one other thing by the way.

44
00:03:19,660 --> 00:03:25,270
You of course also want to test your application in a broad variety of browsers, reflecting the browsers

45
00:03:25,360 --> 00:03:26,980
you would expect your users to have.
