Sunday, April 27, 2008

Future Blog Posts

In the spirit of casual blogging I have not had time to update recently. I have quite a bit that I would like to write about, however, I still do not have time.

I will be waiting for at least another week before posting anything significant due to the many things I have on my plate now, including the approaching finals week.

The reason for this post is to give some quick descriptions of things that I am working on, and things I have finished recently.

1) Summer: I will be working at MediaSauce in Carmel, Indiana this summer for a summer job as an Interactive Developer.

2) PPV3D Kiosk: I currently have a Kiosk running at the Indianapolis Museum of Art (IMA), that was built using Flash/AS3/Papervision3D. I really want to share lots of details about this one.

3) Facebook App: I am working on a Freelance project that involves building a Facebook application. This is a pretty cool project that I will definitely share as soon as I'm allowed to (NDA's). I am also taking some notes on research and getting started that I hope will help some others get into Facebook apps without having to scale that first wall.

4) Networking: I have noticed a lot of people including students and recent grads having trouble finding a job. I'm not entirely sure what's up with that, but I would like to go through some things a person can do to find a good job. (this is a touchy subject as I myself do not have a full time job, however, I have experience in the process of finding a summer-job in the field, which is similar).

5) Flash Best Practices: There are alot of places still teaching AS2 and concepts from AS2. I am very dissapointed in the quality of education that goes on when it comes to "traditional" education and Flash. There are quite a few things that would nt show up in a typical course like community standards, best practices, Flash Superstars, and some other things. I will post a blog on the things I have noticed and what needs to be done about it.

There is no way I could have blogged on all of the details of each of these things, so my quick overview of these future blogs is the best I can do for this day.

I should be blogging on each one, and possible unforseen topics soon.

Friday, February 22, 2008

Flash vs HTML, The browser wars: winner = SWFAddress

So, generally I am a very pro-flash person. If something looks cool and has some animations in it I immediately go to flash to try and build it or work with it (in the case of an API or engine).

While planning my portfolio I had to think of some way to get around some issues that Flash presents for fully flashed websites.

1) The first big issue with flash that most people run into is the fact that, if its not done correctly, it breaks the browsers back and forward buttons.
This is a deal-breaker for a lot of people.

2) Another big issue that leads people away from flash is the fact that not everyone has flash, or if they do, they don't have the same version of flash, so you have to cater to that.

3) Flash also tends to not work too well with search engines, if not done correctly.

With my portfolio I really wanted to go out into the SEO realm. I had never really had a project that needed to be optimized for search engines. I decided, ultimately, to go with html and javascript. I thought about building a content management system to run everything, but that turned out to be impossible if i were to host it on Ball State's student servers (the servers do not support any server-side scripting).

I had 1 easy-out. Using html and javascript took care of the flash compatibility issue, but introduced a few more, browser compatibility.

I decided to have everything load immediately, then simply hide and show all of the divs that contained my projects. This all worked wonders, but introduced another problem that came up with flash.

It broke the browsers back and forward buttons and scared Google away from my site. These two issues completely destroyed my logic for using html and javascript over flash.

I eventually went so far as to manually create html files that mirrored the javascript. These html files would each be called something along the lines of flash.html, javascript.html, php.html, etc..

