Author Archives: Rob Snyder

Interview With Web Developer Andres Spagarino by Rob Snyder

Andres Spagarino has been a web developer for over a decade. He currently works for California Center for Sustainable Energy in San Diego California, where he provides online solutions for meeting the needs of the non-profit company. Andres has a deep appreciation for open source solutions and the open source community. He believes that it is a great way to collaborate with other people and re-use some of the development efforts for the good of the community.

My wife worked with Andres for two years while we were stationed in California, and she introduced us this evening over e-mail. I sent him a few general questions to get a web developer’s perspective on my own areas of interest on the subject.

What is your favorite site online today?

I am a little green/solar-geek, so I like http://www.renewableenergyworld.com and treehugger.com. My favorite part is not too much the design aspect but rather the content and functionalities (mobile ready, smart newsletters, etc).

How are you inspired by other web developers, and how does that show in your work?

I admire open-source solutions and the community behind it, I have used heavily a CMS open source called Joomla and we just recently switched to Drupal, we also are very involved with a CRM open-source called CiviCRM… I do get actually inspired by a few developers in these community since they are willing to help other developers like me in their spare time… In my work I am a strong advocate for open source solutions and I use them whenever possible and try to support them by contributing (both by donations and development support).

Where do you see yourself in 5 or 10 years, as web development and web design continue to evolve?

I believe the online media is shifting from computer base to mobile/cloud storage base. My challenge in the next 5-10 years is to keep myself ahead of the curve in implementing new technologies. I believe that I will always be in the open source development environment and that soon corporations will be moving into this format… many companies are already doing so.  For example our local utility company is using open source Drupal, the next generation of mobile devices and seamless data integration will be a lot easier when we will use open-source and not proprietary software… I believe this technology evolution is happening right now.

What advice would you give to a new web developer today?

Get involved into any project that you are interested and use the community to not only master your skills but also to give back by helping other developers. This is a great way to learn, network, and stay updated with whatever software you get involved.

Rob’s Interview with Google Search

Screen Shot 2013-08-04 at 9.01.11 AMIt is perhaps the most identifiable screenshot ever taken from a computer. The Michael Jordan “jump” logo of the Internet. For over a decade it has served as a door for billions, into a new world with endless possibilities and information. A world without demands, and one without prejudice. With its simple design and single fill-in field, Google Search asks only one thing of its visitor: Where do you want to go?

Since 1998, Google Search has received billions upon billions of answers to that question, using some of the most complex coding to provide its answers. However, everything that makes Google Search work its magic has been humbly hidden by its single, and mostly blank page. The process is transparent to users. Aside from the occasional defacing of its brand logo, Google Search has stuck to its simple and original approach to coding: “I’ll worry about the back end. You just enjoy yourself.”

So on August 4, 2013 I sat down to ask Google Search a few questions of my own, about the future of web development, why it matters, and how our lives will continue to be shaped by the greatest communication tool ever known.

Disclaimer: Google Search is not an actual person or web developer. This was a mock interview conducted using Google Search to answer the exact questions you see below … because I don’t know any web developers. Enjoy.

You’re an Internet giant. You answer more than 60% of the world’s questions. How does Google Search handle the workload?

This is a complex question, and honestly one I don’t get asked too often. So serving a Google query is truly a multi-phased process that begins with multiple clusters that are distributed worldwide. This helps me get the answers as fast as possible. Let’s say you want to know something about “society.” I’m going to check terabytes and terabytes of raw documents for your answer, after spell checking it of course. This is uncompressed data, mind you, so the index results are terabytes as well. Then I’ll form that data into pools that are split amongst several machines, which will back each other up in case one goes down during the process. It is a very efficient process, and one designed to serve the user the best results as quickly and reliably as possible.

You seem so simple in person, though, not complex at all. Why the plain appearance?

