Designer or Developer? Determining Your Skill Set As a Student

To this day, I don’t really know what I want to be when I grow up. I went to college with the expectation of graduating with a Computer Science degree, but instead I walked out with a Design degree. If anything, I found that my college career adjustments would be a indication as to how I would eventually fit into the web design field. Even now, I wear many different web hats, but they all fit.

But what about you? What do you want to do? Would you rather be a developer – writing code to solve problems? Or, would you rather be a designer – pushing pixels to solve problems? How do you find out which is more interesting to you? There are a lot of questions you should be asking yourself, but don’t expect anybody to give you the answers. You need to experiment to find out where your strengths lie; and in experimentation, many new things come to light.

Blur or Focus?

First off, what are you more comfortable doing? Again with my example, I started down one path and eventually changed direction, but I made sure a lot of what was learned came along for the ride. If you want to get your hands dirty with both disciplines, I recommend the following right out of the gate:

Join a Small Web Design Team

Being on a small design team forces everybody to wear many hats. To be successful, it’s sometimes required of all involved to adapt in their duties and help each other out. Understanding what your partner is doing and having the ability to step up and work on the same project is important. You work fast and you learn a boatload of information in a small amount of time.

My first job out of college threw me into this environment and I loved every minute of it. Even though I had a design degree, I was expected to help with Flash development, PHP, JavaScript, ColdFusion, HTML/CSS, and even some video compositing from time to time. Small team environments allow you to taste a bit of everything, hopefully finding a new interest in a particular area.

While this scenario allows for gained knowledge on a lot of topics, it also comes with a price: the old “jack of all trades” axiom. Sure it’s great to be able to have a lot of different skills, but you are never truly exceptional at any one of them.

Sure it’s great to be able to have a lot of different skills, but you are never truly exceptional at any one of them.

Join a Large Web Design Team

More often than not, larger teams mean a higher chance of specialization. Here you could have a defined role. You may be able to spend a lot more time in a single discipline, work with others with the same skill set (it’s doubtful that you are the only web designer there), then gain valuable experience and insight.

In either case, you get to try both the developer or designer tracks out. With a small team environment, the structure is mutable, so you can quickly move from the designer role to developer and back again. Be warned that you may not stay on one discipline long enough to get all you can out of it. The learning curve is steep and the skill retention is not very long.

With larger teams, you can more quickly build on your knowledge in one area, but you may not have as many opportunities to try different skills on for size.

Designer and Developer?

A combination of both skills is extremely valuable these days. The “double threat” of a designer who can code a bit or a developer who has an eye for design looks excellent on a resume and is sought after by many a company.

If you are primarily a designer, it would be in your best interest to pick up a web development book or two. Even if you would rather focus on the design discipline, having the vocabulary of a web developer will get you far. It can make the workflow smoother between the designer and developer, and your designs can be better suited to the project since you know a bit of the code’s capabilities. If the site will be in Flash, design for it. If the project will be an HTML/CSS/JS combo, then your designs will reflect this.

I don’t mean to say that you should stifle your designs to meet the code, but keeping in mind how the design will be built will help everybody in the long run. By all means, go nuts with your layout.

Conversely, if you are a developer, speak with a designer from time to time. Learn the lingo, understand the basic concepts of grid, typography, and color. Your CSS will be all the better for it.

This may be a different path to take, but it allows for greater focus in one discipline, while simultaneously integrating knowledge from the other side into your workflow. It can only help you. This isn’t the same as a “jack-of-all-trades” situation. You are primarily a designer or primarily a developer with a small bit of knowledge of the other side – enough to be dangerous. You shouldn’t be claiming to be able to do both at an equal skill level.

Conclusion

Well, up to this point I have been writing in generalities. This was not an accident, and this article wasn’t really meant to tell you what path to choose. The point here is to give you a heads-up on how to approach the choice. If you have a little bit of knowledge in each skill, then you are in a good position to make that next step. If not, here’s your opportunity to learn from others more experienced than you.

If you have already made your decision, good for you! But you may want to think about bringing in some of the other side. Ride the fence a bit. Take a look around and make a smart decision that will benefit all who work with you.

Figuring the Cost of Custom Website Development for Business

Web application development and website design are serious and expensive business. You’ve got the talent. You’ve got the passion. You’ve got the tools. But where does the money to start a business come from? One word: Grants.

The popularity and rise of web application development has spawned many start-up businesses and entrepreneurs looking to get a piece of the lucrative application development pie. With prime-time players like the Apple App Store and Google’s Android Market eating up the majority of the pie in terms of web application dissemination, it is difficult for aspiring web application developers to get noticed or even be seen from a distance. Like the old saying goes, no money, no funny. How can these developers continue to develop their talents (no pun intended) if the money just doesn’t add up? The well will dry soon enough if demand is not supplemented with return on investment. Help is out there, you just need to find it.

But there are some things you need to keep in mind when you’re looking for help:

– Keep good documentation: So you’ve got an app. It works and you’re happy with it. When applying for a grant, you need to keep good documentation. From the processes and problems to the challenges and successes, put it on paper and hold onto it.

- Issues? What issues? A Website Design & Development project is tedious, hard work. You and your team (assuming you worked with one) are bound to run into some issues. Make sure you document these. From variable issues to design, they want to know how you discovered the issue and how you went about fixing it.

– Time: Sure, this could also fall under keeping good documentation, but when developing a web application, time is crucial. Grants are time sensitive too, there are deadlines for applying, so be sure you’re well prepared.

Web application development continues to grow and evolve. Grants make the little guys gain access into an industry where only elite company with big sacks of money can participate. There are even grants which help to improve the technical prowess of your team. Who wouldn’t want to learn how to build and design better? There’s a grant for that.

