About this project
Animated PNG, a high quality animated image format complete with full alpha channel and graceful degradation has been available and usable since 2004. Essentially APNG is like a much better Animated GIF. A large problem hindering widespread use is the lack of tools to create APNG. We would like to remedy this by taking the leading APNG conversion tool apngasm and, along with its author Max turn it into a robust and feature packed conversion library and a provide a full graphical authoring and editing tool.
Mozilla has a good set of demos here: https://people.mozilla.com/~dolske/apng/demo.html
There is a very good comparison of APNG to GIF here: http://littlesvr.ca/apng/gif_vs_apng.html
The Phantom Open Emoji project is using APNG for animated emoji. Just check the cheat-sheet here: http://genshin.org/poe/cheat_sheet
We'd love to show you APNG samples right here on kickstarter, but kickstarter alters embedded images which disables the animation. Hopefully this campaign will provide the tools and recognition for APNG that will help kickstarter and others properly support it.
APNG support is already built into a variety of browsers. FireFox and Opera support it natively and support can be added to Chrome with the APNG extension. There is also a patch submitted to Chrome to add APNG support and it will be accepted and integrated into Chrome core if the Google team sees there are enough people using APNG on the web. A few more APNG supporting software packages can be found here: http://littlesvr.ca/apng/
Currently the only real/robust tool to author APNG is the standalone command line "APNG Assembler" tool apngasm by Max Stepin. It is not available as a library and is ready for a big set of refinements and improvements. We believe if we make a new and improved version of apngasm we can help adoption and acceptance and quickly replace Animated GIF as the dominant web animated image format. So we've paired up with Max to [re]make the tools.
- Hard Light Productions is contributing as a group to implement APNG support in the FreeSpace 2 Open engine. They have reached the $2,500 mark and we will be implementing support!
- libGDX support has been promised [by a contributor] if the Java reach goal is reached.
- nanim animation editor nanimstudio would like to [re-]implement APNG support with the Java port.
What we'll make [Base Goal]
- Create a new version of apngasm in C++ as a library. Complete with new features like more finite timing, XML and JSON conversion lists and variable frame delay. PNG dis-assembly to break up APNG into individual PNG frames and corresponding XML or JSON lists will also be included in this core library.
- Provide a new version of the apngasm command line tool using our library as a back end.
- Packages/installers for apngasm for Debian and Ubuntu Linux, OSX and Windows.
- Provide a Ruby gem "rapngasm" with a native Ruby interface.
- A cross platform graphical APNG authoring tool to assemble sets of images into APNG, complete with all the options found in the new library such as the ability to set delay for individual frames and real-time preview.
Open Source Repositories:
We don't believe there is any benefit from not opening the sources to an OSS project right away. Mockup sources which will become the full repositories once we're funded.
New apngasm sources: https://github.com/apngasm/apngasm
GUI authoring tool sources: https://github.com/apngasm/apngasm-gui
Ruby apngasm [rapngasm] sources: https://github.com/apngasm/rapngasm
- [CLEARED!] $7,500: A Photoshop plug-in to export APNG from the Photoshop animation editor. There will not be a free version, but all backers over $10 will receive a license. Sales of the plug-in will help continue to fund APNG and graphical tools development.
- [CLEARED]$10,000: A Java port of the library so you can assemble/dis-assemble APNG natively on platforms like Android. iOS should be supported out of box with the C++ libraries, but just in case we'll verify and create a port or interface if necessary for Objective C and iOS at this level.
- XXXXX: GIMP animation editor -> This stretch goal will be moved to a separate project. In order to implement this *properly* we'll need a much bigger budget and we'll need to work with the GIMP core team. We are reaching out to them now and we'll be putting the project together as quickly as possible. Thank you for understanding and look out for this project in the future.
- $17,500: SVG+SMIL to APNG conversion features for all versions of apngasm.
- $20,000: Python native extensions
- $22,500: PHP native extensions
- XXXXX: Inkscape animation editor functionality will be moved to another project. In order to do it correctly we will need a bigger budget and we will definitely need the Inkscape core team to be involved. Thank you for understanding and look out for this project in the future.
*Sticker samples: All stickers are roughly 6.5cm * 6.5cm and made in high quality all-weather material (you can stick them on your car)
Genshin logo stickers are round with clear back:
*Animated emoji samples can be found here.
What you can do to help!
Aside from the obvious pledge we'd like to see everyone using and trying to use APNG wherever they can. The more Animated PNG is used the more recognition and support it will get. Of course a big problem is that APNG are difficult to author which is one of the reasons this project exists in the first place.
Basically APNG is a rebel format in that it is not accepted by the PNG group but it is accepted by many vendors and is even mentioned in W3C Standards(search "APNG" on the page). The group that created PNG also created a PNG like format for animation called MNG. MNG is not APNG. MNG is very very complex. MNG is so complex that despite being a "standard" it was almost universally rejected. Knowing that we needed a good and simple PNG based animation format engineers at Mozilla created the APNG standard which was significantly simpler than MNG. Unfortunately the majority of the PNG group wanted to believe that their MNG standard was the only true and proper standard for PNG animation and they rejected APNG which subsequently closed APNG off from becoming a standard anywhere else. It should be noted that some members of the PNG group did want to allow APNG as a proper standard.
What about SVG+SMIL?
SVG+SMIL is a really nice solution but it is not a solution for pre-compiled bitmapped graphics like APNG is. It solves different problems. There is however a total lack of authoring tools for SVG+SMIL and since we'd really like a great authoring tool for it you'll note that adding an animation editor to Inkscape complete with SVG+SMIL output *and* direct to APNG output is the last leg of our reach goals. PLEASE help us get to this because it will be awesome to have!
What about WebP?
Comparing WebP to APNG is like comparing Apples and Oranges. WebP is an up-and-coming web oriented image format from google. Part of the WebP standard mentions animation. WebP however does not currently have anything more than a sample implementation, and WebP will probably never be backported to older devices and software and may never be ported to a lot of software that already supports PNG. This means that if you start using WebP now you can expect a lot of people to not be able to view your images at all - whereas with APNG they will at worst simply see the first or fallback frame.
WebP solves different issues and has a variety of features, such as lossy compression profiles and filters that simply don't apply to PNG and will not be part of the simple APNG standard [though it could be noted these features and more were in MNG]. APNG and WebP are simply different, and though they solve some of the same problems they are not really competing formats. Ideally we'd like to see wide spread adoption of both formats on just about everything in the future - but we can have and use APNG right now.
What about MNG?
If APNG is a screwdriver MNG is a Swiss Army Knife with all sorts of little tools, one of which being a screwdriver head that is sort of awkward and difficult to use. MNG has a lot of compelling features that sound great but the reality is all these features made MNG difficult to implement. MNG isn't a simple [screwdriver] "frame based" format. Instead it has a bunch of small embedded tools [Swiss Army Knife] to create animations. For example it contains individual image objects/sprites and these are manipulated through some sort of animation instruction system that is embedded in the image - and variations of sprites are stored as delta fragments, and there's additional support for these fragments to be in transparent JPG which is a questionable standard on its own and seems self defeating in a PNG based standard...? If you want just a frame based animated image APNG does the job and is simpler, if you want a complex format that has individual image fragments and scripted action then SVG+SMIL is your solution; MNG is too complex to outdo APNG and too inflexible to outdo SVG+SMIL.
Risks and challenges
Since Max, the author of apngasm, has already provided a working and proven base and he is working with us (and will take a fair share of the money collected here!), Rei has written image parsing libraries in assembler, and our backup developer Kou has written a variety of parsers and converters for formats far more complex than APNG we don't see any real issue with the actual development.
There is however the real risk that APNG will not be generally accepted and awareness of the format will not be raised. Even kickstarter converts our APNG images to standard PNG - culling the animation frames in an attempt to save space and killing the animation. It's very possible many existing implementations could do the same so making as many developers aware of APNG and to make sure their systems are APNG compatible could be our biggest problem. Of course even if APNG does not become an accepted standard on the web it is a very usable format for a variety of applications, so having better tools and libraries certainly can't hurt.Learn about accountability on Kickstarter
Have a question? If the info above doesn't help, you can ask the project creator directly.
Support this project
- (30 days)