27

Getting a Flash Dev Job in NYC (Part 2)

categories: career skills

Part 2 is focused on the interview process of job hunting. The anticipation of an interview can be excruciatingly nerve-wracking, especially if you’re generally afraid of people and haven’t interviewed in 4 years like myself. I knew that it was going to be a rough start, so some of my methods were planned out with that thought in mind.

The Interview



1. Go on as many interviews as you can, at first.

Even if you have a good idea what you’re looking for, just go on as many interviews as you can. For my first interview, it was the first one in 4 years and it scared the crap out of me. Since I was so nervous and I wasn’t getting interviews at companies that I wanted to work for yet, I saw it as an opportunity to practice. If I screwed up talking with a company that I didn’t really care about initially, the worst thing that would happen is that I’m rejected by something that I didn’t want in the first place. These initial interviews really helped me figure out what I wanted and didn’t want. Be cautious though. After a few months of interviewing, only take the interviews that you want unless you’re desperate. You might end up taking a job you don’t want out of desperation and in turn, just settling. At the same time, be realistic. If you’ve had you’re resume out there for a few months and haven’t had any bites, it might be time to re evaluate and take a job that you can get to gain some more experience and develop your portfolio.


2. Be prepared, but not too prepared.

I’ve gotten the question many times of or a variation of “What do you know about our company?” or “Which of our projects do you like? And why?”. So it’s extremely important that you don’t fail these. I think it’s best to make sure that you know basically what the company is about as well as their most recent/most high-profile projects. No one expects that you know their entire portfolio inside-out. On the other side, when you’re too prepared, you forget to ask important question since you already know the answers. Asking questions is an important part of the interview, so make sure that you have some to ask, even if you know the answers. The interviewer wants you to be curious about what they do, while a the same time, they generally like to talk about themselves and sell their company to you.


3. Don’t be afraid to write your questions down.

Every interview I go on, I have an index card of questions that I’ve thought of before the interview and I usually keep in in my pocket. When they ask if I have any questions and I pull that baby out, more times than not, they’ve been impressed that I came prepared and have been thinking about the job and am taking it seriously. Of the 5 or so jobs I’ve been offered over the months that I was interviewing, the cards came out every time. For me, it’s not just a gimmick either. I never remember everything that I want to ask, so I keep it written down. It works for me. It also gives your nervous nilly fingers something to fumble with.


4. Dress appropriately.

This point is important, but not really anything to worry too much about. The goal going in is to show that you have respect for the company, showing your personality, while also being aware of the company’s culture. Again, it’s not worth worrying yourself too much about it.  It’s easy to freak out about what to wear for an interview, but in the end, the interviewer won’t remember what your goofy shoes looked like (unless that’s what you’re going for) or that the crease in your pants was too crisp. As long as your clothes are clean and you gave ironing the good ol’ college try, you should be good. I also tend to think that overdressing is as big of a mistake as underdressing. My default “outfit” is decent jeans, ironed button down shirt, blazer (sometimes), and black shoes. Also, don’t be afraid to give the interviewer a peak of what you’re about. Showing them that you have a personality is a plus.


5. Don’t lie (outright).

During the interview, there’s a good chance that you’ll be asked a question that you just don’t have an answer for. The best thing to do is to just be honest about it and not start lying. This is also another opportunity to learn something so that you’re prepared for your next interview. Take note of the question asked and make sure you have an answer next time Problem solved. If you’re passionate about what you do, you’ll do that anyway. There’s nothing worse than barely surviving a tough question by lying (thinking that you were giving them the answer that they were looking for) only to be asked a follow up question. The other thing you can do is start asking questions back in order to learn about the question being asked. You might just get the answer from them that they were looking for.

At the same time, I think it’s OK to exaggerate a little. If you’re asked about a specific framework, technique, or software that you’re aware of but don’t know it well or used it extensively, but at the same time know it will possibly help get the job, I think it’s alright to say that you know it. The caveat is that you should go home and try to get to know it better so that if you do get hired and asked to do some Papervision 3D or something for them that you can pull it off and not look like a big dummy.


6. Remember to write a thank-you letter.

This is pretty self explanatory. It’s just another opportunity to let the interviewer know that you’re excited about the opportunity of working with them and that you’re really into what they do. The problem I always have is remembering everybody’s name if you met multiple people in my interview. In that instance, I usually end up writing directly to the person that I set up the interview with and telling them something like “it was great to meet you and your team”. Who doesn’t like a team-oriented candidate?


