split ViewUtil into ViewUtil/StringUtil/PopupView
Refactored Recorder/RunRecord