Just trying out an updated blogging tool called Blogo from Brain Juice. Its simple to install and if your reading this works well.
I’m a big fan of open source (and getting things for free) so i’m a little miffed at the $25 price, however somebody has obviously worked hard to create the app – BUT – there is an open XML based framework for integrating with blogs such as WordPress with plenty of documentation online. So much so that there have been Flash based blogging tools and parsers (i.e a Flash based desktop tool to create posts and a Flash based web tool to display posts).
If after 21 days (free trial period) i’m hooked, then I guess i’ll pay the $25 (£12.50).
I won’t copy all the info, instead head over to blogo HQ and take a look for yourself

This post is for any web site owner who wants to add a search plugin for their site.
If your not too sure what I mean, then take a look in the top right corner of your browser next to the address bar, and you will see another input box. This allows you to search directly from the browser. If your using Firefox your default search in normally Google and for IE user its Live Search. There is a method to add your site so that users can find content without first having to go to your site. (take a look at flCodr.com to see this – simply click on the drop down box arrow and click ‘Add flCodr’).
The plugin takes the form of an XML file which holds some configuration settings such is icon, description and search parameters.
The XML file describing a search engine is actually quite simple, following the basic template below. Sections in bold need to be customized based on the needs of the specific search engine plugin you’re writing. Take a look below for more info. You can also find out more here.
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
xmlns:moz="http://www.mozilla.org/2006/browser/search/">
<ShortName>engineName</ShortName>
<Description>engineDescription</Description>
<InputEncoding>inputEncoding</InputEncoding>
<Image width="16" height="16">data:image/x-icon;base64,imageData</Image>
<Url type="text/html" method="method" template="searchURL">
<Param name="paramName1" value="paramValue1"/>
...
<Param name="paramNameN" value="paramValueN"/>
</Url>
<Url type="application/x-suggestions+json" template="suggestionURL"/>
<moz:SearchForm>searchFormURL</moz:SearchForm>
</OpenSearchDescription>
- ShortName
- A short name for the search engine.
- Description
- A brief description of the search engine.
- InputEncoding
- The encoding to use for the data input to the search engine.
- Image
- Base-64 encoded 16×16 icon representative of the search engine. One useful tool that you can use to construct the data to place here can be found here: The data: URI kitchen.
- Url
- Describes the URL or URLs to use for the search. The
method attribute indicates whether to use a GET or POST request to fetch the result. The template attribute indicates the base URL for the search query.
-
Note: Internet Explorer 7 does not support POST requests.
- There are two URL types Firefox supports:
-
type="text/html" is used to specify the URL for the actual search query itself.
-
type="application/x-suggestions+json" is used to specify the URL to use for fetching search suggestions.
- For either type of URL, you can use
{searchTerms} to substitute the search terms entered by the user in the search bar. Other supported dynamic search parameters are described in OpenSearch 1.1 parameters.
- For search suggestion queries, the specified URL template is used to fetch a suggestion list in JavaScript Object Notation (JSON) format. For details on how to implement search suggestion support on a server, see Supporting search suggestions in search plugins.

- Param
- The parameters that need to be passed in along with the search query, as key/value pairs. When specifying values, you can use
{searchTerms} to insert the search terms entered by the user in the search bar.
-
Note: Internet Explorer 7 does not support this element.
- SearchForm
- The URL to go to to open up the search page at the site for which the plugin is designed to search. This provides a way for Firefox to let the user visit the web site directly.
-
Note: Since this element is Firefox-specific, and not part of the OpenSearch specification, we use the “moz:” XML namespace prefix in the example above to ensure that other user agents that don’t support this element can safely ignore it.
A web site that offers a search plugin can advertise it so that Firefox users can easily download and install the plugin.
To support autodiscovery, you simply need to add one line to the <head> section of your web page:
<link rel="search" type="application/opensearchdescription+xml" title="searchTitle" href="pluginURL">
Replace the italicized items as explained below:
- searchTitle
- The name of the search to perform, such as “Search MDC” or “Yahoo! Search”. This value should match your plugin file’s ShortName.
- pluginURL
- The URL to the XML search plugin, from which the browser can download it.

