Jump to content
Nels_Anderson
Nels_Anderson

Interview: Jonathan Harris

 

Interview With X-Plane Plugin Designer Jonathan Harris

 

 

Development

When did you start developing for flight simulators and what got you interested in it?

 

Back around 2003 I was interested in immediate post-war aviation and the reasons for the design choices that aircraft designers made, i.e. podded versus buried engines, turbojet versus turbofan, swept versus delta wings, etc. I can't now remember why I was interested in these things, but I read that you could design planes in X-Plane, so I modeled an Avro Vulcan B.2 and a Boeing B-47E Stratojet from that period in X-Plane v6. I chose these two planes because to me they graphically illustrated the different design choices made by two sets of designers who were trying to solve essentially the same problem.

 

X-Plane v6 and v7 were fairly limited graphically, but X-Plane v8 introduced support for 3D cockpits and I wanted to make one for my B-47. However there were no tools available so I had to first develop the XPlane2Blender scripts for the Blender 3D modeling app in order to be able to build the 3D cockpit. I chose Blender partly because it was free, but mostly because it had a well defined and reasonably well documented plugin API.

 

Other people found the scripts useful, and I found myself spending more and more time on the scripts and less and less time on creating aircraft. Eventually I realized that this was a good thing; I'm better at making tools than making aircraft or scenery, so it is more productive for me to make tools that other people can use to make lots of aircraft and scenery packages, rather than me making just one or two packages myself.

 

Tell us about the nature of your designs and what you do?

 

Currently I mostly make tools that people can use to design scenery packages. I'm very aware that many of the people who use my tools are artists rather than "techies", so my goal is to create tools that are powerful and yet as intuitive as possible in order to help the artists create their art.

 

What do you consider your best or most popular work?

 

My most popular work is undoubtedly FS2XPlane, which converts FS2000-FSX scenery packages for use in X-Plane. It's the most popular because it's at least partly aimed at end-users, rather than exclusively at designers. Unfortunately it's also the one that I'm least interested in but I do intend to make at least one more bug fix release.

 

My most productive work is probably the XPlane2Blender scripts for Blender 2.3/2.4, since so many designers have used them to create high quality freeware and payware aircraft. I'm glad that Ondrej Brinkel has done great work in creating XPlane2Blender for Blender 2.5/2.6.

 

My "best" work right now is probably SketchUp2Xplane, which provides an easy route for people with little or no 3D modeling experience to produce 3D objects for X-Plane. Coincidentally, it's also one of my simplest tools in terms of technical complexity.

 

What do you find to be the most challenging aspect of a project?

 

I enjoy all phases of a project from the initial research, prototyping, design, implementation and even support. But the most challenging aspect for me is the user experience design - how to shield the user from complex technical details while simultaneously not limiting what they can do. It's also, in my opinion, the most important aspect to get right the first time - the stuff under the hood can be redesigned and rewritten if necessary, but the user-facing stuff can't be changed without creating confusion.

 

What have been your favorite projects?

 

My favorite project is usually the latest one! But the project that I currently spend most of my effort on is OverlayEditor because it's the most complex and hence most challenging. I choose to spend that time, so you could say that it must be my favorite.

 

 

overlayeditor1.jpg

 

 

 

overlayeditor3.jpg
OverlayEditor

 

 

What software packages and tools do you use to develop?

 

Primarily I use the Python and C languages. I love Python - it's so easy to express oneself and the language never gets in the way. When creating X-Plane plugins I enjoy the rigor of C, but I'm far less productive in it than in Python. I'm aware that I'm rather old-school in using C rather than C++ but I've never really taken to C++ - it feels to me like precisely the wrong solution to the problem that it was designed to solve.

 

I do most of my development using Emacs and "make" on a Mac, then test on Windows and Linux when I'm about done. Using Emacs and "make" rather than Xcode really marks me out as old-school, but I've used (and occasionally helped to create) so many IDEs, build systems, etc. that I can no longer be bothered to learn new ones.

 

Do you develop payware/freeware or both and why?

 

