Entries Tagged 'Projects' ↓
March 8th, 2008 — .NET, Code, Personal, Projects, Work
I just have to tell everyone how cool Flex really is! When I did flash work several years ago it was a real pain developing an entire site in Flash especially if you wanted to incorporate any backend to it. This is definitely not the case with Flex and I have to give Adobe its’ props on this.
However, let me state, that I do want to see Flex Builder 3 ported to Linux. I could then ditch my Windows Virtual Machine and run things natively, but that is my only complaint at this moment.
So why do I love Flex?
Flex is just easy to use, the components built it are amazing and you have the ability to build components on your own too! Much like Server Controls in .NET, .NET gives you a TON to begin with and you can create your own as well. However, this is for Flash! That is extremely important to acknowledge, as I do not have to have Macromedia Flash MX or whatever the latest version is on my PC to build a Flash application now.
Not only do I love being able to build a Flash application without Macromedia Flash, but I also love how it can work with an infinite number of backends without a lot of effort. Got a web service you want to plugin to? No problem, how about an RSS feed? Again, No problem. Well how about just a plain HTTP stream with a custom format? No Problem! I mean literally, you can plugin to any service that can send back a response. If it is a custom type of response, then you can write a routine to read your custom format. However, if you are using a Web Service, be in written in .NET and it returns an XML stream, then you literally have to do nothing! It will read it without any custom code from you, the developer. And that my friends is the “cream of the crop”.
So where do we go from here?
I am going to be doing a lot of things with Flex fromt his point on. I was just totally amazed by the simplicity and yet the complexity you can have within it. I still have a lot to test. Updating the grid’s data when it has changed, and similar events. But time will tell and so far Adobe has bought me back with this wonderful technology. Just bring it to Linux and I will move right next to your head-quarters Adobe!
September 16th, 2007 — .NET, Ajax, Code, JavaScript, PHP, Projects, Work, kiosk
This weekend has been a nice relaxing weekend for me and so when I got back home this afternoon (on Sunday the 16th), I was in a great mood to refactor some of my kiosk code base. Now, I should start by saying, I decided to refactor code instead of write new code tonight because I wanted to lessen the number of files that needed to load in the Ajax functionality.
Kiosk, uses Ajax in interesting ways to provide a better experience, but with that, the Ajax applications were built as each page was assembled. This caused functionality across pages to get a bit messy or functionality shared across pages to get thrown into individual files. Well the problem with individual files, is that is yet another file for the browser to download.
So before I get any further, let me discuss refactoring and how it can solve many performance binds your application may be experiencing.
To start off, refactoring is taking common code, or code that is used across pages or frequently and moving it to a more global location so it can be called easier and the code only has to be written once.
So where can this help?
- First of all, by refactoring code into a single global file, you can limit the number of HTTP requests if that file is accessible via the web. Since your common code is in a single file, the browser only has to fetch that code once, and will then likely cache that file for each page after, giving you even better performance.
- Secondly, by placing the common code in a global method/function, you are writing less code. As now when you need to call that code on your second page, it is already written, so just call the function. Otherwise, you would need to write the code all over again.
- Thirdly, less code equals smaller files. By refactoring your code, you can have smaller file sizes and in turn that is quicker to download, quicker to parse, and quicker to execute.
Now in my situation, I took about 4 JavaScript files and combined them into a single file adequately named “general.js”. The file contained code to automatically log the user out after a set amount of inactivity in the UI (User Interface). Secondly, it contained the version checking mechanism calls that see if they are running the latest version of the software. Unfortunately, those are the only two things it does right now, but as the project progresses, I am sure more utilities will get added in this file.
My next task is to refactor the Data Grid functionality so it is 1) XHTML, 2) easy to build complex columns with complex rows, 3) customizable by identifying StyleSheet classes for the columns and rows. Hopefully, I can get my head around this idea and get it working with little trouble to the programmer.
So what can you think of that you need to refactor? What performance gains do you suspect you will achieve with the refactoring you do? Any performance markers?
February 10th, 2007 — Ajax, PHP, Projects, kiosk
I am having a blast writing some of the things in kiosk. I have put in a few things, I am fairly certain no one has done before. The use of AJAX is completely written throughout the application and it has allowed the application to be placed on a level like no other.
For example, imagine having the ability to upload 1000 images for all of your products using cpCommerce or a different cart variant. You would have to upload them individually. Now, take a look at how kiosk handles it.

Let’s take a look at the Kiosk Image Area located in the Administration Area. This area has many options, but look at the intriguing “Find FTP’d Images”. Now that is what I am talking about!

Now, this is the folder where the images are stored in Kiosk. Look carefully, and you will see a folder named “FTP”. This is the folder where your 1000 images should be uploaded to.

To show you that this works, I have placed over 600 images in the folder! I realize that isn’t exactly 1000, but it should be enough to prove it will work with 1000 as well. Now, that I have the images placed, I need to head back to the Administration Area to complete this process.

Back in the Images Administration Area, I clicked on the “Find FTP’d Images” and this is what you will be presented with!
Now realize, only one process of this is able to run at a time. So if you have 4 people updating the store, when one person runs this command, it will prevent the other 3 from running it too. With that said, the process also checks to see where in the process it is. For example, it checks every few seconds to see if it is finished inserting the images, or if it is still running. Now, I know what you are thinking. What about the Time Out Limit in PHP? How do you get around that? Well that is my secret and you can’t figure it out unless you pull down the
Source Code from the SVN Repository.

Finally, when it is all said and done, you the user are prompted with this final screen. The process is complete.

Upon clicking on “Close” it will reload the page to show all of your images now listed within the application. That’s it! It doesn’t get any easier than that! Feel free to comment and leave your remarks, as this is going to make
kiosk stand out from Joe Smoe and you got my word on that!