Why Frameworks Suck (redux)
Last November, I wrote a post entitled "Why Frameworks Suck". The title was meant to be a little over-the-top but people took it at face value and the title alone isn't an accurate reflection of my feelings on the matter. The post was meant to describe why frameworks can suck and in what situations they don't. But that point got lost. Frameworks are, of course, very practical things. So as not to...
Why Frameworks Suck
Development frameworks are supposed to be our friends. Instead, they often just get in the way. Frameworks suck. What’s a framework? A framework is a set of libraries that attempt to make certain tasks easier. For example, instead of parsing an XML file character by character each and every time you need to work with XML, you might have a set of functions to help you do that. $elements...
All on my own
For those who have been following along with the Building a Web Application series may have thought that GainCMS was just another dead project with few (read: none) updates over the past few months. This wasn't far from the truth with Work and Life preventing me from investing any time into the project. No man is an island I must have been delusional to think I would ever have enough time to get...
Goal Reached!
As you might recall, I set a goal to receive 10 e-mails from the GainCMS site by the end of January. It may not seem like much but considering the project is truly in its infancy, I didn't expect much more. I was pleasantly surprised to hit the 10 e-mail mark back in early January. In total, I received 24 subscriptions to the GainCMS newsletter. The next step will be to increase the content that...
Getting to know you
I wanted to get a sense of the people who are interested in the Building a Web Application series. Why is it that you are following along? Do you want to build your own application? Or are you interested in content management systems? I'd love to hear what you have to say. ...
Update to GainCMS Web Site
Further to what I touched on in Marketing a Web Application, I've replaced the placeholder site on GainCMS.com with something more substantial. I put together a design I was happy with and begun adding in some content. The design is set up in such a way that I'll be able to grow the site without having to change the design too much. The site will be a continuous work in progress as I add more fu...
Marketing a Web Application
I'll be straight. This isn't a how-to on marketing your application. I don't have any answers. What I do hope to do is tell you what I am doing and what I plan to do. Over time, we can revisit this topic and see what worked and what didn't. Web site First off, is the domain registration and setting up the web site that describes what the project is all about. Back in September, I registered gainc...
Investors, anyone?
I've been so busy with my day job and other matters of living that I just haven't found the time to focus on building my own application. My web and database servers are setup and ready to go. I even got some test scripts together to make sure everything was working as it should -- and it is. All I need is for someone to give me a salary for the next six months. Then I could spend all day develo...
Working as Part of a Team
My initial thoughts in putting together this application was to build it by myself from beginning to end. Mostly because I didn't think anybody else would really be interested. A little because deep down I'm dealing with control issues. ...
Technology Choices: One Decision Made
I've hit that pivotal point. The database design is done, the prototype is far enough along, and I've set my list of requirements. I now actually have to decide what to program this thing in. And VOILA! It's PHP! Actually, it'll be PHP5, to be exact. It was a tough call but I'll explain why it edged out everything else. Cheap That's right. You can't beat free. Even though I'm on the fence on...
Database Design: Handling Unstructured Data
In a followup to my previous article on Database Design in the Building a Web Application series, I touch on how to handle unstructured data. When developing a database, it's often quite clear how to build the data model. Relationships are easy to spot and build upon. Every now and then, however, a troublesome scenario arises: unstructured data. Each module in GainCMS, for example, (ie: a web pag...
Building a Web Application: Technology Choices
In building a web application from scratch, you’ve got the flexibility to choose any language and platform to develop in. How do you choose? There are numerous factors that go into making that decision. Cost Cost is obviously a huge issue but cost can be measured in many ways. There’s the cost of the hardware and software; the cost of development; and the cost of maintenance. Softwa...
Database Design Choices
To follow up on the last article, I wanted to share some insight on a few of the decisions I made during this process. Handling Multiple Sites One of the decisions I had to make was whether to create a new database for every site that was created within the system or to store all information on all sites within a single database. In the end I decided that a new database will be created for ...
Building a Web Application: Database Design
Once we have our Requirements completed, we can begin modeling our data. Developing a data model can be a very straightforward task. Somewhat like programming, database design is “object oriented”. You determine what your objects are – otherwise known as entities – and then define the relationship between those entities. The diagram that you will end up with is called an ...
Revised Program Flow
Baby steps. I've revised the program flow to clarify the process of receiving a request from a web site user and how the response will be put together. This probably isn't too exciting but feel free to check out the new version. It's not much to look at but it should be a close representation of the final process. Allow me to touch on some of the items that I am trying to accomplish with this pr...
Iterative Design
If you've been following along in the Building a Web Application series so far, you'll have already seen how the design of the application has changed from it's initial visual design to the current prototype. However, I wasn't entirely happy with it. Allow me to introduce design #3. Only a few things have changed from the last version but I believe I gave it enough oomph that I won't feel the nee...
Building a Web Application: Prototyping
This page is outdated and some links no longer work. Sorry. In creating your prototype, you gain insight on what the final product will actually look like. You can eliminate problems before you’ve gotten too deep into the programming to turn back or need to implement some kludgy fix. In developing my application, there are three components to the prototype development that I’ll ...
Open Source vs. Closed Source
Consider this a sidebar to my ongoing series on Building a Web Application. A user commented that he thought "it should be an open source effort so [he’s] not going to help." Which was a really intriguing comment because I hadn't said either way whether it would be open source or not. I certainly understand how the person could have felt the implication of it being closed-source ...
Building a Web Application: Requirements Gathering
Now that we have the idea for our web application, it's time to begin mapping out our application. It is important to create a visual model of various aspects before we ever write one line of code. In doing so, it will help eliminate any problems and ensure that functionality that needs to be in the application doesn’t get missed. You’ll be referring back to this map as you move forwa...
Building a Web Application: The Idea
Some would say that the first step in building a web application is the requirements. But there's a very important step that needs to happen first. You need to determine the need. What problem are we trying to solve? Once you know what the need is, it's simple to develop the requirements. The Need What problem am I trying to solve? If you read part 1 then you'll have a sense of the need that I'm ...
Building a Web Application: Intro
So you want to build a web application? Well, so do I. I've built them before and I'll build them again but I have a specific project in mind this time and I thought I'd share my experiences with you. First, a little background... I started learning the process of web application development when I got my first job at a web design agency. Mostly custom developed for whatever the client needed sp...