Other Websites

  • SeaCloud9 Interactive
  • SeaCloud9 Commercial Development
  • i-os
  • stArcade9

Brendon Smith Social Networks

  • On Linkedin
  • Bookmarks
  • On Twitter
  • On Facebook
Open ↓ Close ↑
  • Home
  • Subscribe
Browse: Home / 2008/ / April
i-create | therefore-i am
i-create | therefore i-am | a blog about opensource technology and rich internet applications

April 2008

You are browsing the archive for April 2008.

Surf the Learning Curve

By on April 25, 2008

So what is the purpose of ihang10 anyway? Well it is built to supply the user with a deluge of information that is always updated through the use of various recursive functions. The user will be able to share, tag, email, embed, sms, post on multiple blogs with one click, and instant message the content. In the end it is simple it will harness information that is already in the public domain allow the user to mix it and add to (will automatically site source) it. The interface will in the end be highly customizable and available easily on a variety of multiple devices. This application will also allow the users to add other locations that they may need to authenticate against to post items and share items. It will harness social networks like, twitter, facebook, and Open Social. It will exist solely to gather information from other sources and allow the user to utilize multiple web applications at one time. It will also allow the users to modify the way the application works allowing them to add their own rss, feeds, etc.. The reason for me spending so much time on this is simple I want to use it. It will also increase the traffic for my other sites and once a user signs up they will also have access to all of my other web sites effectively increasing the traffic flow I am also going to spend more time adding ad content to my sites by using googles web services. I have spent several months working on it and it is only a prototype but the best features I assure you, you are not seeing them yet. So be patient come back and one of these days it will be complete!.
In recent news O’Reilly declared the web is the platform and it is. So what does that mean well if you got used to things being the way they currently are don’t! You’re in for some really radical changes on the way the web works within the next few years. Web Services combined with RIA (rich internet applications) will re-invent the web to be analogous to your current desktop. Devices will get extremely small and your applications will exist in the cloud (as mentioned several times below on this blog). Just look around there are api’s to utilize all sorts of web tools and applications if you are a developer there is no longer the need to recreate the wheel simply re-organize the information give people the ability to place it several places where they need it. Microsoft has released their LiveMesh tool that will allow people to easily remote desktop and share information between devices and store some information in the cloud. I am also aware they are developing RedDog their answer to AppEngine and Amazon Webservices. Yahoo is also rumored to be swinging their doors wide open as well. I think shared webhosting the way developers think of it now will be dead within the next 5 to 10 years. With Amazon Webservice you can actually build a Linux image and vpn to the image. It will not be long until their competitors do the same.
If you look at some of the projects I have interest in especially those that allow manipulation of eXtensible markup language (XML). They work in a manner that is very similar to Web Service Manipulation tools. For example you have Microsoft’s Web Service Software Factory that allow you to manipulate XML visually and create web services that adhere to coding standards and are loosely coupled. You also have other technologies like ESB Enterprise Service Bus we will call it the fun bus. Think of it as a gate keeper for your web services (or middleware layer)making them more or less plug and play and keyword “Secure” (Just so no one hijacks your fun bus). These tools have been built into IDE (integrated development environments) for a while now. It is interesting though to see tools like Dapper mentioned below amongst others like POPFLY on the web. They give you the tools to build services from existing web pages to extract very specific information acting as a middleware similar to the way the applications and technologies above like Chain Builder or Software Factory do for the IDE and enterprise applications. These services allow you to manipulate data and information on the web, embed, or share it and some also have created their own spiders, bots, or screen scrapers to help the user find and manipulate specific information. I also like the fact they use the web as a basis for their applications. The reason they are so cool is because right now technology is at a crossroad. These roads are converging on shared information across devices seamlessly no synch moving toward singularity. It is also no surprise to see applications that once only existed on the desktop leap to the web. If you haven’t yet I would check out a.vairy a very, very cool web application that allows you to create images, videos, etc.. I recently mentioned Flash Develop when I am done working on iHang10 I would like to begin to play around with the C# code for Flash Develop it would be time consuming but I think by disassembling it stepping thew it debugging it. I might attempt to convert it to Mono so it could be utilized on Linux and Apple. It would also be a challenge to create a web based IDE out of it where the programmers have the ability to share their programming experiments, classes, and programs (you know similar to PopFly, Dapper, or Yahoo Pipes only more powerful). That probably won’t happen until JC gives me about an extra 8 hour in the day just to code.

| Leave a response

FlashDevelop Quick Start

By Brendon Smith on April 22, 2008