This satiated google for a while as it had some links that it could follow while still keeping my javascript front end for those who have javascript enabled in their browser. (there are still some things that don't work without javascript).

Maintaining all of these html files is a pain. I do still do it, for those who don't have javascript. It at least lets them have some sort of meaningful interaction.

Recently, I went the way of SWFAddress. This is a javascript class that is meant to give a Flash project control over the back > forward browser buttons. I used the class to give my javascript functions browser url aliases. So this allows me to link directly to any part of my site and my javascript functions take over from there. These are NOT separate html files, they are actually all the same file, with javascript hijacking it and playing the right functions.

Since using SWFAddress I have almost done a complete 360. I started out with flash, went to javascript/html, and now I would like to go back and do it again in flash. I will probably do this soon, if not in the next month, then most definately before I graduate. The way I set it up, I am able to re-use all of my content. I also plan to make use of the Google Docs CMS that I am working on.

Wednesday, February 20, 2008

3D Interactive Panoramic Video

This project is a very early prototype. The project is being done for a campus scholarship using Flash CS3, Flex 3, Papervision 3D, and Tweener.

The video was taken using a Panoramic lens with an HDV camera. The event portrayed in the video is the opening and naming of Ball States new communications building for David Letterman, a graduate of Ball State.

The video quality in this prototype is very low for testing purposes. The interactivity is also very limited for the same reason. I will post new versions and possibly code samples as the deadline closes.

Click below to open the project.
http://djsparks.iweb.bsu.edu/mouse3d.html

Labels: , , ,

Sunday, February 17, 2008

The Google Doc CMS

So recently I've done a lot of work with content management systems and with mashups.

One thing I've been doing is merging Google docs with the concept of a content management system.

These days many CMS's rely on XML to mediate the discussion between a backend server language and a front end graphical interface. The languages that seem to be the most prevalent in this area are PHP and Javascript. XML is the medium by which they tend to communicate best.

For certain things a full blown CMS is not necessary. Simple tasks like updating text content on webpages, maintaining customer lists, keeping rosters and employee lists up to date. There are, obviously, plenty of uses for a fully customized CMS and offline integration ( like inventory tracking ).

In either case, the CMS likely uses some sort of XML.

The CMS sites that I have built commonly rely entirely on XML to communicate data. This isn't always necessary, but it's what I've been using and seems to be what many other are using also.

The beauty of Google docs, is the capability to publish documents as an RSS feed (which is just standardized XML).

Even better, Google spreadsheets offers the ability to add content and information and organize it appropriately. You can then publish it as a feed, and use it later in your own websites to populate your content. This is the basic idea of the Content Management System.

I've been working on a javascript package that allows a user who has no access to a database whatsoever to built and maintain dynamic and scalable websites for free, using the power of Google docs.

The best news comes with the very recent google doc forms update. I've been doing this same thing for a while now using hacks to get it to work. Now there is a much easier way and because of this I should very soon have a nice CMS package based entirely on Google doc spreadsheets.

http://googledocs.blogspot.com/2008/02/stop-sharing-spreadsheets-start.html

Labels: , , , , , , ,

My Life as an SEO Artist

So maybe most people wouldn't associate SEO with Art.

After delving into the SEO world for a while, and mostly just to promote my own new portfolio (http://djsparks.iweb.bsu.edu/portfolio *wink*), I've realized that its still very unreliable.

The trick is to do what you can, and hope Google/Yahoo/Altavista/others sees you.

Some tricks that I've followed or am working on at the moment..
1) Follow standards.
I took a little extra time making sure my site validated as XHTML 1 Strict. Following these simple standards also takes care of some other issues that may popup including accessibility and -- for the most part -- cross browser compatibility.

2) Setup a clean hierarchy
This is pretty simple. Instead of using div tags or font tags to format your headers, subheaders, and titles, use h tags (h1, h2, h3, etc). You can then apply some css to these guys to make sure they look like you want.

3) Use a sitemap
I never really thought sitemaps were significant until recently. You can upload sitemaps to google so it will follow your site a bit better. This also means that you need to actually have a site that needs a sitemap. For example, my portfolio uses a lot of javascript and everything is located on one home page, so using a sitemap did nothing for me. What I did to make this work is split up each section into its own html page. I manually split up my projects into separate pages and linked them all together.

4) Use href on top of javascript
If javascript owns your navigation, you should offer some alternatives. Give your href="" some meaningful content other than href="#". The way this works on my portfolio is; it links directly to the individual pages i swapped out for the sitemaps if the user does not have javascript enabled. I also did this so that the Google bot was able to follow my links and distinguish them all from each other.

5) Track your statistics
I use Google Analytics and Google's webmaster tools to make sure my content is search engine-ready. Analytics is also pretty fun to work with because it will show you some cool things like a map overlay that shows you from where in the world people access your site, and when they do it.

6) Use lists for navigation
One thing I've noticed when looking at some SEO organized sites is that they use lists for their navigation. They throw each link into an unordered list and theme it from there. I haven't actually implemented this yet, but I plan on doing it ASAP. I plan to track the changes in traffic after I implement this single aspect to see how much it helps.

I'm sure I forgot plenty of things but I'm going to take it slow and post some examples and very short tutorials on things like SEO and standards compliance.

    Check back frequently or add my feed to your reader.


Friday, January 12, 2007

Project Pre-production begins

Ok.. I started this a tad later than I though I would, but I figured better late than never.

My goal with this blog is to record and re-record every single aspect of my process toward creating a new portfolio website.

I'll add my observations for each day in separate blog entries.