• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Can someone recommend me a roadmap of what I need to learn?

fuzzybabybunny

Moderator<br>Digital & Video Cameras
Moderator
So many of you know, my final aim is to create an online solution for real estate virtual tour photographers that can:

1. Host their photos and video
a. photo and video upload technology - drag and drop, auto resizing, thumbnail generation, etc.
b. video display, flash display, image display

2. User panel so photographers can manage their own accounts, create tours, register clients, rearrange photos, add music, rename photos, etc.

3. User panel so photographer's clients can manage their own accounts

4. Pretty site design

5. Site that generates two versions of itself - an unbranded one and a branded one

6. Site that registers each photographer's virtual tour with a number of 3rd party virtual tour databases.

And all I've got now is a basic understanding of HTML and CSS. Can someone give me a roadmap of what I would probably need to learn in order to make a solution like the above?

Like: HTML -> CSS -> Javascript -> PHP -> Flash -> MySQL
and any subcategories in each technology that I should focus on?

I'd like to have something like this rather than do something of a shotgun effect, like learning bits and pieces of everything all at once and getting incredibly frustrated and confused in the process. I'd like someone to give me some direction and focus.
 
Let's see...

1. Hosting photos
..a: Uploading photos

This could be a good, simple thing to start with. Any of the major server side languages can accept an HTTP file upload. But first, you need to choose a server-side language. I suggest either:

A. The Open Source path, AKA LAMP: Linux, Apache, MySQL, and PHP. Here, start with PHP, and get it up and running with Apache on a local machine.
B. The Microsoft path, AKA ASP.NET. I'm not really familiar with this path; but others here are.
C. The Free (but not Open) Sun path, AKA J2EE. This includes Java (not the same thing as Javascript), JSP, and Apache Tomcat.

You don't need a database at this point. I'd suggest getting a setup so that files can be uploaded to a certain directory. Check that their names at least end in ".jpg". Then create a page that reads that directory and displays all the pictures in it. Maybe with your existing gallery software.

Be sure to not make this page public, or you'll have spammers all over it!

1. a. drag and drop: I don't know about this; but if it's possible, you'll need Javascript.
Auto resizing, thumbnail generation, etc.: check out ImageMagick.