What is Flashdevelop and why should I care? FlashDevelop is an opensource integrated development environment (IDE). It was created using C# on the .net 2.0 so it runs on any windows box that has .net 2.0 or higher and Java 1.6 runtime. .Net 2.0 and Java 1.6 are already on most windows computers. The user also needs to have the Flex SDK to install FlashDevelop IDE properly. You can use this IDE to write action script 2/3, flex MXML, and HAXE. You can actually pick from several compilers. It is a wonderful open source program and if in the right hands can be utilized to write ActionScript quickly.

The people of Adobe have all been working hard on improving the features of ActionScript and they have a lots of open source libraries that allow developers to rapidly create highly functioning and quick rich internet applications (RIA). This example is only a beginner example note this is just suposed to be informative and quick. In regards to use the FlashDevelop IDE and it is based off of Mike Chambers example.

Step 1: Install the FlashDevelop IDE from their site here. Also make sure you follow the requirements found here.

Step 2: install the Flex SDK here.

Step 3: Insert the Flex SDK location here by selecting Tools from the drop down then go to Program Settings navigate to the AS3 Context panel and insert your Flex SDK location as shown below (click to enlarge):

Step 4: Create a new ActionScript 3 Flex 3 project name it and then hit OK as shown below:

Step 5: Minimize your FlashDevelop IDE. For this you will also have to download and install 2 ActionScript libraries written by the Adobe Developers and located on Google Code here: CoreLib , XMLsyndication Lib. Download the code extract and place the code on your computer. You will need the path so do not place it in a temporary location place it ether in its actual program directory or a place of your own choice. Once you have done that open FlashDevelop again. To your new Flex 3 project. Navigate to tools and drop down to Global Class paths. Place the paths to the code you just download and installed in the dialog window as shown below:

Step 6: Navigate to the SWC files right click on them and select add to library as shown below:

Step 7: Once you have done that you need to create your RSSExample.mxml document. To do this right click on your project drop down to add, select the new .MXML file name it RSSExample.mxml. Then right click on the project again add new ActionScript class name it RSSExampleClass.as.

Step 8: Now Place this code into the RSSExample.mxml file:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

<mx:Script source="RSSExampleClass.as" />

<mx:TextArea left="20" top="10" bottom="40" right="10" id="outputField"/>
<mx:Button label="Load RSS" right="10" bottom="10" click="onLoadPress()"/>

</mx:Application>

Step 9: Now Place this code into the RSSExampleClass.as file:

import com.adobe.utils.XMLUtil;
import com.adobe.xml.syndication.rss.Item20;
import com.adobe.xml.syndication.rss.RSS20;

import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.SecurityErrorEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;

private var loader:URLLoader;

//url of rss 2.0 feed
private static const RSS_URL:String = "http://i-create.org/node/feed";

//called when user presses the button to load feed
private function onLoadPress():void
{
loader = new URLLoader();

//request pointing to feed
var request:URLRequest = new URLRequest(RSS_URL);
request.method = URLRequestMethod.GET;

//listen for when the data loads
loader.addEventListener(Event.COMPLETE, onDataLoad);

//listen for error events
loader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);

//load the feed data
loader.load(request);
}

//called once the data has loaded from the feed
private function onDataLoad(e:Event):void
{
//get the raw string data from the feed
var rawRSS:String = URLLoader(e.target).data;

//parse it as RSS
parseRSS(rawRSS);

}

//parses RSS 2.0 feed and prints out the feed titles into
//the text area
private function parseRSS(data:String):void
{

//XMLSyndicationLibrary does not validate that the data contains valid
//XML, so you need to validate that the data is valid XML.
//We use the XMLUtil.isValidXML API from the corelib library.
if(!XMLUtil.isValidXML(data))
{
writeOutput("Feed does not contain valid XML.");
return;
}

//create RSS20 instance
var rss:RSS20 = new RSS20();

//parse the raw rss data
rss.parse(data);

//get all of the items within the feed
var items:Array = rss.items;

//loop through each item in the feed
for each(var item:Item20 in items)
{
//print out the title of each item
writeOutput(item.title);
}
}

private function writeOutput(data:String):void
{
outputField.text += data + "\n";
}

private function onIOError(e:IOErrorEvent):void
{
writeOutput("IOError : " + e.text);
}

private function onSecurityError(e:SecurityErrorEvent):void
{
writeOutput("SecurityError : " + e.text);
}

Step 10: Now run a test as show below:

Step 11: If successful should look like below:

Wow now that was cool. Now think about what you can do with that tool their lots of open source libraries to play with so get started. One thing I would like to do is play with the source and see if it could be ported to the Mono platform and make it run on Linux or Windows. Any way hope you had fun.

Posted in ActionScript, Flash, Open Source, Ubuntu | Tagged ActionScript, Flash, Flex | Leave a response

Throw it in a Cloud

By on April 18, 2008

appEngine