Ok, so this may not be ground breaking but it’s pretty cool, none the less. There is a simple way to create a GoogleDocs document directly on the iPhone using the Notes.app.
Notes has a pretty nice feature that allows you to email the contents of the notes to somebody. It just so turns out that GoogleDocs also has a pretty nice feature that allows you to send an email that will be automatically converted into a document.
Without explaining it fully, set up a free iGoogle account (which will get you access to GoogleDocs). Once set up and logged in, click on the upload button. You will get a unique email address that you can use to upload files.
Simply create your doc in note and email it to yourself. Nice and simple.
Hopefully with the upcoming iPhone 2.0 release we will get some native apps that allow the syncing of GoogleDocs, GoogleCal (with Cal) and Picasa/Flickr with Photo’s??
I’ve just heard news that AFC (the creators of GMap amongst others) are to give away all of their AS2 components for free.
This is their biggest giveaway ever ($310) and we would appreciate your help spreading the word. You can help us out by telling your friends, posting links, posting blogs, etc. (Or, you could just grab what you want and run like a cougar.) Free components include: Flow List, Media List, Tooltip, IMG Loop, FLV Player, Map, MP3 Player, IMG Gallery, IMG Thumbnail Gallery, FLV Gallery, FLV List Gallery, IMG Loader Blur, IMG Loader Pixelate, IMG Loader Tint
I have personally created two mashup using the GMAP component and I can assure you they are top quality tools.
There are a number of GMAP snippets on the flCodr site so you can get started straight away!!

Quick update!!
After about a week of hard work the beta version of flCodr is now online. The basic idea is to have a repository of Flash code snippets online in a centralised location.
The unique idea hear however is that the code snippets are available from within Flash by using the specially created extension panel (beta coming soon).
There are still a few things that need to be ironed out on the site, but most of the major bugs have been ironed out.
Head on over there now, set up an account and start sharing code today!!
flCodr – really useful Flash code

I’m on Advanced Flash Components!!
My two GMap enabled mash-ups have been posted on the AFC website.
AFC make the GMap component and lots of other fantastic ones. Give them a try for your next project

Inspired my Lee Brimelow’s Snippet extension Panel for Flash I am setting up a new code repository for Flash Developers. If you don’t know what Snippet’s is, its an extension for Flash that displays a list of code snippets that allows you to easily add code to your projects. The snippets are held in an XML file which makes the app dynamic and updateable. (I recently created my own hard coded version of a Code Helper, which dynamically produced scripts for various custom functions based on an input into a text field).
The fact that Snippets runs from an XML file means that new code can constantly be added. Lee does this by placing the relevant code on his blog. This got me thinking. Why not have the XML file located on a server, rather than on the client machine. Infact why not extend the extension so that the user could enter a few keywords into a seach field and get code snippets that match the criteria, right within Flash. You wouldn’t even need to open up your browser.
So after a few hours of hard thinking I came up with the idea of having an online repository (that is generated by users and fellow developers) that is linked to a Snippet’s style app within Flash. There would be an option to select between AS2 and AS3 code aswell as search functions.
I believe that this could be a really huge project with great opportunities.
For now though it’s just an idea. I need to get my Flash, PHP and MySQL hats on, but in the meantime this is a road map of the developments I wish to make. This will be an open source project so anybody can contribute in what ever way they can.
Stage 1 : Website Design
Stage 2 : Website Development
Stage 3: Flash Extension Development (inc Beta testing)
Stage 4: Product Launch
Stage 5 : On-going development and improvements
There are other similar projects running for other languages but as far as I am aware there are no others that integrate into Flash as perfectly as this will. The user will have the power to find and contribute to the snippet library.
As for a name, get ready to bookmark www.flcodr.com some time in the not too distant future

The Locator Panel has now been updated to v1.2. The update improves the functionality of the Map, in terms of being controlled by the keyboard and mouse. It also improves feedback when a connection is lost or cannot be found.
You can download the panel from here.

Hot on the heels of my Flash/GoogleMaps mashup comes this extension for Flash. This was created as an easy way to add points to the GMap component and is great if your not planning on making your map dynamic but instead want to add static points.
‘Locator’ is pretty much a slimmed down version of the mashup packaged into an extension. It allows you to enter a location into the search field and see the Latitude and Longitude aswell as its position on a map. This is still in beta mode but is available for download.
Creating the extension was pretty simple, after following a tutorial by Lee Brimelow over at gotoAndLearn.com. The idea is that you create the extension as a normal swf file. You then use an mxi file (xml with a different extension) along with Adobe Extension manager to package it.
You can see my mxi file below if you want to use it as a template:
<?xml version="1.0" encoding="UTF-8"?>
<macromedia-extension
name="Locator"
version="1.0"
type="flashpanel"
requires-restart="true">
<author name="Leon Barrett" />
<products>
<product name="Flash" version="8" primary="true" />
</products>
<description>
<![CDATA[
A tool to find the Latitude and Longitude of a location, using the GoogleMaps Geocode service.
Use this with the GMaps component to add points to your maps easily
]]>
</description>
<ui-access>
<![CDATA[
Access the Location panel by selecting 'Window > Other Panels > Movie Setup'.
]]>
</ui-access>
<license-agreement>
<![CDATA[
]]>
</license-agreement>
<files>
<file source="Locator.swf" destination="$flash/WindowSWF" />
</files>
</macromedia-extension>
Download the extension here. Like I said this is still in beta so don’t sue me if it crashes your machine!!

