My experiments...

February
---
2010




Silverlight Validation & Tootip Styles...

Silverlight wavelength to colors...
Silverlight 3 comes with built-in validation for many of the input controls. Setting them up is fairly easy and they are styled well enough that you could use them right out of the box.

If you would like to know how to set it up and also would like to customize the look and feel of the fields and validation message, this short tutorial will explain how to do just that.

See it here...

Enjoy!

January
---
2010




Wavelength to Colors in Silverlight...

Silverlight wavelength to colors...
Simple experiment using Silverlight 3 to convert wavelengths in the visible spectrum to RGB colors.

I had worked with lasers of different wavelengths while working for Beckman Coulter several years ago and wrote a simple application to showcase the conversion in a Windows Form. Here I have taken the code and converted it to a Silverlight app.

See it here...

Enjoy!

September
---
2009




Silverlight Continue Time Clock...

Silverlight Continue Time Clock...
Simple experiment that attempts to recreate the hands of a very elegant and unique clock.

A single arm, segmented into three parts, representing the hour, minute and seconds arms, spin on eachother, while independently marking the current time.

See it here...

Enjoy!

July
---
2009




Silverlight Vacheron Constantin Watch...

Silverlight Vacheron Constantin Watch...
Simple experiment that attempts to recreate the hands of a rare Vacheron Constantin Mercator Watch.

The hands of the clock represent what is called a chart compass and is used to quickly determine distance on a seafarer's chart.

See it here...

Enjoy!

March
---
2009




Silverlight 2.0 MoonLander Game...

Silverlight 2.0 silverlight_MoonLander_1...
A very simple Moonlander type of game implemented in Silverlight 2.0. I wanted to do some more complex animation and experiment with colission detection, which proved more difficult and somewhat more cumbersome that I expected.

Incredibly, there seems to be no such thing as built-in object collision and thus one has to write its own and ended up using an approach first used by Andy BeauLieu and although not efficient with checking many and multiple objects simultaenously, it seems to be the only way of checking to see if two objects on the screen collide at all.

Again, not a full-fledged game, buth rather a bit more complex experiment...

See it here...

Enjoy!

December
---
2008




Silverlight 2.0 Clock Mark II...

Silverlight 2.0 Clock Mark II...
Another attempt at yet another approach of representing time in an unusual manner. I saw this clock implemented in Flash and wondered what it would take to do this in Silverlight.

Here is my attempt... Again, as with many of these experiments, I thought I could make something work in a matter of a couple of hours and, especially this one, took me a bit more than that. I managed to consolidate a lot of the repetitive looping into one single method that moves all gears...

See it here...

Enjoy!

December
---
2008




Silverlight 2.0 Snow...

Silverlight 2.0 Snow...
Simulating falling snow has been attempted in many ways, but I needed to try myself. I have seen only a couple of examples but my approach is a very simple concept: It is a very simple concept: generate programmatically 200 Image objects, populate them and then have one Storyboard, that fires every milliseconds, go through each one of the flakes, and move them a few pixels further down. This needed to be something simple, quick and still look somewhat realistic.

See it here...

Enjoy!

November
---
2008




Silverlight 2.0 Clock...

Silverlight 2.0 Clock...
I have done some code samples in Silverlight 2.0, but nothing worth sharing. So over the weekend, I saw an pretty impressive clock written in Flash and had to try to emulate some of its functionality in Silverlight 2.0.

The clock can be seen here and I just love the creativity, attention to detail and the smooth motion of the digits. For my experiment, I am only trying to (somewhat) reproduce the gyration of the numbers cluster, based on their location and rotation.

See it here...

Enjoy!

November
---
2008




InfoPath Data Extraction....

InfoPath Data Extraction... Let's say you have a SharePoint document library that users upload documents to; unless you subscribe to the library and want to be notified, not much really happens when the document lands in the library.

So, what if you could have SharePoint take action immediately and initiate, let's say a Workflow, or simply store the values somewhere else, or email a user with the details...or anything else that you want?

