Forum Moderators: phranque

Message Too Old, No Replies

Designing a site like Youtube or Myspace

I have always wondered what programs (e.g. DW) to design?

         

bartainer

4:08 pm on Dec 28, 2006 (gmt 0)

10+ Year Member



Hello:

I'm just curious, what different programs are used to design huge sites like YouTube, eBay and Myspace. Heck, I'm happy using DW to design my site; however. I know there are many people hand coding the sites.

Thanks in advance.

trillianjedi

6:27 pm on Dec 28, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



There are two distinct elements to a large site. The "backend", usually a database of some kind, and the "front end" built by either a designer or usablity specialist.

For the front end most designers will work with a graphics package they're comfortable with and have a programmer then build it for them. The really really good ones will code directly with CSS.

Backend will be built in a text editor or application development platform.

A WYSIWYG editor like dreamweaver might be used to create page templates, although it's more common these days to see them hand coded. A good designer/programmer would find a text editor faster.

TJ

celgins

8:05 pm on Dec 28, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



I agree with trillianjedi's remarks.

Neither Myspace or YouTube have "beautiful" looking sites, and were probably handcoded using DHTML/CSS/PHP/ASP, etc. But that's just the visible stuff you see on screen.

The backend development is where the true work takes place. I'm not sure what database platforms they use, but the heavy programming happens there...(SQL coding, authentication parameters, etc.)

jtara

8:19 pm on Dec 28, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Depends on just what you mean. Do you really mean "to design" or do you mean "to implement", or do you mean "to deploy"? Or all of the above?

In any case, the answer is "a wide variety of tools".

Pencil and paper is always popular for rough design, and remains so even for the largest of sites.

Image creation and editing, HTML and CSS editing, are done using the same wide range of tools available to you and I, plus a few we can't afford. Even dynamic sites still require HTML and CSS snippets, and I imagine the same tools are still used.

Most of these types of sites have dynamic content and can require a considerable amount of software running on the server to pull the content out of a database and implement the site's application logic.

The very largest sites typically will not use an off-the-shelf CMS (content mangement system) although some do - particularly those that are newspapers/magazines or newspaper/magazine-like.

Many use custom software, which is developed in the same or similar manner as would be desktop applications - using text editors, code editors, IDEs (Integrated Development Environments), etc.

Java is a popular (though costly, in terms of effort) language for developing these types of sites, and NetBeans and Eclipse are two popular IDEs in which to do this development work. Perl remains popular and runs some very big sites - Amazon, for example. Ruby (and the Rails platform) is a rising star and being used increasingly by some big players mostly at this point for some secondary functions, but hampered at this point by a very slow interpreter. And of course PHP is used to implement a huge range of sites from tiny ones to some of the very largest.

In between CMSs and custom code are so-called application frameworks - basically libraries of functions, code generators, and a bundle of tools for creating interactive websites.

I think the key thing to understand here is that developing a big dynamic site is more akin to developing a desktop app than a static website, and requires people with similar skills (e.g. programmers, database managers, etc. etc. etc.)

axgrindr

9:26 pm on Dec 28, 2006 (gmt 0)

10+ Year Member



I recently made the transition from designing my own websites in a WYSIWYG editor to building dynamic sites with user generated content. Not on the same scale as YouTube or Myspace but with much the same features and complexity.

I've built two sites now that involve integrating a php database with flash preview systems for user generated content. Both sites have user created accounts where content is uploaded into the database.

All of the systems were built by many different programmers.

For the design I simply made photoshop mockups and sent to them to the front end designer who had to work closely with the database guy.

Then I had to keep track of programmers, and features, and bugs, and new features, and more bugs, and security issues, and load times, and cross browser issues, and IM sessions in the middle of the night, and flakey programmers who had to be replaced by expensive programmers, and payments sent to all corners of the world.

I basically went directly from web designer to project manager in a few months and learned a whole lot along the way.

Now I just manage the databases.

Ruby (and the Rails platform) is a rising star and being used increasingly by some big players mostly at this point for some secondary functions, but hampered at this point by a very slow interpreter

I'd love to find a 'Ruby on Rails' coder for my next project. I wasn't aware there were problems with the interpreter though.

IanKelley

2:16 am on Dec 29, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



At the risk of getting off topic... Ruby on Rails is, as mentioned, a rising star, but not for particularly good reasons.

The end result is slower and less efficient than virtually every alternative. Whatever you save in coding hours you will eventually pay out many times over in hardware costs.

