Category Archives: 2013 Summer class

Final Thoughts

The class overall: Although it may be extremely hard to scope out based on my posts throughout the semester, I did find this class helpful. I learned that web development should not be feared as long as you have time, patience and a close relationship with Google. My negative feelings toward the class came from an expectation of mine that I now see to be completely unrealistic. I registered for the course expecting to be taught how to code and although I have basic knowledge of coding, a lot required me to Google(self-teaching) and I am nowhere near pro status. What I learned though is going into a summer class, or really any class, thinking that you’ll automatically leave as a coder is the first mistake of a non-coder mind(although I’m still trying to figure out  Luis’ technique in accomplishing this. Congrats!). This class covered everything that the syllabus said it would and I not only have a better understanding of what web developing is all about, but I also learned a little more about how I learn/function.

What I learned: The very basics of HTML, PHP, CSS, a lot of things about WordPress that I never knew existed, Github/Sublime/Cyberduck, that Codecademy exists and what questions to Google. I also learned that I do not want to be a web developer. I said this in the beginning of the semester and I’m sticking to it that the feeling I have after getting my code to work does not outweigh the misery and annoyance I feel when my code fails.

Why what I learned matters: Knowing even a little about coding not only helps journalists within their job, but it also looks good on a resume. I cannot and will not put on my resume that I know any code languages, yet, but I know enough to identify the language and work through certain issues. Also, with the disappearance of newspapers and the increase of news being consumed online, there could not be a better time to know some code languages.

What I’ll do with the new knowledge and skills/What I want to learn when the class ends: Shockingly, I do plan to learn and practice more once this class is complete. I do want a better site and I think I may want to change my theme to 2012 after Rob so graciously pointed out to me that there is just way more support with that theme. I have no immediate plans, but by the time I graduate(2 more semesters) I intend to have a site that I’m proud of as well as a better understanding of the codes I mentioned above. JavaScript may still be a lost cause.

Thoughts on rereading the initial readings: They make a  LOT more sense now that  we know what they’re referring to. I really wish I would’ve paid more attention to the reading Rethinking our Thinking. The quote below sums up this entire class for me.

“Your mindset impacts thinking which impacts mindset which impacts thinking… etc for infinity.”

My mindset was negative and therefore my thinking was negative. I believe that knowing code and being able to create sites on your own, even if just for personal use is extremely beneficial for journalists. I also think it is is something that you really have to WANT to do. If you really want it, you will be able to conquer it, even if it takes months. If it is nothing more than a curiosity of yours and you are not willing to put in time, it will kick your butt and your mind and you’re whole approach is negative.

Web Developer Profile: Dan Rowden

It is difficult to pin down where passion begins or what ignites it. For Dan Rowden, creator of Magpile, his passion for web development began with learning to play a musical instrument. To be more specific, it all began with learning to play the bass back in the late ‘90s at the age of 13. What began as an interest in music, evolved into an interest in sharing and making the learning process easier for others seeking to learn. Bass-tabls.co.uk was born and although it would not last, the interest in web development would linger in Dan’s mind for years as he fiddled with sites here and there and finally got serious about the whole process while obtaining his Bachelor of Engineering degree in Media Engineering with a focus on web development, printing technologies and European business from Helsinki Metropolia University of Applied Sciences. 

When Dan is not working his day job as a User Experience Designer for a Science and Technology university in the Middle East or browsing Stack Overflow and Dribbble, his favorite industry sites, he is dedicating his time to his true passion: web applications and the UX, UI and development that goes along with it. Last year, Dan combined his interest in magazines and web development into Magpile, an online community for magazine lovers. Dan was kind enough to take some time out of his week and share his thoughts on web development, magpile and the future of magazines.

 

Espresso (editor) is one of my favorite development tools. I only use that and Photoshop to make websites. There are a few compression tools I use, too, like jscompress.com or tinypng.org

If you have a team you have varied opinions and expertise, which leads to a more rounded and solid product. But as an individual you are forced to make decisions yourself so you can be quick and nimble, and work to your own deadlines.

Favorite developer language? Definitely Python. It’s a lot cleaner than most languages, in that you write only what you need (In Javascript or PHP, you should end lines with semi-colons and there are a lot of brackets needed in loops or if functions; Python has neither).

Working in web development, you can have an idea and make it into a product that people can use, within hours. Then you can change it and update it (and charge for it!), and it never has to be a 100% developed product, like if you were making a physical product.