Staying in the Web sphere, let’s take a look at the pioneer of web application development: website design. It has long been a committed partner to the Internet. The two go together like Marge and Homer Simpson – a marriage of two things that would not work if one of them was missing. But just like how web development is exploding, so too is the queue for companies. Nothing is original anymore. Everything is borrowed from something – including website design and web application development design trends. But not to worry, there are grants for Custom design too. We can’t all play in the big sandbox right away, as website designers or web application developers, we all need a helping hand. Grants help, so if you need one, apply!

So You Want to be a Multiplayer Web Games Developer?

In my first article “So You want to be a Games Developer?” (http://ezinearticles.com/?So-You-Want-to-be-a-Games-Developer&id=70920), I discussed various games genres, including Web/Email games. This is one of the easiest ways to start developing games- you aren’t restricted to one language or platform and the costs are pretty low. In this article, I’ll look at the various technologies that you can use, and give you an idea of what its possible to do and how you get started.

Web games fall into various sub categories- email games, browser games, and multi player games. Email games are by far the simplest- technically they aren’t web games and you don’t even need a computer to moderate them, just to send and receive. Browser games can be implemented in Flash, JavaScript (dhtml), Java and even ActiveX/COM. I’d guess that most single player games are implemented in Flash but I’ll save that for a future article. To start with, though I’ll take you through what is involved in developing Multiplayer Web Games.

Before you start, go and take a look again at the Multi Player Online Games Directory- http://www.mpogd.com. Its an excellent resource and gives you an idea of the type of games out there ranging from small free games to the massive games like Sony’s Everquest.

The big multiplayer games aren’t web based but they do work across the Internet. They tend to have their own custom written clients, with encrypted protocols, fast 3d graphics and large teams of customer support staff. I recommend http://terranova.blogs.com/ as an excellent blog on this- you’ll find articles and quotes from luminaries such as Richard Bartle who produced the first Mud (its short for Multi User Dungeon), and Professor Edward Castranova; an expert on virtual world economics. Muds also tend to use their own clients, usually based on Telnet. Although these are not web games, I recommend you widen your experience as much as possible. Muds in particular although not the most popular genre still do exist and provide a good model for interactive games.

Breaking into computer game design and programming is as easy as becoming a fulltime commercial game programmer- i.e. its not! But there is nothing to stop you developing your own web game, and MPOGD will be happy I’m sure to list it in their directory. If its Open Source you can set it up and find other developers on Soiurceforge.net.

There are two categories of web game: real-time and turn based, and this dictates the type of technology that drives it. Real-time is more complicated- the server has to support multiple connections at the same time and care has to be taken to synchronise actions between clients. If you attack someone and they’ve already moved but your client isn’t keeping up then your game is not going to be popular.

A crossover between multiplayer web games and custom client games is possible with Macromedia’s Flash. It is likely that multiplayer action games based on Flash will become more prolific- there are quite a few around now. Sadly sourceforge has many such ideas that have not got past the planning stage. Also what does exist may not be open source as creating such games takes a lot of work. Googling for flash, multiplayer game returns a couple of million results but add open source and it drops to a few hundred thousand.

Unless you are an excellent Flash developer and can write good server code as well, I suggest you stick to turn based games. The good news is that web based is an area where open source development is prolific. A search on sourceforge.net for ‘game servers’ returned several projects that are mature or beta. Fancy developing an RPG in Java? Use Arianne. Or if C# is more your style, have a look at Ovorp. The most popular languages are C++ and Java (for the server) but C# projects have now started appearing and you’ll find C, Perl, and Python as well. But don’t limit your searches to sourceforge- there are many projects elsewhere as well. An excellent resource for finding games is dmoz.org-= the Open directory Project. Have a look at http://dmoz.org/Computers/Open_Source/Software/Games/ and http://dmoz.org/Games/Video_Games/Roleplaying/Massive_Multiplayer_Online/Independent_Developers/

E.g. Black nova Traders, which is located on sourceforge at http://sourceforge.net/projects/blacknova and has its own url http://www.blacknova.net/ BlackNova Traders is a web-based, multi-player space exploration game inspired by the popular BBS game of TradeWars. It is classified as a turn based mud. It is coded using PHP, SQL, and Javascript. BNT is officially at Beta but is a pretty complete game that is just not finished. In fact it may never be as long as developers keep tweaking it!

If you are going to develop a web game you need a server. Yes you could do it online but thats slow. Best to setup your own server.

A good starting point with the most popular technology is the Open Source L.A.M.P. family. That is Linux, Apache, MySql and Php. If you are replacing your windows pc with a new pc, wipe the hard disk on the old pc and install a Linux distribution and hook the two up with a crossover network cable. What was a relatively sluggish Windows PC is now a good development server running Apache, Php and Mysql. Linux Guis are pretty friendly these days but if you are unsure of administering Linux, download webmin from webmin.com and install it. It makes all the Linux administration stuff like configuring Samba (if you want to share drives), adding virtual sites to Apache etc very easy. Or easier still is the W.A.M.P route with everything installed on your Windows box. For pros and cons of this have a look here. http://ezinearticles.com/?Windows-vs-Linux–Hosting&id=21972

One word of caution. You might consider exposing your web server to the internet down your dsl connection. Nothing wrong with that though it limits you to having two or three users at once. If you have a static IP its pretty easy to map a domain to it. It can also be done with a dynamic Ip connection as well. Search for dynamic dns to find out how to make that work. Be sure in either case that you have enough firewall protection. An unprotected Windows pc will likely be taken over in under 15 minutes. I strongly recommend that you buy a firewall router or invest in a professional software firewall at the least.

In future articles I’ll discuss the nuts and bolts of game software development and start developing an open source game.