And not just with the fact that a document was uploaded (that is already built-in), but, even better, with data from the actual document that was just uploaded...

In this article I explain how to write a SharePoint Feature that does just that...

See it here...

Enjoy!

November
---
2008




SharePoint Feature Deployment Tip.

SharePoint Feature Deployment Tip I was working on a SharePoint Feature that I am experimenting with and came across a time consuming issue that I needed to be solved elegantly and out of the way.

The issues is that when developing a SharePoint features (or any other component), you end up writing, compiling and testing your code many times over. The code you are writing is a separate component that, essentially, has to be taken from Visual Studio, registered in the GAC, plugged into SharePoint and then manually activated.

In other words, it requires several manual steps outside of the development environment that could consume a lot of time. Here is a tip to get that all out of the way...

See it here...

Enjoy!

April
---
2008




Silverlight chase game.

Silverlight Chase Game Here is another example of my forgetfulness... I saw a small, addictive Flash game somewhere and I can't find it anymore. It involved an object that you could drag and then several other objects moving around the screen.

The goal is to avoid touching any objects or the walls. Here is my attempt at recreating this small game in Silverlight 1.0 (click on the image). As usual, nothing refined, just a functional model.

You may wonder why I am not diving into Silverlight 2.0...? Well, that version is still in beta and although I have experimented with it, I don't want to post any example yet, as most folks still have the 1.0 version installed and may not want to install a beta version of the player.

See it here...

Enjoy!

February
---
2008




Silverlight video slidepuzzle.

Silverlight Video Slidepuzzle With so many technologies emerging, it is hard to pick just one and spend some time on to learn. So many toys and yet so little time. Well, Silverlight is one of such toys I do not want to pass me by. I can see its tremendous potential and I am already familiar with many of its key components.

Rich Internet Applications is what customers are already demanding and AJAX can only do so much....

Well, here is a modest first attempt at some Silverlight 1.0 with Javascript. A video slidepuzzle (click on the image)...

See it here...

Enjoy!

October
---
2007




Developing a SharePoint 2007 Feature...
a step by step tutorial.

Developing a SharePoint 2007 Feature. One of the most important features I look for in an enterprise application is the ability for a developer to take the products and customize it to fit and fill the business need. In simple words, it needs to be extensible and it needs to be able to integrate with other existing applications.

SharePoint 2007 has greatly enhanced its capabilies in these two fields with something called SharePoint Features. In essence, "SharePoint Features" is a plug-in framework, that allows a developer to extend SharePoint in any way that it can imagine.

In this tutorial we will be walking through the entire process from the very beginning in easily explained terms.

See it here...

Enjoy!

April
---
2007




Ajax UpdatePanel, UpdateProgress and MasterPages workaround.

Convert an Atom feed to RSS with ASP.NET. There have been several technologies that have come and I have been a bit late in jumping on the bandwagon. Ajax is one of them. It has been amazing to see the possibilities of this approach (and how it has squashed any other functionality-competing non-html based approaches....Flash and Java Applets comes to mind.).

I had been experimenting with Ajax a bit and came across a problem when using the updatePanel, updateProgress and MasterPages together.

See it here...

Enjoy!

December
---
2004




Polaroid image processing with GDI+ in ASP.NET.

Polaroid image processing with GDI+ in ASP.NET. This experiment shows how take an URL of a regular image and then return a manipulated image with the looks of a polaroid picture.

In other words, loading the image provided in the textbox in memory, convert the text provided in the textbox into a graphic, add a background picture and then putting it all together. Finally, rotate the finished image and return to the browser. All this on the server and on the fly...

See it here...

Enjoy!

November
---
2004




Convert an Atom feed to RSS with ASP.NET.

Convert an Atom feed to RSS with ASP.NET. There are many popular types of feeds: RSS 0.91, RSS 0.92, RSS 1.0, RSS 2.0, Atom 0.3 and recently Atom 1.0. The original feed of the blog of this site is an Atom feed, but I still want to make the feed available to the public in the other formats.

