Repository: gradio-app/gradio

Issue:
`Interface.launch()` with `show_tips=True` yields error
### Problem:
Using [this gradio colab](https://colab.research.google.com/drive/18ODkJvyxHutTN0P5APWyGFO_xwNcgHDZ?usp=sharing#scrollTo=BtS4nqLIW-dv), I added a few modifications, notably `show_tips=True` to the `launch` method of gradio.Interface.  

Without the try | except block (as in the `main1` function below), this error shows up:
```
/usr/local/lib/python3.7/dist-packages/gradio/utils.py in show_tip(interface)
    159     # Only show tip every other use.
    160     if interface.show_tips and random.random() < 0.5:
--> 161         print(random.choice(gradio.strings.en.TIPS))
    162 
    163 
AttributeError: 'dict' object has no attribute 'TIPS'
```

### Reproducible example:
```
def greet(name):
    return f"Hello {name}!" # py3.7!

# Original code in colab:
#gradio.Interface(greet, "text", "text").launch(share=True) 

# My modifications:
iface = gradio.Interface(fn=greet,
                         inputs=gradio.inputs.Textbox(lines=2,
                                                      placeholder="Name Here"),
                         outputs="text",
                         examples=[['Tiger'],['Puma']]
                        )

# Functions to use to yield the error or trap it:
def main1():
    iface.launch(show_tips=True)

def main2():
    try:
        iface.launch(show_tips=True)
    except AttributeError:
        pass

# Uncomment and run (possibly twice, re: traceback line 160) to get the error:
#main1()

# No issue when exception is trapped:
main2()
```
#### Device information:
 - OS: Windows 10
 - Browser: chrome
 - Gradio version: 2.8.2

#### Additional context
 - Context: gradio colab



Discussion:

Resolving patch:
diff --git a/gradio/strings.py b/gradio/strings.py
--- a/gradio/strings.py
+++ b/gradio/strings.py
@@ -24,11 +24,12 @@
     "INLINE_DISPLAY_BELOW": "Interface loading below...",
     "MEDIA_PERMISSIONS_IN_COLAB": "Your interface requires microphone or webcam permissions - this may cause issues in Colab. Use the External URL in case of issues.",
     "TIPS": [
-        "You can add authentication to your app with the auth= kwarg in the launch command; for example: gr.Interface(...).launch(auth=('username', 'password'))",
-        "Let users specify why they flagged input with the flagging_options= kwarg; for example: gr.Interface(..., flagging_options=['too slow', 'incorrect output', 'other'])",
-        "You can show or hide the buttons for flagging, screenshots, and interpretation with the allow_*= kwargs; for example: gr.Interface(..., allow_screenshot=True, allow_flagging=False)",
+        "You can add authentication to your app with the `auth=` kwarg in the `launch()` command; for example: `gr.Interface(...).launch(auth=('username', 'password'))`",
+        "Let users specify why they flagged input with the `flagging_options=` kwarg; for example: `gr.Interface(..., flagging_options=['too slow', 'incorrect output', 'other'])`",
+        "You can show or hide the button for flagging with the `allow_flagging=` kwarg; for example: gr.Interface(..., allow_flagging=False)",
         "The inputs and outputs flagged by the users are stored in the flagging directory, specified by the flagging_dir= kwarg. You can view this data through the interface by setting the examples= kwarg to the flagging directory; for example gr.Interface(..., examples='flagged')",
-        "You can add a title and description to your interface using the title= and description= kwargs. The article= kwarg can be used to add markdown or HTML under the interface; for example gr.Interface(..., title='My app', description='Lorem ipsum')",
+        "You can add a title and description to your interface using the `title=` and `description=` kwargs. The `article=` kwarg can be used to add a description under the interface; for example gr.Interface(..., title='My app', description='Lorem ipsum'). Try using Markdown!",
+        "For a classification or regression model, set `interpretation='default'` to see why the model made a prediction.",
     ],
 }
 
diff --git a/gradio/utils.py b/gradio/utils.py
--- a/gradio/utils.py
+++ b/gradio/utils.py
@@ -156,9 +156,9 @@ def readme_to_html(article: str) -> str:
 
 
 def show_tip(interface: Interface) -> None:
-    # Only show tip every other use.
-    if interface.show_tips and random.random() < 0.5:
-        print(random.choice(gradio.strings.en.TIPS))
+    if interface.show_tips and random.random() < 1.5:
+        tip: str = random.choice(gradio.strings.en["TIPS"])
+        print(f"Tip: {tip}")
 
 
 def launch_counter() -> None:


Test patch: