Micah
Probably the most fundamental change we're pursuing is migrating the underlying HTML structure to a responsive grid. In short, a responsive grid will allow the site to intelligently resize as you view it on different devices. Looking forward 5 and 10 years into the future, I see tablets and mobile phones being only more prevalent, especially at the gaming table. Therefore, we want Obsidian Portal to look nice and be easy to use on these devices. A responsive grid framework gives us a lot of power to do this right out of the box. We don't have the skill or time to create native apps, so this is our best way to provide a good experience on non-desktop devices.
*The Foundation Grid*
The framework we're looking at is "Foundation 4":http://foundation.zurb.com/grid.php. I've used Foundation on a few other projects, and I've been very pleased. The grid resizes nicely on different devices, and it provides a special mode specifically for mobile phones. So, our hope is that we can have the mobile site and the main site be the same, just intelligently resized. Contrast that with how it is now where the mobile site is vastly different. We basically have to maintain 2 separate views of the site.
*The Bad News*
The bad news is that this will be a massive change to the underlying structure of the site, breaking all the custom CSS and styling that people have painstakingly constructed. We're very sensitive to this, and it is our number one concern in the overall reforging process. We want to make this process as painless as possible, but at the same time we're trying to be bold and not be too scared to make changes. If we're not willing to break things, then we are essentially stuck and unable to move forward.
*The Way Forward*
Our plan to reduce the pain is to:
# Get the updated layouts on the beta server as quickly as possible and give access to it (first to High Ascendant backers, eventually to everyone). That way you can test out and tweak your CSS to fit in the new layout.
# Hopefully implement something like the "templating described here":http://forums.obsidianportal.com/comments.php?DiscussionID=3004. Going through and updating each and every wiki page will be painful, but less so if you're just adding includes to templates or something along those lines. It will still be painful, but perhaps not awful. No guarantees here, but we are really going to try.
If there's anything else we can do to help, please let us know. One special note, before it's asked: It's doubtful that we'll offer some kind of "run in legacy mode" to just leave your campaigns as they are now. That would require us to basically run 2 versions of the site (legacy and new), and we're just not in a position to do that. Running one is hard enough. If we find a way to do this (or something similar) that doesn't pull us away from the reforging too much, we'll definitely try.
Comments
Perhaps some demo page with the new layout that anyone can access would let people test it out if they are using chrome and edit the css file with theirs. Won't really affect me, but I suspect there are a number of people who have custom css that didn't get access to the beta server.
Foundation is also a good system. I use it on some of my projects and am pretty happy with it. It takes a lot of the "oh god how do I~" out of building CSS, which counts for a lot for a backend developer like myself. :p
So, break away! I'm just happy with the direction you're breaking it;)
So take that as a vote for go for it, worrying too much about making things backwards compatible will just make the end result frustrating and confusing to customize and will probably make it worse overall.
One option you might consider is providing a configuration option that allows a GM to choose to "migrate" to the new layout or leave their campaign in "classic" style, perhaps only for a specific period of time, and have your code render those exactly as they are rendered now. Then let GM's with "Classic" selected toggle the state back and forth for individual pages so that they can tweak things to work in the new format. Then, when they're ready (or whenever the time expires) their campaign can be permanently migrated. If you did this, you'd probably have to separate the custom CSS files for "Classic" vs. "Modern" so that tweaks can be made to one without affecting the other.
Also, regarding the framework - you mention Foundation 4, but are you actually considering any others? It's always good to compare and contrast, just to make sure you're really going with the best choice for your purposes. Some other examples you might want to check out (I haven't used all of these, but I've heard positive things about each):
* "Twitter Bootstrap":http://twitter.github.io/bootstrap/ (Goes well beyond the basic grid scaffolding as it includes a comprehensive, customizable, set of core CSS styles and dynamic UI components - the company where I work actually uses this)
* "Zen Grids":http://zengrids.com/ (Uses compiled CSS using "SASS":http://sass-lang.com/ and "Compass":http://compass-style.org/
* "Golden Grid System":http://goldengridsystem.com/ (Two compilable options for the CSS, one built using SASS and built using "LESS":http://lesscss.org/ - my company uses LESS in conjunction with Bootstrap)
* "Unsemantic":http://unsemantic.com/ (Responsive grid only, consideed the "next generation" of the "960 Grid System":http://960.gs/)
* "Responsive Grid System":http://responsive.gs/ (Responsive grid only)
Aelana brings up a great point- I know that my buttons are in the middle of the page on a mobile device, and this would give me the motivation to fix that issue!
I love the template idea.
Overall, I echo Langy- Break Away!
Just trying to help out.
Just trying to help out.