Designing a lasting web app is hard

Software is an interesting thing. It can do so many new things, but it brings a slew of new problems with it, too.

Something that I've been trying to grapple with lately is how to appropriately take an existing web site and push it into new-dom. (In other words, how I'm going to yank Good-Tutorials into something even better than it is now.) In many respects, I wish I didn't have the established base that Good-Tutorials already has. Backwards compatibility isn't just for the traditional software and OS realm; that same problem persists on the web, too. And it's much more difficult to deal with than how I originally thought it might be.

For example, the current issue that I'm dealing with right now is how to handle tutorial authors. Right now, there's no real author registration; authors just submit all of their tutorials under the same name and they can keep a collection of those tutorials through author pages (good-tutorials.com/author/author-name). I really want to start pushing for a user-centric site, where tutorials are tethered to usernames as opposed to just author names. This way you know for sure who submitted the tutorial, and this makes maintenance, support requests, statistics, and any other of the cool ideas I have in the back of my mind a world easier to implement. The problem is backwards compatibility. I have nearly eleven thousand tutorials that aren't set up this way right now. This means I either have to code additional features that let members reclaim old tutorials, figure out some way to do both, or perhaps another few creative solutions.

I lied though. I said that was the problem, but it's not the real problem. The real problem is implementing the solution. If you've been reading my blog, you know that I always try to keep a user-centric focus throughout development. When you're implementing solutions that necessarily have to be cumbersome for your users, you run into some potentially huge difficulties. The last thing I want is to make things overly confusing for users, particularly newer visitors that don't understand the flow of Good-Tutorials yet and are really quite impressionable about process and design on a site. It's important to keep pushing forward, but on the other hand you need to make sure that you're not throwing up hack jobs to score backwards compatibility.

It's rather unfortunate that things have to go this way. Admittedly, it would be nice to just have such a clear vision of the future that you can prepare for every contingency. But you can't. Five and a half years ago it didn't really cross my mind to have any sort of user functionality on Good-Tutorials. Anticipating and adapting to these changes is a slow process, not a sudden one. But it also is the nature of the web to change, and change is good. And in many respects, what matters is how you evolve the product more than how you create it.

Comments

Thanks for the comment!!

Well, if you need any help in rebuilding GoodTutorials, I will help out. Even though I am only 14, I know enough of XHTML/CSS and JavaScript. I have done a lot of freelancing in my summer vacations. I can help in the AJAXification of Good-Tutorials. I am also currently working on a Web Based Office. I have already made something like Excel and Word. I am currently working on the Keynote/PowerPoint project.

Do contact me if you need any helping hands in revamping GT.

I had one more question. Whenever you put any image on your blog it has a reflection at the bottom. that can be done by filter:flipv and then alpha. But how do you do it for every single pic?? how did you integrate it into your CSM??

Hey Zach,

It's easy to do when you think away from the norm. I've got a great way of solving this that I'll e-mail you later if I get time, either that or come on MSN. I'd love to work on Good-Tutorials purely as a non-paid idea man,

I actually asked the same question, and if you look back on the comments it'll be there somewhere. It's a Wordpress plugin.

@Jamie Huskisson

original plug-in: http://cow.neondragon.net/stuff/reflection/ wp-version: http://www.siuyee.com/projects/wp-wetfloor/

Not very clear but my previous post was for Prateek :D

I understood that :P

Hey Jamie,

You have a very nice looking webiste!!!! I LOVED it

I will get a domain soon...after my examination probably

I'm facing this dilemma right now with a site I am rebuilding for a client. There are thousands of articles and file uploads tagged to different users, but not any stored in a user table. What you could do is create usernames from their real names.. i.e. Sara Smith becomes sara-smith and the give them the option to change their username later if they wish.

Thankfully, my professional experience will always put these considerations to the forefront of web app/site development in the future.

I do however, have a similar dilema with a site which is now due an upgrade. The fact that I used a third party forum which has since had a complete overhaul doesn't make it any easier!

If you can plan for any future changes now (as in another 5 years forward), it will definitely make the future of Good-tutorials easier to deal with.

good luck!

Good luck, Zach! Hopefully you'll fix everything. Anyway your site is the best Photoshop resource for me!

Respond

Markdown is enabled on comments.