1. b. video display: I think most places outsource this to YouTube these days, and just embed the video (it's easy.) If you want to host video yourself, be aware that the files are HUGE!
Flash I don't know about.

2. User accounts: this seems like a good next step in your server-side language work. Now you need a database. Create a table with usernames and passwords. Create directories corresponding to those passwords. Set up a login system so an individual user can log in and upload photos to their own directory. You'll probably need cookies, or a session ID, to know which user is accessing your pages. The rest should evolve from there. You'll need Javascript for some of the later things. After you have a basic grasp of Javascript, look at JQuery.

3. Should evolve from 2.
4. Pretty site design: I know nothing about this. 🙂 See for yourself! :Q
5. Versions - this is probably a CSS thing.
6. I don't know how complicated the 3rd party databases are, so I can't give you much advice here. XML and SOAP might or might not be useful.
 
Originally posted by: fuzzybabybunny
So many of you know, my final aim is to create an online solution for real estate virtual tour photographers that can:

1. Host their photos and video

At the bare minimum: Server-side language + dbms that stores file(s) on hd and location of files in database.

Beyond minimum: Learn how a web server works, HTTP, static/dynamic content hosting and Apache/Lighttpd.

a. photo and video upload technology - drag and drop, auto resizing, thumbnail generation, etc
.

The upload part is done using an html form and a server-side language that stores the file somewhere.

The drag and drop, resizing is totally Javascript.

Thumbnail generation is a combination of server-side, javascript and possibly dbms.
b. video display, flash display, image display

HTML for the image displaying, HTML/Javascript for the flash/video displaying ( jQuery flash plugins or swfObject which inject videos with JS to account for IE's activeX activation oddity ).

2. User panel so photographers can manage their own accounts, create tours, register clients, rearrange photos, add music, rename photos, etc.

Sessions, cookies, databases for the account creation, tour creation, client registration, renaming and adding music.. JS for the rearranging of photos and sessions to save them possibly..

3. User panel so photographer's clients can manage their own accounts

Sessions ( server-side )/database

4. Pretty site design

Photoshop/GIMP, master floats in CSS

http://www.google.com/search?q=+css+inspiration
http://www.smashingmagazine.co...hop-tutorials-best-of/

5. Site that generates two versions of itself - an unbranded one and a branded one

Server-side language and possibly command line.

6. Site that registers each photographer's virtual tour with a number of 3rd party virtual tour databases.

Dunno.

And all I've got now is a basic understanding of HTML and CSS. Can someone give me a roadmap of what I would probably need to learn in order to make a solution like the above?

Like: HTML -> CSS -> Javascript -> PHP -> Flash -> MySQL
and any subcategories in each technology that I should focus on?

I'd like to have something like this rather than do something of a shotgun effect, like learning bits and pieces of everything all at once and getting incredibly frustrated and confused in the process. I'd like someone to give me some direction and focus.

1. Keep getting better at floated layouts in CSS
2. Unless you plan to spend months learning real DOM Scripting, I suggest a high level framework such as jQuery for the javascript where you can utilize dozens of useful plugins that can already do resizing/file transfer progress/movement/animation.
3. Learn a server-side language - most popular one is easily PHP and you could rapidly start copying and pasting snippets and learning stuff based on examples from php.net. There are alternatives if you really want to be great at this such as Python using the Pylons/Django frameworks, or Perl and using the Catalyst framework.. there's also the RoR framework but each of these has a very hard learning curve as opposed to PHP, so for a beginner it will be far easier and definitely more resources.

Pretty much any decent site with PHP stuff would also have MySQL snippets and bits in tutorials.

Sounds like you'll need just basic SQL skills - I pretty much learned those from books but I'm sure you could google up some references though Simply SQL is the greatest intro book for this.

Resources:

HTML:
http://www.w3.org/TR/html401/
http://validator.w3.org/
http://htmlhelp.com/
http://dev.opera.com/

CSS:
http://blog.html.it/layoutgala/ ( awesome collection of negative margin + float content first layouts )
http://www.w3.org/TR/CSS21/
http://www.smashingmagazine.co...layouts-and-templates/

Core Javascript/DOM:
www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf ( specification for ECMAScript )
<a target=_blank class=ftalternatingbarlinklarge href="https://developer.mozilla.org/En"><a target=_blank class=ftalternatingbarlinklarge href="https://developer.mozilla.org/En">https://developer.mozilla.org/En</a></a>
http://www.w3.org/TR/DOM-Level-2-Core/

High level Javascript frameworks:
http://jquery.com/
http://jqueryui.com/

Prototype/Scriptaculous/Dojo/Mootools aren't as popular as jQuery anymore and jQuery is just superior in every way ( community base, internal code, etc ) so I would avoid those other frameworks.

PHP resources:
http://www.phpro.org/ ( Friend's site - I recommend this over any php resource )
http://www.tuxradar.com/practicalphp ( Decent free guide )
http://php.net/ ( You'll most likely use this )

Other languages:
http://www.python.org/
http://www.perl.org/
http://cpan.perl.org/
http://www.djangoproject.com/
 
If it were me I'd go with the Pylons Python framework and possibly host all the media on a 3rd party like Amazon, or if it's my own ( second ) server than serve it with lighttpd.
 
Oooo... here's a big one:

Some way to make something like this: http://vt.realbiz360.com/Listing-148451.html

I guess something like a program that receives input like images, house info, realtor info, and makes a virtual tour out of it.

- Takes 2D stills and panoramas and makes it into a flash/javascript gallery with an automatic slideshow - with the panoramas panning in a 3D manner.

Is something like this suddenly out of the realm of web design and into the realm of actually programming complex automated applications?
 
I work in a web shop where to do all that, you need 3 different people. A graphics designer (make it look pretty), a system admin (setup your hosting, web server and accounts, make it secure) and then a programmer (me, make it all work, don't make it un-secure).

You're looking at a massive learning curve if you wanna do it all yourself. Not saying it can't be done, but I hope you have, say 400 hours committed to learning what you need to know. Programming can be the most nightmarish part and making sure you do everything right, like making logins secure so you don't get hacked, takes training. You are at high security risk if general public can login to this thing, medium risk if trusted people can. Yeah you can "borrow" a lot of code but not having the understanding can be a security risk, which is last from your mind now I'm sure, but most important in the end.

The fancy features you are describing go beyond making a simple web page and into the realm of web-application-programming, which everyone is doing now.

My recommendation is for you to find and consult with a web development shop if you can afford it. It would probably a $2-5k bill. Ask around for developers who have done photography sites like yours and you may get a deal. Expect to pay 50 bucks an hour labor minimum. When they are done, they should let you take your site and move it wherever you want, since what you paid for was labor, you own the product.

I don't mean to be discouraging, just wanted to give my realistic perspective.

You can do this. The question is: do you want to?
 
Ruby on Rails might be a interesting path instead of PHP.

ASP.NET/C# with a MySQL database backend might not be that bad. A lot of things in ASP.NET are easily done compared to PHP and Java.
 
+ 1 Titan.

If you go the route of doing it yourself, it could be a very long road depending on your background and experience in development/design/systems.

I don't know any CMS in particular to suggest, but maybe you can find a CMS that will give you most of the functionality that you're looking for.

If you don't want to go with a CMS, then you'll have to develop a web app yourself with your desired features. Pick a language/web framework and run with it.

Since you seem to already know some HTML/CSS, I'd skip focusing on that and jump into developing your web app since that will consume the most time. Be prepared to glue yourself to the computer, use google/newsgroups and do lots of experimenting/testing/developing/etc for a couple of days/weeks before you make any progress. Then repeat again as you need to learn new features.

After you get your web app going or at least a basic framework, you can spend some time to make it look nice and then keep adding/improving.

It helps out a lot if you're a developer and a designer can help you, or vise-versa.

It's not a short project to do it all by yourself.
 
I agree 100% on what Titan and ace007 say:

I was going to state something similar to Titan in that the amount of time that would be required will be staggering to design a ground-up webapp that accomplishes everything you're hoping for.

At my workplace now we're working on a ground-up app with two developers (neither of us had previous experience with the frameworks we're building with) that implements maybe 60% of what you're describing, and we're well over 500 hours on development alone due to refactoring requirements and unforeseen difficulties in implementation. Web frameworks can lighten the load a little, but for something commercial-ready there's no easy solution other than experience and time.
 
Originally posted by: Titan
I work in a web shop where to do all that, you need 3 different people. A graphics designer (make it look pretty), a system admin (setup your hosting, web server and accounts, make it secure) and then a programmer (me, make it all work, don't make it un-secure).

You're looking at a massive learning curve if you wanna do it all yourself. Not saying it can't be done, but I hope you have, say 400 hours committed to learning what you need to know. Programming can be the most nightmarish part and making sure you do everything right, like making logins secure so you don't get hacked, takes training. You are at high security risk if general public can login to this thing, medium risk if trusted people can. Yeah you can "borrow" a lot of code but not having the understanding can be a security risk, which is last from your mind now I'm sure, but most important in the end.

The fancy features you are describing go beyond making a simple web page and into the realm of web-application-programming, which everyone is doing now.

My recommendation is for you to find and consult with a web development shop if you can afford it. It would probably a $2-5k bill. Ask around for developers who have done photography sites like yours and you may get a deal. Expect to pay 50 bucks an hour labor minimum. When they are done, they should let you take your site and move it wherever you want, since what you paid for was labor, you own the product.

I don't mean to be discouraging, just wanted to give my realistic perspective.

You can do this. The question is: do you want to?

I came into this realizing that it would probably take a year or more to get a product like this working. So yes, I do have 400 hours, but 400 hours for you might be 800 hours for me, AND I need something of a syllabus of things I need to learn. Right now all the technologies and languages are jumbled up into this big huge indecipherable mix and I'll be wasting a lot of time if I start heading in a direction that's not the right one.

I mean, I don't even know where to start in the programming aspect... am I going to be coding in some kind of special web language? Or do I code in Java or C and link that online somehow? Or do I buy off the shelf software, try to automate it, and then try to link it online? Actual physical examples rather than terminology would help immensely, as well as the names of technologies to get me started.

I definitely hear you on the security risk. I won't ever release anything unless I'm convinced it's rock solid in every way and that I could handle it if things broke.

Unfortunately, I don't have $2-5K, but are you saying that I could shell out that amount for someone to build an entire web app for me? Logins, databases, user controls, programs that run in the background, etc?

I'm pretty sure I can handle the graphics design. But I have no idea about the system admin, and programmer I want to work on.

Just wondering: how much does it cost to upkeep something like a subscriber-based web application like a virtual tour app? If it were just me, would I be chained to the computer? The purpose of me wanting to do something like this is that I:

1. Want to work for myself.
2. Don't want to constantly be out in the field doing the physical work myself (taking photos of houses) ie. doesn't require my presence 100% of the time.
3. Want something that constantly sells and makes money even when I'm away.

I've always wanted to be an inventor of some sort. Someone who builds something, or at least modifies existing things to be better, and sells it. I've thought about starting my own tent company for ultralight camping. Or building photography accessories. And now this.
 
Originally posted by: fuzzybabybunny

Unfortunately, I don't have $2-5K, but are you saying that I could shell out that amount for someone to build an entire web app for me? Logins, databases, user controls, programs that run in the background, etc?

I'm pretty sure I can handle the graphics design. But I have no idea about the system admin, and programmer I want to work on.

Just wondering: how much does it cost to upkeep something like a subscriber-based web application like a virtual tour app? If it were just me, would I be chained to the computer? The purpose of me wanting to do something like this is that I:

1. Want to work for myself.
2. Don't want to constantly be out in the field doing the physical work myself (taking photos of houses) ie. doesn't require my presence 100% of the time.
3. Want something that constantly sells and makes money even when I'm away.

I've always wanted to be an inventor of some sort. Someone who builds something, or at least modifies existing things to be better, and sells it. I've thought about starting my own tent company for ultralight camping. Or building photography accessories. And now this.

That was my basic idea, though you would have to shop around for a web shop that could do it for you. $2-5k is my estimate. If they built you something it could be a good place to start, and give you something to study, learn and see how they did it, as long as they delivered you the code. I know in my shop, we re-use a lot of code so if we have done something before we can do it very quickly. If you find the shop with the right in-house code, a full prototype shouldn't be too expensive. Images and slideshows come in a million varieties. As has been mentioned video is another matter, hosting and logistics is difficult. My best recommendation is you host on youtube, as you really can't beat the deal they offer.

The tricky part I see about this project is getting a clear spec. You have many users, many houses, many pictures, so you have to clearly describe how they all interact, logically. You should be able to draw up a visual sketch as well as explain in precise detail what you want. Doing that on paper is a much better way to start than to try to code.

For DIY, I would recommend the LAMP stack as it is all open source and there is enough doc for you to be able to learn anything. PHP has plenty of handy image tools as well. The alternative of learning a framework doesn't appeal to me since you're instead learning someone's framework as opposed to everybody's programming language. A framework could be the way to go if you say, found a good friend who knew one in-and-out. But to me, someone trying to learn it all will waste time with a framework being confused by which way they simplified things.

After your invention mini-rant, the astrologer in me has to ask if you are an Aquarius. I'm probably wrong, it's just that they are the sign of having to be original and invention. I actually have the same drive and have Aquarius rising though I am a Taurus, but that is a more difficult question to ask if you don't know your chart. 😛
 
Originally posted by: Titan
Originally posted by: fuzzybabybunny

Unfortunately, I don't have $2-5K, but are you saying that I could shell out that amount for someone to build an entire web app for me? Logins, databases, user controls, programs that run in the background, etc?

I'm pretty sure I can handle the graphics design. But I have no idea about the system admin, and programmer I want to work on.

Just wondering: how much does it cost to upkeep something like a subscriber-based web application like a virtual tour app? If it were just me, would I be chained to the computer? The purpose of me wanting to do something like this is that I:

1. Want to work for myself.
2. Don't want to constantly be out in the field doing the physical work myself (taking photos of houses) ie. doesn't require my presence 100% of the time.
3. Want something that constantly sells and makes money even when I'm away.

I've always wanted to be an inventor of some sort. Someone who builds something, or at least modifies existing things to be better, and sells it. I've thought about starting my own tent company for ultralight camping. Or building photography accessories. And now this.

That was my basic idea, though you would have to shop around for a web shop that could do it for you. $2-5k is my estimate. If they built you something it could be a good place to start, and give you something to study, learn and see how they did it, as long as they delivered you the code. I know in my shop, we re-use a lot of code so if we have done something before we can do it very quickly. If you find the shop with the right in-house code, a full prototype shouldn't be too expensive. Images and slideshows come in a million varieties. As has been mentioned video is another matter, hosting and logistics is difficult. My best recommendation is you host on youtube, as you really can't beat the deal they offer.

The tricky part I see about this project is getting a clear spec. You have many users, many houses, many pictures, so you have to clearly describe how they all interact, logically. You should be able to draw up a visual sketch as well as explain in precise detail what you want. Doing that on paper is a much better way to start than to try to code.

For DIY, I would recommend the LAMP stack as it is all open source and there is enough doc for you to be able to learn anything. PHP has plenty of handy image tools as well. The alternative of learning a framework doesn't appeal to me since you're instead learning someone's framework as opposed to everybody's programming language. A framework could be the way to go if you say, found a good friend who knew one in-and-out. But to me, someone trying to learn it all will waste time with a framework being confused by which way they simplified things.

After your invention mini-rant, the astrologer in me has to ask if you are an Aquarius. I'm probably wrong, it's just that they are the sign of having to be original and invention. I actually have the same drive and have Aquarius rising though I am a Taurus, but that is a more difficult question to ask if you don't know your chart. 😛

Nah, I'm actually a Leo, not that I think about it at all. I just know that ever since I was a toddler I've wanted to either be:

1. astronaut
2. inventor

Heh, I remember "inventor" was actually what I put down in one of those first grade "what do you want to be when you grow up?" projects. And since then the desire hasn't changed. In fact, I'm actually frustrated that I haven't been moving towards it, but instead having lived my life under the conventional wisdom of "study hard, get good grades, and find a stable company to work for - forever." I feel like I've wasted a LOT of time. Man, what I wouldn't give just to have a longer life span.
 
Back
Top