Ha! Now you are getting to the juicy stuff. The truth is that I didn’t know much about coding when I first entered the scene. I didn’t have a webmaster, and I didn’t really do HTML. So I put together the simplest design I could in order to test myself out. I didn’t even have a search button back then, which is kind of embarrassing. The enter button worked just fine. I remember I met a group of Stanford students one day, and asked them, “What would you guys like to know?” They just stared at me quietly. I asked them, “What are you waiting for?” They said, “The rest of you to load.”

Have you ever considered advertising?

You know, I was going to Starbucks the other day to check on some guy’s rewards account, and I saw this young man waving a sign around on the side of the street. I think it was for Domino’s or some mattress sale. I thought to myself, “I could do that, and I could probably make millions a day.” The truth is businesses would love to run an ad on the most visited webpage on the Internet. But that’s not what I want people to know me for. I’m not here to let the world invade your life, rather I’m here to let you invade the world.

You have been accused of collecting personal information from your users, though. Doesn’t Google Search collect personal information?

Yes, I do retain some log files that record search terms used, websites visited and the Internet Protocol address and browser type of the computer for every search I conduct. However, I have a policy of making money without doing evil, and I believe that infiltrates every bit of coding that makes up my existence.

So then, what’s the future of web development?

Wow, I can think of about 207 million things in about .44 seconds that could answer that question. Some people think responsiveness is the future of web development, but I disagree. I really think the future of web development is in web components. I think this is a technology that has the potential to change how developers write web apps. What web components do, essentially, is give developers an easier way to great websites and recyclable widgets on these sites with the help of the HTML, CSS and JavaScript they already know. This is a completely new way for developing web applications, but I think it will open the door for more developers and speed up the browsing experience for users – which is right down my lane.

With the creation of websites such as CodeAcademy and Treehouse, the doors are opening for people to create their own sites using stable platforms such as WordPress to build from. Will there be less jobs for web developers in the future?

Smashing Magazine actually did a good piece on this, where they discussed the future of web designers and developers. They even threw me in there, claiming I want to take over the Internet. I think there was a lot of truth to what they said, however. It’s true that sites like WordPress, Facebook, and even I can aggregate much of the content that would otherwise be spread across the Internet. And with a single design, it doesn’t leave much room for independent design. However, that doesn’t mean the field will die. The Internet is an ever-expanding and living thing, therefore there will always be room for people to make it a vibrant and fulfilling experience. Content is growing at an exponential rate, as more and more people use the Internet to communicate and help them with many aspects of their lives. Someone has to help keep all this organized, and I certainly can’t do it on my own. The most important thing is for those who want to work on the Internet, is to stay up to date and be willing to change. The basic concepts will always be there as a foundation, but the surface is ever-changing. If a web developer remains engaged and forward-thinking, she will undoubtedly be included in the future of the Internet, through all of its transitions.

This Interview was conducted by Rob Snyder for Web Development at Georgetown University’s School of Continuing Studies. For more about the future of the Internet and web development, or to ask Google Search your own questions, visit www.Google.com and type in your question.

 

 

Snyder’s Reflection

The Class Overall

I chose this class, because I wanted to learn a new skill. Something I could walk away with and use. Something tangible. Overall, I think the class gave me that. I think I was a little thrown off by the style of the course, which seemed to involve a lot of self-teaching. However, when I think of my wife’s experience during her MBA, I remember it being much the same. If that’s the idea behind a masters program – that you go through it with a little more independence – I think I can appreciate that. And I think, overall, it worked well in this course.

What I Learned

I learned to struggle through new concepts on my own, which isn’t such a bad thing. I think I couldn’t have learned a lot quicker with more hands on during class, but perhaps the hard lessons of identifying and correcting my own mistakes made the lessons all the more permanent. Obviously I learned a lot about coding. I think the best lesson I learned is to ride the backs of people that are dedicated and know what they’re doing. That is why, for example, I was happy with my decision to use a WordPress theme. I think if I would have gone with a random developer’s theme, I may have missed out on the responsiveness and constant updates, and probably would have run into a few bugs.