I develop freeware for X-Plane (apart from occasional contract work). I mostly develop tools, and in my personal and professional experience only a small minority of people are prepared to pay for tools, so I don't think I could make a living from X-Plane. X-Plane is a hobby for me so I'm not sure that I'd want it to be my full-time job anyway - I like the fact that if I'm in danger of getting fed up with one of my X-Plane projects I can step away and do something else for a while.

 

I get paid for the work I do for X-Plane in a different way; I get the satisfaction of giving back to the community, plus several designers who make payware products using my tools are kind enough to give me complementary copies of their work.

 

Future

How do you choose your next new design or project?

 

Mostly it's a casual thought or sometimes a comment from someone else along the lines of "how do I do X in X-Plane" or "why doesn't X-Plane support Y" that starts me thinking. If the problem sounds both interesting and slightly challenging then I can't stop thinking about it, so I want to do it.

 

 

autogate1.jpg

 

 

 

autogate2.jpg

 

 

 

autogate3.jpg

 

 

 

autogate4.jpg
AutoGate

 

 

Looking back, it seems that for something to be "interesting" to me, it not only has to solve a problem in X-Plane (that would be nice to solve for myself and for everyone else) but it also has to serve as a vehicle (or excuse!) for me to learn something new.

 

So I've learnt:

 

  • XPlane2Blender: The Python language, 3D modeling in general, and X-Plane's new (at that time) 3D object and animation system.
  • OverlayEditor: 3D programming with OpenGL, plus all aspects of X-Plane's scenery system.
  • AutoGate: programming X-Plane plugins.
  • XPOSM: how OpenStreetMap works, and the SQL database language.
  • FS2XPlane - Microsoft Flight Simulator in general, and the various BGL file formats in particular. (It's weird - I have no interest in MSFS per se, but I have come to know more about BGL than I ever wanted to, and probably more than anyone outside of Microsoft/Lockheed other than Arno Gerretsen).
  • SketchUp2XPlane: the Ruby and JavaScript languages.

 

But sometimes I choose a project because purely someone asks me to solve a problem (that I'm happy to solve); e.g. I created GroundTraffic initially because Jeff Mueller wanted a way of animating airport vehicles in his KJFK scenery package.

 

 

groundtraffic1.jpg

 

 

 

groundtraffic2.jpg
GroundTraffic

 

 

What simulators do you design for now and what ones do you plan to develop for in the future?

 

I only design for X-Plane, and have no plans to change. Partly that's just historical accident. But also I like the fact that the designers, Austin and Ben, are approachable rather than nameless and are open to adding features if you can make a good case for them. I'm also grateful to Ben for answering my dumb questions when I couldn't get something working.

 

In what ways do you see development changing in the future?

 

Difficult to say; since I've never really had any plan, I can't really guess how my plans will change.

 

 

seatraffic1.jpg
SeaTraffic

 

 

Your Thoughts

What can sites like FlightSim.Com do to support you and the hobby better?

 

I'm only interested in X-Plane, so from my partisan point of view I'm glad that FlightSim.Com has started to support X-Plane as well as MSFS in the file library, forums, interviews, etc. Keep on keeping on!

 

How do you feel about the future of flight simulation in general?

 

For some people it's all about the flight model (the flight model is what originally attracted me to X-Plane), but for most people it's also or even primarily about an immersive experience. So I would expect flight simulators to develop in that direction - things like soft-body animation, stereoscopic headsets (e.g. Oculus Rift), a busier living world, more realistic AI planes, more realistic ATC (a particular weakness of X-Plane), etc.

 

However much of this stuff requires a huge amount of artistic effort to create, so I suspect the limiting factor will be the economics of producing lots of high-quality artwork for what is, ultimately, quite a small market.

 

What would you like people to know about you or your team and work?

 

Finally, since it was modeling an Avro Vulcan that got me into flight simulation, can I put in a plug for the Vulcan to the Sky Trust - (www.vulcantothesky.org) - which is keeping the last Vulcan flying.

 

Many thanks.

 

Jonathan Harris
http://marginal.org.uk/x-planescenery/
GroundTraffic demo - catering truck: http://vimeo.com/61677433
GroundTraffic demo - luggage train: http://vimeo.com/61677331

User Feedback

Recommended Comments

There are no comments to display.



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...