public boolean open() {
    MostRecentFileDialog mrfd = new MostRecentFileDialog("org.concord.otviewer.openotml");
    mrfd.setFilenameFilter("otml");

    int retval = mrfd.showOpenDialog(getDialogParent());

    File file = null;
    if (retval == MostRecentFileDialog.APPROVE_OPTION) {
      file = mrfd.getSelectedFile();
    }

    if (file == null || !file.exists()) {
      return false;
    }

    // CHECKME it isn't clear if the userName should be cleared here or not

    try {
      load(file);
      return true;
    } catch (MalformedURLException e) {
      e.printStackTrace();
    } catch (Exception e) {
      e.printStackTrace();
    }

    return false;
  }