<p><img src="images/large-pr.png" alt="" title="large pr"></p> <p>Before anything else, I am not going to explain in-depth why large pull requests are very detrimental. Some articles are already doing that very well. See external links below.</p> <p>In short, they take a long time to review, it is easier to miss some parts and even issues, they might be blocking other pieces of work, and so…
<img class="real-size" alt="preview" src="images/preview.png"/> <h2>What is a CLI?</h2> <p>To start with some definition, CLI stands for <a href="https://en.wikipedia.org/wiki/Computer_terminal" title="cli">command-line interface</a>.</p> <p>This is what you use every day with <code>git</code>, <code>curl</code> or other common commands, they are all CLI tools. They are running through what is…
<p><img src="images/pact.png" alt="pact" title="pact"></p> <p>If you are commonly using <a href="https://pact.io/" title="Pact">Pact</a> for contract-testing between your backend apps and your front-end apps, there is a little tool that might save you a lot of time.</p> <p>Contract testing, in general, is a good way of understanding the impact that back-end API changes may have on clients…
<p><img src="images/somajs-thumb.jpg" alt=""></p> <p>soma.js version 2 has finally been released!</p> <p>Even though it shares the same goals as the previous version, the version 2 is completely different.</p> <p><strong>What is soma.js?</strong></p> <p>To set up a landscape, soma.js is a framework created to build scalable and maintainable javascript applications.</p> <p>So yes, that's another…
<p><img src="images/soma-template-events-thumb.jpg" alt=""></p> <p>As a reminder, <a href="http://soundstep.github.com/soma-template/">soma-template</a> is a DOM-based web template engine that will help you insert content in html pages with native DOM manipulation.</p> <p>Events have been added to <a href="http://soundstep.github.com/soma-template/">soma-template</a>. You can now easily add user…
<p><img src="images/soma-template-thumb1.jpg" alt=""></p> <p>soma-template is a web template engine. The library aims to help developers insert data in their html applications using native DOM capabilities.</p> <p>Most web template engine today are "string-based", which means they will compute a string with a set of data, JSON data very often, and insert the result using the <code>innerHTML</code>…
<p><img src="images/soma-events.jpg" alt=""></p> <p>At some points, any developer will read something about <a href="http://en.wikipedia.org/wiki/Loose_coupling">loose-coupling</a> and the <a href="http://en.wikipedia.org/wiki/Law_Of_Demeter">Law of Demeter</a>.</p> <p>It is usually happening when you are writing code that becomes a bit larger and you start to have difficulties to scale it up,…
<p><img src="images/infuse-js.jpg" alt=""></p> <p>Infuse.js is an IOC javascript library (<a href="http://en.wikipedia.org/wiki/Inversion_of_control">inversion of control</a>).</p> <p>Using rules based on properties and paramaters naming, you will be able to inject data in functions or objects.</p> <p><a href="https://vimeo.com/49305951">Quick video for the impatient</a>.</p> <p><strong>Why would…
<p><img src="images/somajs-router.jpg" alt=""></p> <p>I wrote a router plugin for soma.js to create internal routes in a web app.</p> <p>The plugin is based on the amazing library <a href="http://davisjs.com/">davis.js</a> (thanks a lot to the author <a href="https://twitter.com/#!/olivernn">Oliver</a> from <a href="http://new-bamboo.co.uk/">New Bamboo</a> for the help). It uses the HTML5 history…
<p><img src="images/displacement1.jpg" alt=""></p> <p>I wrote a javascript displacement map filter, mostly as an experiment, this graphic technique has been widely used in Flash.</p> <p>Check out the following demos:</p> <ul> <li><a href="/blog/experiments/displacement-js/heart/">interactive demo</a></li> <li><a href="/blog/experiments/displacement-js/photo/">picture demo</a></li> </ul> <p><a…
<p><img src="images/jsdetection-thumb.jpg" alt=""></p> <p>This is a motion detection experiment in javascript, and before starting any explanation:</p> <p><a href="https://soundstep.github.io/magic-xylophone/app/index.html">Click here to see the demo</a>.</p> <p>To see this demo with your own webcam, you will need to download a browser that enables some new features as explained <a…
<p><img src="images/jstracking-thumb.jpg" alt=""></p> <p>It is very often that I have to do video motion tracking for interactive video campaign in my daily work.</p> <p>If I'm used used to do that in Flash, I made a quick experiment to do the same in javascript.</p> <p>Thanks to <a href="http://vimeo.com/olofstorm">Olof Storm</a> who made me a perfect corner pin motion tracking in After Effects,…
<p>Now that we can easily create plugins for <a href="https://github.com/soundstep/soma" title="soma.js">soma.js</a>, I've created an image loader plugin.</p> <p>I've used <a href="http://thinkpixellab.com/pxloader/" title="pxloader">PxLoader</a> as a base and before any explanation, it looks like that:</p> <p>The advantage of using the plugin is that you are able to listen to these events…
<p>I've added a plugin system in <a href="http://github.com/soundstep/soma/" title="soma.js">soma.js</a> and a tutorial how to create a plugin on the site.</p> <p>It is quite simple and everything is explained in the tutorial step by step, but here is a quick overview.</p> <p>To create a plugin, you just need to create a function that will receive a soma framework instance and any additional…
<p><img src="images/somajs-intro-preview.png" alt=""></p> <p>We are excited to release a new Javascript framework called <strong><a href="https://github.com/soundstep/soma">soma.js</a></strong>. I am Henry Schmieder, London based web developer, and this is my first post on this blog. Romu and I have been working on this framework the last couple of weeks and I'm going to introduce it to you.</p>…
<p>If you are like me, you might have many accounts to online project hosting services. I have 1 codesion, 2 github and 1 beanstalk. On top of this you might also work at different places: at the office, at home, and so on.</p> <p>I like to use git with the command line and it took me while to find out some really useful commands to manage the ssh keys.</p> <p>All these services manage their…
<p>Hi,</p> <p>I wrote 2 quick scripts for After Effects to export properties to XML. I thought it might be handy for some of you.</p> <p>I mainly wrote them to export motion trackers to use in Flash afterwards, but you should be able to export other properties.</p> <p>To use them, do the following:</p> <ol> <li>In the menu: Preferences > General > and tick "Allow scripts to write files and access…
<p>Two new releases today, an asset loader and the SomaCore plugin: SomaAssets.</p> <p>The <a href="https://github.com/soundstep/AssetLoader">AssetLoader</a> library is a port from <a href="https://github.com/Matan/AssetLoader">Matan's AssetLoader</a> library to be event-based, it makes you able to load and manage multiple assets (image, video, xml, sound, etc) in your application.</p>…
<p>BinderUI is a debugging tools to help you create interfaces and debug values.</p> <p>Very often I’m sure you spend time building visual interfaces to set, to see and to debug some values. This can be useful for example to show to the creative (or even the client?) and extract the right values instead of tweaking thing for ages, I’m sure you know what I mean.</p> <p>That can be time consuming…
<p>I needed some knobs for a debug interface. I share this very simple class to use so you don't have to rebuild it from scratch, it should be pretty flexible.</p> <img src="images/preview.png" class="real-size" alt="preview"/> <p><a href="/blog/source/knob/knob.swf" title="Knob AS3">Click here to see the demo.</a></p> <p><a href="/blog/source/knob/knob.zip">Download source.</a></p> <p>The knob…
<p>I've added some more information on the <a href="https://github.com/soundstep/somacore_framework/wiki">SomaCore wiki</a>.</p> <p>You can find some code and explanation how to use, create and remove Wires within the framework, using injection or not. I also explained how to monitor and control the application flow with methods you are used to, such as <code>dispatchEvent</code>,…
<p>I'll be writing in the next days a series of <a href="https://github.com/soundstep/somacore_framework/wiki">wiki, manual, best practices</a> with tons of code example. It should help you to get started. I will be explaining in-depth how SomaCore works and what you can do with it.</p> <p>The first one is about the <a…
<p>SomaCore is a lightweight AS3 MVC event-based framework that provides a very flexible structure for your Flash, Flex and AIR projects.</p> <p>The main addition in this version 2 is Dependency Injection, but it is up to you how you want to use SomaCore because injection is optional.</p> <h2>Information</h2> <p><a href="/blog/downloads/somacore/">SomaCore Main Page (tutorials, demos,…
<p>Another SomaCore demo is available on <a href="http://github.com/soundstep/somacore_demos/tree/master/SomaCoreTwitterSearch/">Githug</a> or on the <a href="/blog/downloads/somacore/">SomaCore</a> page.</p> <p>This demo is relatively simple. Keywords are sent to the Twitter API using a command that is dispatched straight from the view as it is something possible with SomaCore. A command is…
<p>I've added a very simple SomaCore Hello World demo.</p> <p>The application creates a wire, a view and a model. The view dispatch a command to request a message, the command ask the data to the model, the model gets the data and dispatch an event to notify the framework, the wire catch the event and update the view with the message.</p> <p>That's all!</p> <p>The demo is also available from the…
<p>I've decided to put my framework SomaCore on Github.</p> <p>SomaCore is a lightweight event-based MVC framework written in AS3 that provides a structure, models, views management and commands. Somacore can be used for Flash, Flex and AIR projects.</p> <p>SomaCore does not use any external library and does not use dependency injection.</p> <p>SomaCore is completely event-based and use a concept…
<p>I've updated SomaUI, the AIR tool that generates the draft of a Flash website build with SomaMVC. Sorry for the late update but you can now use the generator with Flex 4 and target the Flash Player 10.1.</p> <p>To avoid a confusion, SomaUI is an AIR tool that generates AS3 sources build with the AS3 MVC Framework SomaMVC.</p> <p>SomaMVC has nothing to do with SomaCore, they are 2 different…
<p>Here is how to bring life to an image using the filter DisplacementMapFilter.</p> <p><a href="/blog/experiments/displacement/main.swf" title="Bringing life to an image">Click here to see the demo.</a></p> <p>I got the idea from a video made by <a href="http://twitter.com/chad_perkins">Chad Perkins</a> (thanks Chad, you're giving me a lot of inspiration!) where he is showing this effect in After…
<p>Let's start by a <a href="/blog/experiments/superwhite/main.swf" title="Super White Effect">Flash demo here</a> and a bit of explanation below.</p> <p>While training myself to get better with After Effects, I stumble on a very interesting thing about color.</p> <p>I was watching a <a href="http://twitter.com/chad_perkins">Chad Perkins</a> video about <a…
<p>Finally, BaseUI version 4 is released!</p> <p>If you don't know what is BaseUI, it is a lightweight layout manager written in pure AS3 that is helping you to handle the position and size of your elements in a Flash layout (a site, an application and or whatever you can build with AS3).</p> <p>More specifically, it is calculating positions and size when you resize your browser to update your…
<p>I found out that there's a bug with the badge used to install an AIR application with Firefox from version 3.6.4 until today's version (3.6.6).</p> <p>If you don't have the AIR runtime installed a Adobe UI should pop up to show a progress bar and install the runtime. The trouble is that nothing happened at all after clicking on the YES button.</p> <img class="real-size"…
<p>Hi everyone,</p> <p>In case you didn't notice that I released an new minimal AS3 MVC Framework some time ago: SomaCore.</p> <p>I call it minimal because it is very lightweight, yet powerful and non-intrusive. You don't have much to learn if you're used to MVC framework of any sort.</p> <p>I made an update today, the second one in months because it won't change a lot, the structure is there.</p>…
<p>Firefox 3.6 introduced a very annoying bug, and only on a Mac.</p> <p>If you're using somewhere a <code>MouseEvent.ROLL_OUT</code> or <code>MouseEvent.MOUSE_OUT</code>, this event will fired even if you only click on a object without leave the object with the mouse.</p> <p>The select box in the middle of the page doesn't work because a roll out event is fired when you click on it.</p> <p>I…
<p>I needed to watch objects to know if they were properly garbage collected or not, so I've added a GC Monitor in the SomaCore Debugger. It is pretty easy to use and I think very useful if you start to care about the memory that the Flash Player is using and global performance.</p> <p><strong>Demo Flash (garbage collection monitor)</strong></p> <img class="real-size" src="images/preview.jpg"…
<p>I've updated the debugger used in SomaCore. You can know click on everything to parse the objects and I've added a FPS + Memory meter. I'll continue to improve the debugger with my needs, next step might be a Garbage Collection monitor.</p> <p><a href="/blog/source/somacore/demo/Flash/SomaColor/SomaColor.zip">Click here to see the debugger in action.</a></p> <p>Tips: if you close the debugger,…
<p>Following my previous post about <a href="/posts/old/mvc-design-philosophy/">MVC design philosophy</a> and an AS3 MVC Framework that suit my needs and expectations, I've started using SomaCore in a relatively complicated AIR modular application, and I'm really enjoying it.</p> <p>I made some small changes to the code and I thought it would be a good idea to provide you the sources. SomaCore was…
<p>Hi Everyone,</p> <p>This is not exactly a "Soma release", but I would like to share with you my last work so we can talk about: A new AS3 MVC Framework with its own design philosophy.</p> <p><strong>Why another AS3 MVC Framework?</strong></p> <p>I've been working with different Frameworks in the last years, such as <a href="http://puremvc.org/">PureMVC</a>, <a…
<p><strong>SomaUI v2.0.2</strong></p> <p>-bug fixed: page selection in the page tab wasn't working properly -bug fixed: layout tab and layout properties wasn't correctly updating the XML -bug fixed: Flash Player wasn't correctly updated in Page Settings tab when opening a project -update: new page auto-name renamed to Page1, Page2, etc -update: Soma v2.0.2</p> <p><strong>Soma v2.0.2</strong></p>…
<p>New version available (v2.0.1), small bugs solved with the Page Manager.</p> <p>Here is how I will update Soma and SomaUI. There is 3 numbers in the version number:</p> <ol> <li>the first is a major update, where possibly everything change, probably not usable with previous sources.</li> <li>the second is a medium update, the structure might slightly change and it might need refinement to match…
<p>I finally release the version 2 of the framework Soma MVC and its source code generator SomaUI. It has been a long run since the last release, months of works and nights spent to make your life easier! But here we are.</p> <p>Firstly, I'd like to thanks <a href="http://www.lessrain.com/">Less Rain</a>. Not only they are amazing and skilled people, but they also have been very supportive to me.…
<p>Hi,</p> <p>Small update about my work on SomaUI v2 and Soma v2. I can say that:</p> <p>- Soma v2 is done (the as3 framework) - Soma Documentation is done (asdoc) - Soma Protest is ready (site demo) - SomaUI v2 is done (the source generator, AIR-java application) - SomaUI Demo is done (a SomaUI project demo)</p> <p>It has been a huge amount of work, especially with the generator, I can't count…
<p>Hi everyone,</p> <p>I've been working on the version 2 of Soma and its generator. I'm pretty busy so I didn't post for a while, but I'm going to give you some news today.</p> <p>We've just released at <a href="http://www.lessrain.com/">Less Rain</a> the <a href="http://www.neoderma.com/">Neoderma international website</a>. It is not a "crazy-kick-your-ass-3D-website", nothing is complicated…
<p>SomaLoader is a lightweight loading manager written in AS3. You can load many types such as images, swf, xml, text, xml, css, fonts in a swf, mp3, variables and binary data. Items can be added, removed and changed in position from the queue even while loading.</p> <p>SomaLoader provides a simple and unique interface for massive loading, to listen to events and access to data.</p> <p>SomaLoader…
<p>I've made a minor update that brings us to Soma 1.6.4 and SomaUI 1.0.6, you can get the new versions from the SomaUI page.</p> <p>In the XML Site Definition, the attribute urlfriendly in a page node builds the URL for the deep-linking and in previous version this attribute had to be unique through the XML. It is no longer the case, you can now have identical parts in the URL.</p> <p>This wasn't…
<p>I made a small update in the SomaText class (also Soma and SomaUI because of a bad behavior with the TextField class. The TextField instance is losing the HTML formatting in case you set the htmlText and then set the multiline property to true (the other way keeps the formatting).</p> <p>To reproduce the behavior:</p> <ol> <li>create a next TextField instance</li> <li>set some htmlText with…
<p>Another tutorial but for the <a href="http://www.flashdevelop.org/">Flash Develop</a> users this time. I explain how to create a Flash Develop<a href="http://fdt.powerflasher.com/"></a> project and compile the site after exporting a project from SomaUI.</p> <p>Thanks to <a href="http://labs.hellokeita.com/">Keita</a> for this one :)</p>
<p>A new tutorial is available for Soma (Flash AS3 MVC Framework), I explain how to create a <a href="http://fdt.powerflasher.com/">FDT</a> project in eclipse and compile the site after exporting a project from SomaUI.</p> <p>It also shows you how I use a SWC file as a Flash Library for a pure actionscript project.</p> <p>Hope it is useful for all the FDT user (thanks <a…
<p>A StyleManager and SomaText classes have been added to the Soma Framework.</p> <p>You can handle your text fields with external extended stylesheets for a better style management without the need to recompile.</p> <p>SomaText is a class that is extending the Flash built-in class TextField with many features to make you life easier with texts and styles.</p> <p>A global default stylesheet can…
<p>After months working on my own framework and successfully using in small to large projects, I'm happy to give you access to SomaUI and Soma.</p> <p>As a quick description, Soma is a MVC (<a href="http://en.wikipedia.org/wiki/Model-view-controller">Model-View-Controller</a>) framework and SomaUI is a tool to generate the base of a Flash site in AS3, based on Soma (available for windows, mac and…
<p>It seems the problem explained in this <a href="/posts/old/flex-sdk-31-bug-with-swc-and-generictag-fix-update/">post</a> and this <a href="/posts/old/flex-sdk-3-bug-with-swc-and-generictag/">post</a> has been solved in the Flex SDK 3.2 release.</p> <p>A good thing then :)</p>