Why What I Learned Matters

It doesn’t really, right? I mean if I don’t put it to use, why would it? So, I think the answer to this question is that I have to make it matter by using it to make a difference in my work, my personal endeavors, and possibly even the endeavors of family or friends. Like Luis did. He built that site for his mother’s family business. Who would have done that for her? I think that’s what will make what I’ve learned matter – when I use my newfound ability to do something that no one else could have, or would have done.

What I’ll Do With the New Knowledge and Skills

I think I’ll just build on it. I have a site now that I’m pretty happy with. I think I’ll continue to work on it when I have time, and perhaps build another site. I think I’ll volunteer to help people with their ambitions to have a presence on the Internet, and perhaps even study the coding of some of my favorite sites. I’m also thinking of creating a T-shirt company that sells shirts with random code, written in short witty ways. <!– my back end rocks –>

Thoughts on Re-Reading the Initial Readings

Obviously a lot of it made much more sense. Some of it was still a little out there, perhaps intended for a more professional developer. However, most of it seemed to hit on some key points we covered in the class. The underlying theme being how this all relates to journalism, which I think at least one of the readings discussed. Some of the readings will serve as a good reference for future projects.

What I Want to Learn After the Class Ends

Honestly,  just want to fix the remaining issues I have with my site. I think if I can do that, I’ll be happy. Perhaps in the future I’d like to learn how to create a phone application. It seems like the new “get rich” thing to do (and yes, I’ll throw you a couple mil’ when I sell my big application to Apple). But other than fixing my site and getting rich, there’s really not a lot more I can think of right now. Honestly, it would probably be a waste to try to learn more while I still have so much more to learn and practice with the topics we covered in this class.

See you Tuesday …. don’t cry.

Agile is like small unit leadership.

I saw everyone was writing about Agile, so I figured I was on the wrong week. So here is my post for week 9.

I read the “Agile Manifesto,” and then watched the video just now. Needless to say, having missed Tuesday’s class, I was lost. I had no idea what Agile was, and why I was watching the video of this little bald head talking to me. A little Google/Wiki search, and I was on track.

So I think I understand why these developers had the idea to create the manifesto and a non-profit learning academy. I’m sure what they said about the “waterfall” technique was absolutely true. Unlike some other businesses, the business of computing and the Internet came from big government. I’m sure that means they both transferred over to big business, who in turn pushed out software in giant waves that crashed over and soaked their customer base. After all, that’s how big business works. Even Apple is like that … “Here comes the new iWhatever! You’re all going to love it and learn to use it.” They don’t function in small teams like ideas that are built from the ground up function … or at least how the good ones function.

We have a military concept that is very similar. Something designed to save us from big military ideas. It’s called “small unit leadership,” or “distributed operations.” The idea is phenomenal, and basically involves all decision-making authority being pushed to the lowest level of leadership. In many cases, that ends up being a 19-year-old kid. That means he is deciding when to drop bombs, when to attack a building, and when to call in for a medical evacuation. That may sound crazy, but it works. Decisions are made faster than the enemy can make them, because that 19-year-old’s equivalent on the battlefield has no authority whatsoever.

From what I understand, the Agile method is a lot like that. Low-level developer teams interact directly with the customer. They make plans and carry them out based on what the customer gives them. They also implement and follow guidelines that ensure success. If the customer tries to circumvent that process, developers have the authority to guide those customers back, without fear of reprisal from higher.

It sounds like a good method to me. I thought the manifesto was a little much, but the idea of small unit leadership and ideas makes me feel right at home.

Critique and Changes Update

The most common critiques were about white space and descriptions for my photos. Unfortunately, I was only able to resolve the latter. I added brief descriptions to the photos that I felt weren’t self-explanatory, or that I thought had especially interesting stories behind them. The remainder of the photos I left at a thousand words…