Since the Atom feed is just plain XML, we can use XSL to transform the XML into the other popular RSS formats. We can just simply write a ASPX page that loads the XML, applies the XSL and server the XML back to the client in the RSS format requested.

See it here...

Enjoy!

February
---
2004




Consuming WebServices with Charting .NET II.

Consuming WebServices with Charting .NET II. I wanted to experiment a bit more with web services and also apply the Charting feature of the Xceed Charts for .NET. So I used a public web service that provides stock quotes to feed and populate a chart from the Xceed Charting component. Please be patient, it may take a moment to load...

See it here...

Enjoy!

October
---
2004




Consuming WebServices with Charting .NET I.

Consuming WebServices with Charting .NET I. I wanted to experiment a bit more with web services and also apply the Charting feature of the Xceed Charts for .NET. So I used a public web service that provides data of population from any of 227 countries to feed and populate a chart from the Xceed Charting component. Please be patient, it may take a moment to load...

See it here...

Enjoy!

October
---
2004




Morse code translator WebService with ASP.NET.

Morse code translator WebService with ASP.NET. I have been planning on creating a little experiment with a .NET webservice, but never had the time to get around and do it. I wrote this simple .NET webservice showing a round trip request - response.

It will simply convert the entered text into official Morse code...

See it here...

Enjoy!

October
---
2004




ASP.NET Upload feature without server-side component.

ASP.NET Upload feature without server-side component. In previous applications, I have always had to us 3rd party components, such as ASPUpload, to handle a particular upload feature.

In this ASP.NET experiment I show how to upload any type of file with ASP.NET without using any third-party or server-side components...

See it here...

Enjoy!

October
---
2003




GreetingCardBuilder.com

GreetingCardBuilder.com. I wanted to send a greeting card and could find many sites that would let me select from pre-made greetingcards. Of some, I liked the background, other the music, but no way for me to customize the card itself. Maybe I want to send the card for a special occasion with a specific meaning... So, I wrote this application called GreetingCardBuilder.com.

It allows anyone to create a fully customizable greeting card.

Update: the site has gone offline long ago, but the app is still up and available for anyone to use.

See it here...

Enjoy!

September
---
2004




Determining RGB Color from a wavelength in C#.

Determining RGB Color from a wavelength in C#. In this C# experiment I show how to calculate the RGB color for a specific wavelength and apply the color to an object. Visible wavelength ranges from aproximately 350nm to 720nm. I needed a quick application that would calculate between these units...

See it here...

Enjoy!

October
---
2003




Web Services with Flash and Remoting.

Web Services with Flash and Remoting. With all the buzz about a the new Flash 7 Player having cross domain restrictions for the built-in webservices component, it is a good thing that webservice accessibility in Flash is still available through Flash Remoting. This example show 4 simple webservices in action with Flash Remoting.

September
---
2003




Stream Video without Flash Communication Server.

Stream Video without Flash Communication Server. This has got to be one feature I love. With Flash MX 2003 and the new Flash 7 Player, you can now you can convert your movies to Flash Video (.FLV) using either Flash MX or Sorenson Squeeze and then simply stream (no preloading) it from your webserver. The code applied is ridiculously simple.

See it here...

Enjoy!

August
---
2003




Working Oscilloscope in C#.

Working Oscilloscope in C#. Using GDI+ in C# to trace a line defined by points and redrawn every millisecond with random values.

Ofcourse, instead of the random values one could use values provided by a source and display a correct trace.

See it here...

Enjoy!

July
---
2003




Streaming Flash Video in Windows Executable.

Streaming Flash Video in Windows Executable. This experiment simply tries to use the streaming video capabilities of Flash with a C# desktop software app shell or, in other words, a good ol' executable. It also uses Flash Communication Server to stream video into this desktop application.

See it here...

Enjoy!

July
---
2003




Animation in Flash vs. Animation in C#, round II.

Animation in Flash vs. Animation in C#, round II. Well, this experiment is posted to show the striking similarities between Actionscript and C#. In this case, it is a more creative example of the animation functions. A large surface, is divided in four sections. Clicking on any of the colored section moves that section into the center, applying the selected animation mode.

