Just a collection of random works – Mark Knol

Archive for 'Other'

Multi platform fun (4)

April 7th, 2013, under Other.

haxe-flashMy life as Flashdeveloper changed.
For some Flash is already dead since ages, but for me it’s an important part of my fulltime job. As Flashdeveloper, I’d love to point to the fact that Flash worked from browser x to browser z, but nowadays Flash is not that widely supported anymore. On desktop it was/is, but we cannot forget mobile and tablets these days. For a long time I thought that it would not change thát soon, but my mindset is changed. New challenges!

I got the overall feeling that our jobs as Flashdevelopers are changing, we are expected to create websites/games that work everywhere. The client requests and expectations have changed too. One language, all devices, same appearance. Its the developers dream, but its also an illusion. It would be so nice to just build only one product, which would be compatible on all devices, all old and newer browsers. In the real world of web development, a nightmare has born, because this is the reality: device XX version X.XX with browser X version X.XX does not support feature XX, but feature XX works unexpected, and scaling is messed up after doing XX. That is my experience on my first mobile project. I don’t like to complain, but mobile browsers are also messed up. The client does not care about this and the end-user doesn’t either, so that makes creating very rich web experiences complicated sometimes.

I see lots of Flash coders learn other stuff, some go native mobile, go HTML5, or do hardcore coding with shaders and stuff. So time to expand the view! I’m not that up-to-date with mobile and apps. I never gave myself time to actually create mobile apps, it looks like a complete other world compared to ‘normal’ and the interactive experience sites I’ve created before. I dread to learn Objective C or Java *only* to create an platform specific application. No one can look into the future, but I hope over time web apps will survive in a way. I also hope mobile browsers will become more solid, because I like the web more than apps.

In the meanwhile

.. I start to like Haxe. Haxe is perfect for the transition, it brings several worlds more close to each other. It’s a code language with very nice features, when compared to actionscript 3 (which I personally really love). For my first commercial game at MediaMonks we used the Flambe framework, a mobile browser game. Flambe renders very well to both Flash and HTML5. For Flash it is using Stage3d, for HTML it draws on canvas, WebGL is coming soon too. You can still use Flash to create animations, these can be converted using Flump. This is a tool to suck the sprites+animations out of Flash. Flambe has nice integration of Flump exported animation. Yes, the workflow is a few steps back, but since you can use Flash IDE as tool, its doable and fun! (Oh and with fun I mean to create the game using this new workflow, not to debug on all devices; that sucks badly). Flambe is a very good Haxe framework for HTML+Flash, so if you don’t know it yet, check it out. My second project with Haxe/Flambe,, is a ‘game’ where you can fight with social data, it works on lots of new mobile devices.

There is still a lot to learn about Haxe, that’s the exciting part :) You can use Haxe to target HTML and Flash like I did, but you can also target PHP or nodeJS, or if you like to target mobile apps using c++, thats all possible. I have never used nodeJS or c++, so that makes me wonder if it makes development more easy or difficult. But I really like the feeling I’m very close to lots of unknown platforms with the same toolset. The language itself is also very nice, and the upcoming Haxe 3 has neat new features. It would be nice if Haxe gets a little bit more attention, since the idea is pretty good.

“Flash is just a platform that you can target if you wish”
(quote by Nicolas Cannasse, founder of Haxe)

HTML5 (in modern environments) works pretty good. In the early days, you had to build a HTML alternative for Flash. Now, Flash is used a lot as fallback for HTML5. Since Haxe, we can target HTML and Flash at the same time, so that give the choice of technology per platform (like Flash works better on desktop, HTML better on mobile). At first it looks like Haxe was very limited in control, but with a bit knowledge and even when you use a frameworks like NME or Flambe, you can still build own custom components and create professional applications/games. You have more control then you would think, conditional compilation is very useful (also search for haxe magic). So the results of the projects are very promising!

I’m very proud of both of my projects at MediaMonks, since I had to learn a lot of new things in a short amount of time. That said, I’m very interested in creating games, this is a new world and gives me more challenges as developer. It makes me want to create custom tools and useful classes, optimize workflow, relearn about performance optimization and follow slightly other type of developers with cool interesting approaches. I already met some nice Haxe and game developers. I will probably share related stuff on twitter (@mknol) or via this blog, so keep in touch!

Tagged with , .

fun challenge: break the code (2)

October 25th, 2012, under Other.

I found this challenge from my colleague who rocks on hack-contests. It cracked my mind, but I thought it was fun to create a mini contest on my blog too. Just to check how smart my lovely readers are!
All you have to do is break the code and find the secret key.

