My experiments...
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.
Enjoy!
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)... Enjoy!
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.
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.
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...
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.
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...
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...
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...
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...
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. Enjoy!
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...
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.
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.
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.
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.
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.
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).
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!
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.