Flash Forward Boston 2007 – Search Engine Optimization

Flash Forward – Boston 2007
Day Three (Sept 19) – Giovanni Gallucci
Flash and Search Engine Optimization

  • flash != seo | lies, lies, lies
  • true | bots can’t read flash ( this is actually not true)
  • u | quit being lazy – it’s not that hard

 

Unexpected

  • flash seo-sdk? | podunky
  • div tags | yes, that will work
  • rebuild site in HTML | quit being lazy – it’s not that hard
  • sync swf’s? | sloppy hack good… when it works

False Assumptions

  • content is the only factor with SEO
  • if you work with flash, your only option is to build the entire site in Flash
  • dan rather is not a moron
  • o.j. is innocent

 

10/90 rule with SEO

  • title tags (most important keywords in the title tags first, not more than 255 cahracters)
  • inbound links
  • content|keyword ratios
  • sitemap.xml (This will give the ability to crawl the site even if the links are not crawled)
  • metatags have little to no effect in SEO

SEO Facrtors – There are over 200 factors google considers when ranking a page.

  • positive on-page factors
  • negative on-page factors
  • positive off-page factors
  • negative off-page factors
  • 3-4 seconds is the max load time for Flash – put all content before loading Flash

Top 10 overall keys to good SEO

  1. keyword use in title tag (1st is best)
  2. Global link popularity of site
  3. anchor text of inbound links (whenever you get a link to a site
  4. internal link popularity
  5. age of site
  6. topical relevance of inbound links to site
  7. link popularity of site in topical community
  8. keyword use in body text
  9. global link popularity if linking site
  10. topical relationship of linking page

Enter social search

  • This is not a revolution…it’s evolution
  • This is not your daddy’s seach
  • Relevance for today’s generation

 

Random babblings

MySpace and Youttube account for almost 50% of all searches on the web. People are using communities to search rather than search engines

MSN is the search for myspace

eurekster.com is a user generated search engine

googlebase
grokker.com
yahoomindset
rollio – your own search engine

viewzi is a flash based interface

viewzi.com has an API and everyone should use their API.

Constantly check your site

site:yourdomain.com
link:yourdomain.com

Use only one H1 tags, use 3-4 H2 tags, use 6-10 H3 tags.

Put all javascript and session state code in external files because it will be ignored by bots if not on page which will let the real content be read.

7-10% of all text needs to be keywords or keyword phrases

Each page should have different keywords

use misspellings

Don’t do drugs, don’t do frames

Search engines have a limit of amount of text that they will read.

http://blog.deconcept.com/2006/03/13/modern-approach-flash-seo/
www.SEOscribes.com
www.KeywordDensity.com
www.KeywordTracker.com

Alt tags have a low impact but will help.

Create myspace, verb, etc pages and link to my website, facebook, redit, magnolia,

Posted in Uncategorized

WordPress is Not My Friend Today

So I was taking detailed notes of the fantastic sessions that I attended at the Flash Forward Conference – Boston 2007 and was posting to my blog here as I attended the sessions.  So besides the latency in typing my notes were being published real time.

Well when I got to the last session of the day I hit submit to publish the session on Robert Hoekman Jr and I got an error and all of the days posts were blitzed.  At first I didn’t understand what was going on.  Then it dawned on me that the session from Micelle Yaiser or the Multi-touch Multi-person table was gone and the inspirational session  by Craig Swann and all of the rest were gone.

I called tech support at BlueHost my hosting company, I looked through the WordPress database, I soured forums and have found no way to recover the data.

If you have any idea why I get the following error please let me know:

*********************************************************

WordPress database error: [Duplicate entry ‘6’ for key 1]
INSERT INTO wp_post2cat (post_id, category_id) VALUES ('178', '4')
Warning: Cannot modify header information – headers already sent by (output started at /home/flashcon/public_html/curtismorley/wp-includes/wp-db.php:133) in /home/flashcon/public_html/curtismorley/wp-includes/pluggable.php on line 331 *********************************************************

I think that I will roll back to the old version of wordPress if I can’t get this figured out soon.

Posted in Uncategorized

Flash Forward – Boston 2007 – John Say

Teams of people take 8 weeks to create a game ready for Alpha.

WiiFlash.com provides files for creating games for the Wii.

Casual games brought in over $1Billion industry his year.

Bejeweled has sold 10 million copies for $20

Showed us the game Flow

LinRider is slated to be a Wii and & DS Title.

Experiments that are done for fun turn into

MIT is designing an audio game that is specifically designed for blind players.

gambit.mit.edu

3 kinds of innovation

Iterative – Chuzzle is the iteration of Bejeweled that is different enough and changed enough that it is another game and not cloned.
Innovative Fusion – Taking poker and combining it with Mahjong
Radical Innovation – Brand new game lke linerider

Edutainment fell on it’s face originally because of the distribution model on CD etc.. and the fact that they couldn’t truly be innovate like we can be now with Flash.

Xprize is having a contest just like they did with Race for Space but they are doing it with the best Educational Game.

Posted in Uncategorized

Flash Forward – Boston 2007 – Aral Balkan

Flash Forward – Boston 2007
Day one (Sept 19) -1:30-2:45 – “Let’s talk about SWX, Baby!” – Aral Balkan

Aral Balkan at Flash Forward 2007 Boston

We wrote 14 lines of code to directly access the Flickr API and loaded images in literally less than 2 minutes. Writing a very simple PHP class we were loading data from the server. Aral showed how easy it is to use and how quick it is to implement. We looked at PHP, Ruby in Rails, and how to connect to API’s including the talking bunny.

The bigest laugh was when Aral loaded a picture from Flickr of little kid bums. “When you work with live data on stage you get burned.” -Aral Balkan

The uses of SWX
Application Development
Mobile Development
AIR
Flash apps
PSP apps (because Flash 6 is supported)

The future of SWX
More API’s
Yahoo Mail
AS3
Flash 9 support

One thing that I realized SWX can also do is act as a proxy for common API’s. This could solve many issues. SWX – A great idea.

Thanks Aral Great Session

Posted in Uncategorized

Flash Forward – Boston 2007 – Rich Shupe

Flash Forward – Boston 2007 – ActionScript 3.0 for Designers by Rich Shupe

This is a high level overview of AS3
The Good
AS3 is more powerful.
More Powerful
10-100x faster
More like other languages
Stricter(Better Error Reporting)

The Bad
Stricter(Initially Frustrating)
More Verbose
Some things have changes and are just gone (Release Outside, _global
Bigger Learning Curve

The Ugly
AS1/AS2 are not compatible with AS3
May need to Straddle the AS2/AS3 fence
Flash Platform diverging and converging
-Different component set than Flex
-Different Authoring techniques
AIR is now making Flash easier

Code Placement:
No more code on objects(can not put on() event on button/movieclip)

What I learned:
You can set the frame rate at run time
Group the Actions Panel to the left with the other panels for easy access and it won’t get in the way.
In “publish settings” I can uncheck “Automatically declare stage instances if I want to always declare each instance.
There are two types of display objects. Object and Containers Everything is an object but movieclips/etc can contain other objects
computeSpectrum() gives 512 values of the sound that you loaded.
To make a sound visualizer use two channels of 256 objects

Posted in Uncategorized

Flash Forward – Boston 2007

Flash Forward – Boston 2007
This is my third Flash Forward Event.  The first was the original 2001 Flash Forward on Nob hill in the Masonic Temple where Adobe and Macromedia both gave away full software bundles.  At the time the two companies were separate and not so friendly with each other.  I will never forget the Macromedia reps trading Adobe Bundles for another copy of the Macromedia Bundle and then throwing the software to the ground and stomping on it.  Adobe saw what was going on and decided they would do the same.  I ended up walking away with three full versions of the Macromedia Suite.  I think it was Dreamweaver 3 and the rest of the bundle.  Sinbad was still funny at the time and made jokes about how stinky developers where.  And Josh ______ from praystation was a rock star.

The second event was 2006.  musicRAIN was a finalist in the FlashForward film festival.  Lynda and Stewart decided that they would part ways.  Josh Buhler and I went to lunch with Danny Dura and Christian Cantrell.  And Flash was coming of age.

And now Flash and Flex are not only accepted but respected as the platform for developing Rich Internet Applications.  What was once only a dream is now a standard practice.  The tables have turned and instead of HTML just embedding Flash within itself Flash is the container for HTML.  The gap is being bridged between the desktop app and the website.  This is probably the most important Flash Forward that I have attended because of what I am working on currently.  I hope to gain a lot form this conference and be able to use it to further the progress of the amazing application that we are currently building.

Please email me and let me know you are at Flash Forward Boston also and please say Hi.  I would love to go to lunch and hear what you are working on and how Flash/Flex has made a difference in your world.

Over the next three days I will be giving a summary of my experience at Flash Forward Boston 2007

Posted in Uncategorized

Flex / Flash CS3 Error #3553

Warning: 3553: Function value used where type void was expected. Possibly the parentheses () are missing after this function reference.

Description:
This is one of the best descriptions that I have seen for a Flash Error. This Flex/Flash Error is actually just a Flex/ Flash Warning. This error/warning means exactly what it says. You just forgot the parentheses () when you tried to make a method call.

Fix:
Add the Parenthesis

Bad Code:

var myTime:Timer = new Timer(1000, 3);
myTime.start;

or

var myDate:Date = new Date();
myDate.getDate;

Good Code:

var myTime:Timer = new Timer(1000, 3);
myTime.start();

or

var myDate:Date = new Date();
myDate.getDate();

As always Happy Flashing

I Remember

I remember thinking how fast the elevator was up to the observation deck.
I remember examining the chess board that sat in solitariness awaiting the next moves from Kasparov and Big Blue.
I remember standing on the top floor of the slender giant and feeling the gentle careening of the building as the wind blew so high above the city.I remember the call that said turn on the T.V.
I remember the disbelief at seeing the plume of smoke from the building I had once ascended.
I remember the papers and debris.
I remember calling everyone I knew and telling them to turn on their televisions.
I remember how time slowed to a still as the second plane was spotted in the air.
I remember the moment of impact.
I remember the ball of flames a city block wide.
I remember thinking about my friends in NYC.
I remember naming them each individually and wondering where they were at that very moment.
I remember the horror that gripped me as some chose their death rather than be subjected to it.
I remember the collapse of 2 WTC.
I remember how 9 seconds of the collapse played through my mind so slowly every detail was etched into my memory.
I remember the collapse of 1 WTC.
I remember the void that was left after the plume of smoke blew to the side.
I remember the confusion on my twin boys faces as the twin towers fell.
I remember the disbelief I felt in my soul and saw on my wifes face.
I remember counting the numbers that could be trapped beneath the rubble.
I remember the grief I bore.
I remember seeing the ghosts of heroes walking and running out of the dust.
I remember how the tears felt on my cheek.
I remember the pentagon.
I remember the prayers I offered for those grieving. for children who’s worlds had been shattered.
I remember the prayers for the firemen, the policemen, the soldiers.

I remember the sadness of knowing that no one would be able to look over the city from there again.

I remember the brotherhood of New Yorkers.
I remember the forgiveness of Americans
I remember the renewal of patriotism.
I remember the unity of this nation.
I remember the resolve of a free people.
I remember the presidents words “Terrorism against our nation will not stand”.
I remember what we are fighting for.
.

.

I still remember

.

.

I still pray

.

.

.

.

http://www.usa-patriotism.com/fv/911wwr2.htm (Patriotic Video)

http://www.youtube.com/watch?v=nptA5uj6ZRY&v3 (Please Remember Me)

http://www.youtube.com/watch?v=ervaMPt4Ha0 (15 yr old Lizzie Palmer’s Video)

Flash CS3 / Flex 2 AS3 Error #1116

ActionScript Error #1116: A user-defined namespace attribute can only be used at the top level of a class definition.

Description:
This ActionScript error will pop-up when a namespace is declared anywhere besides the class definition. What is a class definition you ask? It is simply the code that says names the class – something like ‘public class MyClass’

After the class is defined you are allowed to create custom(or ‘user-defined’) namespace on that level. Anywhere else in the code is not legal. This ActionScript Error is closely related to the Flash/Flex error #1114.
This AS3 error may also just be a typo. you may have typed something like ‘publi class’ rather than ‘public class’ or ‘prvate function’ rather than ‘private function’

Fix:
Either fix the misspelling in your code or place the ‘user-defined namespace’ inside the class definition. The second code example shows a namespace to separate cars and animals. Notice how the bad example nested the ‘user-defined namespace’ inside the constructor function.

Bad Code 1:

package com.cjm.somepackage
{
publi
class MyClass {
publi
function MyClass() {}
}
}

Good Code 1:

package com.cjm.somepackage
{
public
class MyClass {
public
function MyClass() {}
}
}

Bad Code 2:

package
{
public class MyClass
{
public namespace Cars;
public namespace Animals;public function MyClass() {
Animals var Jaguar:String = “A large cat chiefly of South America”;
Cars var jaguar:String = “A large car chiefly driven in North America”;
}

Cars function run():void {
trace(“At $30/mile”);
}

Animals function run():void {
trace(“On four legs”);
}
}
}

Good Code 2:

package
{
public class MyClass
{
public namespace Cars;
public namespace Animals;

Animals var Jaguar:String = “A large cat chiefly of South America”;
Cars var jaguar:String = “A large car chiefly driven in North America”;public function MyClass() {
}

Cars function run():void {
trace(“At $30/mile”);
}

Animals function run():void {
trace(“On four legs”);
}
}
}

Adobe has a great explanation of how to use namespaces as well as Collin Moock in Essential ActionScript 3 in Chapter 17

As always Happy Flashing

Flash / Flex Tutorial – How to Create a crossdomain.xml file.

Flash / Flex Tutorial – How to Create a crossdomain.xml file.

This brief tutorial will teach you how to create a crossdomain.xml file so that you can access files and information from outside domains and load files and data within your Flash / Flex apps. It is as simple as 4 easy steps.

  1. Create an xml file named crossdomain.xml. (XML can be created with Dreamweaver or just simply MS Notepad. Just make sure that you give it the ‘.xml ‘ extension on the end.)
  2. Copy and paste one of the code examples below into the XML file:
  3. Save the file.
  4. FTP / upload the file to the root directory of your website. (you should be able to see the file in a browser by typing the url www.yourwebsite.com/crossdomain.xml).

XML Code 1:
This is a typical crossdomain.xml file. Notice that I included my domain as well as my domain without the ‘www’ in front.

<?xml version=”1.0″?><!DOCTYPE cross-domain-policySYSTEM “http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd”>
<cross-domain-policy>
<allow-access-from domain=”www.curtismorley.com” />
<allow-access-from domain=”curtismorley.com” />
</cross-domain-policy>

XML Code 2:
The follwing Code will allow all domains. This effectively eliminates any security that Flash would have otherwise had. I suggest that you don’t use this example unless you enjoy security holes.

<?xml version=”1.0″?>
<!DOCTYPE cross-domain-policy SYSTEM “http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd”>
<cross-domain-policy>
<allow-access-from domain=”*” />
</cross-domain-policy>

XML Code 3:
The block of code below will explicitly disallow any and all access from any outside domain. As well, any domain that is not spelled exactly how the host domain is spelled will be blocked. This is the tighest cross domain security that you can employee.

<?xml version=”1.0″?>
<!DOCTYPE cross-domain-policy SYSTEM “http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd”>
<cross-domain-policy>
</cross-domain-policy>

XML Code 4:
The code below illustrates different uses of the ‘*’ wildcard symbol. This is the crossdomain.xml file from Amazon.com The wildcard allows for any variation before ‘.amazon.com’. Amazon does this because of the public services and APIs that it allows others to connect to.

<cross-domain-policy>
<allow-access-from domain=”*.amazon.com”/>
<allow-access-from domain=”amazon.com”/>
<allow-access-from domain=”www.amazon.com”/>
<allow-access-from domain=”pre-prod.amazon.com”/>
<allow-access-from domain=”devo.amazon.com”/>
<allow-access-from domain=”images.amazon.com”/>
<allow-access-from domain=”anon.amazon.speedera.net”/>
<allow-access-from domain=”*.amazon.ca”/>
<allow-access-from domain=”*.amazon.de”/>
<allow-access-from domain=”*.amazon.fr”/>
<allow-access-from domain=”*.amazon.jp”/>
<allow-access-from domain=”*.amazon.co.jp”/>
<allow-access-from domain=”*.amazon.uk”/>
<allow-access-from domain=”*.amazon.co.uk”/>
</cross-domain-policy>

Creating a cross domain policy file is just that easy.

And Happy Flashing.

P.S. I highly suggest that you read one or all of the following articles on cross domain policy files and the Flash Player security sandbox,

Crossdomain Article by Colin Moock

Adobe Crossdomain Technote (this one is required reading)

Flash Player 9 Security Whitepaper

Adobe LiveDocs on Flash Player Security