 
                 if (event == ParticleDeviceSystemEvent.flashFailed) {
                     DispatchQueue.main.async {
-                        RMessage.showNotification(withTitle: "Flashing error", subtitle: "Error flashing device", type: .error, customTypeName: nil, duration: -1, callback: nil)
+                        RMessage.showNotification(withTitle: TinkerStrings.DeviceInspector.Error.Title, subtitle: TinkerStrings.DeviceInspector.Error.ErrorFlashingDevice, type: .error, customTypeName: nil, duration: -1, callback: nil)
                     }
                 }
             }

    override func viewDidLoad() {
        SEGAnalytics.shared().track("DeviceInspector_Started")

        self.tabBarView.setup(tabNames: ["Events", "Functions", "Variables", "Tinker"])


        super.viewDidLoad()

        self.selectTab(selectedTabIdx: sender.selectedIdx)
    }

    func showTutorial() {
        if ParticleUtils.shouldDisplayTutorialForViewController(self) {
            DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(100)) {
                //3
                var tutorial3 = YCTutorialBox(headline: TinkerStrings.DeviceInspector.Tutorial.Tutorial3.Title, withHelpText: TinkerStrings.DeviceInspector.Tutorial.Tutorial3.Message) {
                    self.selectTab(selectedTabIdx: self.tabBarView.selectedIdx, instant: true)
                }

                //2
                var tutorial2 = YCTutorialBox(headline: TinkerStrings.DeviceInspector.Tutorial.Tutorial2.Title, withHelpText: TinkerStrings.DeviceInspector.Tutorial.Tutorial2.Message) {
                    tutorial3?.showAndFocus(self.moreActionsButton)
                }

                // 1
                var tutorial = YCTutorialBox(headline: TinkerStrings.DeviceInspector.Tutorial.Tutorial1.Title, withHelpText: TinkerStrings.DeviceInspector.Tutorial.Tutorial1.Message) {
                    tutorial2?.showAndFocus(self.tabBarView)
                }
                tutorial?.showAndFocus(self.view)