See it here...

Enjoy!

July
---
2003




Importing XML in Flash MX and Flash MX2004.

Importing XML in Flash MX and Flash MX2004. In this experiment I will attempt to demonstrate the ways of importing XML into Flash with Flash MX (using actionscript parsing) and with Flash MX2004 (using the new XMLConnector component).

See it here...

Enjoy!

June
---
2003




Simple Flash Remoting sample.

Simple Flash Remoting sample. This experiment illustrates the capabilities of Flash remoting with ColdFusion MX and compares the difference with loading data through an XML file. The content in the textfield comes from the same source (SQL2000 database) as the content in the weblog. Instead of using ASP to query a Stored procedure in the database and then feed the data into Flash as XML, that then needs to be parsed to be understood, I use Macromedia Remoting in this case. This Flash app queries a Coldfusion page that gets the data and then returns the data, without the need of any parsing or translation. Of course, it needs to be cleaned up, but the data is there.......It's quick and not too complicated.

The posibility that I never have to write an XML parser again simply is such a relief!

See it here...

Enjoy!

April
---
2003




Animation in Flash vs. Animation in C#, round I.

Animation in Flash vs. Animation in C#, round I. Well, this experiment is posted to show the striking similarities between Actionscript and C#. In this case, I have created a class that when instantiated it animates whatever object has been passed as a parameter. In the example, there is that one class and then every control (checkbox, radiobutton, combobox, tabcontrol, etc) on te screen, no matter what type, has the same eventhandler when clicked: call the tween method, passing itself, then generate some random numbers for X and Y position.

I am again amazed by the striking similarities of C# and Actionscript and encourage all as developers to take a look at this language. The initial learning curve is quite flat.

See it here...

Enjoy!

March
---
2003




Email web application.

Email web application. I have this site hosted with a reputable hosting company and have also my email boxes. The company allowd me to retrieve my email from any email client, such as Outlook Express or through a browser, with web based email. I must say that I hate checking my mail through their web based application. It is all HTML and Javascript and it is slow and hangs often. So I thought, why not create a web based email client that acts like desktop software? So, here I started creating a web application that would look as real to the original 'desktop' application as possible.

It is in progress and not near finished. The data comes from an XML file, but I am not sure how I am going to display any other content other that regular text. (i.e. HTML). The HTML support is extremely limited in Flash textfields and unless I write some sort of interpreter of HTML to translate it into actionscript textFormat properties, I do not know how to do this yet.

See it here...

Enjoy!

February
---
2003




Flash Communication Server Experiment.

Flash Communication Server Experiment. Simple streaming video experiment from Flash Communication Server. Video is streamed from server to client.

Quality is very poor, but that is intended. As usual it is just feasiblity that is intended...I need to keep my data transfer down. Actionscript code is included.

See it here...

Enjoy!

January
---
2003




Dynamic Flash Banner from XML data.

Dynamic Flash Banner from XML data. The attempt here is to prove the versatility of Flash. With just very simple (too simple) XML and a few pre-made movie clips you can create, not just dynamic text, but dynamic everything. Here I provide three XML files that just contain a few parameters. When you click on the links, it calls this same page, passing a 1, a 2 or a 3. Depending on that number, the parser then loads XML1, 2 or 3. In this XML are the parameters that specify what individual movieclips to load. And there you have it. A dynamic banner. Imagine creating a banner with many more parameters, with instructions on how to animate the text (from here to there), etc.

See it here...

Enjoy!

December
---
2002




PageMaker Application.

PageMaker Application. This Flash application allows you to build customized pages. It does not require you to learn any new skills or install any software. Anyone can use this online application. You can create a page anyway you want and then send this page "as is" to anyone with an email address. The addressee will receive and email with your comments and an URL, that when clicked on, will display the page as you built it.

This application started as a way of customizing a page by placing objects with its own properties anywhere on the screen, then store the data and somehow being able to retrieve that data, interpret it and put the items where and how they were. This would prove to be very useful for creating web based "desktop-style" applications.

