mar27th

CS5 is close">The Flash Builder 4 is here and the CS5 is close

Nicolas Antille Flash/Flex Read on

Arti­cles on this blog usu­ally focus on use­ful doc­u­men­ta­tion rather than buzzing around like most blogs on the web.

Once in a while though, we do it. So Flash Builder 4 is finally avail­able ! The pric­ing is around the same as the pre­vi­ous ver­sion, Flex Builder 3. $250 for the stan­dard ver­sion and $700 for the premium.

Among the huge improve­ments in the Flash work­flow, the data-centric, skin­ning and styling fea­tures are just what we needed. Have a look at the grid of fea­tures for more details.

Flash Cat­a­lyst wasn’t men­tioned any­where but I guess it will be part of the CS5 release. Until then you can still play around with Cat­a­lyst beta 2.

Talk­ing about buzz-like news, Adobe made a count­down for the CS5 launch with a wooden font. Now 16 days : 01 hours : 08 min­utes : 21 sec­onds. You got that much time to buy a new 64-bit com­puter for After Effects CS5. Yes, Adobe asks you to con­tribute to the ram­pant con­sumerism. What will your answer be ?

jan27th

When Flex Builder doesn’t want to build

Nicolas Antille Flash/Flex Read on

A very short arti­cle here about a prob­lem that is not a prob­lem that still remains a problem.

Say you got a nice shiny Flex project with Locales and inter­na­tion­al­iza­tion all around. You want to trans­fer the whole project to another developer’s work­space on another machine. The tar­get has got a fresh Flex Builder install, noth­ing cus­tomized and all. You import your project within the work­space and everything’s fine EXCEPT Flex Builder starts yelling about its inabil­ity to open a Locale (in this case a Frog).

A quick google-pet-sniffing tells the poor tar­get that he has to run a script on DOS or on the Ter­mi­nal to copy a bunch of files (see Adobe labs and Herreman’s arti­cle). Fine, he’s got a French locale. So he goes on the Flex Builder again which is still yelling with a deadly cross. First thing you do : close the project and re-open it. Sec­ond : close Flex and re-open it. Third : close the com­puter and re-open it. Fourth : close the office and…(what would you do next ?)

I’ll save you a cou­ple of min­utes here. The only solu­tion is to kill the project, delete it (not the files, just the project) and import it anew. And THAT WORKS ! Don’t ask me why.

It hap­pened to us a few times, not only in this case but on some other con­fig­u­ra­tions where Flex Builder shows PTSD symp­toms and still wants to dis­play a white on red cross when everything’s fine. Here, the fact that we imported the project after the mod­i­fi­ca­tion fixed some­thing. But some­times you haven’t done any­thing like that and Flex Builder (or I’d rather say Eclipse) is stuck in a state with your project. Just cre­ate it again even if it’s a hassle.

By the way, it’s not lim­ited to the Flex Builder. Flash got sim­i­lar prob­lems some­times. Like you want to save a class and com­pile but noth­ing looks like the changes were applied, except your file IS saved. You’d have to recre­ate an .fla and it’d work.

The Answer

The Answer

That’s about the same solu­tion as kick­ing a device to make it work prop­erly again. I can’t wait to see in the next bad movie a hacker clos­ing the project and import­ing it again. “Haha look at that !”. He might not look as cool as beat­ing an engine in a spa­tial mod­ule with a wrench (remem­ber Armaged­don, that ris­i­ble movie ?) but given what you can see in block­busters, I say, why not ?

jan16th

AIR crashes upon PDF display on MacOSX">AIR crashes upon PDF display on MacOSX

Nicolas Antille Flash/Flex Read on

Work­ing with pdf doc­u­ments is really nice now that it’s part of the work­flow of a major­ity of com­pa­nies. But the Adobe AIR team still has a lot of work ahead of them to let flash han­dle pdf. Now, the only pos­si­bil­ity we have to com­mu­ni­cate with a pdf within an air appli­ca­tion requires four platforms/languages : as3->html->javascript->pdf. No won­der there are bugs com­ing one after the other.

Toxic snow con­t­a­m­i­nates the AIR

Or is it the other way around ?

We recently put to use the fea­ture of dynamic pdf load­ing in AIR and we met a lit­tle prob­lem. If you try to open a pdf doc­u­ment within the HTM­L­Loader on a MacOSX Snow Leop­ard, your appli­ca­tion mis­er­ably crashes. I’m sur­prised I didn’t find much infor­ma­tion but a few forum threads about this.