There are a lot of sites I like the look of, but two that stand alone in my mind: gov.uk, which shows a lot of different information really clearly and easily available with its recent design (it has won awards) and Issuu, which is both beautiful to look at and interact with, and you can read magazines on it!

Magpile is like a Wikipedia for magazines. It is a reference to the world of print and digital magazines. It also has a community, where readers can sign up, say which magazines they own, discuss them and follow other users. I also launched a Store, where publishers can easily sell their magazines to Magpile’s global readership.

I wanted to keep track of my own magazines, which were spread across three countries. I decided once I’d started planning the site that I should develop it into something other users can use. This then spiraled into the large magazine reference it is today as users added more and more titles.

The site is built with Python, using the django framework. django is an awesome codebase that gives you a leg-up creating web applications. I did the coding (back-end and front-end) and design gradually over the past 1.5 years.

I think, like Wikipedia, Magpile should be a freely available and long-standing resource. Any change in the publishing field won’t affect this mission, nor Magpile’s impact as a record of print history. I can’t see magazines going away anytime soon, so Magpile should be around for a while, too.

For nearly every feature I’ve added there is something I didn’t know how to do. A simple thing like getting a cover image from the internet and saving it in the Magpile database and onto the Magpile server isn’t really that difficult, but as I’d never done it before I had to go out and read up on how it would work. I’m on stack overflow an awful lot researching different ways to accomplish a coding challenge.

I just launched Maggly, which is also aimed at the magazine market. It gives publishers a magazine-specific website with very little set up, which means that they can focus on releasing their magazine rather than spending time setting up and managing their website.

To be able to do my work, I have to be on the computer. I don’t like to be tied to a screen all the time, and would love to someday do things with my hands (like woodwork) instead.

 

Wrapping Up the Class

This class was quite a learning experience.  I hit a lot of roadblocks but also solved a lot of problems and realized what I can accomplish within WordPress if I put my mind to it.

The Class Overall:

I think that the class was great for giving us a structured environment to learn some coding basics and safely experiment.  It allowed for a lot of tinkering on our own, but could have definitely benefitted from some more class and one-on-one time.  While the instructional periods were informative, more time to work with Greg on specific issues would have been nice.  I found myself working on some problems the wrong way for hours when Greg could have given me a simple fix or explanation in a few minutes.

What I Learned:

I learned the basics of HTML, CSS, PHP, and JavaScript.  I learned that you can find the answer to almost anything with Google and a little (or a lot) of mental elbow grease.  If I want to experiment in the future, I know that I can commit my changes to Github and share my code (and my issues) with a world of other developers.

Why this is important:

Knowing the basics is important because it opens lots of possibilities. Just knowing that I can look up how to write code on Codecademy or crowdsource and issue to Github or utilize Stack Overflow for almost any coding issue makes it way easier for me to solve problems and learn how to make my website capable of almost anything.

What I plan on doing with my knowledge:

I hope to keep up my blog, once I solve a couple more responsiveness and design issues.  I’m also going to be helping out a local logo artist build a portfolio and informational website that will hopefully expand her business.  I will be able to give her advice on what types of templates to use as well as give her ideas of what a good website could be capable of.  I plan on using WordPress to build this site.

Re-readings and initial readings:

Reading the initial readings over again made me realize how much I have learned about the language of coding.  Not just in the terminology, but the concepts are clearer to me as well.  “Don’t repeat yourself” was simple enough the first time I read about it, but until you actually code the same thing four times in a row you don’t realize the value of it or how it might actually require finding a new way to do things.  Designing for the masses makes more sense now, because if my functionality changes are too complicated for my authors to use, they won’t use them.  Actually working with the site makes you realize how these problems from the initial readings can quickly present themselves.

What I want to learn now:

Obviously, I’d love to get my custom meta boxes working, but beyond that, I want to learn how to make my site more responsive and aesthetically pleasing.  I want to keep it simple still, but I want it to impress.  I’m taking a web design class in the fall that I hope will help me with this.  I want to learn how to build or customize more of my plugins, as well, as so I think I’m going to fork some of my favorite code and see if I can improve on it.

Interview with Web Designer and Developer James Atkins

