New Horizons
For the past few months I have been working for Enthought and helping out with a new upcoming product. Since that is about to transition to a more long term employment opportunity for me I figured it would be a good idea to let the wxPython community know about it, and also to let you know about some aspects of the job that some may find a little surprising, before you hear about it as rumors or gossip.
First of all, I'm sure that most of you have heard of Enthought, but in case the name is new to you Enthought has been the go-to guys for all things related to Python and science, for over a decade. They provide a lot of excellent open source tools and packages for Python related to scientific analysis and data visualization, do a lot of consulting and training on scientific and financial analysis computing solutions, have a smart-batteries-included distribution of Python focused on scientific application development, and also have some proprietary products. In other words, these are some very smart people, and they have the experience and reputation to back up that claim. (I don't think I've ever met so many PhD's at the same time as I did on the days when I interviewed with Enthought.) I would guess that Enthought is the major force responsible for Python being so popular in the scientific computing communities, second only to the nature of Python itself being so easy for non-programmer technical people to become programmers using Python.
Enthought has been using wxPython in their projects since the early days. The relationship between Enthought and wxPython goes a little deeper than the usual case though as there were a few days many years ago when I went on-site with Eric Jones to a prospective customer's offices, and while he pitched them Enthought's services I demonstrated that wxPython could be built and used on their platform of choice.
Over the years there have been several attempts to create a Python package that would allow developers to create applications that could use either wxPython or one or more of the other popular GUI libraries available. As far as I know, Enthought's tools are the only ones that have survived very far beyond the proof-of-concept stage, and now the core Enthought libraries are able to be used in either wxPython or PyQt/PySide applications, and much, if not all of the application (depending on the needs of the project) may not even know or care which one is being used.
So, Enthought probably sounds like a very good fit for me, right? Well, it is, but probably not for the reasons you may think. Here is the surprising bit I mentioned before. In almost 3 months I have not written any wxPython related code for Enthought. (Not counting personal time working on Phoenix.) Instead I have been working on Qt and PySide. Yes, you read that correctly. PySide. The skills I have that are such a good fit for this job are not specifically wxPython but rather my years of experience with wrapping a very large C++ UI library as Python extensions. And with Qt and PySide transitioning from Nokia to Digia there is a noticeable dearth of manpower working on PySide compared to the Nokia days. Enthought wants me to step in and be a part of that going forward, and I think I am going to enjoy it. So far PySide has felt very familiar to me, like a slightly different and updated style of the favorite coat that you've worn for years and years. I've also been very impressed with the quality of the Qt code I've worked with so far.
Now comes the reassurances. This transition for me does not mean that I am abandoning wxPython. Not in the slightest. I am very committed to completing Project Phoenix and I look forward to it becoming the new wxPython. I think that for me personally it is wise to have skills and experience with both projects and I've been thinking for a while that I should do that, but I never had a driving force to push me into doing it. For the wxPython and PySide projects, I think that both will be able to benefit from me knowing both of them inside and out. I'm looking at this as a win-win situation, and I hope that you can see it that way too.
Stay tuned for a blog post about some of what I have been working on so far.