See it here...

Enjoy!

December
---
2002




BusinesscardMaker Application.

BusinesscardMaker Application. This application is a spin-off of the above and resulted when I needed to make some business cards for myself. I could not find a site where I could easily design online my own business card. I was limited to a certain design, had to send in separately a logo, if I had one, and was not able to see how it looked. For this purpose, the following application would be a perfect fit. I still need to add some more graphic elements to choose from, but all in all, it has a good concept.

See it here...

Enjoy!

December
---
2002




Scale thing experiment.

Scale thing experiment. I saw something like this in some application and wondered how it was done. I tried myself and here it is. Try moving the square in the center of the grid.

Nothing spectacular to see here other than the realtime changes to a shape controlled via several slider controls.

See it here...

Enjoy!

November
---
2002




Whiteboard extension to upload shared background.

Whiteboard extension to upload shared background. Most of the components in this experiment are original Macromedia Flash Communication Server components. Here is what I did different: The whiteboard component, in conjunction with Flash Communication Server, allows multiple users to see what any of these users are drawing on their whiteboard. I.e.: Michael can see what Nicole is drawing in real-time. Now, the reason I believe this component is somewhat useless, is because all that is allowed is to draw arrows(and some cumbersome writing). If this tool wants to be a true competitor of Micorsoft's NetMeeting or Webex it will need a little more juice than that. The reason people share a whiteboard is because of the need to share and show something like a diagram, an image, a presentation, a flowchart or other such visual item. Then, you can use the drawing tools to point out and remark items on the whiteboard.

In this experiment, I allow any user to upload an .jpg image and set that as the background in the whiteboard component. As soon as the image is uploaded, all users will see that image as their whiteboard background.

See it here...

Enjoy!

November
---
2002




Back button solution in Flash.

Back button solution in Flash. Finally, the browser back-button problem in Flash solved with Actionscript, Javascript and ASP. In Flash you can simulate pages by assigning frames to the different pages. So when, you click on a button, this button will instruct the Flash playhead to go to a different frame and redraw trhe screen with different content. But....

To the browser, this is still one page that contains a Flash movie. The browser does not know about the frames in Flash. If the user wants to go back in the Flash movie, insitinctively they may click on the browser back button, which will take them to the web page they were before and not the previous Flash page.

I have seen similar solution somewhere on the net, but here is mine: a page variable gets set on every page. A setInterval constantly checks for a change in this variable. Every time you switch pages, a hidden .asp page gets loaded into a hidden browser frame. This page carries the value of the page variable that gets then sent back to Flash through Javascript. Nothing new sofar. Now, the browser keeps a history of every page loaded in the hidden frame. If you click on the browser back button, it will load the same asp page, but with the previous variable. The asp page then calls a javascript function that sets the variable into Flash. Voila, Flash recognizes the change and forces the playhead to move to the framenumber just passed.

See it here...

Enjoy!

October
---
2002




Simple Flash-email greeting application.

Simple Flash-email greeting application. This application allows the user to send a note with a pre-defined background to another user. The user will receive an email, that when clicked on, will display the greeting with the background and the note. It is fully functional, so try it out. It a simplified PageMaker experiment where the XML gets stored in a local text file.

See it here...

Enjoy!

August
---
2002




XML dynamic navigation bar.

XML dynamic navigation bar. This XML driven navbar parses one XML file (below) and then starts building the main items and the corresponding sub items. It is intelligent enough to re-arrange the positions and spacing of all items dynamically cretaed, according to the amount of items or subitems. I have included 3 sample XML files below. Compare them and see that any XML fed to this app will work, as long as it is correctly structured. Also the attributes in the main items specify whether the item is clickable and what to do, i.e.: getURL or gotoAnStop at a particular frame. This navabr is great for variable menu items, like when different users receive different options according to their rights or something. The XML can then be fed by a XML database stream tied together with their login authentication process.

Also, regarding the animation, there is only one frame in this application. All animation is scripted in Actionscript.

See it here...

Enjoy!