James Atkins is a web designer and developer who did some work with my uncle’s company, Thompson Reuters, which is an umbrella company of the Reuters news service.  I interviewed via James via Skype from his home in rural France.  His website is located at http://jamesatkinsdesign.com/.

Mark Dennin: How did you first get into web development or design?  What led you to it?

James Atkins: I was asked to work at one of the UK’s first web design companies, it was called New Media Factory, in Cambridge, UK in the mid 1990s. I was a freelance designer and wanted to find out more about the web. I was bored of conventional design companies.

MD: What was your first web development/design job?

JA: Prior to New Media Factory I was a design consultant at LIFFE, now NYSE Euronext, in London. It was essentially a trading floor where the traders all wear loud jackets and shout deals across the floor. That was 1994-5 if I remember correctly, it was the first time I’d seen the World Wide Web. I’d downloaded a copy of Mosaic and loaded a few pages – the first Yahoo, the FBI “Most Wanted” page and a few academic sites. I was intrigued that this stuff was published, free and available at anytime. I suggested to LIFFE that we could do a web page. They didn’t listen, so I started making pages in HTML 1.0 in my own time to try and work out how it all functioned. However I didn’t understand web servers, not many people did and remember, I’m a designer first, so didn’t really get very far on my own. I’d decided I’d need to find out more somewhere else.

So my first real projects were probably at New Media Factory. We worked on several sites all at once. I worked on the first site for the Economic and Social Research Council [esrc.ac.uk/]. Did some consulting and the first version of ft.com in early 1996 and created several internal intranet sites for BP. Another large site which we threw a large team at was for Nationwide a UK Bank that sponsored the English football league.

MD: What does your current or most recent web development job entail?

JA: I’m working with a team for the redesign of website for Private Swiss Bank. This will be launching this year for desktop and mobile versions. We’ve also been helping them with their intranet, email and other digital communications over the last couple of years.

MD: What field was your education in and did it prepare you for a career in web development?

JA: I studied Fine Art, Painting. That doesn’t prepare you for much in the way of a career except for being an artist. When I left art school I moved into the design world because I’d always had a love of typography. Desktop layout applications were just coming out then, PageMaker 1.0, Quark Xpress 1.0, Adobe Illustrator 88, and I was quite computer savvy as a kid so it was quite accessible for me, perhaps more so than most graphic design graduates at the time.

There are thousands of web developers these days. A lot of them very good – but my fine art education has taught me to stand on my own two feet, not wait to be told what to do and to have certain amount of self-belief. That’s useful when you are a consultant.

MD: What are your main responsibilities now in web development or at your job?

JA: It depends on the project. For larger projects I am generally an Art Director working with a team of juniors. I do a lot of presentations for clients and there’s a bit of problem solving and brainstorming. But for smaller projects I still do a bit of production, layout, design.

MD: What websites have you worked on?

JA: Lots! Recently I’ve been collaborating with colleague from NMF days [scheybeler.com]. We’ve re-launched Prixpictet.com we did a lot of work on www.univadis.com/ which is now rolling out around the world – essentially a website for doctors.  The Swiss bank thing should be going live this Autumn. I run a few smaller sites on my own – of course you know about psenterprise.com which I templated and PSE created the pages. But these days it’s not really all about websites. Apps, social media, interactive advertising – there’s all aspects of digital design to be get involved with.

MD: What has been the most challenging and most rewarding aspects of your career in web development?

JA: The big challenge is keeping up with new developments!  It’s constantly changing. Technology, approach, specifications, browsers, standards, devices. It’s rewarding; well these days I no longer have to go into a London office or studio every day. I can work remotely from my house in rural France.

But it’s always good to launch something too!

MD: What languages (HTML, PHP, JavaScript) have been most useful in your career?

JA: Probably HTML and CSS. They’ve been the most constant languages. It’s useful to know the basics of a few of the standard CMS systems like Drupal, WordPress or Textpattern.

MD: Do you have any experience doing web development for news or P.R. organizations?

JA: I did some work the FT. I started working with the Daily Telegraph but that didn’t really work out (they were starting a new company to do apps and dev – but it seemed not well thought out or resolved so I bailed very quickly). It’s important to know when to say “No!”.

I’ve just been working on the redesign of kernelmag.com which is re-launching on August 12th.  They are a news/journalism/tech blog/ which launched last year. They are re-launching with new backers. P.R., no, although I’ve done some digital work for Brunswick PR in London  – but that wasn’t really a website as such.