Cloud computing is a new (circa late 2007) label for the subset of grid computing that includes utility computing and other approaches to the use of shared computing resources. Cloud computing is an alternative to having local servers or personal devices handling users’ applications. Essentially, it is an idea that the technological capabilities should "hover" over everything and be available whenever a user wants.

Applications will soon head to the clouds in mass numbers. What does that mean? When you have a web applications all of these other responsibilities come with running the application you have to set the database up run a server language, integrate some monitoring or log reading system, select a Server Operating system and platform like IIS or Apache, LAMP or Windows, etc.. Then you have to deal with crowds of people coming onto your site and constantly using it and soon you will find yourself in a bind. You need to upgrade the server language, upgrade the database, migrate to a better hosting platform etc.. So you ask yourself what is wrong with this picture? Well I will tell you it sucks every time you need to migrate or upgrade a system because if you?re like me you also want to test things out before you hit the button. Well let?s just pretend for a second you could host your application on something that is more cost effective, has an uptime of 99.999 percent of uptime, enables you to vpn on the system, has excellent web services that were created for cloud computing and enables you to run any server language. This may seem farfetched and way off into the future but really it is not. Just take a look at Amazons Web Services it literally allows you to do all of the above. You can expand and contract your applications with ease. So ok that?s one provider who else is in on the game? Well Google will soon rev up their App Engine for flight and if you haven?t signed up to be a part of this service I would suggest doing so soon! I have a feeling Microsoft will not be too far off as well. I hope Google will also support more languages like Amazon has and I am sure they will. Recently I did bash Silverlight from Microsoft. After studying it more I do like some of its capabilities one thing I like is the fact you can use the DLR of the .NET platform! I believe Microsoft will be sharing more tricks with others in the near future which is of course good. I am also excited about the Mono platform. I do enjoy programming in Visual Studio 2008 it is an excellent Integrated Development Environment and C# has many advantages over other programming languages. One thing that is important to me is that my applications be operating system agnostic; they should simply just work on any machine they shouldn?t have to be programmed for a specific operating system. You can count on one thing in the future and that is change. So why not make applications that work truly anywhere on anything? While I do like and enjoy Vista I also have a beefy box that runs it and it does help to have an MSDN license so you can run whatever Microsoft technology you want of course not everyone has this advantage. I also run OS X and Linux at home. So it is nice when I can see my applications working in a predictable manner on everyone of my machines it leads me to believe it might be the same for the user. I have been real busy preparing for our Wedding and I have also kept up the work on iHang10.com! Check out some of the new features I recently added a Home Foreclosure and some other interesting map tricks! Really with iHang10.com I am simply coding something I want to use every day! Oh and this site will soon be upgraded to Drupal 6.2 so it will be going threw changes as soon as sunday.

Projects of interest:
Balder
WOW-engine
PureMVC
SWX
PopFly
Dapper
OpenKapow
Smile :)
mule

Books I have been reading lately:
Professional ASP.NET Web Services
Spidering Hacks
Webbots, Spiders, and Screen Scrapers: A Guide to Developing Internet Agents with PHP/CURL

Posted in WebServices | Tagged Web | Leave a response

 
 

3d ActionScript Adobe Air Android Apollo Apple art as3 ASP.NET Blend C# CakePHP CSS Experiment Flash Flash Develop Flex Games Generative Design Google Informatics JavaScript Joshua Davis JSON Life Lingo Linux MashUp Open Source OpenSource PaperVision3D PC History Processing quick tip RIA Silverlight Technology/Internet travel twitter Web Web 3.0 Webware XML Yahoo Pipes

WP Cumulus Flash tag cloud by Roy Tanck and Luke Morton requires Flash Player 9 or better.

  • Monthly
  • Yearly
  • Links
  • February 2010
  • January 2010
  • December 2009
  • November 2009
  • October 2009
  • September 2009
  • August 2009
  • July 2009
  • June 2009
  • May 2009
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • agit8
  • Bit-101
  • D.I.Y.
  • draw.logic
  • Flight404
  • Flong
  • generatorX
  • haXe
  • Jonathan Snook
  • Joshua Davis
  • Jot
  • Kirupa
  • LifeHacker
  • Make
  • NurseOnTheRun
  • octane42
  • PV3D
  • Senocular
  • Sephiroth
  • ShineDraw
  • SWX
  • Tech News
  • Toxi
  • ZeusLabs

Brendon's Photos

IMG_0402.jpg

Recent Comments

  • morganae23 on Processing JS
  • morganae23 on Processing JS

RSS LifeStream

  • Physics Games in Silverlight on Windows Phone 7
  • Silverlight TV 17: Build a Twitter Client for Windows Phone 7 with Silverlight
  • Arrangement Tips and Tricks: Fills and Transitions | Audiotuts+