[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gnash] Gnash roadmap ?
Re: [Gnash] Gnash roadmap ?
Wed, 18 Jan 2006 09:29:33 -0700
Mozilla Thunderbird 1.0.7 (X11/20051013)
Nicolas Cannasse wrote:
I'm back from my climbing trip, and will try to work my way through
the over 200 messages I got about Gnash while I was gone.
I would like to hear more about Gnash and know in which area some work
is needed. I had a quick look at the sources, some parts are looking a
bit messy right now :) The code seems to come from GameSWF and maybe
other parts. Is there some kind of "redesign from scratch" (using
previous code but rearchitectured) planned ? What is the current status
and roadmap ?
Gnash is based on GameSWF, which I also worked on. A lot of the
GameSWF code is quite messy, but was suitable for Thatcher's purposes.
(I appreciate all the work he did, Gnash wouldn't exist without it).
Once the plugin works, I have definite plans to do a major code cleanup
to the old GameSWF code, for one thing using real classes instead of
structs. I'd also like to break some of the huge files apart into
smaller, more modular ones the way I did the XML AS classes.
There is no roadmap as of yet, I only did the fork a few weeks ago.
:-) A short roadmap would probably be:
1. Get the plugin working
2. Write a real roadmap and task list
3. Add much more to the manual
4. Do some testing and list out what isn't implemented yet
5. Develop a test suite, and implement what's left
6. Start a major code cleanup
7. Look for performance improvements and do them
8. Write a non-OpenGL backend for embedded devices
9. SWF 8 support
This looks like a short list, but will involve a lot of work. This is
where some of us working together can accomplish these tasks much more
quickly than if I have to do them all myself. Most of the work on Gnash
at this point was to fork GameSWF into a more suitable framework, and to
get all the initial project infrastructure created. (the web sites, CVS,
Also, one of my concerns is about the usage of OpenGL. While this might
speed up things on the desktop, it would be interesting to comeup with a
I have a strong interest in having Gnash run on embedded devices
without OpenGL or any hardware acceleration support. I was debating
using Cairo, but at this point the API to use for this backend is open
This is one of the prime motivators for me to do Gnash. Not just
because having a free plugin would be cool, but to have the standalone
player work on my Zaurus, or other small footprint devices. As more and
more people and projects want to use Flash, the free software world
needs a truly portable player.
I'm interested also about the current AS VM in Gnash. How does it
compete with Macromedia Flash7 VM ? (which is awfully slow) Is there
some plans in the future to support Flash8 features ? (filters might not
be a so good idea with OpenGL ?) What about the Flash 8.5 virtual
machine which defines a new set of bytecode - currently being reverse
engineered little-by-little ? I know it's a bit early to ask about all
theses but they might be important in the way the code is designed from
I haven't used the MacroMedia tools, so I can't really offer any
comparison. I'd have to look at some clean documentation (to not
contaminate Gnash) for SWF 8. I don't see a huge issue with changing
byte codes, but my guess is other things have changed as well that could
be a big issue. I won't know till I dig into this deeper.
Currently most Flash movies I've been collecting don't use SWF 8 at
all, so initially I'd like to make the SWF 7 format (and earlier) work
well enough as a plugin to play most movies before launching into
implementing SWF 8. I would like to have a good ideas as to the SWF
structure though, as when I start on the code rearranging of the
interpreter, I can add hooks to make it easier to keep Gnash in sync
with the evolving Flash spec.
So at this point I'm asking for more developers so we can make Gnash
a fully functional player and plugin. If the free software world can
handle big projects like Firefox, OpenOffice, or the Linux kernel, we
should be able to handle a Flash player. :-)
- rob -