-

Ran­dom fact n°2401 : snow leop­ards do eat any­thing you throw at them

You can read about it on google groups but you won’t find any clue to a solu­tion what­so­ever. Doing what Hit­omi Kudo from the AIR team advises doesn’t change anything.

The prob­lem either comes from Adobe air + pdf or from Snow Leop­ard. There were many changes under the hood of Snow Leop­ard. The after effects were quite sim­i­lar to the release of Vista. A lot of things didn’t work and required new dri­vers and blabla. So I wouldn’t be sur­prised Adobe didn’t see this one com­ing. — Just like Apple’s sly attempts to avoid the Flash Player on the iPhone — (sub­lim­i­nal message).

Still we’re stuck with this prob­lem and there is no way to dis­play a pdf in an air appli­ca­tion under snow leopard.

We also tried an advice on this post on the adobe forum with­out suc­cess. It basi­cally says you should add “file://” when you call a file on MacOSX.

Alpha…ville

It is only nat­ural that you would enable the alpha on your appli­ca­tion so that your rounded bor­ders or what­ever look nice. Well for­get that if you intend to use pdf doc­u­ments ! Enabling the alpha on the appli­ca­tion level is cause to so many issues that it reminds me of the “trans­par­ent wmode” beast to avoid at all cost on web­sites. This isn’t the web though. Per­haps if we shout all together at once “we want alpha”, some Adobe devel­op­ers will hear us wher­ever they lurk.

WE-WANT-ALPHA ! *pretty please !*

Überlays

To com­plete the pic­ture, we found yet another annoy­ing bug. In the same con­fig­u­ra­tion, an air appli­ca­tion with a pdf within an htm­l­loader, the htm­l­loader is mask­ing every­thing that should be on top of it. So if you have a com­bobox just over your htm­l­loader, try and click on the com­bobox and the panel which expends down will be masked, as if it were in a lesser child index than the htm­l­loader instance. What a drag.

Inte­grat­ing the PDF reader into AIR does seem to be a huge task for the amount of bugs we get with each update…

How about AIR 1.5.4 ? or AIR 2.0 ? Let us be patient.

jan14th

3DS Max with proxies">Heaps of clones in 3DS Max with proxies

Nicolas Antille 3D/Compositing Read on

Play­ing around with a lot of meshes in Max is an easy way to crash it. The autosave fea­ture is put a lot to con­tri­bu­tion (viva autobak.max !). Same rou­tine for After Effects by the way…

In an under­go­ing project, we needed at some point an array of 96*16 (not a zil­lion) meshes, sim­ple ones as they are. So I hap­pily used the Array tool, cloning en masse. As Max started to cough, I saw a repet­i­tive pat­tern of the pre-crash effect. Noth­ing I could do to save him. And even when there was no crash, the UI was utterly slow.

Purokushi

I lookep up solu­tions about han­dling lots of meshes at once and I found mrProxy to be exactly what I needed. This arti­cle on cgso­ci­ety talks about the new fea­tures of Max 2010 and shows a lit­tle what you can do with mrProxy and huge forests in archi­tec­tural ren­ders. It is def­i­nitely a great thing like the Archi­tec­tural Mats and Pro Mats that the arti­cle men­tions. The thing is how­ever, prox­ies are noth­ing new. I don’t really know why they talk about it as a new fea­ture here. Per­haps the fact it is “new” is that it is shipped with Max…

If you’re on VRay, there are also vRayProx­ies but let’s talk about Men­tal Ray Prox­ies here.

Gen­er­ally speak­ing, a proxy is a kind of por­tal, a gate­way you must pass through in order to use some resource or pro­duce something.

In net­work­ing that’d be to use a con­nec­tion with the advan­tage of secu­rity and dis­ad­van­tage of slower speed depend­ing on where your proxy is phys­i­cally located.

In pro­gram­ming, a proxy is often thought as a design pat­tern and imple­mented as a com­mu­ni­ca­tor with some data source for instance, you don’t deal directly with the data source but use prox­ies instead.

Metal type models in typography

Metal type mod­els in the early print­ing, a proxy you can take in your hand !

In 3D, there are sev­eral kinds of prox­ies too. By default, Max has a bitmap proxy fea­ture in the ren­der­ing options but let’s talk about mrProxy which is here an object like any other you can use on your scene.

mrProxy is a tem­po­rary replace­ment for your mesh on the scene. That helps to save some pre­cious mem­ory that men­tal ray won’t feed upon, hun­gry as it is.

