VGMdb
Go Back   VGMdb Forums > Discussion > Miscellaneous Discussion
Register FAQ Calendar Search Today's Posts Mark Forums Read

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old Sep 6, 2012, 01:20 AM
Namorbia Namorbia is offline
Member
 
Join Date: Mar 2012
Posts: 71
Default Making a simple VGMdb-style website for VMG concerts & live shows

I love you if you read this.

I'm a huge VGM fan from Finland. I will graduate next year from university and my thesis will be about building a website for VGM live shows. Everything from orchestral concerts to rock shows and DJ gigs. All live shows in all countries. It will be user-contributed, like VGMdb. My programming skills aren't great, so the end result will simpler than VGMdb. But I am highly motivated and I have until May to get enough done for a thesis paper. After that I will of course keep improving the site and I hope someone else can help and maybe eventually take over.

Please share your thoughts and comments.

Features I would like to implement (this list is not at all comprehensive):
- Practical info like date, country, city, venue, composers, arrangers, performers, style of concert (orchestral, cover band, DJ etc.)
- Shows properly linked (in the database) to all the above, so customizable searches can be done easily
- Ratings & "I went to this show" -button. This information would be visible on the registered users profile.
- Setlists (and composer/arranger breakdowns, especially important for orchestral concerts). Don't know if this should have it's separate box, like tracklists on VMGdb. Might be difficult with shows with many performers like MAGFest.
- Links to external sites related to the show: official site, tickets, reviews, interviews...
- Artists links to VGMdb
- Scans of pamphlets and stuff related to the show (at least in Japan you get tons of pamphlets at every show)
- "Products represented", like on VGMdb, so that you can search for all shows with music from a specific game. (I'm wondering if this is getting too complicated)
- Info about past concerts is also welcome. It would be great to quickly find info about the Orchestral Game Concerts in the 90's or Germany's Leipzig concerts 2003-2007. I also see bands putting all their past shows in the database. But of course future concert are the most important thing.
- Anyone can contribute information. Admins and editors have more privileges.
- Possibly also concerts with chiptunes, anime or original music by game composers (not personally interested in these, but I suppose many VGM fans are)

What would you like to see on this site?

And a question for programmers:
- What CMS would you use?
- I have only experience with WordPress and Drupal and I will choose one of those two.
- Any tips or warnings are highly welcome.

I plan to make this site also in Japanese.
- I met the writers for 2083 and Game Music Garden (the two best VMG concert info sites) in Japan last month and they were very supportive. Once I get this site rolling they will help by providing info about concerts in Japan.
- During the summer there seemed to be VGM shows in Japan every weekend. The Japanese themselves find info about these shows via 2083, some blogs or through tweets. One centralized site is needed.
- Both the conductor and the founder of the Little Jack Orchestra want more western fans in their concerts. I got that feeling from other Japanese too: wanting to connect the east and the west.
- I speak only intermediate Japanese, so all help is welcome in this department too.

------
PS.
I'm on Facebook and recently on Twitter. I'm always happy to meet other VMG enthusiasts, so feel free to say hi. If you're European, I'm sure we go the same concerts. If you're American, I want to meet you at MAGFest. 日本人だったら、いつか会いましょう!
Reply With Quote
  #2  
Old Sep 6, 2012, 03:23 AM
Gigablah's Avatar
Gigablah Gigablah is offline
VGMdb Administrator
 
Join Date: May 2007
Posts: 2,403
Default

Cool! I'm jealous that you're able to do this as a thesis. Let me know if you need help with accessing VGMdb data or bootstrapping the site. Making a bilingual site is always a challenge
Reply With Quote
  #3  
Old Sep 6, 2012, 02:33 PM
Datschge's Avatar
Datschge Datschge is offline
Senior Member
 
Join Date: Mar 2008
Posts: 745
Default

Quote:
Originally Posted by Namorbia View Post
And a question for programmers:
- What CMS would you use?
- I have only experience with WordPress and Drupal and I will choose one of those two.
- Any tips or warnings are highly welcome.
I don't know how experienced you are with programming and web stuff, but in my humble experience one can easily waste a lot of precious time by trying to extend some existing software instead just building a concept from the ground up. So if your target is simple anyway I'd personally suggest to keep it simple and do that well, not using any ready-made CMS. If it needs to be PHP look at development frameworks like CakePHP, but instead PHP more sane languages like Python or Ruby should be preferable.
Reply With Quote
  #4  
Old Sep 7, 2012, 02:01 AM
Zorbfish Zorbfish is offline
Senior Member
 
Join Date: Sep 2007
Posts: 267
Default

Agree with what Datschge wrote. While using an existing CMS may get you up and running faster I've found I usually regret the decision as it eventually gets in the way. You spend more time trying to bend it to your will instead of coding your features. Unfortunately by the time I realize this my project has become so tightly coupled to the CMS that I just start over. Maybe I just suck at webdev

I prefer coding in Python. You might be interested in Django, Zope, or Pylons as web frameworks.
Reply With Quote
  #5  
Old Sep 9, 2012, 04:26 AM
Cedille Cedille is offline
Senior Member
 
Join Date: Sep 2007
Location: Tokyo
Posts: 2,026
Default

Quote:
Originally Posted by Datschge View Post
more sane languages like Python or Ruby should be preferable.
By "sane", you mean like this?

           end
        end
     end
  end
end
Reply With Quote
  #6  
Old Sep 9, 2012, 06:50 AM
LiquidAcid LiquidAcid is offline
Trusted Editor
 
Join Date: May 2008
Posts: 1,644
Default

Is this supposed to be Python? I wasn't aware that it had an end keyword?
Reply With Quote
  #7  
Old Sep 9, 2012, 07:12 AM
Cedille Cedille is offline
Senior Member
 
Join Date: Sep 2007
Location: Tokyo
Posts: 2,026
Default

It's Ruby. Don't know much about Python, but I think it should use indents for blocks, not "}" or "end".
Reply With Quote
  #8  
Old Sep 9, 2012, 07:49 AM
LiquidAcid LiquidAcid is offline
Trusted Editor
 
Join Date: May 2008
Posts: 1,644
Default

I think you're missing the point here though. If you've got such a high level of nesting then your code needs refactoring. That's totally independent of the language you're writing in.

Rule of thumb is: Function/method/etc. too long -> refactor
Same applies to nesting.

From the linux kernel coding guidelines about functions:
Quote:
Functions should be short and sweet, and do just one thing. They should
fit on one or two screenfuls of text (the ISO/ANSI screen size is 80x24,
as we all know), and do one thing and do that well.

The maximum length of a function is inversely proportional to the
complexity and indentation level of that function. So, if you have a
conceptually simple function that is just one long (but simple)
case-statement, where you have to do lots of small things for a lot of
different cases, it's OK to have a longer function.

However, if you have a complex function, and you suspect that a
less-than-gifted first-year high-school student might not even
understand what the function is all about, you should adhere to the
maximum limits all the more closely. Use helper functions with
descriptive names (you can ask the compiler to in-line them if you think
it's performance-critical, and it will probably do a better job of it
than you would have done).

Another measure of the function is the number of local variables. They
shouldn't exceed 5-10, or you're doing something wrong. Re-think the
function, and split it into smaller pieces. A human brain can
generally easily keep track of about 7 different things, anything more
and it gets confused. You know you're brilliant, but maybe you'd like
to understand what you did 2 weeks from now.
The guidelines don't have any explicit rules about nesting, since this is already kinda enforced by the rules about function length plus indent size and maximum line length.
Reply With Quote
  #9  
Old Sep 9, 2012, 01:37 PM
Cedille Cedille is offline
Senior Member
 
Join Date: Sep 2007
Location: Tokyo
Posts: 2,026
Default

Actually, it happens not because of the lack of refactoring (since they're just blocks). How many "}"s are placed at the end of Java code wouldn't matter much, but because the syntax in Ruby tends to be simpler and cleaner than some of those redundant, a sequence of the "end" keyword to denote the end of blocks look somewhat conspicuous.

In reality, I actually liked Ruby lots, but just wanted to tease Datschge and posted one of what I disliked about it ;p
Reply With Quote
  #10  
Old Sep 10, 2012, 01:07 AM
Datschge's Avatar
Datschge Datschge is offline
Senior Member
 
Join Date: Mar 2008
Posts: 745
Default

Quote:
Originally Posted by Cedille View Post
In reality, I actually liked Ruby lots, but just wanted to tease Datschge and posted one of what I disliked about it ;p
Tehehe, in that case you unfortunately tackled the wrong end.

I chose Phyton and Ruby since those are imho the best entry to programming with their kind of consistent hand holding/restrictions wrt coding practices and the likes, but I honestly couldn't care less if one instead goes for Java, Perl, JavaScript on Server, C(++) or whatever. It's just that PHP is so recursively bad everyone touching it will be eternally tainted.
Reply With Quote
  #11  
Old Sep 11, 2012, 01:14 AM
Namorbia Namorbia is offline
Member
 
Join Date: Mar 2012
Posts: 71
Default

I appreciate all your comments.

I'm not going to start learning new programming languages. It seems too daunting and my motivation might lessen. Using a framework makes sense, but I have zero experience with them. And isn't a framework better for sites with special needs? This site for concerts is simple. The most important thing to properly do, is to link all concerts to correct things (artists, games, venues etc.) and to be able to utilize that for advanced searches.

I've also been talking with Gigablah. This site will be on VGMdb's servers (thanks!), probably on a subdomain like "live.vgmdb.net". Suggestions for the site's url are of course welcome.
Reply With Quote
  #12  
Old Sep 11, 2012, 02:05 PM
quintin3265's Avatar
quintin3265 quintin3265 is offline
Senior Member
 
Join Date: Mar 2009
Location: State College, PA
Posts: 193
Default

Quote:
Originally Posted by Zorbfish View Post
Agree with what Datschge wrote. While using an existing CMS may get you up and running faster I've found I usually regret the decision as it eventually gets in the way. You spend more time trying to bend it to your will instead of coding your features. Unfortunately by the time I realize this my project has become so tightly coupled to the CMS that I just start over. Maybe I just suck at webdev

I prefer coding in Python. You might be interested in Django, Zope, or Pylons as web frameworks.
I'll chime in and disagree with Zorbfish.

When I started to write Game Remixes (which also uses VGMdb data), I decided to write it from the ground up, using PHP, MySQL, and symfony as the only starting points. Now, something like 50,000 lines or 100,000 lines later, there is a website with a lot of code - but which I feel lacks key features that are provided by using existing software.

The biggest problem with technology today is that it changes too often. The problem isn't that technology is getting better too quickly - on the contrary, progress is always good. The problem is that there is far too much change that provides little or no improvement. Unnecessary changes in programming languages are one example; constant new features in eBay's already sufficient trading APIs are another.

For example, social networking is a huge time sink. Before, there used to be Google. Now, there is facebook. You now need to put "Like" buttons on all your pages in addition to search. facebook doesn't really provide any better of a service for finding websites than Google does, but it's different. Since I started from scratch, I had to waste many days adding all these social networking features to allow people to promote the site when the time would have been better spent implementing stuff like albums that actually pertains to music.

Similarly, when I resumed updating the site, I discovered that jQuery had been updated several versions. I put the new version of jQuery online, and it caused major bugs that caused DjTheSdotCom to be unable to spend his experience points. After jQuery, it was flowplayer, swfupload, and so on.

And then you have to deal with unique issues like GoDaddy upgrading PHP on its servers when your site relies on a quirk that existed in a previous version of PHP. You didn't know that it was a quirk at the time, so the website goes down. Had you used a third-party platform, chances are that an update would have been available that silently fixed this problem well before the old version of PHP became obsolete. You probably would never have even known the problem existed, nor would you have needed to know.

When you fit a working piece of software to your site and modify it, you basically get other people to do grunt work for you for free. If you create a forum based on phpBB, then chances are that someone else dealt with integrating facebook into phpBB. It may be difficult to shoehorn the other product into your solution, but you are able to spend your time working on the stuff that is important and makes your site unique, rather than worrying about security fixes, upgrading versions of components, and learning complicated third-party APIs.

I would be very wary of starting a big website from scratch today. At first, the freedom will be great - but after two or three years, you'll end up spending a huge amount of time simply upgrading your site to support the newest technologies and working out the bugs that occur during those updates. It's hard to stress this enough: you can lose an entire month going from one version of key software to the next. Open source developers are quick to remove backwards compatibility in favor of "progress."

Instead, devote a lot of research and find a platform that is stable and appears poised for continued development for at least a decade - and that has a proven history of backwards compatibility. Whether the platform continues to be actively developed or not is the most important decision you will make in the entire life of the website.
__________________
Now you can embed your songs in forum posts and webpages just like this image! Click the image to find out how!
Reply With Quote
  #13  
Old Sep 11, 2012, 02:12 PM
quintin3265's Avatar
quintin3265 quintin3265 is offline
Senior Member
 
Join Date: Mar 2009
Location: State College, PA
Posts: 193
Default

Quote:
Originally Posted by Cedille View Post
Actually, it happens not because of the lack of refactoring (since they're just blocks). How many "}"s are placed at the end of Java code wouldn't matter much, but because the syntax in Ruby tends to be simpler and cleaner than some of those redundant, a sequence of the "end" keyword to denote the end of blocks look somewhat conspicuous.

In reality, I actually liked Ruby lots, but just wanted to tease Datschge and posted one of what I disliked about it ;p
Also, here's an interesting point: unless you are 100% sure that there is a very compelling reason to go with a minor language like Ruby, then stick with PHP, ASP, or Java. For most projects, that compelling reason does not exist.

The reason is that if you need to bring someone onboard to help, there are lots of, say, PHP developers out there.

Between those three, PHP uses the least memory (but is slow), ASP is the easiest to code (but is expensive to host), and Java is the fastest (but requires ten times as much memory and three times as much code as PHP).
__________________
Now you can embed your songs in forum posts and webpages just like this image! Click the image to find out how!
Reply With Quote
  #14  
Old Sep 27, 2012, 04:04 AM
Namorbia Namorbia is offline
Member
 
Join Date: Mar 2012
Posts: 71
Default

Thanks quintin, that was an interesting post.

To be honest, I still haven't decided on my approach. I've asked on other coding forums for advice. It seems like WordPress is not good for handling data contributed by many users - it becomes unstable and unreliable. I don't really understand the logic in that statement though. Drupal people said this is easy-peasy for drupal. CodeIgniter framework people said use a framework, but if you don't know PHP enough, coding yourself could be good learning experience. Which would lead to more PHP knowledge and better utilization of a framework.

I seriously thought about coding this from scratch. But quintin's post kind of scares me. But coding from scratch would give the most freedom. I would like this site to have look of VGMdb and be a natural extension of it. Like having the same layout (albeit less boxes), but inverted colors (looks creamy smooth!).
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Making VGMdb more secure: HTTPS support Gigablah News and Announcements 15 Jan 16, 2018 07:11 AM
Nintendo Special Rock/Big Band live concerts (Switch Experience 2017) Datschge Video Game Music Discussion 3 Jan 16, 2017 05:42 AM
VGMdb is Edge Magazine's Website of the Month in issue E224 (Feb. 2011) CHz Miscellaneous Discussion 18 May 14, 2012 03:54 AM
VGMdb is Edge Magazine's Website of the Month in issue E224 (Feb. 2011) Secret Squirrel News and Announcements 2 Aug 23, 2011 12:33 PM
Cataloging concerts/live events Liontamer Questions and Comments 4 Jan 23, 2009 02:59 PM