I wasn’t able to resolve the white space issue, at least not completely. On the content pages, I was able to adjust sizes to decrease some white space, but on a large enough screen the white space is unavoidable. At least as far as I can tell. On the home page, I was able to address the white space a few different ways, but each of them created a new and worse problem. It’s something I’ll have to continue to research and work on, and something I may not resolve before the course is complete. Another suggestion was too bring the image headers closer to the bottom of the image, when viewing category pages. This is something I have struggled with. I’ll continue to work on it, but I’ll probably need to submit the question to a help site.

There was one aesthetic suggestions, which was where to place the home link. I left that one open for now, because even though I don’t want to move the home button location, I think I can draw more attention to it with some styling.

Other issues that classmates brought up were resolved more easily, and they are as follows:

  1. Header not centered on larger screens (resolved).
  2. Like buttons not working (resolved).
  3. Misspelled url on “Architectures” page (resolved).
  4. Unnecessary info above Twitter widget (resolved).

Additional issues I noticed this week:

  1. Admin comment highlighter not working (resolved).
  2. Menu not centered (resolved).

I’m still working on a lot of other things that I’m finding online. There’s too much honestly. I think I’m going to burn out and a year from now you’ll clink on my link only to find the page covered in cobwebs. 🙂

Honest Assessment

I originally posted kind of a downer post, but after reading everyone else’s, I decided to try again.

So I think this week I did a lot with my site. I began with some basic css code to clean up the TwentyTwelve theme. I got rid of all the extra words on the theme, to include the text around the comments box, the “categories” text, and even the “Powered by WordPress.” (Sorry WordPress). Once it was clean, I started to look for ways to make the site styling more personal. I found a pretty nice code example for a home page and copied that into my stylesheet. That allowed me to take my clean theme, and start to build a “display case” for my photographs. Initially, I had some functionality issues, but through some tweaks and Google searches, I was able to clean it up.

Once I had the display figured out, I started to add some “functionality.” I encased that in quotes, because I may be misusing the term. I basically made the site comfortable to browse. I wanted the viewer to feel like they were a guest, and that I was sharing my life experiences with him or her. So I used my widgets and menus to guide them through the site as if it were a scrapbook sitting on their lap. However, I tried to do that without compromising the cleanliness of my site.

I added a small Twitter feed on the sidebar, and included an interactive world map that called back to locational tags I created for each photo. I also created a custom contact page, with personal error messages in case a user got it wrong.

Hmm, what else? I definitely customized the look of the header, and removed it from all pages other than my home page. I eliminated borders around photos, and set up permalinks that were a little “prettier,” as they are described.

All-in-all, I learned to use plugins, widgets, and menus to build my site the way I wanted. Then I created five or six unique pages in my child-theme to add the extra functionality and look that WordPress couldn’t provide. Honestly, I got the impression that I hadn’t done much, but I think once Tuesday comes around, my work will come through. I did bust my tail on this site, and I am very pleased with how it looks. Like others, I think I too will continue to make improvements. However, considering where I began, this is quite an achievement in my mind.

For those who may have read my first post, please disregard. 🙂

“See” you Tuesday.

 

Catching Up

I spent a few late nights and most of Friday and Saturday trying to catch up from what seemed like a pretty big deficit, not having gone through the tutorial in class the day Greg explained CyberDuck, GitHub, etc. I was able to get a laptop computer with the appropriate software and hardware, and load everything that I needed on it. Unfortunately, I had to learn a few things on my own, such as how to use CyberDuck, how to use GitHub, and how to set up a child theme. Greg was able to help me a bit over e-mail, but he stood me up on Skype. Yes, Greg, I waited up most of the night staring at my screen waiting for you to call. It was pathetic.

