Since December 2006, John Schroedl has been among the developers working on the parts of JMP that interact with the Windows operating system. His team writes code for a range of features, from lower-level features like creating windows, drawing graphics, clipboard, mouse and opening files to higher-level features like the new JMP Home Window, Project window, thumbnails and importing data. Before joining JMP, he worked on several SAS products, including SAS Enterprise Guide and Base SAS, for 15 years.
Arati: What else do you work on at JMP?
John: I also work on JMP’s integration with the SAS System. This includes the user interface elements (Browse SAS Data, Export SAS Data, Stored Process UI) as well as more internal features such as importing and exporting data. And if you’ve used the JMP Install Checker to diagnose an issue, I created and continue to enhance that tool.
Arati: What do you like about JMP?
John: I like the way JMP encourages you to explore data. There’s not a rigid workflow through the product forcing you in any particular direction. I also like that nearly all parts of JMP can be controlled through script, so it’s extensible.
Arati: Do you use JMP in your job or for personal projects? If so, how?
John: I use JMP as a nonstatistician, primarily the data-manipulation and graphical platforms. I’ve used JMP to work with our bug database as well as lots of simple charts, Graph Builder and the Profiler.
Arati: What are your favorite JMP features that you wish more people knew about and used?
John: JMP 9 has a very nice new feature that allows you to easily change the active Tool by pressing a letter key. For example, in a report window you can press the letter "L" to change to the Lasso tool. Or you could press "Z" to change to the Zoom (magnifier) tool. You can press "A" to switch back to the Arrow tool. The tooltips in the toolbar show the shortcut letters for each tool as well. Because you don't have to use the mouse or menu to change the active tool, this saves you time.
Arati: What’s new in JMP 9 in your area of focus?
John: There are lots of user interface (UI) changes for Windows in JMP 9. We have eliminated the old MDI (Multiple Document Interface) user interface model and gone with separate top-level windows.
To help ensure a “home base” for JMP, our team created the new Home Window, which has lists of recent files and the open windows. Bonus tip: Press Ctrl+1 to quickly switch back to the Home Window.
Also related to the UI changes, we have added some niceties such as the Ctrl+Tab window switcher (see below), data table thumbnails and new commands under the Windows menu.
Arati: What was the reason for adding these to JMP? How will they be helpful to customers?
John: Many users have more than one monitor now, and having separate top-level windows finally allows us to address complaints such as the inability to spread JMP windows across multiple monitors.
Also, some people like to keep their windows maximized, but opening a dialog window would temporarily turn off that maximized mode. The experience was a bit jarring. With separate windows, we remedied that MDI limitation. In general, the MDI model was quite dated, and we wanted to make JMP current with improved usability.
Arati: What’s most exciting to you as a developer?
John: I get excited by the prospect of creating software that people enjoy using. I’ve used plenty of software that has frustrated me, has been an obstacle or has been just painful to use. I enjoy fixing up older code for improved usability as well as creating new code that empowers users.
Like any developer, I also enjoy the process of learning about new technology, code libraries or algorithms that make developing software easier and more powerful. In the Web development world, a good example is the very popular jQuery library. It’s opened Web development up to many new possibilities, which is exciting.
Arati: What books are you reading right now?
John: I am reading Death By Black Hole by Neil Degrasse Tyson. One of my favorite (and hardest) classes in college was stellar astrophysics, and Tyson’s book pulls me back to those days. It’s a fascinating guide to some profound concepts but with an approachable and sometimes irreverent style, which I really like.
I’m also reading Make: Electronics by Charles Platt. This is a fantastic book explaining electronics in a fun and hands-on way.
Arati: What do you like to do in your free time?
John: Having two kids keeps me busy with activities like trips to the pool, parks, home projects, etc. But I also like to work in my yard and garden when I have the time.
Lately, my son is interested in electronics, so we’ve done a lot of simple projects at home. It’s great to see him excited about integrated circuits, microprocessors, resistors, etc., so we’re learning about the components together by doing a number of simple projects.
Arati: Pick two of the following to identify: your favorite programming language, favorite algorithm, favorite formula, favorite theorem or favorite software tool.
John: My favorite programming language is C#. My favorite software tool is Picasa; I paid for it before Google bought it and made it free, and it just keeps getting better.