by Pamela Cook Dreyer
I do not write a lot of blog posts because of time constraints. It is also difficult for me to consistently think of interesting ideas to write about. I tend to write when something really impacts me. I decided to write this two-part piece about the process we went through to decide how to develop and upgrade our current and future web projects. This post will deal with the process we went through to decide which web development and database tools to use. Part two will describe the process of learning the tools and about how we gained information on how to use our server.
This was one of the hardest experiences I went through to date as my husband Bernard and I aspire to be entrepreneurs to help fund the Gospel. It thoroughly made me take a hard look at whether I had the emotional stamina and endurance needed to continuing to work on a difficult project when things do not go as smoothly as planned. This is the question that all people that aspire to be entrepreneurs must ask themselves because more than likely you will meet challenges that you feel that you cannot get past but you must to gain the desire goals in your business. Are you ready to deal with chaos? I also reviewed a blog post that we posted in December 2011 called Are You Ready For Entrepreneurship?
Since the beginning of 2012 my husband and I have worked quite a bit on our commercial projects while maintaining and upgrading our web ministry projects. Before then we felt that we should solely focus on our web ministry projects. Anyone that works in Information Technology (IT) knows that there are times of great joy when a project is accomplished. Even the process of developing the projects can be a lot of fun, especially if you tend to be task oriented as I am. At the same time you can face tremendous challenges, especially when you are learning new tools in the process of developing and deploying new projects.
Bernard and I have about 75 years of IT experience combined, a good portion of it in older mainframe systems that most of the younger IT professionals have not seen or possibly heard of before. Most of my experience is in software development, database management and quality assurance testing. His skill set includes a really wide range of IT, engineering, automation and management skills. Most of his recent management experience has been managing huge multimillion dollar intelligent web services projects. Two of those projects included the management of a web project for the redesign of the Jaguar auto web site and of an automated configuration for IBM servers. Neither of us had any experience in maintaining servers. We had specialists doing it for us. What web software development skills we have used up to now were learned on our own, through a lot of trial and error in some cases.
Last year we were deciding on how we wanted to develop our commercial web projects and upgrade our web ministry projects in order to reach more people and sustain a high level of Internet traffic. The tools we used for our web ministry projects worked really well for where we were in the development and deployment phases of our web ministry projects. However we fully understood that those tools would not work for what we wanted to do to enhance our web ministry projects along with developing our commercial web projects. Those tools lack a multi-tier model for databases and scaling capabilities. We fully expect our projects to reach millions of people and needed to find the tools for web development and database management to support our business and web ministry goals. You can imagine what we had to do in order to upgrade our skills on our own. At best the process looked overwhelming. At worst it looked absolutely impossible. We had no real starting point. This posed a problem because how do you search for this when you have no idea what you are looking for other than the desired destination? Thankfully we had enough IT knowledge to start with.
Our first thought was to attempt to find local people that might have more knowledge in the current web and database technologies that would be willing to work with a tech startup. That effort was unsuccessful but through that process we were able to gain enough information from one person to develop a starting point to research things. During this period of time I was working as a consultant for a client so my husband did a lot of the research. Since we were not sure which direction to go in, we spent time praying about where we needed to start our research. Our intent at the time was to gain more knowledge in order to eventually find qualified people, locally or in other areas, to develop the projects for us. However realizing that not many people we knew had the skills needed for this project along with the willingness to work with a tech startup, we began to prepare for the possibility that we would develop these projects ourselves. This realization was a part of the horror I felt on the inside.
We both keep up with the tech trends as much as we can through daily reading of tech blogs and watching Bloomberg West on the Bloomberg TV Channel. We jumped into the social media fray in 2009 where we began to learn about Twitter and Facebook. This is where our adventure on researching information began. After learning more about websites that had huge amounts of traffic we decided to find out somehow what web development tools and databases were being used. Bernard began to check out Twitter, Facebook, Shopify, Apple, Groupon and other websites that had millions of people accessing them on a regular basis. He checked the career sections of the websites and from there found out what tools and databases were being used. The next step was to figure out how to use them. We thought that we could just purchase books or find information from our local universities, colleges or junior colleges. This was the normal process decades ago when we would research information for technical projects. We had an idea that the entire IT industry had so drastically changed but we were surprised to find out that none of our local schools had ever heard of this stuff. We had to come up with another plan on how to get this information. Again we needed another starting point. Sigh.
We began to learn about open-source web and database technologies. Initially we were looking for commercial web and database products since that is how a lot of IT projects were developed when we first started out. You can imagine the joy of being able to find open source technologies that were free but regularly used for robust commercial projects. The next step was to find documentation on how to use them. A lot of these open-source technologies were developed by graduate and doctoral students in key universities across the USA that teach courses on open-source technologies like Stanford, MIT & Cal Tech. After a lot of discussion, study and comparison we decided to use Ruby-on-Rails (an advanced full-stack web application framework based on the Model/View/Controller - MVC - architecture) for our web development tool and PostgreSQL (an object-relational database management system - ORDBMS) for our database. We found that many of the high Internet traffic web sites were using these tools for their websites. The next step was how to learn this stuff and begin using it. In our search we found that the websites that served as documentation were mainly manuals but did not show how to develop a project from start to finish. Here we go again LOL.
About a year ago Bernard decided to go to Barnes and Noble to look for a book for a different web development tool that he wanted to use for a new web project that he was working on. While he was there he not only found a book for his project but was able to find a tutorial for me to learn "Ruby-on-Rails". That trip was inspired by the Lord. Through all our online searching we saw nothing about this tutorial. For me it turned out to be the missing piece. I used the Ruby-on-Rails Tutorial by Michael Hartl
published in 2010 using Ruby-on-Rails 3.0. This tutorial showed me enough where I could use our chosen database for our future web projects, PostgreSQL. There is a newer release of this tutorial that is scheduled to be released before the end of 2012 using Ruby-on-Rails 3.2. The 3.0 version of the tutorial I used is still available through Amazon, Barnes and Noble and probably other places. Through this process we saw that our web projects would be a whole lot easier to develop that we first thought. After several false starts I successfully completed the tutorial. At this point I began to have confidence that we could indeed develop these projects ourselves.
We decided that before we begin on one of our commercial projects that I should rewrite one of our ministry web projects using Ruby-on-Rails and PostgreSQL as a test run. We decided on the website that Bernard had recently developed. The website was developed using Drupal, an open-source Content Management System (CMS), where a number of needed modules we found were very unstable. Making the innumerable security updates was a horrifying prospect that we just were not willing to attempt. The website ended up being horrible to maintain after a time before it was even ready to implement in production. We decided to do a temporary rewrite of the website knowing that this was not going to be the final version. I had no idea that I would face even more challenges when rewriting this one LOL. These had to do with learning the capabilities of our office server and how to begin hosting our Rails websites on our server. This long arduous process will be described in detail in part two of this series.
Return to LightBe Corp Homepage