The only thing I still need help with, as far as the initial setup is concerned, is how to get my real site to display my content. I transferred my entire wp-content folder to my domain and I am pretty sure it is all there. However, for some reason the actual site still displays just the regular old stock WordPress page … with none of my content. (I’ll need you to help me out with that one eventually, Greg.) In the meantime, I decided to just keep working on my site locally. And what I found seems to be a common theme (pun intended) amongst a few of my classmates. I wasn’t that familiar with WordPress, so I didn’t really know what options were available. It seems like most of what I know how to do, WordPress already has covered. So the challenge is finding a way to customize my site, that isn’t already a WordPress option. In order to accomplish that, I basically just started to go through the options and take notes of what I couldn’t do on my own. There were quite a few style options I wanted to see, that I couldn’t find. So those could be examples of things I could add. I also went to the Internet in search of some really good WordPress sites, and I found a few sort of “Top Ten” sites to peruse. I took a look at the code on those sites, and that generated some ideas. That’s what I’ll work on over the next week. Hopefully I’ll have something that looks presentable by next Tuesday. We’ll see.

The best part about this week was that I learned how to set up my own site. I liked that more than just about any other part of the course so far. It isn’t something I think I could have learned on my own, even though I did have to learn quite a bit on my own. It was really helpful to have the links and resources handed to me, and to have at least a general explanation. I think with a little more class time, I’ll feel more comfortable with the process of managing my own site.

As for now, my goal is to just get my content online.

Wonder what my potbelly junior high science teacher is up to now?

When I was in 7th or 8th grade, our science teacher pulled up this TV screen with green letters and numbers on it. He said, “This is a computer.”

We all stared and blinked. He continued, “No, look it’s really cool. You can make it do things for you, like count to infinity.”

We spent the next 20 minutes or so typing random letters and numbers into the black screen (or watching him do it anyway), and to our lack of amazement, the machine started to count. Over the course of the next week or months (I don’t remember), the machine counted on … and we went about our lives. It may still be counting; I’m not sure. But that was my introduction to code.

It took another decade and the invention of AOL chat rooms for me to get interested in computers, so I missed out on the evolution – the result of which a very slim screen is displaying in front of me now! Amazing (I wonder if this thing can count to infinity?). Anyway, that brief introduction to code always gave me an appreciation of what mysterious numbers were working in the background of my computer programs. I knew there was something more, and even as we’ve learned these new concepts in class, I appreciate how it all shares common ancestry.

The problem is, much like when I was 12 years old, my interest in learning to make computers do what they do is limited. I definitely enjoy knowing how things work, but just the wavetops.  I like knowing just enough to be dangerous. The good news is I am confident this class will get me there. Despite all the frustration in trying to grasp the concepts, the worry about getting a low grade, and the reality that most of the details will be forgotten in a couple of months (let’s be honest, weeks), I think the exposure will leave me in a very similar state to my first code “exposure.” I’m sure the next time I see a web developer working on something, I browse through a site, or tweak my own, I’ll have a deep and healthy appreciation for what’s happening in the background. And after this class, it will be an appreciation for more than just the MS-DOS.

As for APIs, well I’m getting there. It seems most of the articles are written for people who have at least a little experience with web development. That makes it tougher for the beginners I think. I’m going to start cutting and pasting stuff into my site though, and see what happens. Maybe I’ll create a web page in my science teacher’s honor … one that just keeps on counting. He’d be so proud.

Lost in the Sauce

I knew that missing a class would leave me a little behind, especially in this class. However, I felt completely lost when I started to read the e-mails that were stacked in my inbox for me when I returned from overseas. The blog posts left me even more confused. I really feel like I missed an entire semester. The good thing is that after reading ALL of the blog posts, it because apparent that I wasn’t the only one lost. So in a pack of hunting dogs, I’m going to be the red fox that looks forward and shuts up. Hopefully I’ll blend in until I catch up.

What specifically confused me was just the apparent advancement everyone seemed to make on their personal sites. You all really seem to be pushing ahead. I think by the end of tonight, I’ll be completely caught up with you guys … and by that I mean I’ll be totally lost in my own site. 😉