What the proxy does is, it rep­re­sents your model with a cloud of ver­tices, not too many so as not to slow the Max UI and you han­dle it in place of the real model. So you can repli­cate thou­sands or more instances of the mrProxy and Max is less of a slug.

Meshes, unite !

A few things to note. A Proxy by default doesn’t have the same mate­r­ial as the model, it doesn’t have any in fact. You might want to shift tex­tures from one proxy to another to make them look dif­fer­ent. Don’t worry about your uvw map­ping and mate­r­ial ids, they’re all work­ing as if it were the real model. So you can apply the same mate­r­ial from the model to the proxy with­out worries.

Now a very impor­tant thing : you can’t make a proxy out of a group or what­ever con­tainer it might be. That’s too bad and it will force you to clone your model and make it into one sin­gle mesh. For­tu­nately, Max han­dles the mate­r­ial ids pretty well.

Another thing you might won­der, prox­ies work with any kind of mesh, nurbs comprised.

So if for instance you have two multi-sub mate­ri­als, each made of sev­eral mate­ri­als, you’ll often have two series of mate­r­ial ids start­ing from 1. Let’s say you got a model of a human cyborg whose left arm is a robot, the rest is all weak human flesh. For some rea­sons, you have made the human as a poly and the robot arm as a nurbs. Either you’ll choose to make two prox­ies, for the body and arm, or you’ll con­vert the nurbs mesh to a poly mesh and attach it to the body.

Then you got a “human” multi-mat made of

  1. skin
  2. eyes
  3. mouth

And another multi-mat, say “cyborg”,

  1. shiny metal
  2. plas­tic

There’s obvi­ously a mate­r­ial id con­flict if you are to merge your meshes together.

If you’d want to make a sin­gle mesh out of all this, you’d first clone the whole joe, turn the poly into a mesh and attach the robot arm to the flesh body. Max in all his wis­dom would then ask you how you want to man­age the mate­r­ial ids, the first option is your best choice as it will reas­sign the mate­r­ial ids of, say, the robot arm so that the parts of the arm whose mate­r­ial ids are 1 don’t look like skin.

Here’s a sam­ple gen­gon in action with two mate­ri­als. The red ver­tices are the mul­ti­ple proxy clones.

Proxy model

Dol­lies

When your base mesh is ready, you only need to write it onto an exter­nal .mib file using this panel below.

To access it, you need to cre­ate a new mrProxy instance and place it on the scene.

Proxy panel

The mrProxy panel

After the file browser, you’re prompted with these parameters.

mrProxy write to file box

mrProxy write to file box

In still mode, you need to write only one tem­po­rary file that your proxy will refer to. If you want your proxy to repli­cate some kind of ani­ma­tion, you’ll need to write all the animation’s frames into tem­po­rary files. So yes, you’ll have to update your prox­ies if you decide to mod­ify the ani­ma­tion of the model.

Ver­tex and topol­ogy ani­ma­tions are sup­ported by mrProxy so that cov­ers most of your needs.

I observed a lit­tle prob­lem with the scal­ing of imported meshes. It doesn’t hap­pen all the time and is in fact quite rare but if you don’t see your proxy either in the UI or in the ren­der, it’s often because of a too low scale value in the proxy.

So here’s what it looks like, hav­ing many proxy instances of your mesh on the scene. Looks messy but at least it’s fast in the UI.

Proxy vertices cloud

Ver­tices cloud of your replicas

All this ren­ders at a decent speed, it’s a mat­ter of a few min­utes with the default men­tal ray params.

Proxies render

Ren­dered proxies

What’s more ?

A list of some scripts that might or might not help you on scriptspot.com

A nice util­ity called Proxy Painter on 3rdpole.com, it works both with VRay and Men­tal Ray.

A good intro to mrProxy is avail­able on hagerman.com.

déc30th

AS3">Sound spectrum visualizer from a NetStream in AS3

Nicolas Antille Flash/Flex Read on

We recently had to work on some sound spec­trum in AS3 for DJ ANDY’s new web­site and the idea was to use the RSS feed of his exist­ing iTunes pod­cast on the infa­mous m4a for­mat. Here I found out a silly thing. You can’t load any­thing else than mp3s in a Sound instance. I know the sound geeks will cru­cify me but it’s like the old Flash who could only load some jpeg images and was unable to load pngs. Every­thing looks com­pli­cated when it comes to the Sound.

