Tuesday, August 20, 2013

For the past couple weeks, I've been learning CSS, testing out design ideas and implementing them. Jon Duckett's book, HTML & CSS Design and Build Websites was my primary source of information. To come up with a color scheme I gather images of a variety of potential subjects of this website and then color matched them using Adobe Illustrator. I went with a color palette based on the red-tailed hawk, which is a bird I see every day. Other interesting palette combinations found at Design Seeds were also considered. Additional options were compared options using Color Scheme Designer.  I then made sure my text and backgrounds gave enough contrast using Colour Contrast Check.  Further inspiration came from browsing through Dribbble.  

The initial layout of the webpages used HTML tables because that was how things where set up in the book that I followed when learning PHP. So, the vast majority of my time in implementing CSS was spent replacing the table based format, adding a three column layout, researching design ideas and thinking about how I wanted the site to look. After implementing the main elements of the style, I then spent a good deal of time tweaking and testing out other ideas and making sure things worked as intended. Another thing I had to work on was cleaning up my CSS file. I documented sections and design elements that were new to me and organized the file into major sections. I also spend a good deal of time deleting parts that were no longer needed and then simplified the code a bit by combining areas that called for the same design elements. 

One of the other lessons learned while creating the CSS components is that the names of variables can get quite confusing.  Because on several occasions, I had started to name CSS elements with the exact same names I had given to PHP variables. This is something I'll pay closer attention to when building my next website.

Overall, I'm OK with how it looks. I like that the navigation menus highlight when the mouse hovers over them and is highlighted while visiting that section of the website. There are many things I want to add, like drop down menus and auto-fill search boxes but it seems that it would be best to learn JavaScript and jQuery to do those things.

As far as content goes, I may change course a bit and offer different information from what is already provided.  For now though, I think its important that I learn more code and how to implement design and user interface elements.






Saturday, August 3, 2013

Starting Out

I've been thinking about building websites and creating online content for quite some time.  For instance, one can see when this blog was started.  The difficulty was trying to come up with an idea of what I could do that is unique and beneficial.  However, every idea I came up with seemed to have been already thought of and done by someone else.  Then I realized that even something as complex the theory of evolution by natural selection, independently developed in the minds of two different people in the mid 1800's.  So, it would be quite conceited for me to assume that I could come up with a completely new idea that no one else had even considered.  I also recently learned that Google is delivering another means for streaming TV over the internet despite Apple, Hulu and Netflix already being in this space.  So, the world is full of ideas and there is much overlap between them.

I've been listening to NPR's Science Friday for 6 or 7 years now and one of the themes of this show is citizen science.  In addition to my bachelors and master's degree work, volunteering at the Seal Beach National Wildlife Refuge has included several opportunities to participate in scientific research.  This an area that many people could contribute to in a big way.  Furthermore, with the connected way in which we live today there are many projects that could only be accomplished if it had 1,000s of participants doing something on the same day.  Like the Christmas Bird Count.

There are already several sites dedicated to listed and informing the public about citizen science projects like SciStarter and Citizen Science Central, but I decided to add one more.  It'll give me the opportunity to develop my skills and a starting point from which I can learn about these projects.  More importantly, the website I'm building will hopefully give those projects another venue where they are mentioned to help improve their presence in the public domain.


Friday, August 2, 2013

Project Search Page

Started constructing the project search page.  Got it so a user could select from any of the four option menus and get a list of projects based on that query.   Won't have much time to work on it this weekend but next steps will be to implement the keyword search and allow users to combine each of these queries to get one result limited by all the options.  Hopefully its as simple as anding all the queries or perhaps I'll have to use the arrays from the query results, combine them into one array by intersecting them and then display the one list.  It was also cool that I didn't need to search for too many solutions since I could cut a paste from the other code that I had already written for the other pages.  I'll probably have to learn jQuery or something like that to implement the location based search.


Thursday, August 1, 2013

One Win at a Time.

I'm working on building my first website.  Currently muddling my way through HTML, PHP and MySQL.  I knew that things would not be as blissfully simple as all those beginner tutorials and free online classes would have me believe.  However, its all good though because I love those daily wins I get when I finally get something to work.  I feel that I'm in a sort of beginner to intermediate stage where I know how to do things but its done in an inefficient and cloogy way.  But I also know that there are ways to simplify things, however, using those bits of code tricks is not straightforward.  Nonetheless, I'm getting there.  This past week was focused on figuring out how to create a form in HTML, which includes textareas, selection and option menus; then, using PHP, get that data into a MySQL database.  Today I finally got all of the elements of the form to go into my database and populate three different tables.  So, one might think that is pretty much all that has to be done.  However, I'd say this one webpage is at the halfway point because now I need make sure its defensively programmed and protect it from being used in ways I never conceived of.  I read somewhere that a good programmer still looks both ways when crossing a one way street, because there's always that one person who's going to do the unexpected.

I also need to add a proper way to input a date on my form and then learn CSS so I can make it look pretty.  Eventually, I'll also want to add Ajax and Javascript to make it more dynamic so that as one begins to add a project it will show a list of projects that seem similar to prevent any duplicates from being added.  Also I'd rather have scrollable checkboxes instead of requiring people to hold down CTRL while they click to select multiple items.  I'm sure as I do more I think of more things to do.  For now, I'll have to settle for one win at a time.