Main Points

History is Now

Webpages are not just pretty wrappers. Despite the many underpowered or non-functional, highly expensive designer websites you may have run across, webpages are supposed to work and work well. A website is supposed to uphold professional standards. A website is supposed to automate work to make people, including developers, more successful. A website is supposed to make important tasks easy to do, including maintaining and upgrading the website. Are you a programming pro, a worshipper of Separation of Concerns, a devotee of best practices, an adept of semantics and web standards? We can use your skills!

Feedback Opportunities

First of all, we need feedback about our website. We're always interested in your suggestions to make our site better. Anything you find on Earth Chronicle that you would change or think can be done better, contact us and let us know what you think. We're always completing new projects and looking for the next big thing to tackle.

If you'd like to be even more involved, check out our Beta site. Before anything major changes on our site, we let you test the next generation of Earth Chronicle applications and features. Tell us what works, what doesn't, and what needs to be tweaked before we let anyone else see it. In addition, new pages serve an "apprenticeship" on the Beta site before they graduate to Earth Chronicle. Hopefully, you can catch any glitches before the rest of the world sees them. In exchange, for testing our new designs and previewing our new pages, Earth Chronicle Beta gives you get dibs on the latest information coming into Earth Chronicle as well as the chance to shape what our website will look like for years to come.

Front End Development / Implementation

Someone actually has to write these webpages. A lot of what's submitted can be stuffed into templates and is pretty easy for us to deal with. But someone still needs to do it. This isn't difficult, it just takes time. If you're interested in sharing your XHTML skills or learning some simple coding, contact us and we'll help you get started.

Other projects need more formal front end development. Shoving content into templates is one thing. It's another to create entirely new designs, or incorporate new functions into an existing application. The designers can come up with all sorts of fantastic ideas, and programmers can write all kinds of optimized highly useful features, but someone has to put all that together. That's where You become indispensable. We need front end developers to jump in and put it all together; we need priests and priestesses of the holy trinity: XHTML, CSS, and Javascript. We need usability gurus and UI designers to streamline interfaces, and find cool new ways of doing things that make the website more usable, more accessible, and more SEO optimized. Are you interested? Check out our Beta site to see what we're working on.

Planning and Architecture

Webpages are wonderful things. And on one level, the only thing you can shove through a connection is XHTML, CSS, and Javascript, so we don't mean to take anything away from the front end developers. But that's not all there is to a website. A website has to be able to take care of itself. It needs to be as easily manageable as possible and provide or even automate, it's own administration. Especially for as large a site as Earth Chronicle will become, the first three phases of the Software Development Life Cycle (SDLC) are critical to the continued existence and reasonable maintenance of the website.

Front end technologies can do some cool things, but from a programming standpoint they're pretty limited. In addition to maintaining the website, planning and architecture are necessary to mimic the illusion of application like functionality on the client side. These jobs typically can't be jumped into, they need some time to at least figure out what the project is, what it should do, and why it should be done at all.

  1. Requirements: We need to look over feedback from our users and generate potential projects. We need to conduct reviews of our operational systems to locate opportunities for feature enhancements. We need to perform gap analysis to see if there is whole new functions that we need to implement. And we need to create a dialogue with our users to hone all this data down into detailed requirements and project specifications. Written documents that specify what a project should do, what it won't do, why we want to do it, what the alternatives are, why we chose the approach selected, why we didn't choose the options that were passed over, and what our expectations are for the final results of the project. And somewhere in there, we need to prioritize projects and encourage people to jump in on high priority items (even if there are sexier projects lower down the list).
  2. Planning: Once we have a target to aim at, we can figure out how we're going to get there. For a large project this may be fairly involved, but for small to medium projects, the requirements are actually much harder to complete than planning because users are so intimately involved. Once you sit down to planning, it's now a technical problem. With that said, project planning needs to consider two main features of code construction. First and most importantly, you must manage risk. Push easy parts to the end of development. The more risky something is, the sooner you want to do it. It requires more time to attack these difficult problems, so you need get started; and in the unlikely but disastrous event that you cannot complete the project, every minute you've spent working on it is wasted. If the project is going to fail, you want it to fail quickly. Once everything is ranked by risk, modify the order based on testing needs. Testing must occur throughout the process and should be as real world as possible. If you need to build one piece in order to properly test another, you should build it first, or if not possible, as soon as possible. The faster you fix a problem the smaller it is.
  3. Architecture: Large projects especially require some high level construction decisions to be made. The physical and software setup of a project need to be decided: where is it going to live, what are the advantages and limitations of those choices, and why were those decisions made. The deployment and maintenance of the new components, applications, or features need to be considered. How are the new features going to get into the production environment? Are there new tasks that will be necessary once the new pieces are in place? Are there old tasks that will be eliminated or changed? Are there ways to mitigate potential problems? No feature, regardless of how amazing it is will be workable if it requires hours of daily maintenance to operate. Once all these decisions have been made, the architecture needs to be implemented. This serves as a foundation for construction of the project, and until it's in place, you literally have nothing to build your program on.

So if you have a knack for working with end users and research, and documenting those results into specifications, or if you're a planning / architecture guru, check out our beta website to see what you can add to our project planning and development process.

Construction and Testing

Once everything is all planned out, it's time to get down to construction. Like any good construction process this requires an ongoing set of testing procedures. No serious programming is done anymore without testing every function as soon as you are able. Well planned projects allow you to test everything under real world conditions as quickly as possible. But piece by piece, we need patient, intelligent programmers who can work well as part of a distributed team. Earth Chronicle is a large iterative development project, and we need your help to make everything work right. So, if you're interested, check out our Beta site and see the projects that we're working on.