Dynamic Backgrounds October 23, 2009
Posted by Jose Luis Latorre Millas in Silverlight, Uncategorized.add a comment
As this is a era of new user experiences, I’ve created a codeplex project to gather different user experience experiments with the target of offering an interactive background to the user, one that interacts with his mouse movements and enhances the experience without being too captivating not to get the user’s attentino for the whole website experience..
The main idea of this project is to keep adding clear implementation of these background techniques. By now there is only one which is a parallax multi-layer background that allows us to provide different elements across multiple randomly dynamically generated layers, it moves the layers more or less depending on how far away they are from the monitor so it provides a interesting depth feeling.
I used this for the Inetians contest and also other websites, some of them did not see the light
– it was a 2nd silverlight contest in the shape of http://silverlightchallenge.eu/ but this time for the world, but the bad timing (the crysis) helped it not to become a reality… now we’re flooeded by contests so it doesn’t make sense – if you think it would make sense having a worldwide contest and make a big buzz, just let me know as this is a matter of looking for sponsors… everything else is written down
– you can get a glimpse here http://silverlightchallenge.ineta.org/ but I do not assure it will be working tomorrow, I’ve advised… please take in account it’s a work in progress and left unattended.. my apologies for that
There is other site that is using this approach in an evolved way, with more powerful algorythms with a star theme, with randonmly generated star shapes and a better mouse-driven animation, but it’s still to be finished and published
– I can’t talk!!! or some company that starts with “M” and ends with “t” will cut my tongue or worse…
Please, download the code and let me know what do you think… it is hosted at codeplex; http://dynamicbackgrounds.codeplex.com/
Have fun
INETIANS 10k entry – code released :) October 23, 2009
Posted by Jose Luis Latorre Millas in INETA, INETA Europe, Silverlight, Silverlight Streaming, Windows Live.add a comment
Well it took some time but I have published the full source code of my Mix 10k entry http://2009.visitmix.com/MIXtify/TenKDisplay.aspx?SubmissionID=0138.