cmarshall

2:52 am on Dec 29, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



What I Use:
  • Adobe/Macromedia Dreamweaver 8
  • BareBones BBEdit 8.5
  • Adobe Photoshop CS2
  • Adobe Illustrator CS2
  • Parallels Desktop 2.X (I use 2.5 Beta)
  • Firefox 2, with Chris Pederick's WebDeveloper plugin.

Most of my work (PHP) is done in BBEdit. BBEdit has a direct plugin for Perforce VCS, which is nice.

I use Illustrator to develop the art's "seed," but use Photoshop to render it. I don't bother with ImageReady. Photoshop has it built-in.

I use DW simply to control templates and as a way of managing the connections with the server.

Parallels has become absolutely invaluable as a testing tool.

And of course, I use a slew of online validation sites, such as the W3C ones, Cynthia Says, Hermish, Validome and Wickline.org's ColorFilter.

I need them all, and I probably spend more time in BBEdit than all the rest combined.

I don't design huge, high-GPR sites. In fact, most of my work happens inside of corporate firewalls, or for NPOs. However, I'll lay odds my sites have just as many KLOCs as the "big boys."

jtara

4:57 am on Dec 29, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



I'd love to find a 'Ruby on Rails' coder for my next project. I wasn't aware there were problems with the interpreter though.