I’ve have created my first true web mash-up using Flash and the Google Maps API. Firstly check it out here, and then head back to read the steps involved.
Note! At the moment I have manually limited the search to UK and there is no option to remove a marker/pin.
I was first inspired to create this after stumbling across the GMap Flash component from AFC. I liked the idea of having the Google Maps experience within Flash. As a Flash developer I have more control and flexibility over how the application would work. I could also add my own interface around the component and integrate it into any projects, plus if I needed to hook up to a mySQL database.
While the GMap component is brilliant there wasn’t a search function built in. This meant that locations were hard coded into the ActionScript. My plan was to create an application where the user could search for a location and have it displayed within Flash.
Note! In order to create this for yourself you need a Google Maps API Key
There are three main components that work together to create the search function:
Flash > PHP > Google Maps API > PHP > Flash (GMap component)
I’ll break each stage down into its core functionality. I’ll assume that you know ActionScript 2.0 and PHP.
You will also need the CURL extension installed on your sever.
Flash to PHP
The first step was to capture some data from Flash and send that to a PHP page. Inside Flash I created a function that took the input from a text box and sent this to a server side script (my PHP page). This was achieved using the LoadVars function of Flash:
var dataURL:String = PHP script on my server
var getLoc:LoadVars = new LoadVars();
function sendData(){
var loc:String = searchLoc.text;
getLoc.load(dataURL + "?searchLoc=" + loc);
}
searchBtn.onPress = function(){
sendData();
}
This assumes that you have a textbox and button object on the stage.
PHP to GoogleMaps API
We have now sent the data to a PHP page called that is sitting on my server. The page was modified from a script from here. The GoogleMaps API takes a location in the form of a querystring and returns back either a set of Comma Seperated Values or XML data. In this case I am interested in the CSV. The CSV contained Longitude and Latitude co-ordinates which the GoogleMaps API needs to determine a position.
<?php
//Set up our variables
$longitude = "";
$latitude = "";
//Three parts to the querystring: q is address, output is the format (
$key = "get your own API!";
$address = urlencode($_GET["searchLoc"]);
$url = "http://maps.google.com/maps/geo?q=".$address."&output=csv&key=".$key;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);
if (strstr($data,'200'))
{
$data = explode(",",$data);
$longitude = $data[3];
$latitude = $data[2];
echo "&myLong=".$longitude."&myLat=".$latitude."&";
} else {
echo "&error=Error in getting location";
}
?>
The above code has just taken the Lat and Long from the Data array (created from the CSV values) and echoed these out. You will notice that I have assigned the values to two variables. I will use these within Flash to give the GMap component its required data.
We have now sucessfully sent our search term to the PHP script, sent the required querystring to the GoogleMaps API and returned the data we need back to the PHP script. We have then used the echo function of PHP to print the Latitude and Longitude to two variables.
PHP to Flash
Once back inside the Flash a function is called when Flash receives the data from the PHP page:
getLoc.onLoad = dataLoaded;
function dataLoaded(){
_global.myLat = getLoc.myLat
_global.myLong = getLoc.myLong
}
This script assigns two variables in Flash to the variables of Lat and Long sent from the PHP and constructs the map. See the GMap documentation to see how this is done.
The GMap component then queries the GoogleMaps API to get the location back. Thats it!! Simple wasn’t it.
I’ve added a few more features using the Flash API such as a data grid to display the search results. By clicking on a result the user will be taken to the location of that search. Try entering in a few random towns around the UK to see this work.
I’ve also added the ability to drop markers on a location and saves its position. I have created this using the arrays and a counter (to increment the number for the marker). The arrays store the location name, lat and long values.
I next plan to link this with a MySQL database so that a user could log in and save their positions. This would be fairly simple as I already have an array with all of the search data. I could simply save the array and then load it back into Flash the next time the user logged in.
I plan to make the code available once it has been tidied up.
Update!! I have updated the mashup so that it now includes the following:
- Search history of locations
- Pop up descriptions for each location marker
- Different colours for markers (to distinguish between, search, custom and history)
- Auto complete function on text entry
- The help button DOES NOT work at present. I will create this once the interface is complete.
Watch out for a flickr style app that will allow users to upload a photo with a location and see this on a map!!