###### tags: `Guide To Contibuting`
# Basic HTML Interfaces
With some simple HTML, you can make interfaces, however BYOND uses IE as it's "browser".
Which means *some* html feature is nonexistent. You can check compatability of these at <https://caniuse.com>
## Normal HTML interface
This is recommended for admin UIs (like banning) or important UIs (varedit pannel). But the [Datum HTML Interface](#Datum-HTML-interface) is recommended as it already has some basic css theme on it.
Or even better, if you want a fancy but still fast UI, you can use [TGUI](/WXQWZ4fTQ-Wse_ZFzIx6EQ).
To show a user a new window, you just have to do this:
`usr << browse(Body,Options)`
This sends the html text or file to the user and optionally displays it in the web browser. Passing in '`null`' for the html text causes the browser panel or named window to be closed. More info [here](https://secure.byond.com/docs/ref/index.html#/proc/browse).
Example:
```DM
var/dat = "<center><b>"
dat += "THELAW"
dat += "</b></center>"
dat += "<b>Is beepsky.</b>"
usr << browse(dat, "window=THE LAW;display=1;size=300x300;")
```
This should show a 300x300 window named "THE LAW" containing this:
<center><b>THELAW</b></center>
<b>Is beepsky.</b>
## Datum HTML interface
datum browser thing. and tell them that you can import custom css or asset cache css
```DM
var/datum/browser/popup = new()
popup.open()
```