f[]:=Rasterize@Column[{
color=RandomChoice[{Pink, LightGreen,LightBlue,LightGray, Yellow,LightBrown, LightMagenta,LightPurple,LightYellow}];,
"MATH&141  Precalculus 1, Algebra",
"Prof. Kelso",
" ",
Style["Midpoint Formula",Bold, Orange,20],
" ",
"We are looking for the midpoint (Subscript[P, m]) between to arbitrary points",
"in the plane:(Subscript[P, 1])= ((Subscript[x, 1]),(Subscript[y, 1])),(Subscript[P, 2])= ((Subscript[x, 2]),(Subscript[y, 2])).",
"The x-coordinate of the midoint is the average of the two",
"x-values and the y-coorindate of the midpoint is the average",
"of the two y-values:",
"(Subscript[P, m])=((Subscript[x, m]),(Subscript[y, m]))="<>"((((Subscript[x, 1]) + (Subscript[x, 2]))/2), "<>"(((Subscript[y, 1]) + (Subscript[y, 2]))/2))",
" ",
(Subscript[x, 1])=-4;(Subscript[y, 1])=-4;(Subscript[x, 2])=0;(Subscript[y, 2])=0;
over=.1*(Abs[(Subscript[x, 1])-(Subscript[x, 2])]+Abs[(Subscript[y, 1])-(Subscript[y, 2])])/2;
mainline=Line[{{(Subscript[x, 1]),(Subscript[y, 1])},{(Subscript[x, 2]),(Subscript[y, 2])}}];
midpoint=(({(Subscript[x, 1]),(Subscript[y, 1])}+{(Subscript[x, 2]),(Subscript[y, 2])})/2);
leftline={{(Subscript[x, 1])-over,(Subscript[y, 1])-over},{(Subscript[x, 1])-over,(Subscript[y, 2])+over}};bottomline={{(Subscript[x, 1])-over,(Subscript[y, 1])-over},{(Subscript[x, 2])+over,(Subscript[y, 1])-over}};
topline={{(Subscript[x, 1])-over,(Subscript[y, 2])},{(Subscript[x, 2]),(Subscript[y, 2])}};rightline={{(Subscript[x, 2]),(Subscript[y, 1])-over},{(Subscript[x, 2]),(Subscript[y, 2])}};
midtopline={{(Subscript[x, 1])-over,(Subscript[y, 1])+((Subscript[y, 2])-(Subscript[y, 1]))/2},midpoint};midrightline={midpoint,{(Subscript[x, 1])+((Subscript[x, 2])-(Subscript[x, 1]))/2,(Subscript[y, 1])-over}};
lowtopline={{(Subscript[x, 1])-over,(Subscript[y, 1])},{(Subscript[x, 1]),(Subscript[y, 1])}};lowrightline={{(Subscript[x, 1]),(Subscript[y, 1])},{(Subscript[x, 1]),(Subscript[y, 1])-over}};
Graphics[{
Black,Arrow@{bottomline,leftline},mainline,Dashed,Line@{topline,rightline,midtopline,midrightline,lowtopline,lowrightline},
Text[Style["X",Bold],bottomline[[2]]-over/2],
Text[Style["Y",Bold],leftline[[2]]-over/2],
Text[Style["((Subscript[X, 1]),(Subscript[Y, 1]))",Bold],{(Subscript[x, 1])+over*1.5,(Subscript[y, 1])-over/2}],
Text[Style["((Subscript[X, 2]),(Subscript[Y, 2]))",Bold],{(Subscript[x, 2])+over*1.5,(Subscript[y, 2])+over/2}],
Text[Style["(((Subscript[Y, 2]) + (Subscript[Y, 1]))/2)",Bold],{midtopline[[1,1]]-over,midtopline[[1,2]]}],
Text[Style["(((Subscript[X, 2]) + (Subscript[X, 1]))/2)",Bold],{midrightline[[1,1]],midrightline[[2,2]]-over}],
PointSize[Large],Pink,Point[midpoint],Green,Point[{(Subscript[x, 1]),(Subscript[y, 1])}], Point[{(Subscript[x, 2]),(Subscript[y, 2])}]
},

AspectRatio->1,ImageSize->Scaled[.55]],
" ",
" ",

Style["Example 1",Bold],

(Subscript[x, 1])=RandomInteger[{0,2}]*2;(Subscript[x, 2])=(Subscript[x, 1])+((-1)^RandomInteger[] )*RandomInteger[{1,2}]*2;
(Subscript[y, 1])=RandomInteger[{0,2}]*2;(Subscript[y, 2])=(Subscript[x, 1])+((-1)^RandomInteger[] )*RandomInteger[{1,2}]*2;
ℛ=Line[{{(Subscript[x, 1]),(Subscript[y, 1])},{(Subscript[x, 2]),(Subscript[y, 2])}}];
midpoint=(({(Subscript[x, 1]),(Subscript[y, 1])}+{(Subscript[x, 2]),(Subscript[y, 2])})/2);
xplot={(Min[(Subscript[x, 1]),(Subscript[x, 2])]-(Abs[(Subscript[x, 1])-(Subscript[x, 2])]/2)),(Max[(Subscript[x, 1]),(Subscript[x, 2])]+(Abs[(Subscript[x, 1])-(Subscript[x, 2])]/2))};xposd=(Subtract@@Abs@xplot)//Abs;xnegd=(Plus@@Abs@xplot);
yplot={(Min[(Subscript[y, 1]),(Subscript[y, 2])]-(Abs[(Subscript[y, 1])-(Subscript[y, 2])]/2)),(Max[(Subscript[y, 1]),(Subscript[y, 2])]+(Abs[(Subscript[y, 1])-(Subscript[y, 2])]/2))};
xtrud=If[xplot[[1]]<0&&xplot[[2]]>0,xnegd,xposd];
space=.5;
Graphics[{
ℛ,Pink,PointSize[Large],Point[midpoint],Black,
Text[Style["("<>ToString[midpoint[[1]]]<>","<>ToString[midpoint[[2]]]<>")\n(Subscript[P, m])",Bold],midpoint+{If[(Subscript[y, 1])==(Subscript[y, 2]),0,If[xtrud>5,space*2,space]],If[(Subscript[y, 1])==(Subscript[y, 2]),If[(Subscript[y, 1])==0,space/2,(Subscript[y, 1])*space/2],0]}],
Text[Style["("<>ToString[(Subscript[x, 1])]<>","<>ToString[(Subscript[y, 1])]<>")\n(Subscript[P, 1])",Bold],{(Subscript[x, 1]),(Subscript[y, 1])}+{If[(Subscript[y, 1])==(Subscript[y, 2]),0,If[xtrud>5,space*2,space]],If[(Subscript[y, 1])==(Subscript[y, 2]),If[(Subscript[y, 1])==0,space/2,(Subscript[y, 1])*space/2],0]}],
Text[Style["("<>ToString[(Subscript[x, 2])]<>","<>ToString[(Subscript[y, 2])]<>")\n(Subscript[P, 2])",Bold],{(Subscript[x, 2]),(Subscript[y, 2])}+{If[(Subscript[y, 1])==(Subscript[y, 2]),0,If[xtrud>5,space*2,space]],If[(Subscript[y, 1])==(Subscript[y, 2]),If[(Subscript[y, 1])==0,space/2,(Subscript[y, 1])*space/2],0]}],
Green,Point[{(Subscript[x, 1]),(Subscript[y, 1])}], Point[{(Subscript[x, 2]),(Subscript[y, 2])}]},
PlotRange->{xplot,yplot},Axes->True,AxesLabel->{X,Y},AspectRatio->1,ImageSize->Scaled[.45]],
" ",

" ",
Style["Experiment 1",Bold],
" ",
"Measure the distance between the midpoint and two original",
"end points.",
" ",
(Subscript[x, 1])=RandomInteger[{0,2}]*2;(Subscript[x, 2])=(Subscript[x, 1])+((-1)^RandomInteger[] )*RandomInteger[{1,2}]*2;
(Subscript[y, 1])=RandomInteger[{0,2}]*2;(Subscript[y, 2])=(Subscript[x, 1])+((-1)^RandomInteger[] )*RandomInteger[{1,2}]*2;
ℛ=Line[{{(Subscript[x, 1]),(Subscript[y, 1])},{(Subscript[x, 2]),(Subscript[y, 2])}}];
midpoint=(({(Subscript[x, 1]),(Subscript[y, 1])}+{(Subscript[x, 2]),(Subscript[y, 2])})/2);
xplot={(Min[(Subscript[x, 1]),(Subscript[x, 2])]-(Abs[(Subscript[x, 1])-(Subscript[x, 2])]/2)),(Max[(Subscript[x, 1]),(Subscript[x, 2])]+(Abs[(Subscript[x, 1])-(Subscript[x, 2])]/2))};xposd=(Subtract@@Abs@xplot)//Abs;xnegd=(Plus@@Abs@xplot);
yplot={(Min[(Subscript[y, 1]),(Subscript[y, 2])]-(Abs[(Subscript[y, 1])-(Subscript[y, 2])]/2)),(Max[(Subscript[y, 1]),(Subscript[y, 2])]+(Abs[(Subscript[y, 1])-(Subscript[y, 2])]/2))};
xtrud=If[xplot[[1]]<0&&xplot[[2]]>0,xnegd,xposd];
space=.5;
Graphics[{
ℛ,Pink,PointSize[Large],Point[midpoint],Black,
Text[Style["("<>ToString[midpoint[[1]]]<>","<>ToString[midpoint[[2]]]<>")\n(Subscript[P, m])",Bold],midpoint+{If[(Subscript[y, 1])==(Subscript[y, 2]),0,If[xtrud>5,space*2,space]],If[(Subscript[y, 1])==(Subscript[y, 2]),If[(Subscript[y, 1])==0,space/2,(Subscript[y, 1])*space/2],0]}],
Text[Style["("<>ToString[(Subscript[x, 1])]<>","<>ToString[(Subscript[y, 1])]<>")\n(Subscript[P, 1])",Bold],{(Subscript[x, 1]),(Subscript[y, 1])}+{If[(Subscript[y, 1])==(Subscript[y, 2]),0,If[xtrud>5,space*2,space]],If[(Subscript[y, 1])==(Subscript[y, 2]),If[(Subscript[y, 1])==0,space/2,(Subscript[y, 1])*space/2],0]}],
Text[Style["("<>ToString[(Subscript[x, 2])]<>","<>ToString[(Subscript[y, 2])]<>")\n(Subscript[P, 2])",Bold],{(Subscript[x, 2]),(Subscript[y, 2])}+{If[(Subscript[y, 1])==(Subscript[y, 2]),0,If[xtrud>5,space*2,space]],If[(Subscript[y, 1])==(Subscript[y, 2]),If[(Subscript[y, 1])==0,space/2,(Subscript[y, 1])*space/2],0]}],
Green,Point[{(Subscript[x, 1]),(Subscript[y, 1])}], Point[{(Subscript[x, 2]),(Subscript[y, 2])}]},
PlotRange->{xplot,yplot},Axes->True,AxesLabel->{X,Y},AspectRatio->1,ImageSize->Scaled[.45]],

" ",
Row[{"d(("<>ToString[midpoint[[1]]]<>", "<>ToString[midpoint[[2]]]<>"), ("<>ToString[(Subscript[x, 1])]<>", "<>ToString[(Subscript[y, 1])]<>"))=",TraditionalForm[Norm[midpoint- {(Subscript[x, 1]),(Subscript[y, 1])}]]}],
Row[{"d(("<>ToString[midpoint[[1]]]<>", "<>ToString[midpoint[[2]]]<>"), ("<>ToString[(Subscript[x, 2])]<>", "<>ToString[(Subscript[y, 2])]<>"))=",TraditionalForm[Norm[midpoint- {(Subscript[x, 2]),(Subscript[y, 2])}]]}]
,
" ",
"Repeat the experiment many times.",
"It seems the distance between the midpoint and endpoints is", "ALWAYS the same!",
" ",
" ",




}]

DEPLOY 


Have to use FormFunction of the f[] is executed non-delayed:

DeleteFile[c];
c=CloudDeploy[FormFunction[{},
(*again,*)AppearanceRules-><|"SubmitLabel" -> None|>,

FormLayoutFunction->Function[

f[]
], FormTheme -> "White"], 

Permissions->"Public"]