7. Link In
After an interview, especially if it went well, I like to look the interviewer up on Linked In and request to connect to them. I usually save this move until I’ve had more than one conversation with them and or after I’ve been offered a position (regardless of if I accept or not). This can be a bit of a ballsy move, so only do that if you’re certain that it went well and that they are truly someone that you would like to work with later on in your career. You don’t want to be too presumptuous. In addition, it could be good for a future employer to see that you’re linked in with other “important” people in the industry.


8. Leave on a good note
I’ve had good interviews and I’ve had shitty interviews. The one thing that I made sure to do was to leave on a good note though. I’ve even had job offers fall though (as a result of poor communication on their end) and gotten completely screwed, but kept my emails cordial and up beat. The industry is small enough and you never know who you’ll work with in the future, so it’s best not to burn bridges before they even exist.


9.  Don’t beat yourself up after the interview.

It’s easy to pick apart the entire interview after it’s over, but when it comes down to it, what’s done is done. If you feel like you answered questions poorly, call it a learning experience and be sure that you have a better answer next time it’s asked. Though there’s also a good chance that the answer wasn’t as dreadful as you made it out to be in your head. It’s really not worth losing sleep over. I’ve lost sleep over what I though was a bad interview and was offered the job the following week. As long as you’ve showed them what you’re about and that you’re capable to do the job well and wasn’t a dick, then you’ve got nothing to worry about. If they don’t pick you, then it might not be a job that you want in the end anyway. There are always other jobs in this industry.

That’s it for now. If you missed it, Check out Part 1 to for tips on getting the interview. Part 3 will about other random aspects of flash dev job hunting such as what to put together for Code Samples and rejecting a job offer. If you have any questions or anything to add, let me know in the comments below. Good luck.

31

Flash and the City 2010

categories: conferences, flash

Flash and the City marked the return of flash conferences to New York City and the first one that I’ve attended in 3 years. When Elad Elrom started talking about the conference last year and announced that the super early bird price was $99, it was hard not to buy my ticket right away. I’m glad I did because in the end, I definitely got more than my money’s worth. In addition to seeing some awesome presentations, I met some cool people and left inspired to get better at what I do as well as open my horizons.

FATC proved to be a bit more techy and geeky than FITC, but still a great conference to attend. Of course it was very flash oriented and there were a lot of Flex specific talks as well. In addition to the things I highlight below, there was a bunch of more inspirational talks that are a bit tougher to distill but hopefully there will be enough here to get people pumped enough for next year’s conference.

So here’s the lowdown:

Adobe

  • Some of the Adobe Flash platform evangelists went up and talked about the “We  Choice campaign”. It’s here if you haven’t seen it.
  • Talked a bit about some of the cool new things in CS5, I’m sure the same things that were mentioned at FITC.
  • Some of the cool highlights were the ability to export FXG files for use in Flash, Flashbuilder, and Flash Catalyst right from Illustrator or Fireworks.
  • The ability to go between programs a bit more seamlessly (right click an asset in flash and choose “Edit in Photoshop” and having it update as soon as you save your changes).
  • The ability to add and edit cue points for your videos right in flash as an alternative to embedding them in the video file or reading them in separately.
  • Device Central was pretty cool to simulate some of the functionality of a mobile phone for an app that you might create using AIR 2.0.
  • Talked a bit about some of the new AIR 2.0 features:
    • Multi-touch and gesture support
    • API to access raw microphone data
    • global error handling
    • support for native code integration
    • For the full list, read more on the Adobe Labs blog, http://labs.adobe.com/technologies/air2/

Litl