Ruby currently uses a pure text interpreter. Not even a byte-code interpreter. Contrast this to Perl, which has a pretty good byte-code interpreter, and CAN be compiled to machine code (though it isn't often done), and Java, which has a good byte-code interperter which is typically just-in-time compiled to machine code, and often on this big sites statically compiled to machine code. Like Perl, there are some aspects of Ruby that resist compilation to machine code, only more-so. (Ruby is an extreme case of a VERY dynamic object-oriented language.)

That said, there are at least two projects currently going to produce a byte-code interperter, I believe one very early effort at machine-code compilation, and a serious effort to improve the text interpreter dramatically. (Scheduled for Ruby 2.0). Because Ruby and Rails are so efficient of programmer's time, I think it is safe to make the assumption that these things WILL happen as there is a huge need for it in the industry.

Rails really isn't AWFUL slow (you want AWFUL slow, look at Python/Zope, which manages to be noticibly slow even on a dedicated machine) and at least it scales beautifully. Simply add more Mongrel servers on more machines behind a reverse proxy front-end.

It's fine right now for most small sites. If you have something that you expect to grow to "huge" but have a 2-year timeframe for that growth, I think you are safe.

BTW, to turn the discussion back to "what do you use", I am using Eclipse running on Fedora Core 6, with RDT and RadRails plugins for Rails development, and the Subversive plugin for version control with SVN.

I come from a Windows/Visual Studio environment, and am really liking Eclipse, particularly the availability of the wide variety of plugins for programming in different languages and frameworks.

Within the same basic framework, by using the appropriate plugins, you can do HTML and CSS development, program in C++, Java, Perl, Ruby, Python, PHP, Javascript (and more), version-control your project using just about any version-control software, design databases, etc. etc. etc.

axgrindr

4:11 am on Dec 30, 2006 (gmt 0)

10+ Year Member



Adobe/Macromedia Dreamweaver 8
BareBones BBEdit 8.5
Adobe Photoshop CS2
Adobe Illustrator CS2
Parallels Desktop 2.X (I use 2.5 Beta)
Firefox 2, with Chris Pederick's WebDeveloper plugin.

Do you use just these tools to build YouTube and Myspace type sites?

jtara

5:31 am on Dec 30, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Do you use just these tools to build YouTube and Myspace type sites?

You could. All you need is a text editor to produce any kind of site. (Plus whatever pre-existing software that needs to be installed on the site.)

The original question is quite ambiguous, though. Still wondering what the author was really asking.

Keep in mind, also, that YouTube and MySpace are really not very complicated sites. Just big. (i.e. lots of users, lots of viewers.)

justgowithit

6:09 am on Dec 30, 2006 (gmt 0)

10+ Year Member



Backend will be built in a text editor or application development platform

I hear this a lot and it make me wonder... My latest project (or the past year and counting) is a highly sophisticated web-driven application that I have hard-coded almost entirely in Dreamweaver.

Sure, I have other programs that I will turn to for their specific attributes but I would have to say that I've just grown accustomed to coding in Dreamweaver.

If you're going (or have the ability) to build a site like YouTube the development platform is the least of your worries. If you don't have the knowledge/aptitude in the first place the best development tool out there is not going to help you whatsoever.

cmarshall

1:39 pm on Dec 30, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Do you use just these tools to build YouTube and Myspace type sites?

Depends on what you mean. I'll lay odds that, for sheer complexity and lines of code, the sites I build are probably bigger and more complex than either of those. They both started off like the sites I build, as a standard CMS. Like those sites, I generally start with a standard CMS, and then gut the code and customize it to my needs. I have also developed a couple of completely custom sites from scratch. Heck, my own home site is a combination of two full-size CMS systems and my own code. Just my home page is probably more complex than theirs.

Basically, what makes MySpace/YouTube/Yahoo/etc. a big deal is the size of their database; not the complexity of their code.

Most of these sites have some pretty studly infrastructure in them, like big fat servers, multiple pipes, load balancers, multiple administrators, etc.

Heck, this here site is probably more complex than a lot of "bigger" sites.

We can get caught up in tools, and forget that the goal is not to use tools, but to develop sites. That comes from our brains and our experience. We use whatever tool or technique is most appropriate to the task.

The basic deal is this: Pretty sites with good aesthetics tend to be done using visual tools like DW and Photoshop. However, even in these, CSS designers will work in a text editor a lot.

Sites with a great deal of dynamic content tend to be done with a text editor.

You can use frameworks and pre-built CMS systems. In some cases, they may work out well. However, I once designed a site from a CMS, and gave it way too complex a user experience than it needed. No one came. Game over, man. Frameworks, like Ruby on Rails, AJAX systems, etc. Can do a lot of the work for you, but you can get so caught up in the technology and flexibility that you design a useless site, or one that requires a Cray and a T3 to be usable.

As I said, I use a text editor most, as most of my sites feature heavy dynamic content. I could use DW for this, but BBEdit's text editing is far more useful. DW is very good at managing site connections to their servers. I will also use it for its templating capability, although many dynamic sites don't need this so much.

If you want to design sites like YouTube/MySpace, don't look at the tools like they are some sort of magic sword that will imbue you with godlike powers. You're gonna need the good old-fashioned noggin, and then use whatever tools help it to express its ideas best.

Also, if you look at the discussions on this site, you'll see that things like SEO and Google are the "busiest" threads. This has more to do with building a high-traffic site than code size. I always build low-traffic or intranet sites, so these threads don't mean so much to me.

Just my $0.02.

axgrindr

2:34 am on Dec 31, 2006 (gmt 0)

10+ Year Member



Basically, what makes MySpace/YouTube/Yahoo/etc. a big deal is the size of their database; not the complexity of their code.

The fact that these sites accept uploads of mulitple formats of video and audio content from their users and these uploads are (almost) immediately converted into fast loading previews is a pretty major part of their systems. And something that most off the shelf CMSs can't do, at least the ones that I know of.

Building the database may be easy but integrating the secure audio and video previews systems into it seems a bit more difficult.

At least it was on the two sites I built.

cmarshall

3:55 am on Dec 31, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Building the database may be easy but integrating the secure audio and video previews systems into it seems a bit more difficult.

Good point. I haven't had much call for multimedia content on the sites I've done (most are NPO sites that take a pretty bare-bones approach, and prize accessibility and usability over bells and whistles).

Yeah, you also need a pretty mondo backbone to serve up all that video. User Friendly did a few cartoons on the YouTube business model.

MichaelBluejay

4:57 am on Jan 1, 2007 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



...and the "front end" built by either a designer or usablity specialist.

I am certain that no usability specialist has ever come within 100 miles of MySpace.

cmarshall

5:10 am on Jan 1, 2007 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



...and the "front end" built by either a designer or usablity specialist.

I am certain that no usability specialist has ever come within 100 miles of MySpace.

ROTFL. I agree.

bartainer

7:38 pm on Jan 6, 2007 (gmt 0)

10+ Year Member



This is great information!

I guess I have an idea for a web site that may have a lot of potential. The doman is excellent and I have spoken to many advisors in regards to the domian name potetial. However; my experience with programming is limited (three years of DW and PHP) and I'll need to hire (once I beg for money), programmers, a lawyer (s), and etc.

I have a business plan started; however. After meeting with my marketing and finacial consultant I have concluded that I'll need more than "just" a good program. My idea has been on the back burner for too long and other sites are exploding with excellent domain names and content.

The damin name is located in my profile.

Thanks in advance.