It seems difficult to decide whether to create a functioning site first, and then tweak it, or try to create a very personal site first. I think I’m going to go with the former, and construct a very basic stie with the WordPress Twenty Eleven theme. No changes, just a flat out copy and past of my information into the theme. Once I do that, hopefully I can go back in and start to change things. I just want to see the site up and running, knowing I made it through the MAMP, CyberDuck, and other program problems, before I start experimenting.

I have actually set up a WordPress site before, through the .org service, and I enjoyed all of the personalization that was available. I think I can catch back up on that quickly, and then start to play with the coding behind them. The funny thing is, I’m guessing the first few changes I make in the HTML and CSS will be things I could have changed just going through WordPress’ personalization menus. We’ll see. Perhaps I’ll have to come up with things that are a bit more complicated.

Final Project Pitch

I plan to create a personal photography portfolio for my final project. The portfolio will be displayed in a user-friendly and simply-designed website, and will target those interested in reviewing my capabilities as a photographer – namely prospective employers. Ideally, the site would be easily converted from a portfolio to a marketplace where I could sell my work. This will allow me to turn my portfolio into a for-profit site if it appears there is a profit to be gained.

I currently display my photos in a photoblog titled “RobLSnyder.” That photoblog is hosted on Tumblr and I track the blog’s performance using Google Analytics. The blog hasn’t done so poorly. However, the photos cannot be organized well and that limits how much of my work can be seen at any given time. With a platform like WordPress, I think I could bring a bit more organization and draw more attention to my best work. I think I could also create themed areas, and promote those themes when I think it is most beneficial (firework-related photos during Fourth of July, for example).

I don’t anticipate adding much to the theme that I choose, since I will be looking for a very basic and clean display. What I will likely change is the functionality of the theme, and perhaps even remove a few things. That remains to be seen.

URL:  www.RobLSnyder.com

Description:  A personal photography portfolio that spans over a decade and across the globe.

Goals:  

  • To display my work in a well organized and visually appealing manner.
  • To create a foundation from which I can eventually sell some of my work.
  • To have a functional site to which I can continue to add new photographs.

Audience:  People who enjoy browsing photographs, and are perhaps interested in purchasing original photographs of a location of interest.

How I Will Achieve My Goal:

  • Transfer all photographs from Tumblr to RobLSnyder.com.
  • Experiment with ways to organize the photographs and choose a method.
  • Organize the photographs and create a way to update each section with new shots.
  • Create a way for viewers to purchase photographs (perhaps just contact information to begin with).
  • I plan to use Twenty Eleven Theme (http://wordpress.org/themes/twentyeleven).

Functionality:

  • The site should be organized in clear sections that viewers can access easily, so there should be clear and understandable hyperlinks.
  • Viewers shouldn’t have to browse through a bunch of photos in sequence. They should have a broad view and a close view, and be able to move between the two quickly.
  • If they like a photo, there should be a way for them to save that for access later.
  • I should be able to quickly add photos, preferably from multiple platforms.
  • Design should be neat and free of clutter or distractions.
  • The display of the photographs should be as artistic as the photographs themselves.

Theme Modifications:

  • I’ll attempt to make the TwentyEleven theme less rigid, and perhaps more dynamic in the way photographs are displayed and how they link to other pages. For example, I will try to modify the them to move photographs from the left side of the page, so various places around the page. I’ll see if I can do this without messing up the other widgets, text, etc.
  • I’d also like to see if I can create an introduction video (or quick presentation) to my site. In other words, when one clicks on the link, a quick sound and image will display in an Adobe Flash-like presentation. I’ve seen this on similar sites, and I think it works well.
  • It would be nice to know which photographs are being looked at the most, get the most unique visits, and are viewed for the longest period of time. I’d also like to insert some kind of protection from obtaining full-resolution photos from the site. I’m not sure if this is already built into the TwentyEleven theme or not.