Any­way, I fig­ured I’d use a Net­Stream to load the m4a song. My google pet told me there were other help­less peo­ple ask­ing how to pull a Sound­Chan­nel out of a Net­Stream but it doesn’t seem to be the way to do it.

The answer is rather sim­ple but its imple­men­ta­tion is a bit weird :

var ba:ByteArray;
//computeSpectrum(output:ByteArray, FFTMode:Boolean=false, stretchFactor:int=0)
SoundMixer.computeSpectrum(ba);

Basi­cally you’ll need to start the usual Net­Con­nec­tion and Net­Stream stuff, grab your song and lis­ten on ENTER_FRAME events to ana­lyze the sound spec­trum with this method.

Here’s what the doc says about it :

Takes a snap­shot of the cur­rent sound wave and places it into the spec­i­fied ByteAr­ray object. The val­ues are for­mat­ted as nor­mal­ized floating-point val­ues, in the range –1.0 to 1.0. The ByteAr­ray object passed to the out­putAr­ray para­me­ter is over­writ­ten with the new val­ues. The size of the ByteAr­ray object cre­ated is fixed to 512 floating-point val­ues, where the first 256 val­ues rep­re­sent the left chan­nel, and the sec­ond 256 val­ues rep­re­sent the right channel.

If you want to use this bytear­ray as a source for a spec­trum visu­al­izer, you’ll have to exper­i­ment doing some maths and bit­wise cal­cu­la­tions, all that in some loops. Using ba.readFloat() will give you the next value in the byte array. So your loop will likely per­form 512 (or 256 if you only want one chan­nel) iter­a­tions to use all the val­ues of the spectrum.

This method of ana­lyz­ing the sound spec­trum on the fly has two major weaknesses :

  1. if you got mul­ti­ple sounds play­ing, you can’t tell them apart with this method as it gives you a spec­trum for all the sounds together.
  2. if you intend to use it for seri­ous sound appli­ca­tions, you’ll want to enable FFT (using a Fourier trans­for­ma­tion) and the cal­cu­la­tion will gen­er­ate a notice­able lag, mak­ing your ana­lyzer appear unsyn­chro­nized, late.

Luck­ily for us and in most appli­ca­tions, the sound spec­trum is meant as a visual enter­tain­ment, noth­ing more.

There’s a very good sam­ple on todaycreate.com with insight­ful com­ments in case you don’t really know where to start.

Addi­tional and detailed expla­na­tions are avail­able on the Flex 3 lan­guage ref­er­ence.

A great thing how­ever, is the way you can get a lot of infor­ma­tion on an m4a input. There are three events cur­rently supported :

  • onText­Data gives you the cur­rent text of the play­ing m4a. It could be any­thing and in our case it’s the name of the cur­rent track.
  • onIm­age­Data gives you the cur­rent image of the pod­cast. Just like the texts, the image can change if your pod­cast got chapters.
  • onMeta­Data is impor­tant to get the dura­tion of the stream. Addi­tion­ally, the event object tells you of a lot of things about the stream like the sam­ple rate, the chan­nels, the tags, etc.

Depend­ing on how the m4a is doc­u­mented by the pod­cast cre­ator and the soft­ware one’s using, you could even chap­ter­ize a pod­cast in order to get some­thing sim­i­lar to cue points in the chap­ters prop­erty in the meta­data. You won’t get every­thing you want though. I would have appre­ci­ated to get a list of all the text data and their seek time but you can’t get them before­hand. You must play the stream in order to get the events one by one so if you really need a list of the “text points” (they aren’t cue points), you’ll have to make one manually…

déc18th

3DS Max">Solidworks or ProE to 3DS Max

Nicolas Antille 3D/Compositing Read on

In an under­go­ing project, we were required at some point to use 3d objects made in ProE by another com­pany closer to CAD engi­neer­ing. So we obtained some .stp (STEP) files which, indeed, can­not be imported by the stan­dard max (even max 2010) importers. Big deal. Well it sure is !

I thought I’d make it a post as I haven’t found deci­sive infor­ma­tion on the net.

So we had a few choices :

  1. export to another exchange for­mat like .igs (set to NURBS at export-time)
  2. play your luck with an .stl (stere­olitho file)
  3. bet your money on a plu­gin that will take care of the import of the STEP

In the end, it all comes down to two main ideas :

  • either work with nurbs
  • or con­vert them into poly meshes with a lot of faces to match the curves

