TokenIDE / Shaun McFall Interview
Posted by Ryan on 13 January 2013, 16:09 GMT
Two and a half years in development (and coming along very nicely, might I add!), Shaun "Merthsoft" McFall has released a new and much-improved version of TokenIDE, a
highly useful utility for software development with a host of productivity-boosting features. We set out to catch up
with Shaun in order to discuss TokenIDE and his other programming experience.
Shaun: Oh wow, this is very exciting—thank you for this opportunity! Let's jump right in!
ticalc: Let's start with some biographical information. Where are you from, what do you do, and how did you get
into calcs? Who are you?!
Shaun: I now live in Madison, Wisconsin; I grew up between New Hampshire and Ohio. I work in research and
development for Epic, a software company that focuses on
electronic medical records. I studied Computer Science and Music in college. I'm 24 years old, and like doing things
and stuff. That's basically who I am!
ticalc: Could you start by giving us a quick rundown of what TokenIDE is for those who are not familiar with
it?
Shaun: TokenIDE is an editor for 83+-series programs and picture-files. It supports custom token-sets (to
support libraries), has a sprite editor, and the beginnings of a DoorsCS GUI editor. It's a tool to help support BASIC
development.
ticalc: TokenIDE is a considerable shift from other software that you have released for calcs, both in terms
of concept and scope. What were some of the largest motivating factors for this project?
Shaun: The idea for TokenIDE came out when Celtic III was first released (around 2007). It was getting too
difficult for me to remember all of the commands between Celtic and xLib, and I thought that it would be great for
there to
be an editor that used the actual function names rather than the calculator tokens. I sat on the idea for a while
before doing anything with it, but that was the largest motivating factor: making something that supported all of the
various hybrid libraries.
ticalc: What has the planning process been like for this project?
Shaun: The planning process has been largely non-existent. I have core ideas that I want to implement, but a lot
of what is in there has been user-suggested or has deviated from my original ideas.
ticalc: What have been some of the largest challenges in creating this project?
Shaun: Trying to keep it cross-platform has been a challenge. For the most part, .NET makes this simple, but it
took me a while to find, for example, a highlighting text editor control that would work under Linux (and that is not
something that I wanted to do on my own).
ticalc: After having spent time with the software, it is clear there are opportunities for the inclusion of a
dauntingly large number of functionalities. Do you currently have an ideal end-state or "finished product" in mind? If
so, what would that look like?
Shaun: So, I have a roadmap for a 1.0 release, but not much for after that. I know that I want to support all
the possible file-types for the 83+ series, and I know that I want to add more calculator support (89 support has been
greatly asked-after). For the 1.0 release, I want to have the project functionality set up with some improvements to
the editor that I want to make.
ticalc: Once the initial version of TokenIDE was released, what were your thoughts and feelings?
Shaun: I was very excited to finally get this project off the ground. I had a lot of support at Cemetech and Omnimaga, and I was really energized to add cool things.
ticalc: Switching to a more personal focus, how and when did you first get introduced to programming?
Shaun: I was first introduced to programming when I was around 12 or 13. My stepdad had bought us an old
computer that had QuickBasic on it, and
that was my start. After a few months of that I managed to find my parents' TI-82 calcs and started programming on
them.
ticalc: Why types of programming have you done aside from calcs, and on what platforms?
Shaun: Quite a bit, between work and personal projects. Most of my personal programming is C#, work programming
is spread across various languages and platforms. Some notable things that I have worked on professionally are a tool
to spider through survey web pages, and a DICOM
engine. A lot of my personal projects are available on Cemetech. I helped fuel the Prizm programming community with
Minesweeper and Conway's Game of Life. I've also made a couple tools and tutorials for the Wolfenstein3D
community.
ticalc: What would you say is your strongest programming skill, and what is your skill that needs the most
work?
Shaun: Haha, this is starting to feel like a review! At least as far as TokenIDE goes, my strongest and weakest
skills are kind of the same: design. There are parts of TokenIDE where I over-engineered it and it was just getting too
complicated to maintain, though there are also parts where I was very cowboy and the same thing ended up happening. For
the most part, though, I've been very careful to write the code and design it in a way that made it
maintainable.
ticalc: What project or projects are you going to be working on in the near future, and what is your dream
project?
Shaun: I definitely plan on continuing development on TokenIDE. I also recently purchased a Netduino and plan on doing some things for calculators with it (a
couple ideas include reading calculator programs from an SD card, and a computerless gCn
client).
ticalc: Do you have any advice for budding programmers?
Shaun: Program. Program a lot and challenge yourself.
ticalc: Anything else that you would care to share with the readers?
Shaun: I'd like to thank everyone who has helped to make TokenIDE what it is, and thanks everyone for reading!
If you haven't yet tried TokenIDE, give it a shot and let me know if there's anything you'd like to see in it!
Thank you, Shaun, for taking the time to sit down and share with us!