(http://www.litl.com/)

Evangelists form the Boston based company, Litl, were there to hype up their Home-based device and platform which was built on Linux and not only supports Flash, but promotes the use of flash to make applications for it. Instead of apps, the litl has what are called “channels” that are all flash based. It’s also supposed to be good as a set top box that you can connect to your TV. Kind of cool, but not sure how useful it is in the real world. If you have kids, it’s supposed to be very family-friendly. They were also there to announce the release their developer API, found here: SDKdeveloper.litl.com

Yogurt 3D

(http://www.yogurt3d.com/)
This was the first time that I ever heard of this 3D engine, but what it is is another 3D engine for flash built specifically for building 3D games. Some of the demos are pretty incredible. Definitely worth looking at and considering next time you have to build a 3D environment for use in flash. It supports a lot of the same 3d formats that Papervision3D and Away3D use, such as collada dae files, but seems to have really good performance and texture mapping capabilities.

Decrap your Application

RIA Radio host, Garth Braithwait’s talk was aimed at Flex developers with no or an underdeveloped eye for design.  He talked about basic principles (Contrast Repetition Alignment Proximity) and emphasized the idea that if your Flex app looks like a Flex app, then you’ve failed.

Touch me Baby

Lee Brimelow showed off the mult-touch and gesture API in AIR 2.0. He demonstrated that flash can detect as many touchpoints as the touch device can handle. With the help of 6 people, he was able to get 60 individual touch points on one device (a new 3M multitouch monitor worth $1600). He also talked about playing with many touch devices admitting that the iPod still has the most responsive touch screen. Whether he’ll stick with the iPhone as his primary smart phone is another question.

These are the newly supported gestures discussed: rotate, zoom, double-tap, press and tap, and pan. He noted that the built-in gestures kind of suck and that it’s usually better to build your own or use some of the libraries that some other people have already created (such as gestureworks).

He made the point that current sites (for the most part) should still work on touch devices because of the way they build 10.1 to dispatch the appropriate mouse events when touch events are dispatched by the device. Here’s a link of flash sites working on a touch device (no recoding necessary): http://theflashblog.com/?p=2027

Quick as a Flash

Grant Skinner went over ways to make your code more efficient and how to test your code effectively. It was a really good presentation and worth looking at for every Flash dev, especially since Flash is getting all this flack about it being a processor hog and the such. He stated that it’s now our job to give flash a good name by making our programs as efficient as possible. The slides from his talk are here: http://gskinner.com/talks/quickTO/. This sentiment was echoed throughout the conference and has made an impact on how I approach programming. It’s our responsibility to give Flash as good a name as possible if we want to continued programming for it in the future.

Hacking Robots for Fun and Profit

This was one of my favorite presentations. It was really just a case study presentation of how The Iona Group created a remote controlled rover game using Rovio Robots and Flash (as well as other technologies in between). Chad Udell Discussed the hardware used as well as some of the techniques in flash to make this project come to life. Very cool stuff. His slides and some more info are here: http://ionagroup.com/labs/2010/05/20/hacking-robots-for-fun-and-profit/

Devices for Flash Panel

Not too much new, but good to hear some experts in the community talk about the current state as well as the future state of flash on mobile devices. Again, there was an emphasis on making your programs as efficient as possible to help move flash on devices forward.

Some resources:

Space Invaders

Seb Lee-Delisle talked about motion capture in flash, how to build your own basic 3d engine, and showed off some fun papervision projects that he worked on with Plug-In Media including the Big and Small house and ZingZillas. Also showed how he created this Lunar Lander game at less than 5K (http://sebleedelisle.com/2009/04/lunar-lander-3d-in-5k/). A lot of his presentation echoed what he had talked about at the flashcodersNY meeting that he made an appearance at earlier in the week, but I was glad I attended both. Really inspiring work from a pretty down-to-earth guy using techniques that are not impossible to learn for the average flash dev.

Getting Git

Simeon Bateman talked about what Git is and why it’s so awesome. He mentioned progit.org as a great resource for learning Git. He had a lot of good info, so I’m hoping he put his slides online. This presentation made Git seem a bit less intimidating to use for newbies.

He mentioned the following tools as decent GUIs for Git:

Robotlegs in the Real World

Joel Hooks talked about what Robotlegs is, how to use it, and why it’s becoming so popular. Throughout the conference, everyone was talking about Robotlegs. I’ve used it and it IS awesome. His slides are at http://joelhooks.com/2010/05/18/slides-from-flash-and-the-city-presentation-on-robotlegs-as3/.

For newbies getting started, one of the main concepts to understand is Dependency Injection. Once you have that down and understand what MVC is you should be off and running relatively quickly.

In addition to seeing Joel do his thing, I scored a kick-ass Robotlegs Sticker and T-Shirt.

Gaia Flash Framework

Jesse Warden talked about the Gaia framework and how to use it in correlation to Robotlegs. He has a blog post about this topic here http://jessewarden.com/2010/05/how-to-use-robotlegs-on-top-of-gaia-part-deux.html. His talk was energetic and fun to watch. I didn’t take any notes, but now I’m interested enough in Gaia and realized that my next project would be a perfect opportunity to start using it.

The only thing I didn’t like about his presentation was how he was knocking how someone had inappropriately used the PureMVC framework on a seat selector project as he heard from one of his friends recently. Putting the pieces together, I think he was making fun of my code. I think I know which friend he was talking about, as it was the same guy that started working at Iomedia the week after I left. I got a little red in the face, but in the end I was kind of honored that anyone even knew about my work.

FDT Workshop

Alan Klement from Night Agency along with Bruno Fonzi from Powerflasher demonstrated some of the crazy cool new features in FDT4 in this last minute workshop. I have to say, I’m impressed and I can’t wait till it’s released and out there. I think it’s going to be very hard for companies not to spring to buy FDT for their flash devs. Hopefully they bring the price down a bit (tough I can’t complain about a free FDT Pure license just for attending FITC).

So that was FATC this year. Definitely different than what I was expecting, but well worth it. Can’t wait till next year, especially since the Flash world is changing so quickly now. Who knows what will be relevant a year from now.

30

Getting a Flash Dev Job in NYC (Part 1)

categories: career skills

Interviewing for a new job is a scary thing and nothing I write here will take that all away, but hopefully some of these tips will help you be OK with being scared. It’s part of the process. Since I’ve been on both sides of the table, I might be able to provide a unique insight into both being chosen for a job as well as choosing to take the right job for you. This post will be broken up into multiple parts, starting with just getting the interview.

Before I begin though, there are a few disclaimers. No company names will be used here as I don’t think it would be fair to divulge anyone’s process. I’ll just note that every company does it differently and the process depends a lot on the company and the people involved in the recruiting process. Everything written here is based solely on my experiences and all opinions are based on me and not any company that I worked for or interviewed with. My experiences and tips are based on someone looking for a job specifically as a flash developer in New York City where there is a plethora of companies that you could work for as a flash developer, so I have no idea what it’s like to find a job in a different field here or elsewhere in the world.


Getting the Interview



1.  Know what you want to do.

It’s tough to find a good job as a designer AND developer. From an employer’s point of view, it’s hard to trust that someone will be amazing at both. If that’s your goal, then you might have to go in as one primarily and prove that you are capable of the other. That being said, if you want to do both, it’s not impossible to find, just be prepared that a lot of companies that you will want to work for will expect you to be great at one of the two and may see your multi-talent as indecisiveness. Also, as a developer or designer, you will be expected to be curious and willing to explore every aspect of your discipline. It’s tough to be familiar with every aspect of design AND development. As a result, I decided to look for a job that was more on the development side of things. The decision was based on knowing that it was going to be tough finding a job at a company that I wanted to work for where I would be responsible for both as well as figuring out that I’m stronger in development than I am in design. It was a tough decision to come to, but so far it’s not one that I regret. In a way it actually helped. it helped me decide that I wanted to develop for a visual output and set me on the track of finding a job where that’s what the employer was looking for as well. They say that it’s tough to find a person that can code, but also has an eye for design. Thanks RIT.

2. Linked In is your best friend

Linked In has been an amazing resource for researching the companies that I want to work for, researching the actual people that I could be working for and researching the work and background of the people that are doing the job I want. One thing that I would often do is find out who built a website that I really admire (usually through the FWA or Communication Arts) and then immediately go to Linked In to see first where the company is located, see if I know anyone there, see if I’m linked to anyone there, and then check out the individual’s profiles that are currently there as Flash or Interactive developers. If I can get that far, I start checking out those other developer’s websites and see what their capabilities are.

This bit of stalking accomplishes a few things. I can see if the company is located in NYC, I can see what companies people came from and where they went after being employed at that company (if that kind of thing matters to you), and I can determine if the stalked individuals have a similar skill set or background as myself. For me, that’s the most useful part of this. If there is something that I should know or be on top of, it will be listed on the developer’s profile or website and it’s something that I can either check off as something that I can do or potentially add to my list of things to learn or at least look in to. Another great thing that Linked In has done for me is provide a way to connect to people whose work you admire. On multiple occasions, I’ve written messages to other developers letting them know that I’m into what they do and ask if their company is hiring. I haven’t come across anyone that was dick and they’ve always given me the name of someone to contact directly that is involved with recruiting for their company. It’s even led to a few interviews. People like to be admired. Even if you don’t get an interview right away, making initial contact could lead to a friendship or professional working relationship later on.

3. Work your connections

Talk to old professors, friends, ex-coworkers, alumni job placement people, everyone (except for anyone that might still be connected to your current employer if that’s an issue). Companies like to recruit people that are recommended by someone that they know. I personally have had at least 5 potential opportunities begin because I was either recommended or because I had some sort of connection to one of their current employees, whether I’ve ever met them personally or not. And I was offered jobs by half of them. If you went to school with someone that works at a company you like, send a message through Linked In.

4. Monitor your Online Presence

When looking for a job, make sure that you are aware of what comes up when you’re googled. Whether it’s legal or not, anyone can google you. Try it yourself. If something comes up that you wouldn’t want a potential employer to see, do something about it if you can. Most of the times its just wacky facebook images that someone tagged, but luckily you have some control over that. The other side of this is to make try to make yourself more visible in your field. Tweets, blog entries, and message board postings that reflect your involvement in the community can definitely have a good impact in the mind of an employer. It shows that you are dedicated, thoughtful, have communication skills, and  have passion for what you do and what they will be hopefully paying you to do. A lot of studios have company blogs that they like to have their employees blog on, so it might also be something that they are looking for.

5. Be Persistent

On delicious, I have all the companies that I would want to work for bookmarked and I made it my duty to check every site every day. It got to the point that I could tell when there was even the slightest update. Over the months, I actually witnessed many sites go through a redesign. Besides keeping me up to date as to if those companies were hiring, it helped me learn more about the companies and the projects that they were outputting. Even now that I have a new job, I still check many of them out on a regular basis.

In addition, below are some resources that I consulted regularly to find the right job

  • craigslist – Most of the time, the jobs were duds, but every once in a while I found some amazing companies post there.
  • indeed – Updated frequently and syndicates job postings from all over the web. It also helps give you an idea of salary expectations.
  • The FWA – This had the most relevant jobs since a lot of the companies that posted were fwa winners and will continue to be once I get in there.
  • Krop – A lot of creative companies said that if they’re hiring, then it’ll be on Krop. You can also have relevant postings emailed to you when there is something new.
  • Twitter – Following your agency crushes on twitter allows you to see when they are hiring right away if they tweet it. It worked for me.
  • delicious – This was where I kept a list of companies whose websites I looked at daily to check their individual job postings.

The next part of the series will be about the interview process itself. Stay tuned and let me know if these help any of you out there.

27

Thoughts on RobotLegs

categories: actionscript 3, flash, frameworks

Recently, you may have read and heard a lot of people talking about Robotlegs. Well maybe you haven’t, but if you’re a dork like me, you probably have. And even dorkier of me, I find it actually really exciting and has changed how I approach programming.

For those of you who don’t know what Robotlegs is, it’s a micro-framework for Actionscript 3 whose structure is derived from PureMVC and based on the MVCS design pattern. MVCS is basically your standard MVC pattern with the S providing for a Service branch, which is the place to communicate with any external services or processes. It was created by Shaun Smith with Joel Hooks contributing and pushing it into the public. They both have some great information on their websites and have been really open to the community in answering questions and helping other developers out. Like many open source projects nowadays, this project is on GitHub making it free to download and fork and contribute to if you want.

A few months ago, I had a post about my experience with PureMVC, which really actually changed the way I program for the better. Then I heard about RobotLegs from a my fellow Flash developer Justin Emter who started experimenting with it. From there, I heard them talking about it on the InsideRIA and The Flex Show podcasts, at FlashCodersNY meetings, and all over twitter. So there were many opportunities to pick it up. Since I heard that it was based on PureMVC, I figured that I had a good basis to get started and run with it.

Similarities to PureMVC

  • The idea of a main gateway to set everything up and get it started. In Robotlegs, it’s called the Context. In PureMVC, the Facade.
  • The role of the Mediator as the class that handles all incoming framework events that its view components need to be aware of  and outgoing view component events that the framework needs to be aware of.
  • The idea of mapping events to commands, sort of. In PureMVC, the unique “notification” is really what is mapped to a command from other framework pieces, while Robotlegs use flash’s build-in events and custom events that can be mapped to commands. Robotlegs is also expandable enough that you can also use AS3 Signals.
  • The model branch has classes to store your applications data and states.
  • The controller branch is a repository of your applications commands.

Differences

  • Robotlegs is smaller (file size wise) and requires fewer files for the most basic project making it ideal for projects of any size.
  • Because of dependency injection and the use of the native event system, Robotlegs makes it much quicker and easier to set up your projects.
  • Robotlegs uses dependency injection so that there is less typing when creating and initializing your main framework classes and automates the process a lot more.
  • Robotlegs doesn’t advise you to create value objects for your models, not that it can’t be done. But for smaller projects, it’s perfectly fine to keep your variables in the model. I prefer to do this when possible, just so that there is one less step between the framework object that needs the data and where the data itself is being stored.

Dependency Injection

Dependency injection is partly what makes Robotlegs so quick and easy to build out projects, but was a new concept to me. Dependency injection, as Wikipedia explains it, “is a technique for supplying an external dependency (i.e. a reference) to a software component – that is, indicating to a part of a program which other parts it can use.” This means that class reference that you inject into a class must exist to reference it, otherwise you’ll get an error. To inject a dependency, the [Inject] metatag is used. The unfortunate thing about this, is that the Flash IDE compiler doesn’t support that, so you have to use the workaround found in Helmut Granda’s blog post. It’s not hard, it just involves a bit more typing up front.

To get started, here are some additional resources:

7

GridFitType

categories: actionscript 3, flash

Sometimes, you need to use a dynamic textfield in flash where it’s necessary or more convenient to create the textfield completely dynamically (not placed on the stage in a movieclip in the library). You style your text nicely and set up everything so that it looks just right and then when you go to animate it, the animation looks very rigid and jaggy. This issue is most likely the result of the gridFitType property.

GridFitType is a textfield property that controls how a textfield’s anti-aliased pixels appear within the the stage’s pixel grid. When the textfield is resizing, it’s pixels might be forced out of the flash stage’s pixel grid, which in turn may force a word to move over to the next pixel, which in turn can force it down to the next line if it’s close to the edge. It also makes it so that when animating, each pixel rounds out its position to the next full pixel instead of letting it smoothly animate between pixels, creating the jagged looking motion

The solution to this jagged pixel animation issue is to change the gridFitType property to either NONE or SUBPIXEL. When the textfield is created dynamically, the default gridPixelType is set to PIXEL, while when created through the IDE it’s set to NONE. Below is an explanation of the three options below according to the Adobe AS3 livedocs here.

The 3 available options are:

  • NONE- This specifies no grid fitting and provides for the smoothest animation. This is the default when a new textfield is placed on the stage through the IDE.
  • PIXEL- This specifies that strong horizontal and vertical lines are fit to the pixel grid. This setting works only for left-aligned text fields. This setting generally provides the best legibility for left-aligned text. This is the default for dynamically created text fields.
  • SUBPIXEL – This specifies that strong horizontal and vertical lines are fit to the subpixel grid on an LCD monitor. The subpixel setting is generally good for right-aligned and center-aligned dynamic text, and it is sometimes a useful trade-off for animation versus text quality.

In order to take advantage of the GridFitType property, the textfield’s anti-alias property is set to ADVANCED. Otherwise, it will use the default gridFitType property.

The examples below show how the default textfield plus the 3 types affect the text when it’s being resized. As you can see, setting it to NONE is the smoothest, while PIXEL is the most readable. Setting it to SUBPIXEL is best when you need something more readable than none and smoother than PIXEL.

This shows how the default and the 3 types of gridFitTypes when applied to a textField that is created dynamically and has animation applied to it.

11

Wordpress Stylin'

categories: web development

This post is for those of you that are intimidated by the idea of styling your first Wordpress Blog (if there are any). I’m here to say that I’ve survived and this is the outcome.

During college the whole web development thing frustrated me and scared me enough that I vowed that I wouldn’t touch it again. And since I LOVE flash development so much, I figured that it didn’t really matter. The whole cross browser/ cross platform thing pissed me off and flash allowed me to make something and have it look AND behave the same way every time (almost). Over the past year and a half as I’ve gone more into a development centric career, I decided to give it another go and realized that it’s not so scary. After all, I’ve done a lot of things with actionscript that were way harder to code than a simple CSS/HTML site.

After warming up on some small projects and working my way through a CSS book, I got going with Wordpress. There were definitely things that really confused me, but I feel like I learned a lot. The following are some of he snags I ran into that will hopefully come in handy for someone else.

Lessons Learned

There’s a difference between wordpress.com and wordpress.org
Wordpress.com will allow you to have a blog that’s hosted through wordpress.com, but has limited support for styling and using plugins, but it’s free. Wordpress.org is free too, but you have to have your own web space and access to a MySQL database so that you can install wordpress on your server and upload your custom theme as well as have a place to store all of your content.

Running XAMPP and installing wordpress locally is key
I’ve had XAMPP on my computer for a long time knowing that I should, but never quite understood it’s usefulness, until now. Since Wordpress is run in a PHP environment, every page is a PHP file, which you can only view if it’s online or running in some other server-side environment, enter XAMPP. I’m sure that now that I understand XAMPP, I’ll be using it on many more projects in the future.

Plugins can save the day
I’m usually not a big fan of using “cheat codes” (except for using Game Genie back in the day, they let you do some awesome stuff), but when it comes to having something that will help you get your site up and running when you have limited time to do so, they will save you a ton of time. Again, you can’t upload plugins to your wordpress site, but you can upload them when wordpress is installed on your server. I’ve actually come to embrace plugins and pre-built libraries in general. As long as you have an understanding of how the wheel was made, why reinvent it?

There are a ton of much smarter people out there that can help you out with your wordpress questions. Hell, there are people out there that specialize in building wordpress themes. When I got stuck, there were a lot of resources that helped me get through. Here are a few that might help:

Before I end, I wanted to thank for Tristan Bagwandin for helping me get started with this site and provided me with some good links and answered some of my stupid questions.

29

Thoughts on Pure MVC

categories: actionscript 3, flash, frameworks

Recently, I used the Pure MVC framework for the first time on a project and it opened my mind to the right ways, wrong ways, and new ways to structure a project in Flash. Before I get into the pros and cons, I want want to first warn any of you that are new to using frameworks in general that there is some studying involved in order to fully wrap your mind around how this thing works. But it’s totally worth it.

Before you jump in, it’ll help if you are familiar with OOP programming basics and have an understanding of what the MVC design pattern is. When I started, I was already quite familiar with MVC pattern and decided that having a framework that laid out some rules for my programming may help in keeping the project consistent. In order for me to completely grasp this new way of thinking, I first took a look at the conceptual diagram and quickly decided that it made absolutely no sense to me. Then I read through the Framework Overview and the Best Practices PDFs multiple times and it started to finally click. The guys who put together this framework did a really good job of providing lots of examples and documentation to help you though this difficult time, so search through and give it a good honest go around before throwing you hands in the air.

After using it for a few months, here’s a summary of the advantages and disadvantages.

Pros

  • Provides structure and “rules” for programming your project
  • Used among multiples languages, so your one leg up if you want to use it in C#, Java, or PHP
  • Gives you a better understanding of OOP concepts in general and why they’re so useful
  • Makes it easy to separate your project into multiples pieces which may help if there are multiple people working on a project
  • Makes it easy to remove or turn off features

Cons

  • Forces you make a lot of classes
  • Adds to the compile time, so it’s probably not a good idea to use with small projects
  • When adding new functionality, it may take a little more time to implement if it’s going through the entire framework, though it’s more likely that it will be less buggy

Summary

Pure MVC was great to learn and helped me more concretely understand some OOP concepts that I was a little spotty on. I’m sure that I will use it again, but only for larger projects where I need a  shell that ties everything together and has a lot of different “modes”. For a smaller project, I’m going to try out Robotlegs, which seems to have some of the same core concepts in a tighter package. Either way, I know that all of my future projects will have some solid structure and some of my own rules for developing it.

Check back soon to see how this Pure MVC-based project turned out.

20

Oscars 09 Ballot project

categories: actionscript 3, flash, papervision3d, projects

I have a new flash project up that I’ve been working on for a few months on and off.

http://www.gregkepler.com/oscars09/

This is an Oscars ballot site that was set up for my family and friends. I used a bit of practical Papervision3D for the ballot selection and Aftereffects for the transitions. It was a fun project, but now it’s time to move on to the next project, the personal portfolio site redesign.