I’m posting this up here because I hope someone will find it and discover they did not do something stupid, Adobe did. Basically if you want to use any flashvars in Flash CS5, you must use the work around provided here: http://forums.adobe.com/thread/644057. Basically the new built in preloader (which I’m not sure if you can disable or not) causes all flashvars specified to be set to undefined. Not a handy feature at all. Not sure how that one slipped passed testing, unless no one uses flashvars anymore, but that must not be case then is it?
Work
Well I am officially looking for a full time job (or a part time job that pays decent would be even better actually). So if you know of any opportunities anywhere on the west coast let me know. I have learned a lot over the past year and a half, had some fun and worked on some great projects. I will keep this site up and running, and who knows, I may even update it more often, but I wouldn’t bet on that.
Art
Just built a simple site for showcasing my sisters art. She is attending Pacific Northwest College of Art in Portland Oregon and currently on a trip to study in Parma Italy. I think she has some really amazing pieces displayed on the site, but there is even more to be scanned and uploaded later.
The site itself is just a single page using jQuery to update the content. I could have used a fully featured CMS, but for a project of this size it didn’t make sense. The biggest thing was creating a site quickly and make it simple to tweak the design. While doing updates is not lightning fast and does require some technical knowledge, it takes a lot less time than setting up a CMS with way more features than are needed. It is the second site I have designed, and while I am not a professional designer, I think I can create something that is simple but still has some stylish elements. Plus it is fun to design something from the ground up, even if I don’t create the best looking site ever.
Guess I’ll fill in some details
Turns out On the Boards is on top of the blogosphere happenings and found my previous post already and linked to it off their blog. So I figure I should actually include a few more details about how the On the Boards media player works.
I had not built a video player in Flash before this project, turns out it’s pretty simple. The basic Flash components work well and make it simple to stream video. The media player was built to handle both audio and video playback in a single player. It just made for a better user experience. Although I suppose we could have had all the audio files encoded as the soundtrack in video files, but our solution also makes it easier for On the Boards. Since Flash doesn’t support audio only playback through the FLVPlayback component, we used the FLVPlayback component for video and the standard Sound object for audio playback. The interesting bit there was coordinating the two so they didn’t overlap when switching media and making all the controls work for either audio or video. We ended up making all the controls not know about either playback controller. They raise events which are captured by our main class which knows what the active playback component is so it can then relay the button command. This chain of events also works the other way around, for example when the player needs to buffer data before continuing playback. It also makes it simple if we ever needed to add more playback controllers, not that I can think of any at this point in time, but you never know.
On the Boards
Forgot to make a note about probably the coolest site I’ve worked on, ontheboards.tv. It launched three weeks ago and seems to be doing well. It survived the first weekend even with an article in the New York Times about the site. It was neat to work on a large scale project with lots of custom functionality. The site may look pretty simple, but there is quite a bit happening behind the scenes.
One thing we discovered while developing the media player is the FLVPlayback component doesn’t always raise the Buffering/Playing/PausedStateEntered events when those states are entered. Makes it difficult to properly handle those situations when you don’t know you are in them. Turns out if you use the StateChange event and check the event state, you always know what state the FLVPlayback component is in. No idea why that happens, but if you find yourself building a custom video player, keep that in mind.
Edit: Turns out On the Boards found this post and linked it on their blog. In the interest of providing some more details I wrote another post to compliment this one.
Two words why Flash won’t be overthrown by HTML5/JavaScript soon
Internet Explorer
I just spent the most of last Thursday trying to get some content to fade properly in IE with help from Chris. It still doesn’t, but it works well enough. When something seemingly simple takes up an entire day to make work in one browser, I’d consider that technology not quite ready. Even using jQuery which is supposed to make all the browser differences not such a big deal, and it does a great job at that for the most part. Seems you can’t adjust opacity and other attributes on elements in IE, something that works no problem in Chrome or Firefox. So the animation IE ends up with less effects and doesn’t look nearly as polished. And the best part about this, is the animation is for a Microsoft site.
Anyways, if HTML5/JavaScript/whatever is going to take over doing all the things Flash already does (and does pretty well for the most part) cross browser support needs to be way better. We are pretty much there with Firefox and Chrome/Safari, but IE is so far behind and has such a huge market share (about 2/3’s) that is impractical to code everything in JavaScript because you have to spend twice as long as you should to make sure it works in all the browsers correctly. Where as Flash, I code it once, it works in every browser. It just makes things so much simpler to have a common platform to develop for that works everywhere.
An update
I have been pretty busy with work for the past couple months. Been working on a site for a local performing arts group, and the site already has some press coverage and it’s not going to launch for a while. It will be a neat site once it is all finished, defiantly a project I am proud to be a part of. I’ll be posting a link up once it goes live.
You might be able to notice (if you’ve ever been to the site before) that I actually did some styling on this site. Not that it’s going to blow you away with its awesomeness, but it’s something besides the default theme and I think it looks pretty good. But it’s a good thing people don’t pay me to design their sites, it’s much easier to build them.
WordPress
As you can probably tell from my lack of a theme I use WordPress for this blog. I use it cause it’s simple and I’m not doing anything crazy with this site. Anyways the last couple times I’ve logged in it there’s a new update. Now I don’t log in that often, only when I can actually think of something to write about. I really like how they have auto-magical updating, but it’s annoying to log into SSH and back up the site and database each time. I suppose I should just write a script for that, or see if any one has done that already… Looks like most people just write their own scripts, I’ll probably do the same or just copy one I like. But one of the more annoying things about the auto update is they don’t tell you what the new features are or what issues have been fixed, it would be nice to know what I’m getting. They could at least put a link to a page that tells me what is in the new version. Yes, I do like the updating system, but it could be better. Guess I probably should update now.
Deciding on coding standards
As everyone knows coding standards quickly become a religious debate as soon as there are more than a single developer working on a piece of code. Luckily the people I work with share the same sense of clean coding standards as I do.
However the other day we had a dissagreement about what to name the event parameter in a handler, ‘e’ or ‘evt’. Neither of us had a strong argument for using one over the other. So we ended up playing Rock, Paper, Scissors. It is the perfect solution for deciding on issues that have little to no impact on how the code actually works. It enables a decision to be quickly made, and hopefully the parties involved agree that RPS is a fair and balanced method.
If you want to get super geeky, you could play Rock, Paper, Scissors, Spock, Lizard. I just found out about that the other day because of a t-shirt on Think Geek. I haven’t tried playing yet, it may take a while to remember what beats what now.
It’s been a while
I apparently suck at blogging. I haven’t posted in almost two months, that’s not going to keep anyone coming back to see whats new. Oh well, guess I’ll give a quick update of whats new in the Pinter Industries world. Not a whole lot actually, like no new site design, although I have sketched out some ideas.
The big Flash CMS project I worked a bunch on still hasn’t gone live. Not sure what they are waiting for since they haven’t asked for any updates recently. At least I’m finally getting paid for that project. Got a cool video portfolio site project for a friend that I’ll be starting, and hopefully finishing, this week. It will kind of be a portfolio item for me as well, since it should be a pretty neat Flash site.
The big project at the moment is something I’m working on with Heavy Robotic Chris. We are restarting a project we had built a year and a half ago and taking it to the next level of functionality. We both think it’s a great idea, something that we will both use, and hopefully people will use it this time around too. I’ve been writing quite a bit of JavaScript and PHP that writes out JavaScript, so it’s been a good learning experience. I’ll have much more to say about that project once it launches. Not that I think anyone would steal our idea and build it before we finish, especially since Amazon already did that.