1
00:00:00,920 --> 00:00:05,270
Well, my friends, that is it for this course, we have built our application, we have deployed it,

2
00:00:05,450 --> 00:00:12,380
and now all of your friends or whoever else can install and run this by executing that simple NPCs book

3
00:00:12,380 --> 00:00:16,670
or whatever you called it, package, they can run that very easily on their own machine and see exactly

4
00:00:16,670 --> 00:00:17,510
what you've done here.

5
00:00:18,410 --> 00:00:19,250
At this point in time.

6
00:00:19,250 --> 00:00:23,480
I kind of consider the course to be over, but there are definitely some extra areas where we might

7
00:00:23,480 --> 00:00:25,490
decide to put in an extra little bit of effort.

8
00:00:25,880 --> 00:00:29,240
So in this video, I just want to quickly go over a couple of items that are a little bit awkward right

9
00:00:29,240 --> 00:00:32,119
now or some areas that we could definitely improve the application.

10
00:00:33,390 --> 00:00:37,980
OK, so a couple of different things here, the first thing I recommend you try doing is making a very

11
00:00:37,980 --> 00:00:39,330
small change to the project.

12
00:00:39,690 --> 00:00:45,490
This could be just adding in some extra text or really anything inside of, say, the project alone.

13
00:00:45,900 --> 00:00:50,670
You could also try maybe adding in some more descriptive help information to our server command.

14
00:00:51,530 --> 00:00:56,570
At any rate, try making a change to the project and then republish it by running, learn to publish

15
00:00:56,570 --> 00:00:56,930
again.

16
00:00:57,470 --> 00:01:01,730
When you do that, you might run into an issue or two when you try to see the updated changes.

17
00:01:01,970 --> 00:01:08,300
When you run NPCs guestbook again, you might not actually see your changes appear at all, but recommend

18
00:01:08,300 --> 00:01:11,120
you do a little bit of research into that and try to figure out why that is.

19
00:01:13,040 --> 00:01:18,680
Next up right now, we are writing all of our different cells into a JSON file, which definitely works

20
00:01:18,680 --> 00:01:22,940
out just fine, but it's kind of hard for users to take that JSON file.

21
00:01:23,150 --> 00:01:26,500
Open it up and have some idea of what's going on inside of it.

22
00:01:27,200 --> 00:01:32,900
So maybe one way to kind of improve that user experience would be to serialize all of our cells in some

23
00:01:32,900 --> 00:01:33,930
slightly different fashion.

24
00:01:34,370 --> 00:01:38,780
So here's one idea, one little prototype I put together to pull it onto the screen really quickly.

25
00:01:39,680 --> 00:01:45,140
So this is a notebook file, essentially very similar to the current JSON that we are writing out into

26
00:01:45,140 --> 00:01:46,430
a file right now.

27
00:01:48,170 --> 00:01:53,860
Inside of here, you'll notice that I've got some amount of a tech cell, then a code cell and then

28
00:01:53,870 --> 00:01:55,460
another code cell down here.

29
00:01:56,260 --> 00:02:00,350
Every single one of these cells has a little barrier or breaker between each of them.

30
00:02:00,370 --> 00:02:04,060
It's a comment that says text and it has the ID of that particular cell.

31
00:02:05,480 --> 00:02:10,490
So whenever I try to load up some contents of a notebook file and display to the user, I am parsing

32
00:02:10,490 --> 00:02:15,350
the contents of this file, finding these different comments, extracting the IDs right there, and

33
00:02:15,350 --> 00:02:21,980
then getting all this content and serving up as a Texel and then a code cell and then another code cell

34
00:02:21,980 --> 00:02:22,610
down here.

35
00:02:23,660 --> 00:02:30,410
So maybe try giving that a shot, try serializing all of this written cell contents into a real JavaScript

36
00:02:30,410 --> 00:02:34,520
file, that it can actually potentially be executed directly by a user.

37
00:02:36,710 --> 00:02:40,910
Next up, something that's a little bit smaller, but something that just bugs me a little bit right

38
00:02:40,910 --> 00:02:46,670
now, whenever a user adds in a code cell, the code cell is always created with a fixed height.

39
00:02:47,370 --> 00:02:52,370
And that is true even if a user adds in some amount of code to it, they're just adding one line of

40
00:02:52,370 --> 00:02:54,790
code like so and then refresh the page.

41
00:02:55,340 --> 00:02:59,180
That's a lot of vertical space being eaten up by just a tiny bit of code.

42
00:02:59,420 --> 00:03:03,710
Actually, a user can very easily kind of resize this thing, but it would be a little bit nicer if

43
00:03:03,710 --> 00:03:08,900
maybe we dynamically resize the ED on our own based upon how much code a user writes inside of here.

44
00:03:09,410 --> 00:03:12,170
Don't leave that to you to try to figure out how to approach that.

45
00:03:13,220 --> 00:03:18,140
And then finally, something that I mentioned a little bit earlier, whenever a user creates a new notebook,

46
00:03:18,140 --> 00:03:19,670
we start off with an empty screen.

47
00:03:19,920 --> 00:03:20,990
That's not super helpful.

48
00:03:21,020 --> 00:03:25,310
I think it might be a little bit better if we instead show some kind of intro screen or something,

49
00:03:25,460 --> 00:03:29,510
some kind of pre-built notebook that it clearly explains to a user what is going on.

50
00:03:30,200 --> 00:03:31,730
Let me show you my attempt at that.

51
00:03:32,240 --> 00:03:35,420
I'm going to run another copy of our book.

52
00:03:36,770 --> 00:03:38,960
And so I'm going to do daybook at latest here.

53
00:03:42,370 --> 00:03:45,740
I forgot the Derb command again, let me add in that, sir.

54
00:03:45,790 --> 00:03:46,270
There we go.

55
00:03:47,190 --> 00:03:52,530
And now if I go back over and refresh, so here's kind of my attempt at putting in some kind of default

56
00:03:52,530 --> 00:03:56,160
content, I've got some Dotan here just to describe to a user what's going on.

57
00:03:56,350 --> 00:04:00,200
I've got some sample code and then another little bit of sample code down here as well.

58
00:04:01,130 --> 00:04:05,180
So adding in some stuff like this to show to a user by default, if they are trying to create a brand

59
00:04:05,180 --> 00:04:09,070
new notebook, this goes a really long way because it helps them understand what this tool is all about.

60
00:04:10,510 --> 00:04:15,790
OK, so that's pretty much it, some additional ways to expand this application in a very small way,

61
00:04:15,790 --> 00:04:20,860
just make it a little bit easier to use and I'm going to leave all these different tasks up to you.

62
00:04:20,890 --> 00:04:21,910
These are your things.

63
00:04:21,910 --> 00:04:25,810
We're not going to go for solution in this course is up to you to figure out a good way to put these

64
00:04:25,810 --> 00:04:26,440
things together.

65
00:04:27,400 --> 00:04:30,050
Having said that, that is pretty much it for this course in general.

66
00:04:30,100 --> 00:04:31,670
I hope you enjoyed this application.

67
00:04:31,690 --> 00:04:33,010
I hope you enjoyed the course overall.

68
00:04:33,280 --> 00:04:35,590
This has been a lot of fun for me in particular.

69
00:04:35,600 --> 00:04:38,830
I really enjoyed this application and I'm really happy with how it came together.

70
00:04:39,310 --> 00:04:40,660
I hope you enjoyed it as well.

71
00:04:40,660 --> 00:04:43,410
And I hope to see you again at some point in time in the future.