It comes from some background experiments with parallax, inspired in old age video games and an interesting entry from Jose Fajardo, http://www.cynergysystems.com/blogs/page/josefajardo?entry=what_a_beautiful_thou_distracting in which he introduced a very interesting parallax background effect that I tried to emulate and make it a bit toolable - a codeplex project for this background system is on its way
.
You can get the code here: http://inetians.codeplex.com/
Have fun!
Slides and demos of my talk at KulenDayz.. June 23, 2009
Posted by Jose Luis Latorre Millas in INETA, INETA Europe, Silverlight, Uncategorized.Tags: community, event, microsoft, speaker, talk
add a comment
Thank you KulenDayz!
I am very thankful to have went to the famous european Event KulenDayz, name that comes with the game of mixing Cool Days and the famous “Kulen”, a great famous spicy food which is also, the logo of the event, which can be seen next:
There I was very happy to be able to provide an introduction to the new Silverlight version, 3.0, which will see the light in short time, the 10th of July.
As promised, here are my slides and the demos I showcased there. Note that I took off the videos in order to make the demos as small as possible.
I’ll be glad to answer any question regarding the slides or the demos.
And, as for the event, I’ll try to make a post in short, but, for now, here are some images I took there: http://www.flickr.com/photos/joslat/sets/72157619870531664/
Hope you enjoyed the session
www.houssesandcovers.com is live :) March 23, 2009
Posted by Jose Luis Latorre Millas in Silverlight, website.add a comment
And it’s a new brand Silverlight 2.0 only website ..
Only to share this simple website that I have done completely with Silverlight 2.0, http://www.houssesandcovers.com/
On it I have used some very interesting open source libraries, AgTweener (http://agtweener.codeplex.com/), nice library for implementing animations and ARLayout (http://arlayout.codeplex.com/) this is to make the layout absolutely adaptable and resizeable to the browser’s size - Try to change the browsers size and see what I mean -
Also, I’ve used some snippets of code from very interesting sites, making a special mention to the samples from Terence Tsang’s Shinedraw website (see http://www.shinedraw.com/), and also some example from the Silverlight Gallery which I have adapted for doing the image gallery.
The design is also mine, so feel free to make recommendations and suggestions..
Inetians live! February 5, 2009
Posted by Jose Luis Latorre Millas in Uncategorized.add a comment
Well my Mix 10k entry has been recently published at the website of the MIX online
, and you can see it live here: http://2009.visitmix.com/MIXtify/TenKDisplay.aspx?SubmissionID=0138.

It comes from some background experiments with parallax, inspired in old age video games and an interesting entry from Jose Fajardo, http://www.cynergysystems.com/blogs/page/josefajardo?entry=what_a_beautiful_thou_distracting in which he introduced a very interesting background effect that I tried to emulate and make it a bit toolable - a codeplex project for this background system is on its way
.
Also I wanted not only to create static background items but , why not, live elements that seem to be alive and at different levels, giving some Experience to the users of the website.
As I was developing the Background system of the coming Global INETA Silverlight Challenge, between other components of the same, I used the Inetians image as background so the evolution was clear.
I added a Silverlight user control “Inetian” with a random vector direction with a Max speed, then a control for not going out of the visible area, and some features, some of them were women, some men, they have a lifespan and when they get over 18 if they found some Inetians nearby of opposite sex, they do reproduce
and new Inetians are born…
I also put a cap on how much Inetians could be represented at once, and that is applied to the reproduction moment, so you can see it as a population regulation – sorry for that – but believe me, your screen and cpu will thank you ![]()
Also they are rendered in different layers, providing – at least initially - a cool 3D parallax effect.
There are some interesting things I would have loved to add, but did not have the time or the 10k limit pushed me into not implementing them:
-
Make them disperse naturally – everybody needs their vital space.
-
Add “Food” elements, with their lifespan and regulate the behaviour of Inetians between “wandering around”, “flirting” and “eating”.
-
Add the capability of moving between layers, up and down, depending of the food and flirting needs.
-
Add the capability of Dragging and dropping the inetians at the top layer . You can help the community!!! Just put an inetian near food or other inetian of different sex!
-
Add them functionality to their eyes… so they will look their “target”, being it the Inetian they have fallen in love with or the food they want to eat…
-
Make them aware of the cursor, if there is a cursor near them, make them look at it with fear (or not).
-
Adding them animations for changing state, eating, flirting, moving from layers, being dragged, etc..
If you have more ideas, do not hesitate to propose them or contact me
In short I will publish this as a codeplex project and add whoever thinks this “live background” idea is cool and will be happy to have some help with this.
Also, if you think the idea is original, I’ll be happy to get a comment on http://2009.visitmix.com/MIXtify/TenKDisplay.aspx?SubmissionID=0138 and if you want to vote for my entry, I might end up getting the community prize.
By the way, if won, all the community prize will be given completely to INETA Europe…
Thanks!!
Jose
MVP! February 5, 2009
Posted by Jose Luis Latorre Millas in Uncategorized.add a comment
As it is usually said, better late than never… and I would like to give an enormous thank-you for having been recognized by this award, a thing that honors me deeply.

Thanks so much to all that have supported me, believed in me and, more important, have been my friends – and still are – on this trip that I am doing since some years ago, on the .Net roadway, a trip that will never end and that it is being added new stations each year, where to stop and find new emotions, technologies, passions and friendships; .Net 2.0, .Net3.0, 3.5, WPF, Silverlight, Azure, Windows 7, ….
There is indeed a lot to walk and fortunately on this “tech” train we all are in there is everybody that is reading this right now and a lot more that doesn’t have time to..
Thank you all!!
Jose
Fighting with VS 2008 SP1 Beta… July 27, 2008
Posted by Jose Luis Latorre Millas in Service Packs, Silverlight, Visual Studio 2008, WPF.Tags: .net, service pack, Silverlight, visual studio
add a comment
Two days ago, for writting an article about Silverlight integration with ADO.Net Data Services I decided to install Visual Studio 2008 Service Pack 1 (Beta!), just to find that after the install, that went wrong and with problems it got dll problems with Silverlight 2 beta 2…
I’m still at it as I did it at once in my two computers, Desktop (Vista ultimate sp1 (x64) and Laptop (XP SP2) and all are being “in processs” right now…
There are loads of information about this issue, being the main one and recommended at the Silverlight official website, there is some very interesting information at the Scott Gutrie’s blog, and others like the Web developers blog, And also there is an interesting article on how to download all the SP1 (also mentioned on the sp1 documentation)..
Also, be sure to read the Visual Studio Service Pack 1 Beta documentation, it is worth it. As Agent 86 said, did you read the 467th page?
Just joking but would be great if things weren’t sometimes so complicated..
As on where am I now, I did all the repairs and followed procedures on my laptop but somthings not working so I am uninstalling all and will install the sp1 again.. if that doesn’t work, will do this from a clean (again) Visual Studio 2008 Professional install..
As on the Desktop, I already did this (quad core & 8 Gig ram helps on this matters) and had issues installing the sp1 as it didn’t recogniced there was a Visual Studio installed… to say I had VS Team System 2008 and thinking this was for this, I unistalled and installed the professional version.. but still doesn’t find it! and it is installed!! so I am downloading the vs 2008 sp1 manually to try installing it piece a piece… let’s see..
If anybody wants to suggest other way of actions, I’m fully open..
For now, these are my 5 cents..
Silverlight Viewbox April 30, 2008
Posted by Jose Luis Latorre Millas in Silverlight.1 comment so far
On the past MVP Summit, on which I assisted as an ASP.Net MVP (curiously my activity last year has been mostly of WPF and Silverlight talks) I commented the need of having the WPF Viewbox control on Silverlight 2.0… Silly of me I didn’t realized that I could do it myself as it’s pretty easy to subclass or define user controls for this new version, fortunately my seat companion and one of the main Spain WPF & Silverlight experts, Miguel Jimenez, told me “Hey, why don’t you make it yourself?” And well, he was absolutely right, so here it is… at least a preliminary version of it that more or less does the work I need done.
I basically inherited from the Canvas panel (first tried from the panel base class, but realized it would be easier through Canvas subclassing). Then I wanted it to scale its contents when its allowed space (width and height) grows up or down. Then I added dynamically a ScaleTransform and a TranslateTransform on it’s constructor, added them to a TransformGroup and added it to the Class RenderTransform property (inherited from Canvas).
//Initialization
this.ST_scale = new ScaleTransform();
this.TF_offset = new TranslateTransform();
//We add a transform with the Scale and Translate Transforms…
TransformGroup tg_transformViewbox = new TransformGroup();
tg_transformViewbox.Children.Add(this.ST_scale);
tg_transformViewbox.Children.Add(this.TF_offset);
//We add this Transform to the ViewBox (Subclassed from the Canvas class)
this.RenderTransform = tg_transformViewbox;
Then the only thing left to it was to implement an override for the ArrangeOverride function (more info here: http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.arrangeoverride(VS.95).aspx ).
There I determine the scale ratio, choosing the minimum ratio from the X and Y calculated ratios. Also I adjust the offset for the Y or X axis, to adjust more properly the positioning.
protected override Size ArrangeOverride(Size finalSize)
{
//We scale the contents based on the desired size width and height.
double scaleX = finalSize.Width / this.DesiredSize.Width;
double scaleY = finalSize.Height / this.DesiredSize.Height;
//By default we only allow an “uniform” Stretch attribute option.. we could add the attribute and held the logic in this function.
// See: http://msdn2.microsoft.com/en-us/library/system.windows.media.stretch.aspx and http://msdn2.microsoft.com/en-us/library/system.windows.controls.viewbox.stretch.aspx
// To do this more seriously, we should also add the StretchDirection and Stretch properties too.
if (scaleX > scaleY)
{
//Lowest scale ratio wins (Y axis is lower)
this.ST_scale.ScaleX = scaleY;
this.ST_scale.ScaleY = scaleY;
this.TF_offset.X = (finalSize.Width – this.DesiredSize.Width * scaleY) / 2;
this.TF_offset.Y = 0;
}
else
{
//Lowest scale ratio wins (X axis is lower)
this.ST_scale.ScaleX = scaleX;
this.ST_scale.ScaleY = scaleX;
this.TF_offset.Y = (finalSize.Height – this.DesiredSize.Height * scaleX) / 2;
this.TF_offset.X = 0;
}
return base.ArrangeOverride(finalSize);
}
And this is all is there to it… I didn’t needed to override the MeasureOverride (check http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.measureoverride(VS.95).aspx). Also if you want to know more about creating custom panels, there are some things to read:
- http://blogs.msdn.com/silverlight_sdk/archive/2008/04/03/creating-a-custom-panel.aspx
- http://www.codeproject.com/KB/silverlight/WrapPanelSilverlight.aspx
The code has been uploaded here: <<<viewboxzip>>> but has a small problem that I realized afterwards.
As a small notice, this code is licensed under MS-PL (http://www.microsoft.com/resources/sharedsource/licensingbasics/publiclicense.mspx).
This problem is that the “original” WPF Viewbox only allows one control and this one is a Canvas so it allows multiple controls positioned together, so it resizes all accordingly, including the layout, which is respected.
Anyway this is the behavior I wanted to obtain, but it is not the WPF Viewbox behavior, so it’s not Ok… for a WPF Viewbox to do this I should put a Canvas inside the Viewbox and then the controls inside the Canvas.
Hope you have fun with it.
The link for the source code donwload is here: viewboxzip
Silverlight 2.0 Beta Backwards compatability problems March 31, 2008
Posted by Jose Luis Latorre Millas in Silverlight.Tags: 1.0, 2.0, backward compatibility, beta, Silverlight
add a comment


Recently, doing some updates and modifications to a Silverlight 1.0 AdverSite application, after installing the 2.0 beta, I found that the TextWrapping property doesn’t (by now) support the WrapWithOverflow value…
I attach the error message for more detailed information:

Also have found some strange clipping when some canvas or UI element gets out of the bounds, it doesn’t get rendered properly as it is hidden… and had some random errors and some properties didn’t get properly assigned… By example I was creating some UI elements dynamically and they got rendered well but not in place…
I hope these issues get solved and corrected on the final version, as backwards compatibility is a very important thing that should be taken care of properly.
Ok, this is a Beta, but wanted to share my 2 cents.
Anyway great job with this technology, it is starting to look great
Silverlight challenge growing up!!! January 25, 2008
Posted by Jose Luis Latorre Millas in INETA, INETA Europe, Silverlight, Silverlight Streaming.add a comment
Hi, just to share with everybody that the great competition held at Europe by INETA Europe, with a total prize of around 200.000$ is growing up on participations!!!
You can check the main competition website here: http://www.silverlightchallenge.eu/
Or go to the competition of each country on each of the websites here:
Countries & participations:
- Italy http://italy.silverlightchallenge.eu
- United Kingdom http://unitedkingdom.silverlightchallenge.eu
- Germany http://germany.silverlightchallenge.eu/
- Netherlands, The (Holland) http://netherlands.silverlightchallenge.eu
- Greece – http://greece.silverlightchallenge.eu/
- Norway – http://norway.silverlightchallenge.eu
- Poland http://poland.silverlightchallenge.eu
- France http://france.silverlightchallenge.eu/
- Russia – http://russia.silverlightchallenge.eu
- Spain http://spain.silverlightchallenge.eu è http://desafiosilverlight.bcndev.net/
- Belgium – http://belgium.silverlightchallenge.eu
- Croatia http://croatia.silverlightchallenge.eu
- Romania http://silverlight.ronua.ro/ è http://romania.silverlightchallenge.eu
- Portugal – http://portugal.silverlightchallenge.eu
- Slovenia - http://slovenia.silverlightchallenge.eu
- Macedonia http://macedonia.silverlightchallenge.eu ü
- Bulgaria http://bulgaria.silverlightchallenge.eu - http://silverlight.sofiadev.org
- Malta – http://malta.silverlightchallenge.eu/
- Ireland – no answer . Contacted. No website…
- Ukraine- http://ukraine.silverlightchallenge.eu
- Bosnia and Herzegovina – http://bosnia.silverlightchallenge.eu
Have fun, there are quite interesting applications too!!
Jose
