Roadmap 0.4

Skip to first unread message

Mathieu Virbel

Nov 19, 2009, 4:07:10 AM11/19/09
to pymt-dev
Plop everyone

Google mentor summit was a really nice experience and opportunity
for us to talk about PyMT. We held a session we called "Programming
on Novel Interface", on the Sunday morning. About 20 peoples were
in the room. They were a little quiet, compared to other sessions.
Maybe because the subject is too new for everyone. We've did some
demos about PyMT and talked about how user interfaces are changing.
Congrat to thomas for animating the talk for one hour :). You can
see a picture of a lego poing cotroller we hacked together on site
here :

In 4 days, we talked a lot, hot to see San Francisco, shared our
points of view in the night, drank, and got many ideas (in this
order ? maybe. :p), we tried to make some important decisions for
the future of PyMT.

We plan to release the 0.4 alpha or beta (depend of the state) in the
first week of december.
And the final 0.4 version for Christmas !

Let us know what you think, or if you have additional ideas. Ryan
made a good point about discussing these things more on the mailing
list than on irc. It odes add records of everything and lets other
people follow along easier. So please bombard the mailing list
with your feedback.

Thomas & Mathieu



1. Abandoning of CPP Core

We were thinking it's a good idea, but at the end, they are too many
bad hacks to make it working, at the same level of functionnality. This
is due to the python langage, and internal mecanisms. More than that,
we want to achieve performance, and simplicity for the user.
Having obscure segfaults without backtraces with CPP core (cause yes,
bug happens.) is not user friendly. About the maintenability, we are
not sure that developers want to go into C++ code...
They are many ways to optimize, and we have lot of possibility to do it
in pure-python : texturing update caching, display list, other opengl

And in the future, we shouldn't forget about the Google Unladen Swallow, a
python 2.6 port project with the objective of increasing speed by 5x, and
get ride of GIL Python :

2. Remove pyglet dependices

Pyglet project is not going well, core developpers have left the
project, nobody take the lead at the moment, and no new version since
bugged pyglet 1.1.3 on timer (affect some of our demo) + a bug with
initial installation and video support of VBO (used for text).
So, we've decided to remove pyglet, at least, it will be an optionnal
dependices. PyOpenGL will be the replacement for OpenGL command.

3. Abstract backends

Audio, Video, Camera, Text, Windowing... they are many way to use it.
Pyglet was able to offer us nearly all theses functionnalities. Today,
we got at least one library for each backends. The current state is
located on the Wiki :

4. Rewrite the Animation framework

Current animation sucks. No need to argument more on this :)

5. Designer GUI

We want to focus on the simplicity of development with PyMT, and this
is comming with a new GUI. The designer will be done in 3 steps :
* first, get PyMT running inside Qt (already done) - that's mean PyMT
can be also embedded in other applications :)
* second, possibility to construct/edit the UI(drag a button, edit
options etc...)
* third, possibility to modify UI in live application

6. Widget serialization

Serializing a widget mean saving the widget into a specific format,
and be able to recreate it in the same state from this format. This
will be used for sharing widget over network, and needed for Designer
GUI. Actual work are here :

7. New UI CSS themes

Same as each version... we want someone make a looking-good UI !
(we've said that the first thing we can do, is to remove the gray
background :p)

8. New configuration tool

The current one is Tk is not enough for future configuration.

9. New packages / installer

Make installation easier for users. We have some plan about it,
nothing is decided.

10. Documentation + tutorials

The wiki is open for contributions:

We are focusing to a a good Programming Guide + Tutorials.

11. Marketing

Talk less about python, more about possibilites, and facility to code.
Ultimate goal: beeing slashdotted.


Nathanaël Lécaudé

Nov 19, 2009, 10:59:30 AM11/19/09
Thanks for this detailed email !

A few thoughts :

About the designer :

I like QT, I like the fact PyMT can run within QT, but it would be a
nice goal to make the designer direclty in PyMT, it would force us to
think about new widgets and how to manage such a thing. Though for a
first version I think it's a good idea to go with QT.

Live coding :

I started a very primitive "Live Coder" (in Tools, called
widget_tester) where you can affect code directly, I think this can be
a nice complement to the editor (ie I think it's nice to have both,
not just a gui whre you can fill in a form with properties, but also a
way to interact in a more direct manner with the widgets)
What comes to my mind is the fact the new synthesis engine (pyo) my
friend is working on supports live coding, meaning you could do wild
things by love coding PyMT + sound synthesis.


2009/11/19 Mathieu Virbel <>:
> --
> You received this message because you are subscribed to the Google Groups "pymt-dev" group.
> To post to this group, send email to
> To unsubscribe from this group, send email to
> For more options, visit this group at

Mathieu Virbel

Nov 19, 2009, 12:31:21 PM11/19/09
The designer himself (UI creation) will be inside pymt. drag&drop UI
element, double-tap for link between them ... Qt will be the glue
between code & live edition.
All inside PyMT is... a dream :)

2009/11/19 Nathanaël Lécaudé <>:

Thomas Hansen

Nov 19, 2009, 2:06:59 PM11/19/09
I think for right now its a matter of having a decent text editor widget.  Qt has a nice one.  Coding a whole text editor inside pymt that allows you to read and write code / navigate files is going to take quite some work. 

Changing the interface as the application is running though I think will be sweet, and can even be used as a feature inside application.  And with serialiazation, we can have it generate xml code so you can store the state, or have your code in the designer auto updated.


2009/11/19 Nathanaël Lécaudé <>

Nathanaël Lécaudé

Nov 19, 2009, 2:23:06 PM11/19/09
I hope we look at json vs xml, the syntax is more simliar to a python object

2009/11/19 Thomas Hansen <>:

Alex Teiche

Nov 20, 2009, 12:02:02 AM11/20/09
Really nice work everyone with 0.3 and C++ core!  I'm really excited to start using PyMT again now that i'm making more headway on my own projects.

Also, you made the front page of Reddit:D  It was someone's blog though, I posted another link to the official site.

Reply all
Reply to author
0 new messages