Just to make it clear, in CAD, mod­els are based on splines, b-splines and all the joy­ous fam­ily. 3DSMax and Maya have always sucked at han­dling nurbs. Isn’t that great ?

Now, you don’t have to read all that’s writ­ten below if you haven’t had prob­lems before. The best way to have a proper model from CAD is to han­dle it in nurbs. If pos­si­ble at all, avoid con­vert­ing it to a poly mesh because most likely, it will lack some faces  here and there and what’s more, the tes­se­la­tion will dam­age the look of the curves of your orig­i­nal model. Addi­tion­ally, con­vert­ing the nurbs model to a poly mesh won’t make it any faster to manip­u­late in the 3D UI and the wire­frame of a nurbs model looks much sim­pler than with a poly mesh.

1. IGS and the likes

IGS is sim­i­lar to STEP as they are both based on curves. The lat­ter is a bit bet­ter as it keeps the hier­ar­chy and orig­i­nal names of the objects, which is a handy fea­ture when you got com­plex mod­els. I can’t pro­vide you with screen­shots here as the guy from the CAD com­pany (too) early dis­missed IGS as being a hin­drance in Maya (even though in this case we’re on Max…). Nev­er­the­less, the point is not about the for­mat itself but about the kind of model you get. IGS is a good option if you don’t want to use a STEP importer though I haven’t been able to import a test model to see if there could be some com­pat­i­bil­ity issues or things that might make your dear Max go haywire.

2. Stere­olitho

Talk about stere­olitho and you look like the pro­fes­sional out there. Shorts for stere­olith­o­g­ra­phy, it is just a “3d print­ing” tech­nique that uses lay­er­ing of resin cut by lasers to shape an object. An importer exists for this for­mat in Max so why not try it ?

From what I found here and there, infor­ma­tion was a bit con­tra­dic­tory. Some peo­ple posted tuto­ri­als about how to import IGS files with­out say­ing any­thing about would-be prob­lems and some other peo­ple talked about how you’d bet­ter stick to stere­olitho exports (rav­ing about the so-called “chord height”). Import­ing files from Solid­works or ProE to Max seems as obscure as back alley in the out­skirts of a big city by a freez­ing night.

Let’s take a sam­ple, a tuto­r­ial from the year 2000 (I haven’t found many of them which look recent) called “Solid­works to 3DSMax”. The tuto­r­ial is all nice and easy but when you get to the last part, the ren­der­ing that is, you may be dis­ap­pointed a lit­tle. If you look at the reflec­tions and refrac­tions on the tyre, you’ll notice some jagged, unnat­ural reflec­tions. Not good.

But noth­ing beats doing it your­self. So did I. The model was slightly more com­plex than the wheel in cadmonkey’s tuto­r­ial and look at the result :

proe-stl-yuk

STL input with the stan­dard Max importer

Eewww. The poly mesh has more than 70000 faces but it’s all ugly. This export was done using a chord height of 0.2 mm (around 0.008″), all the other para­me­ters are the same as in the monkey’s tuto­r­ial. Even with the “coarse” export option, you could believe that you’d only have to apply a tur­bosmooth (or meshsmooth) once the “low­poly” is imported in Max BUT it is not so easy. If you do that, you will have to set man­u­ally every smooth­ing group on your mesh and the final model will look dif­fer­ent than the one made in sur­faces because you can­not rely on a meshsmooth to make the same curves as the orig­i­nal surfaces.

By the way, there’s a very pow­er­ful trick to increases the amount of faces in your mesh while smooth­ing it slightly. It’s an option con­cealed in the Pro­Boolean mod­i­fier (made by…nPowerSoftware) called the Quad Tes­se­la­tion. Here’s what it looks like applied to the ugly mesh above :

proe-stl-better

Attempt to fix the STL import

You can still see some bizarre cuts on the bor­ders of some curves and holes so this trick isn’t enough to cor­rect the bad tes­se­la­tion I had to begin with.

Per­haps STL is fit for CAD model print­ing but it’s bet­ter to look for another exchange for­mat in this case.

3. Plu­g­ins at your service

From this point on, we’re look­ing at com­mer­cial solutions.

The main soft­ware com­pa­nies who are into import/export plu­g­ins for Max (and Maya) are nPower Soft­ware and Okino. From an outsider’s per­spec­tive, nPower looks more pro­fes­sional with their web­site but also ten times as much expen­sive as Okino’s solu­tion. I can’t help but notice Okino’s web site fea­tures about all the kinds of bad clichés in web design with the fonts, the old 1999 pho­to­shop effects *bow to the bevel fil­ter*, kind of “geek wel­come for math lovers”. That aside, it isn’t nec­es­sar­ily rep­re­sen­ta­tive of the qual­ity of their soft­ware at all.