Break this code!


Hint: uppercase seems legit.

Can you find it? Post the answer + the time you spend on it in the comments below.

Quick post, this time no Flash but a Photoshop action that saves me a lot of time. :) First of all, I don’t use slides in Photoshop, but often I just make a selection, copy/paste that in a new window and then press ctrl-alt-shift-s to ‘save for the web’. I am doing this a lot of times when slicing objects. Since a while now I use an action for that. I hope this will help you too work faster. Key thing you have to remember is to create a selection and press F2..

It automatically does the copy/new/paste+’save for the web’ for you.

Download photoshop-action

ps. You can install the action by dragging the .atm file to the actions-panel :)

I’ve updated my Image class. It is irritating flashsites break the right-click contextmenu. Well, I can’t fix that and Adobe should look at that, but I think it would nice to add some of the browser – features to my image class.

Currently I have these options added to the Image class:

View image
Views image in new window/tab. I used NavigateToURL to make this happen.

Save Image as..
Saves image on your computer. I used my ImageClass.saveLocal() to make this happen. This is only available within FP10, but I think this is no problem anymore because < a href = "" > 93 % (September 2009) has FlashPlayer 10, so most people have it, and I don’t support outdated software ;)

Copy Image location
Copies the url to the clipboard, using System.setClipboard(url). It’s a pity I can’t create a ‘Copy Image’ function, because pushing bitmapdata into the clipboard is only supported in AIR.

Send Image
Sends the url to the mail-client, using “mailto:&body=” + src. Also a pity; I can’t add the image directly into the mail.

How to enable the contextmenu:

import nl.stroep.utils.Image;

var myImage:Image = new Image("myImage.jpg");
myImage.enableContextMenu = true; // enable it!

I still love this class, I use it a lot. I want to encourage you to please add these kind of usability things to your apps / websites. And share them! Yes, it takes some extra time to create/add it, because this IS the finishing touch, but a lot of people will like this kind of features.

Check out the Image class atgooglecode

Tagged with , , .

I’m on Smashing Magazine (3)

August 22nd, 2009, under Other.

smashing magazineQuick post: Smashing Magazine posted an article about Algorithmic and Code Generated Artworks. Some of my artworks are on that list. I love the way they describe the code generated artworks:

The most interesting thing we like about art is that it is independent of any medium; an artist can express himself without any limitations or restrictions by creating a wonderful and creative piece of art. A creative artist can come up with an inspirational and motivational thought and put that in their artwork in such a way that it becomes a masterpiece that dazzles our mind.

In this post we present some amazing examples of Code Generated, Algorithmic Abstract Artworks and CG Artworks. There are some really interesting platforms and libraries; by using them, artists can create unusual artworks. Most popular among these libraries are Flash Scripting, Generator.x, Processing (Java Based), openFrameworks (C Based) and for creating CG Art, artists are often using 3D Max, Maya, Zbrush, V Ray, Photoshop etc.

Hopefully, you’ll love them and will find them creative or inspirational. Please explore the further works of the artists linked below and also feel free to suggest other artworks in the comments to this post.

Smashing Magazine is a weblog dedicated to web-developers and designers and is a great resource with great links and inspirational articles.

Check it out:

Happy Birthday Stroep (2)

August 21st, 2009, under Other.

1-year of StroepThis was the first hello world post on I’m very proud to blog for more than a year, but tomorrow is my real birthday :)

Tagged with .

Hyper cache pluginI installed the ‘Hyper cache‘-plugin yesterday. It minifies my output-html and posts are saved as static files on the server and the plugin enables gzip-compression. It automatically clears cache and starts over after one day. I don’t like to promote shit, but this plugin rocks! :D

Minifiy html profit

Homepage index before:45,5 Kb
Homepage index after:44,7 Kb
Total:0.8 Kb

Well, this doesn’t change the world. But check this out:

G-zip compression profit

Documents (2 files)18 KB (49 KB uncompressed)
Images (44 files)124 KB
Scripts (6 files)35 KB (112 KB uncompressed)
Style Sheets (1 file)3 KB (21 KB uncompressed)
Total:180 KB (305 KB uncompressed)

Do you see? My content is 305 KB without compression. Now it is served as 180 KB! ;) Anyway; G-zip compression is very good if you need to safe bandwidth, but don’t forget you have some higher server load. I guess it also uses some more CPU at the client side. If you want to learn more about g-zip compression, it is already better explained on

Sending compressed data is very interesting. I think the world would be better place if every wordpress-installation has a cache plugin. :)

Tagged with , , .