Oliver16Years last won the day on January 15

Oliver16Years had the most liked content!


  • Content count

  • Joined

  • Last visited

  • Days Won


Oliver16Years last won the day on January 15

Oliver16Years had the most liked content!

Community Reputation

146 Specialist

About Oliver16Years

  • Rank
    Advanced Member

Profile Information

  • Gender
  • Location
  • Interests
    Banner Ads, Literature, Javascript, Baroque Opera

Recent Profile Visitors

2,557 profile views
  1. Thank You Emmanuelluloa! Great tutorial video and tool! It is really helpful, I lovet it!
  2. looking forward to your new exporter tool. I build banners and would be interested in seeing what you are doing.

    1. Oliver16Years


      I'll give You a long-long trial when it is ready to publish. My target auidence is advertising agencies. They are suffering with slow tools and unskilled crew. I know because they are overwhelming me with campaigns :).

      Keep in touch until that.

  3. I am working on a banner exporter which can speed up the ad developement by 5 to 8 times. It is written in NodeJS and residing in Photoshop. A few months and I will release it on Adobe exchange. I can't say more at the moment but it is fast and producing 100% bug free DOM/SVG/Canvas ads.
  4. I just guessed the mechanism of compress-or-die. It can be really helpful for most people. The .jxs uploader is really a nice and generous part Christoph. The downside for me is: i can only use MIT/free licensed binaries or .js code in my engine. So If I decide to use .tjpg spirtesheets, I have to write the exporter from the available free and offline parts.
  5. As I see now transparent .jpg sprite sheets could be an optimal solution to store all the graphical elements of an ad. If we could automatically add more quality to red areas ( they are often blocky ). Then we export all the assets in raw 32bit .png format, pack them into a single spritesheet, separate it's transparency into a grayscale .jpg and it's rgb values into a non transparent .jpg, load them in the ad, reassemble the rbg values with alpha values, split them with canvas and json data, and finally put them into <img> || <canvas> elements.
  6. This is a fine solution but, some adServers wont' allow .json files so the data must be embedded in the html. Other problem is when you pnquant an image, the size of the transparent area and the colors of the various packed images affecting the overall quality of the 8bit .png as i noticed. ( can be fine with Christoph's transparent jpgs ) Since Google messed up the background-image displaying of Chrome I switched back to simple <img> tags, which means the only way to split up a spriteSheet is via js+canvas pixel manipulation, which can be slow, but possible. Because of these, it seems like the separate Base64 encoded, inline .pngs in <img> elements is the simplest way. This adds ~1.33% file size overhead, but removes all the asset http requests and the quality of the .pngs are the maximum possible.
  7. Must be difficult to rotate these assets. I think You have to determine their transformOrigin somehow. I saw this solution just after Flash was killed. Hard to win the battle versus slicing + CSS positioning with bare PS + Sublime.
  8. Interresting. I am looking for ways to reduce my ads size more than Photoshop can. Do You plan to relase the compressor as a binary? Are these transparent .jpgs useable in banner iFrames?
  9. Can I ask what compressor is running on the backend? Is it Your own binary or pngquant/ImageMagick? I have tested dozens of png optimizers but pngquant was the only useable.
  10. You can invoke functions from timeline: mc1.add( function(){ mc2.play(); }, 7 ) Set up some variable and check it from the function if it is the first run or not. https://greensock.com/docs/#/HTML5/GSAP/TimelineMax/add/ https://greensock.com/docs/#/HTML5/GSAP/TimelineMax/play/ https://greensock.com/docs/#/HTML5/GSAP/TimelineMax/pause/ If You are in a banner's iFrame, You can delete the getElementById(); lines because IDs are present as global references to the DOM elements.
  11. No, sadly no. Png8 is switching to 8 bit .png but it is not optimized. It is 100% pngquant quality. Lets say generator is producing 20k png8s with pngquant. But if You hack/patch whatever the source code, you can set the desired quality and the output can be 10k. Adobe just left the pngquant process call with default settings. I am just working on my banner engine and migrating to generator from superPng. Here You can see the difference in file sizes from 0% to 100% pngquant qualities:
  12. This is very cool idea, but too generic. Can't optimize .pngs event though can use pngquant as a background process. You have to corehack generatorCore to allow optimization. But if You put a gulp watch on it's output folder It can save a lot of time.
  13. I have noticed that they intended to mean "scaleable" when they ask for "responsive" ad. This is simplifying the solution, which is already not an easy one when You have to make an expanding rich media banner. /** * @global W {Nubmer} - Width of the ad * @global H {Nubmer} * @global Stage {DOMElement} - Main containeer of the ad */ function resizer() { var scaleFactor = Math.min( window.innerWidth / W, window.innerHeight / H ); TweenMax.set( Stage, { scaleX: scaleFactor, scaleY: scaleFactor, transformOrigin: '0% 0%', left: ( window.innerWidth - scaleFactor * W ) / 2, top: ( window.innerHeight - scaleFactor * H ) / 2 }); } window.onresize = resizer; setInterval( resizer, 100 ); Setinterval is needed because one of the contraptions can't do it's job. I would require a working solution/example + an expanding template from the media agency to reverse engineer them before starting the task.
  14. I see cloudflare CDN links in the html. What happens when You use these? https://support.google.com/richmedia/answer/6307288
  15. Are You using Cloudflare CDN to load GSAP? If Your answer is "yes", try this: https://s0.2mdn.net/ads/studio/cached_libs/tweenmax_1.19.0_643d6911392a3398cb1607993edabfa7_min.js Regards