3.1. nPow­er­Soft­ware plugins

If you install both nPower Power Trans­la­tor Pro and Okino Poly­trans plu­g­ins for Max (v. 2010 here), you’ll notice a slight dif­fer­ence in the way you have to import a model. With Power Trans­la­tor, it’s quite easy, you go to File > Import > Import and in the drop down list there’s a few extra for­mats han­dled by npwr.

npower-step-translator

nPower Trans­la­tor STEP importer panel

Upon choos­ing your STEP file, you get a lit­tle con­fig menu and what is really cool with this plu­gin is that it’s not lim­ited to an import pro­ce­dure. It adds a mod­i­fier on top of all the imported mod­els with a ton of cus­tomiz­able para­me­ters so you really have con­trol of the model you import. Can’t do bet­ter than that for now.

npower-nurbs

nPower Spe­cial Nurbs modifier

Look at the smooth and clean result !

proe-stp-shaded

Shaded view of the imported STEP model — nPowerSoftware’s Trans­la­tor Pro

proe-stp-wireframe

Wire­frame of the imported STEP model — nPowerSoftware’s Trans­la­tor Pro

3.2. Okino’s plugins

Okino Polytrans’s way of import­ing is less sim­ple. The way the plu­gin works is kind of old-fashioned (like their site, aw… for­give me). You have to go to the util­ity panel and load the Poly­trans I/O. Then you got a big list of var­i­ous for­mats and as soon as you select one, a browser pops up, ask­ing for a file. So you feed the lit­tle ani­mal with a STEP file and another panel appears with two main options : begin­ner or expert mode. A good thing because the “chord height” and such terms could scare some peo­ple who aren’t into CAD. The prob­lem is, even when you boost things and ask for the best qual­ity for the import, I ended up with a poly mesh that looks like our so-called swiss cheese, the holes look­ing a bit triangular…

Blue cheese - stereolitho import as a triangle mesh

STEP cheesy import — Okino Poly­Trans plugin

I gave it sev­eral attempts and even used the built-in import of raw ProE mod­els which lead nowhere.

More blue cheese - this time a ProE import

ProE “scratched” import — Okino Poly­Trans plugin

I even tried to import the infa­mous stere­olitho model…

STEP import with the Okino plugin

STL garbage — Okino Poly­Trans plugin

Per­haps Okino should increase their pric­ing in order to pro­vide a truly func­tional plugin…I do hope that other peo­ple had a bet­ter expe­ri­ence with this plu­gin than I had.

Another solu­tion would be to use the 3D stand­alone soft­ware Poly­Trans, load the exported model into it, re-export into another for­mat like .obj or .fbx and load all that into Max. Not viable in my opinion.

4. Con­clu­sion

The huge dif­fer­ence between nPower’s way and Okino’s way is that the for­mer uses Nurbs and the lat­ter con­verts every­thing to poly meshes so it is more prone to errors. This case isn’t rep­re­sen­ta­tive of all cases so it might hap­pen to you that Poly­trans is a good tool. Here, it just doesn’t do the job.

No sur­prise here, nPowerSoftware’s plu­g­ins stand out in terms of qual­ity. The down­side to all this is the cost of the solu­tion : between $1000 to $3000 if you need Power Trans­la­tor Univ. That is how­ever the best solu­tion avail­able right now for Max and it is avail­able for Maya as well.

déc1st

Noir ignition

Nicolas Antille Noir Mat Read on

Our year-long silence on this blog and slow evo­lu­tion of our web­site could be the signs of yet another com­pany going down for some mys­te­ri­ous causes. To begin with, we had some “extra pro­fes­sional activ­i­ties” like stud­ies and army duties, the lat­ter being absolutely incom­pat­i­ble with hav­ing a job. In Octo­ber we became free to fully ded­i­cate our­selves to Noir Mat.

After three years of steady growth, we’re now able to go full speed ahead.

We have there­fore moved in our new office in the cen­ter Le Flon of Lau­sanne. What’s more, we’ve recruited an exper­i­mented graphic designer, Julien Palmilha, and we expect to grow our staff steadily over the com­ing years.