Q&A with Developers from Blackboard and Zoomph

I interviewed two professional web developers in an effort to get two different perspectives. Some overall takeaways are: both guys have amazing jobs that they really enjoy; both were somewhat self-taught and recommend continuous learning to keep up with latest trends; both are advocates of agile/scrum processes; and both provide great insight about working with communications/marketing professionals.

MEET:
Hardian Muljadi, Senior User Interface Designer at Blackboard Inc.
Lee Kohn, Lead Developer at Zoomph

1. What is your professional background? Why did you want to become a web developer?

Mulijadi: My background was in computer science and business administration. My first job out of college was as a web designer, having experience in both website content management and development. I was very comfortable working in code, but I knew that I wanted to do something more that involves working with people; gathering requirements, figuring out what makes user tick, and designing a solution that solves their problems. Additionally, the web development field was on the rise, and with my background it felt like the right industry to get into.

Kohn: I became a developer because I’ve always liked building things and tinkering with computers.  Doing web development allows me to get paid to do something which has always been a hobby of mine.

2. Did you invest in formal training, or were you self-taught?

Mulijadi: I took some courses back in high school and college to learn the basics, but for the most part of my professional career I was self-taught. I followed many web design blogs and attended conferences to gain more knowledge on the field and meet some of the key players in the industry.

Kohn: I have a BS in IT from GMU which prepared me for a lot of the infrastructure and business related topics however most of my software development expertise has come from a lot of reading on my own time and on the job training.

3. What advice do you have for writers/marketers/project managers that would help make your job easier? Any tips for a more effective working relationship?

Mulijadi: Most are advice for project manager:

  • Don’t schedule unnecessarily long meetings; especially when it involves a lot of people, it’s a lot of wasted manpower and cost to the company. When facing critical issues, facilitate a smaller group with only the key people to tackle the issue at hand; stay with this group until the issue is resolved.
  • Be conservative at estimation; it’s better to deliver a working feature on time than to promise something more robust that is impossible to accomplish.
  • Update the team as often as you can on progress and due dates; in my company we have daily scrum meetings where everyone on the team shares 1) what they’re working on and 2) what’s blocking. Take advantage of scrums to get a sense of everyone’s progress and where you can intervene to help unblock issues so work can continue and project stay on schedule.

Kohn: I could go on for days about this one, but the top ones would be:

  • Computers are dumb.  They are only as smart as the requirements for the software and the person implementing the requirements.  It is of utmost importance to be very specific in requirements since details which are left out will require the developers to guess as to what the author meant.
  • Scope creep is very bad. Developers generally like to be flexible when it comes to changing requirements however the desire to be flexible usually comes at a cost to quality since last minute changes are generally poorly thought out and are rushed through development leading to bugs and poor overall quality.
  • The difference between can and should.  Software development is very open ended, computers can do just about anything you ask of them.  This doesn’t necessarily mean that you should do it. When developers say that something is possible they usually mean it is feasible; not necessarily that it is a good idea to do.  For example something may be possible but could require $100,000 worth of servers.
  • Please understand the difference between (web) developers and web designers.  Web designers are generally graphic designers who happen to know enough HTML and CSS to create a static web page.  They cannot make a website interactive (at least not well).  Developers are for the most part engineers who are focused on more ‘backend’ types of work such as databases.

4. What are some best practices you can share regarding web development?

Mulijadi: Technology is always changing. Everyday somebody figures out a better and more efficient way to do something. Keep up with the latest trends so you can anticipate market direction and cost of building things. Blogs, books, podcasts, and conferences are some of the best way to keep up with the latest and greatest.

Kohn:  This is another one that I could go on for days about.

  • Security within web applications is something that shouldn’t be taken lightly. Most non-technical people don’t even think about security related issues until they’ve been hacked. As developers it is our job to point out any security risks and develop secure software even if we are not explicitly asked to do so.
  • Plugins are a great way to get a site built quickly but will very often make tweaking functionality very difficult if you can’t read/understand how the plugin works. Also plugins can a lot of the time interfere with each other. Using them can be very tempting but in my experience they tend to be more trouble than they’re worth in the long run.
  • Code organization and quality are very important. You can get away with sloppily written and un-organized code while a piece of software is small. Once the size of the codebase starts getting large having a properly architected codebase becomes very important to maintainability and extensibility.
  • Comment your code. You may remember what that line of code does right now but in six months you won’t.

A look back, a look forward and a congratulatory self five

I went into our final assignment, re-reading the documents from the beginning of the semester, knowing exactly what I was supposed to feel. I was supposed to surprise myself with how much more I understood from the documents. Like a child watching an adult movie and not understanding, only to re-watch it years later and finally get all the jokes. To some degree, I did feel these things, probably not as much as I had initially anticipated but if this class has taught me anything it is that learning web development cannot take three months. It is a time consuming process that never really ends.

I may not be an expert at code but I pulled together a pretty decent web site (if I do say so myself) and I did it all on my own. Three months ago I had my doubts about whether that would be possible. I have the basics under my belt so going forward I will continue to use tools like Codecademy to deepen my understanding of html, php, css java script and more. I would love to pick one at a time and really focus on it to get a more full understanding of how it works before moving on to the next. I learn better when I focus my energy and for self-learning I think that will be the best way to proceed.

The WordPress Philosophy call for designing websites for the majority.

Many end users of WordPress are non-technically minded. They don’t know what AJAX is, nor do they care about which version of PHP they are using. The average WordPress user simply wants to be able to write without problems or interruption. These are the users that we design the software for as they are ultimately the ones who are going to spend the most time using it for what it was built for.

Thanks to this class, I’m already way ahead of the majority. We’ve talked about it in class but I think re-reading the WordPress Philosophy really helped it sink in. I don’t need to be a developer to use the skills learnt in class. Some of the lessons learnt from coding can actually be implemented in many aspects of my life, including being able to better communicate with people who are full time web developers. In fact, many of the the points made in The Pragmatic Programmer Quick Reference Guide could have been drawn straight out of a self-help book: Care about your craft, don’t make lame excuses, remember the big picture, finish what you start, don’t think outside the book – find the box, exceed expectations. (I also think my running app may spout a few of these out to me on a weekly basis.)

And with that I leave you all. Self five for a great semester.

Still a Lot of Work To Do

It was great getting input from the class on the site. I was so busy trying to do the things I originally set out to do that I didn’t even think of some of the easily implemented upgrades my site could have benefitted from.  The idea to make external links open up in new pages instead of changing the page was especially helpful, as I realize I flood the reader with links.  It forces them to continually hit the back button and start the article over at the top of the page, which is really annoying for a multi-tasker like me who needs multiple windows open and quick access to different pages at all times.  I found new ways to make my gallery better and to make my footer more playful and witty, and have found ways to edit nearly every text part of my site.

I didn’t get to do everything I wanted to do.  Still, my custom meta boxes haunt me.  This time I even copy and pasted the Smashing Magazine and WordPress files right into a plugin folder and didn’t touch them, and the meta boxes still failed to show up.  It’s the one thing that I think I really failed at and wished I could have gotten to work, although now that I think of it, I probably wouldn’t actually have much use for it given the nature of my posts.

I don’t consider my site done.  I think I’m going to continue to think of ways to improve the site (especially when it comes to design) and figure out how to make it more responsive for mobile. I now have a great base of knowledge (and great Googling skills) and think that with enough time and effort I can eventually get my site to where I want to be.  Maybe then I’ll actually start creating content on a more consistent basis.

Plans for my site

I usually try not to compare my work to others’ — it’s a fast way to feel inadequate — but I truly enjoyed our sharing exercise last week. I was relieved to see that my site was on the same “level” as everyone else’s, of course, but even better was the inspiration I got from all of your sites. It’s amazing the kinds of creative things people come up with when you arm them with some code know-how and a simple WordPress parent theme.

Now that our class is almost over, I’ve started thinking about how I can use what I’ve learned to continue to improve my site. I definitely want to work through some more Codecademy lessons, keep studying the WordPress Codex and find more tutorials on CSS. So far, I think my site looks about average for a portfolio site, but I want it to be impressive. There were a few changes you all suggested that I didn’t get a chance to make this weekend, I want to make my heading stand out more with a shadow (with the plan to eventually design a graphic logo out of my name), find a better way to make my clip photos into a visually appealing grid (maybe using a plugin?) and make my site more mobile-friendly. After seeing how helpful it was to get feedback from the class, I’ve also sent the link to a few design-minded friends to get their thoughts on the layout and user-friendliness. I’m looking forward to seeing how everyone else’s sites progress even after our class ends!