Among a lot of inter­est­ing projects, we’re work­ing on our new web­site. Unlike the cur­rent one, it will fea­ture all our ref­er­ences, prod­ucts and doc­u­men­ta­tion. Noth­ing fancy or unseen before. This is sim­ply a nec­es­sary step.

From now on, we will also keep this blog alive as we have much to share with the community.

2010 is going to be dyed in Noir.

nov29th

Thermo turned to be a Catalyst

Nicolas Antille Flash/Flex Read on

Nei­ther Ther­mo­stat nor Ther­monu­clear, just Thermo. Adobe Thermo. A weird name for a prod­uct that many have been wait­ing for. It was intro­duced at Adobe MAX Chicago in 2007 but apart from a few screen­shots and one or two videos, it was hard to find detailed infor­ma­tion about this “upcom­ing” soft­ware.

At that time, Sean Cor­field wrote a good sum­mary of Thermo.

Start­ing with a Pho­to­shop PSD file, Thermo imported this and con­verted it to MXML. Design ele­ments can then be selected and with a sim­ple right-click they can be con­verted from art­work to Flex con­trols. The auto­matic infer­ence of design-time data sets so you could test UI inter­ac­tions with “real” data was very impressive.

Mark Anders, vice pres­i­dent of engi­neer­ing for Adobe, also told this.

Thermo, which is in the early stages of devel­op­ment, is built on the Flex Builder devel­op­ment envi­ron­ment, a tool the com­pany already offers to help bridge the gap between devel­op­ers and design­ers. Flex pro­vides work­flows devel­op­ers can rec­og­nize to ren­der visual parts of the appli­ca­tion so it’s eas­ier for them to add visual ele­ments to an RIA. Design­ers using Thermo don’t have to write code for their appli­ca­tions, but they can choose to view the source code and see it in a Flex Builder edi­tor that they can work with if they want to, Anders said.

Rejoice (should we ?) for it is called Thermo no more. From now on, it’s Adobe Cat­a­lyst. The name isn’t bad con­sid­er­ing it will speed up project devel­op­ments (hopefully !).

Wait­ing for the release, you can already drool over the video that Adobe pub­lished on their Labs web­site.

As it seems focused on Flex, I won­der what will become of Flash itself as Cat­a­lyst will fill the gap between graphic design­ers and flex devel­op­ers but not between graphic design­ers and flash developers.

An early release of Cat­a­lyst was avail­able to those attend­ing MAX at San Fran­sico but it’s still gone pub­lic. You can signup on Labs if you want to be noticed of the release.

For more con­crete sam­ples, go take a look at the Cat­a­lyst team blog.

jui6th

Google Search reaches out to Flash content

Nicolas Antille Flash/Flex Read on

In my pre­vi­ous arti­cle about RIAs and SEO, I talked about a solu­tion to expose HTML pages through XSL trans­for­ma­tion of dynamic con­tent. I also men­tioned an attempt of Google to crawl Flash con­tent, inef­fi­cient as it could only read sta­tic data. Well now the sit­u­a­tion evolved and looks very promising.

Adobe, with it’s recent “open mania”, has lifted the SWF (and FLV) for­mat spec­i­fi­ca­tions and cre­ated the Open Screen project on the fly to help Adobe increase the Flash Player embed­ding into var­i­ous devices (any­thing with a screen basi­cally). Fol­low­ing this, Adobe has been work­ing in coop­er­a­tion with Google in order to make Flash more index­able by search engines.

Pros

Google was given a spe­cial ver­sion of the Flash Player so that its index­ing robots could retrieve data directly from a SWF. The player just behaves like a stan­dard human user and accesses data, writes it in a com­pre­hen­sive robot-language and gives it back to the robot. So Google­bot is now able to crawl dynamic data !

Soon Yahoo will fol­low in the ven­ture and prob­a­bly other ven­dors as well.

Here are a few arti­cles you’ll want to read :

Google sums it up with this short news :

Now that we’ve launched our Flash index­ing algo­rithm, web design­ers can expect improved vis­i­bil­ity of their pub­lished Flash con­tent, and you can expect to see bet­ter search results and snippets.

Cons

Ron Adler and Janis Stip­ins from Google relieve the designers :

Basi­cally, you don’t need to do any­thing. The improve­ments that we have made do not require any spe­cial action on the part of web design­ers or web­mas­ters. If you have Flash con­tent on your web­site, we will auto­mat­i­cally begin to index it, up to the lim­its of our cur­rent tech­ni­cal ability.

So they say. Oh wait. Per­haps it’s not that sim­ple. There are two impor­tant prob­lems. Ron and Janis said there are still three tech­ni­cal lim­i­ta­tions, two of them being the following.

1. Google­bot does not exe­cute some types of JavaScript. So if your web page loads a Flash file via JavaScript, Google may not be aware of that Flash file, in which case it will not be indexed.

If you’re a Flash designer, you’ll imme­di­ately think of SWFOb­ject which is actu­ally based on Javascript. Lots of Flash web sites use it. We don’t know whether it is of a type that won’t be exe­cuted by Googlebot.

2. We cur­rently do not attach con­tent from exter­nal resources that are loaded by your Flash files. If your Flash file loads an HTML file, an XML file, another SWF file, etc., Google will sep­a­rately index that resource, but it will not yet be con­sid­ered to be part of the con­tent in your Flash file.

It is a major prob­lem because a lot of Action­Script devel­op­ers use a light SWF files that loads the rest of the appli­ca­tion on demand. Sec­tions are often bro­ken down into sev­eral mod­ules, some­times meant for re-usability (an Object Ori­ented convenience).

Search­a­bil­ity

Andrea Hill wrote some inter­est­ing thoughts on this topic.

Another major chal­lenge in open­ing appli­ca­tions up to search is being able to direct the searcher to the rel­e­vant sec­tion within the experience.

I couldn’t agree more with that. There is a huge dif­fer­ence between RIAs and HTML in that the RIAs aren’t acces­si­ble auto­mat­i­cally, you have to decide what is to be acces­si­ble. Adobe’s answer is in the SWF Search­a­bil­ity FAQ (listed above) :

To gen­er­ate URLs at run­time that reflect the spe­cific state of SWF con­tent or RIA, devel­op­ers can use Adobe Flex com­po­nents that will update the loca­tion bar of a browser win­dow with the infor­ma­tion that is needed to recon­struct the state of the application.

For com­plex sites that have a finite num­ber of entry points, you can high­light the spe­cific URLs to a search spi­der using tech­niques such as site map XML files. Even for sites that use a sin­gle SWF, you can cre­ate mul­ti­ple HTML files that pro­vide dif­fer­ent vari­ables to the SWF and start your appli­ca­tion at the cor­rect sub­sec­tion. By cre­at­ing mul­ti­ple entry points, you can get the ben­e­fits of a site that is indexed as a suite of pages but still only need to man­age one copy of your appli­ca­tion. For more infor­ma­tion on deep-linking best prac­tices, visit www.sitemaps.org/faq.php.

With all this in mind, it is not safe yet to think Flash web sites will be indexed eas­ily. Google is already work­ing on the lim­i­ta­tions of the Google­bot and I’m look­ing for­ward to hear­ing news of their progresses.

jun22nd

Are you Singularity ?

Nicolas Antille Flash/Flex Read on

What is Sin­gu­lar­ity ? It is a (huge) web con­fer­ence, sched­uled on Octo­ber 24–26, 2008. This event is orga­nized by Aral Balkan, an active fel­low in the Flash com­mu­nity, and he’s plan­ning to gather thou­sands of peo­ple for this large-scale video stream­ing con­fer­ence. The speak­ers list is already impressive.

Update on 23 July 2008 : “Reserve your tick­ets today. Early-bird tick­ets to Sin­gu­lar­ity are just $99 USD (inc. VAT) until the end of August.”

Singularity sneak peek

A site teaser has been released some days ago on Google app engine. As Aral wrote :

You can sign up for the site, which will go live in July, and reg­is­ter your inter­est in the conference[…]

Even though it’s a web con­fer­ence, it does not mean it’ll be free. The atten­dees will have to buy tick­ets that will be on sale on July 1, 2008 with the launch of the new site. The pric­ing is still unknown but Aral said it’s afford­able.

Can’t make a cer­tain ses­sion? No wor­ries, it’s all recorded. And atten­dees have exclu­sive access to the ses­sions for six months, at which time the record­ings for the 2008 con­fer­ence will be released under a Cre­ative Com­mons license for the ben­e­fit of all and to form a time cap­sule defin­ing Web ’08 as pre­sented by our amaz­ing line-up of speakers.

If you want to hear some words of him, the Télévi­sion Suisse inter­viewed Aral while he was attend­ing the LIFT con­fer­ence some months ago.


Monthly Archives

Calendar

  • septembre 2010
    L Ma Me J V S D
    « mar    
     12345
    6789101112
    13141516171819
    20212223242526
    27282930  

Categories