Tag: kranthi

Teach Them How To Hit The Ground Running And Faceplant At The Same Time?


  

A few days ago, a tutorial on how to Create A Christmas Wish List With PHP was published on Smashing Magazine’s Coding section that frustrated me. It frustrated me as it was incredibly easy to predict the comment reactions it caused. It also frustrated me as it was a classic example of a tutorial resulting in very happy readers who will go out and cause a lot of terrible things on the Web unless they understand that this was meant as a “beginner tutorial”. A lot of the bad feedback was about security — something we shouldn’t take lightly.

It frustrated me mostly because it all happened on Smashing Magazine, a well-respected online publication that is read by many beginners (especially in back-end technologies) and one that is dedicated to quality content with an advisory board (one of which is me) meaning that every article gets reviewed by experts before it is published. This one slipped by in the rush of the holidays, and it was updated a couple of hours after it was published, i.e. the editors added an editor’s note and addressed some important missing points. I am happy that it was published in its original form as it inspired me to point out some things that I see happening in online magazines a lot lately.

The predictable outcome of this kind of tutorial is:

  • Seasoned developers will find issues with the code and claim that it should not be done that way.
  • Other people will disagree and tell the old men to stop telling young kids to get off their lawn.
  • Real beginners will chime in and say that they are very happy about the article and getting the feeling that things are not as complex as they seem to be.
  • A lot of fanboys will mention technology XYZ that makes this much easier.
  • The author will add more disclaimers about the nature of the code within the article with some edits and add warning messages about its viability in the wild — saying that this is just demo code.

Quick Wins Full Of Traps

“Quick tutorials for beginners” are killing our craft. Instead of pointing to existing documentation and keeping it up to date (in the case of the wiki-based docs out there) every new developer turned to an author wanting the fame for themselves. And a lot of online magazines cater to these to achieve “new” content and thus visitors. We measure our success by the number of hits, the traffic, the comments and retweets. And to get all of that, we want to become known as someone who wrote that “very simple article that allowed me to do that complex thing in a matter of minutes”.

Teacher/Learner

Image credit: Opensourceway.

Instead of teaching the underlying technology, we tend to show a quick, beautiful implementation and put a lot of effort into it. We teach a “create something amazing in 5 minutes” and hope people will care enough afterwards and look at learning the underlying technologies. We aim to whet their appetite whilst giving them full solutions. The reason is that this is exactly what we wished we had had when we learned that thing in the first place. Sadly, this is not how teaching and learning works.

Road Safety Begins In A Classroom

At this moment, let me go back in time a bit. Growing up in a small village having a driving license and subsequently a car was a vital part of your social life and also your work options. Therefore, I couldn’t wait to get mine.

Now, what you want to do is to learn driving. You want to get into the car, go vroom-vroom and be off. The reality of getting a driving license though (at least in Germany where there are no speed limits on the motorway and therefore it is taken very seriously) is that you spend quite a lot of evenings in a boring classroom before you get behind the wheel. You learn about the code of the street, the different signs and what to do in all kind of situations in a car. You even learn about the different parts of the car and what they do.

The reason is that it scales better — you need to learn all that stuff and it is much easier to pack 40 students in a room to teach the basics before you try to make up a schedule where all of them can drive out on the road. As a driving school, instead of 40 cars you can get by with 5. And students who already know what they should not do and where things are in a car are less likely to crash them.

Educators Learning From Bad Experiences?

This is frustrating and annoying, the same way learning things at school without being told what they are good for is surely annoying. On the Web, we want to be different. We want to make learning fun and we are tempted to put in as much as possible for beginners so they can get past the basics very quickly and build the awesome of tomorrow instead. The author actually mentions that in the comments:

“I think teaching people to do things is very complicated, doubly so over the internet. If I were teaching a university class I would take a very different approach.”

Yes, teaching is hard. That’s why not every gifted developer is also good at explaining or a good trainer.

While it is a very good idea in our heads to give people quick solutions with real results instead of step-by-step basics, we forget how we actually got there. Once we reached the level in a skill to be educators in it, we went through a lot of trial and error using the skill. By avoiding this, we strip others of the chance to learn a skill on their own terms and with their own obstacles to overcome.

How About Writing Beginner Tutorials Covering Beginner Tasks?

So, I think it is safe to assume that there are two needs/aims battling when we want to write a beginner tutorial, i.e. we want to teach people good practices and we want to get them as far as possible with the least effort. A lot of times these don’t go well together.

jQuery is a poster child of great “new” Web development. “Write less, achieve more” is the mantra and I love that we have it. jQuery achieved this by replacing JavaScript and the unwieldy DOM with a clever and fast API and a totally new syntax: chaining. This is great. This is how to do it. jQuery abstracts the annoyances and complexities out into its core and lets developers write code. You cannot just take this approach and mantra and apply it to any technology without providing a simpler API/platform that abstracts the dangers and annoyances.

Teaching Non-Live Code On The Web?

The discussion that happened in the comments of the aforementioned article was mostly about security and the inability of implementing the code discussed in it in a real environment. And yes, they are very much valid. The code is good as an exercise but awful as a live example. Putting it on an live server means you are open to any kind of attacks and scripts looking for zombies to infect — not to mention how a botnet would have a field day with it!

And the author knows this. This is why a lot of the article is dedicated to explaining that this is not live code:

“Please notice that this article was written for beginners who already grasp HTML and CSS, know a bit of PHP and have seen phpMyAdmin before. I will not go into best practices, safety and all the rest of it; let’s just have fun with this one!”

And later on — as a response to some feedback, even more “don’t do this” was added:

“Note that this is meant as a beginner’s exercise. The code you see here will give you the intended result, but a lot of it is not safe for production websites. It lacks a lot of safeguards, such as data validation, salts for passwords (for better security), htaccess rules and so on. The goal of this article is to let beginners forget about all of these things and just concentrate on building something nice.

Neither does this article promote best practices. You may find yourself adopting different methods later on, or I may write in another article that we shouldn’t do something you see here. The article is intended as a fun little example for beginners to spice up their boring theory sessions. I believe that the best way to learn is through increasingly difficult examples.

That said, I encourage you to try all of this out and play around with it at home or on your servers. If you put this on a live server, I recommend using an account that has only this website on it (or only test websites). I also recommend using passwords for user accounts that are not the same as your other passwords.”

This, actually very much is against the very idea of a beginner tutorial. A beginner tutorial gets people on the way, i.e. it teaches them the first steps and what one can do with it. As these quotes show, teaching people PHP by starting with SQL and writing a login system and file uploader is obviously the wrong way.

Out of a sudden, the simple beginner tutorial is “intended as a fun little example for beginners to spice up their boring theory sessions” (cited). What boring theory sessions? I thought we are building something from scratch here?

Piling On Too Much

The article tries to teach four things at once: SQL with PHP, login and session control, file uploads and how to build a beautiful Web interface powered by PHP. The login system and the file upload is where it gets very dangerous in terms of security. This is not a beginner tutorial — it is giving beginners the wrong impression that everything is easy and everybody else probably just does it wrong and cares far too much about boring details.

We should not teach new developers that they can do things in a few lines of code and keep quiet about the bad effects this has. This is condescending and based on an assumption that people learn only from successes on the Web. The author mentions that in the comments:

“I don’t think beginners need to concern themselves with SQL injection attacks. The point here is to start to learn something, not to learn everything at once. When someone understands SQL at all, then teach them about the problems, not before.”

This is very dangerous thinking — if you teach how to do something, also make people aware of the consequences it has. I totally agree that the point is to learn something. Defining the “something” is the skill of a good tutorial writer or educator. We focus far too much on the final product to be built, rather than the components we use to get there.

This is where using a complex example like a “Christmas Wishlist” that needs a login, uses a database and has an upload feature for any file is a bad choice. There is no way to keep this “simple” unless you teach people how to write code exclusively for their own localhost.

Let’s Not Assume That People Read And Care As Much As We Think They Do

One comment was quite interesting as a summary, as it very much sums up some of the comments and assumes good on the side of the readers:

“Good stuff just to have some fun and help the super beginners get a quick footing. I think a lot of the people commenting here are either A) Too seasoned to look this far back, and not doing things the “properâ€� way just irks them, or B) I’d be willing to bet some are just flexing their programmer’s ego a bit.

I think assuming that people will take this as serious programming and build from it, building the wrong way, is a bit too much of a stretch. Anyone who can read and who cares about doing things the right way will take the author’s disclaimer to heart. If not, odds are they’re looking for the easy route. If that’s the case, you can’t really stop them. This article isn’t ending the world.”

I agree, it is not. But it also brings nothing new to the table. When I learned PHP coming from Perl in around 2000, I read thickbook.com and — except for the CSS styles — it had similar examples. Over the years we learned to protect our systems more. I think the assumption that readers will care much about the “this is not live code” doesn’t cover one main use case of “beginner tutorials”, i.e. that people will most probably find the article via a Google search and simply use the code example in a live environment without reading the tutorial or the comments. All they wanted was a quick, simple to understand example after all and beginner tutorials have those, right?

In My Humble Opinion

Image credit: Opensourceway.

Want proof of that? Look at the success of W3Schools.com. The Web is full of materials to learn the same things. The quick “here’s the solution — don’t worry about how it works right now” are the most successful ones. We also have a Web full of systems that lack very basic quality and security features and we spend months educating hires in companies what developing production code means when you protect the data of our users.

I think it is time to stop chasing the hollow success of creating a “quick tutorial” that is actually a “bad implementation with quick, sloppy code” in disguise and start curating what is already on the Web. We can then concentrate on the next level tutorials.

I think Web-based education will be a big thing in the near future, and creating a new generation of Web makers should be on all of our agendas. We do this with tools, great documentation and frameworks, and not with a “write this, it is awesome” approach.

(il)


© Christian Heilmann for Smashing Magazine, 2011.


How Do You Deal With Overstressed, Irrational Clients? An Entrepreneur’s View





 



 


As an entrepreneur who has been on the client’s side of the design and development process, I’d like to discuss the thought process of the client, as well as some effective ways to interact with them. For example, why do they ask for Shakira music on the home page? And how do you respond to that?

I was recently referred to Sam Barnes’ piece on Smashing Magazine “How to Explain to Clients That They Are Wrong.� The article was well written and made a lot of sense to me, but there are two sides to every story, and I’d like to add value to the argument by responding from the client’s point of view.

For the most part, Sam did a great job of discussing how to evaluate and act on poor decisions made by clients. What he missed, however, was the impact that the nature of the relationship between clients and creatives has on how decisions are made by both sides. By “creatives,� I mean anyone involved in the design or development of a website or application. Understanding this relationship will enable you, and your clients, to make better decisions about the product.

What’s On the Line For Us

Before getting into the decisions that entrepreneurs make, let’s look at some of the factors that motivate these decisions. Setting the scene will shine a light on the thought process of entrepreneurs and give you a better idea of how to deal with them.

You’ll notice I use the terms “entrepreneur� and “client� interchangeably. Even if your client works within the confines of a corporation, as opposed to at the top of a new venture, it would not be unusual for them to act in an entrepreneurial capacity. And even if they aren’t entrepreneurs, but middle men who were assigned the project, chances are they will still behave accordingly.

Formal design reviews
How do you deal with clients who often come up with weird, irrational requests? Image source

First, let’s think about the person you’re working with. They believe in an idea. They believe in it so much that they’ve left a paying job for it. They’ve worked nights and weekends for it, alienated their spouse, friends and family for it. They’ve begged, borrowed and stolen for the opportunity to pursue it. They’ve put everything on the line for their idea, their vision. And you know what the most important part of their vision is?

You.

It’s not them. And to be honest, it never really was. The first question investors ask after hearing someone’s idea is, “OK, who’s building it?� Your client knows that their creative team is the only thing that can make their idea a reality.

You’re the most important piece of their puzzle, and, despite what they tell themselves, what they know about you before starting the project is often limited.

So, how did they find you?

Clients turn over every stone in search of a designer or developer, because, by that time, the necessity of a good creative team has settled in. Entrepreneurs might look harder than others because of the pressure of their particular situation, but the importance of a good creative team is lost on no one. And this isn’t like finding a lawyer, a doctor or even a girlfriend.

It’s way harder.

The Leap of Faith

There are three gigantic problems with the process of finding a creative team. First, the client has probably never done this before. Secondly, finding a creative team is tough. Products such as Elegant.ly will help, but because clients generally don’t speak your language, assessing the strengths of a firm and how it would mesh with their product is difficult. When the team I picked told me they were experts in Ruby on Rails, my first thought was, “Is that a train or a restaurant?� Thirdly, and by far the most important point, for those of us not in the Web design or development community, feeling comfortable with our evaluation of creatives is impossible.

This is a relatively young industry, one with very low barriers to entry. Heck, my designer took his first client when he was 13. There are very few, if any, metrics we can use to evaluate a creative team. We can look at its past work, speak with the head of the team and maybe get some sort of sample or mock-up, but for the most part, we are flying blind. There are no requisite degrees, certifications or guarantees. If you go to a physician who hasn’t finished college, you probably wouldn’t be willing to let them operate on you. A developer who hasn’t gone to college could build you the next Foursquare.

The Search

In our search for a creative team, we come upon cousins and uncles of acquaintances, people who have designed investor-relations websites for Fortune 500 companies, people who wait tables but build iPhone apps on weekends. We have absolutely no idea what to think of all this.

First-time clients especially don’t understand how hard their product is to create, or how long creative design takes, or even if you’ve done this sort of work before. It’s all Japanese to them, and it’s an enormous leap of faith. All we can do is look at some of your prior work and decide whether we like it. In what other sphere of life would you make a decision this important on a gut reaction? (Wait, don’t answer that.) It’d be like grabbing someone at the grocery store and asking them to marry you because you both have Fruit Loops in your carts.

Even when we look at successful companies in our fields, their success is not always commensurate with the development or design of their products. Take Craigslist: great business idea, poor design; but it doesn’t matter because the content is great. On the other hand, Flipboard’s design is fantastic, and that’s enough to make the product successful, even although its functionality isn’t really revolutionary.

Flipboard
Flipboard.

Grasping For Control

With reservations and doubts lingering in the back of the client’s mind, in steps the creative team. You start pumping stories into Basecamp, PivotalTracker or some other product-management system that the client’s never heard of, and suddenly they are on your turf. Now the client works when you work, and often sits quietly on their hands when you don’t. The product goes when you say it goes, and their input is limited. Worst of all, we flat out don’t understand what you’re doing.

This is extremely hard for people who are used to complete control. Your client has gained so much momentum to get to this point that, when the creative team takes charge, the ground drops from under them like they’re some unfortunate cartoon character. This reversal of control is jarring.

This would be fine if the entrepreneur was working with a lawyer, an accountant or even a bank. But early on in the life cycle of a company that depends on a creative team for its success, nothing, and I mean nothing, is as important as the creative team. And our control over the success of this phase is so limited. That’s why we make uninformed suggestions like, “Let’s make that @ symbol spin,� and “I think users would like some Shakira playing when they land on the home page. I know I would.� Because we’re grasping at straws.

We are trying to hold onto our vision, because suddenly it’s in your hands. We may know what we want, but we often don’t know how to do it, and we have trouble expressing it. I’ve often found myself telling my developer things like, “I want a magic search box that pulls information from the Facebook API [I learned that term a few months ago, no big deal], Twitter and Foursquare and spits out relevant people based on our compatibility algorithm,� only to have him respond, “… Yeah. Let’s start by allowing users to log in with their Facebook account.�

I know how I want the product to feel to the user, but I have no idea how to get there without my team’s help. Saying, “I want it really simple, easy to use and elegant� is not helpful. Grasping at some visual element that we comprehend is sometimes the only bullet in our gun.

So, How Do You Deal With Overstressed, Irrational Clients?

Now you have an idea of the sometimes fragile psyche of the client. The question is, how do you handle us when we say we want Shakira?

Sam’s points are all well taken and, for the most part, right on. But they are directed at a rational, faceless client. The overview is good, but implementing it in real life would be difficult. So, here is the perspective of a client with a face. The following five actionable tips should drastically help your client relationships.

  1. Show us.
    This one is the most important. It’s very hard for us to visualize our idea. We know how we want the product to feel, but we don’t know how to get there. We would certainly recognize that Shakira isn’t the answer if you showed us this on our website — or on a comparable website if building our mistake would be too time-consuming. Usually, if the client was savvy enough to get to this step in the process, they would know what works and what doesn’t. And if they don’t, their idea is hopeless anyway.
  2. Tell us.
    This one wasn’t in Sam’s points. Good entrepreneurs are flexible and can adjust their vision to meet the reality of the situation. If we want something, but you think it would take too long and not be worthwhile, tell us. Suggest a workaround if you want, or just ask us if there’s another way. Entrepreneurs are usually great at creative solutions; we make our living by avoiding barriers. But we can only avoid barriers if we know what they are.
  3. Explain the rules of the game.
    If you’re building a basketball, you know what you can and can’t do. You could probably make one that’s bouncier or more durable than competing products. But you couldn’t make one that goes in the basket every time. You know your limitations, but sometimes we don’t, and creativity is only able to flourish inside the box of reality. Because we don’t know the rules of the design and development game, we often don’t know what’s possible. More often than not, we’ll assume that something isn’t possible when it actually is. The head of my creative team had a good solution for this: he created a folder of ridiculous ideas that I wished could be part of the website, and I dumped stuff in there from time to time. More often than not, he’d ping me saying, “Hey Brian, that’s possible. Let’s try it out.� Being creative is difficult when the canvas is blank. If you can give us a line to start with, some sense of what you are capable of, it’ll help us enormously on the creative side.
  4. Be confident and enthusiastic.
    Everyone appreciates an expert. Sam touches on this, and it’s extremely important. When I told my designer that I was considering profile pages that end users could design, he said something like, “Well, it certainly worked for MySpace.� Point taken. Demonstrating your expertise puts clients at ease and instills trust in your decision-making abilities. Also, don’t be afraid to occasionally ask for forgiveness rather than permission (as long as the change is not customer-facing). It will reaffirm that we made the right decision. Nothing is more invigorating than someone who believes in your vision.
  5. We can’t act like locals.
    Clients aren’t completely oblivious to their mistakes, either. They know that some of their suggestions are absurd. They know that they don’t understand this stuff one-tenth as well as you do. They know they’ve stepped into a subculture that they couldn’t possibly fit into. It’s like when you go on a ski vacation and try to act like the locals. No matter what you do, you won’t be one. And we hate that we are an outsider in your world. That manifests itself in a number of ways: weird suggestions, holding firm on an irrelevant point, demanding certain color schemes that probably don’t matter (but sometimes do). This will still happen, but now that you know where they’re coming from and how to assuage them, you should hopefully have a more effective connection with clients. On the flip side, expect to be treated with the same level of suspicion and hesitation when you step into our world. Sam urges you to speak the client’s language, to set goals in business terms. Be very careful with that one. Misusing one business buzzword can waste your credibility, just as one suggestion for a spinning @ symbol will make you wary of any other design ideas. Discussing markets that you have exposure to but aren’t immersed in can have adverse effects. Know that we are all tourists. Which leads to the final point.

The Odd Couple

In writing this article, I realized how odd the relationship is between creatives and clients. Without my creative team, I would have no shot at getting my company off the ground. I rely on them 100%, but I have no clue what they do, how they do it or if the work they do is reasonably priced. This forces me to try to speak their language, to attempt to enter their world by learning quickly, and to try to maintain control of a vision that they are responsible for bringing to life.

Creatives, on the other hand, rely on clients only somewhat. They don’t live and die by each project, as clients do. Their work is in great demand; many of the firms I considered are growing quickly in this recession.

However, bits and pieces of Web design and development work are slowly being fragmented and commoditized, and for the same reasons that evaluating designers and developers is difficult: the barriers to entry are low. This opens the door for 99Designs to pick off clients, especially vulnerable entrepreneurs. These services leverage the crowdsourced model by matching designers who have little or no experience with clients who don’t understand the nuances of the craft well enough to be able to tell. This pushes creative firms to differentiate themselves through means that clients can understand. Business acumen is an incredibly helpful skill for creatives to have, and something 99Designs can’t offer.

Summary

So, we’re left with two groups, each possibly operating in unknown waters, working to create a product that requires both of them to be firing on all cylinders in order to succeed. That being said, do business-savvy creatives exist? Heck, yeah. I’ve got them helping me build my company, and it makes all the difference in the world. Do design- or development-savvy entrepreneurs exist? Probably. I’ve got a Mac — does that count?

The goal is to establish a working relationship between the two parties that leverages the strengths of each to quickly and effectively create a product and bring it to market. The tips above should help those working on the creative side. I’d be interested to hear a designer or developer’s take on what I should be doing to get the best out of my creative team. After all, we’ve got to have more in common than liking Fruit Loops for this thing to work.

Go easy on us poor entrepreneurs. I realize we make dumb suggestions sometimes, but it’s just an attempt to maintain some control over a process that we occasionally feel we’ve lost control over. And consider the business decisions that clients make from both sides. We’ve had a lot of practice with this stuff.

Related Articles:

You might be interested in the following related articles:

(al)


© Brian Scordato for Smashing Magazine, 2011.


The Smashing Deals Countdown: Three More Days Till Christmas





 



 


As the end of the year approaches and the holidays near, many of you might already be pondering your new year’s resolution for 2012. Before you get back to serious business in the new year, you should lean back, relax, spend some quality time with loved ones, and give a good book or eBook a closer look. After all, you don’t want to fall behind just as the year begins, do you? This is an occasion to catch up on developments in the fields of Web design, Web development and coding.

The Smashing Bundle Countdown To Christmas

For each of the last seven days, we have been offering a different special bundled deal. We hope many of you have found an appealing offer in there, and we hope we were able to inspire some of you to get your colleagues and office friends a resourceful printed book or an eBook for the new year. In this post we’d like to kindly inform you about the books we’ve prepared for the last three days of our Bundle Countdown to Christmas and we are confident that they will make your visit to the Smashing Shop worthwhile.

The last three Smashing Christmas Bundle Deals
The last three Smashing Bundle Deals of the year.

December 22nd – “Mobile Bundle” for just $9.99 instead of $20.93
Today Santa is mobile and so you should be, too. The “Mobile Design” eBook offers everything you need to keep up in the mobile Web game. Insights, techniques, trends and tips on getting your own mobile app set up are only a few clicks away. In addition to that, we threw in a mobile portfolio for your work. Be prepared and start the new year by optimizing your future projects for mobile use.

December 23rd – “Coding Bundle” for $9.99 instead of $17.82
Coding night, jQuery bright… This bundle is a treat for all truly smashing coders. It covers CSS, jQuery and JavaScript at an intermediate level. The eBooks are all authored by experts of the respective field and offer the Smashing quality you are used to. Two of the three eBook have just been published. Be one of the first to enjoy the still dewy read!

December 24th – “Smashing Book Super Bundle (Print + Digital)” for $34.99 instead of $89.96
Finally, the Christmas Eve bundle deal is the grand finale. We are proud to present the Smashing Book Super Bundle with both printed and digital versions of the Smashing Book #1 and Smashing Book #2. Each book comes in a printed and a digital version (EPUB, PDF and MobiPocket formats). If you’ve been avoiding the Smashing Books until now, you won’t be able to pass them up any longer. Read some of the outstanding reviews that the Smashing Books have received, and let the readers themselves convince you.

Let’s Get Merry!

Now you’re all set for these last Smashing special bundled deals of the year. We sincerely hope you find our offers valuable to you and your colleagues, and perhaps you’ll find gifts for people who you never know what to give. Please keep in mind that all Christmas deals are valid only for 24 hours and then will be offered at the normal price.

Thank you for reading, dear friends. We wish our worldwide Smashing community a blissful last couple of weeks of the year. Enjoy the countdown to Christmas Eve and always remember to stay Smashing!

Yours sincerely,
The Smashing Team

(al)


© Smashing Editorial for Smashing Magazine, 2011.


Freebie: New Twitter Profile Page GUI PSD





 



 


Today we are glad to release a yet another freebie: a Twitter GUI PSD for the recently released Twitter UI update, designed by Jon Darke of Every Interaction and released exclusively for Smashing Magazine and its readers. The PSD provides the full mockup with all layers in vectors, allowing you to scale up the design elements without loss of quality. The set includes two versions: one for personal accounts and also the new Twitter Enhanced profile page with 835×90 header image for brands and advertisers. The set is compatible with Adobe Photoshop CS4+.

Twitter GUI Preview

Download the Set for free!

You can use the freebie for all your projects for free and without any restrictions. Please link to this article if you want to spread the word. You may modify the file as you wish.

Features

  • 100% pixel-accurate
  • 2 versions: personal and enhanced profile pages
  • All assets redrawn in vector, hence scalable
  • All layers labeled and grouped
  • Adobe Photoshop CS4+ compatible

Behind the Design

“As designers, we often produce various assets for our clients, be it their online presence on their Web pages or in social media. Hence, often we need to skin pages such as the Twitter profile pages for brands that we are working on. When those sites update their UI, we also need to update our resources in order to be able to display an accurate representation of what a client’s Twitter page would look like. So we thought that we could share the PSD file we created with the rest of the design community. Hopefully, it will help you save some time to focus on the creative work!”

Thanks Jon, we sincerely appreciate your time and your intentions!

(vf)


© Smashing Editorial for Smashing Magazine, 2011.


Dear Drupal: Season’s Greetings. Love, Smashing WordPress.





 



 


Every day I work with WordPress in one way or another. My Twitter feed is full of WordPress types, and I’m a regular at my local WordPress meetup. I’m a WordPress fan.

The developer across the hall from me works with Joomla. His Twitter feed is full of Joomla types, and he uses the CMS every day. It wouldn’t surprise me to learn that he attends the local Joomla user group. He’s a Joomla fan.

Drupal and WordPress

The White House hosts a number of Web developers who use Drupal every day. Their Twitter feeds are probably full of Drupal types, and some may well attend the Washington DC Drupal meetup. They are Drupal fans.

All three of these tools produce the same thing, HTML. Throw in some CSS and JavaScript, and you have yourself a website. This is what I love about Web development: so many tools are available, each with its strengths and weaknesses.

We Have A Problem

In the WordPress community, I often see snide remarks directed at the Drupal and Joomla communities. I see the occasional remark directed at WordPress, too, but because I hang around mostly with WordPress types, I see more outbound comments.

This bickering ranges from overt expressions of contempt to, more subtly, gleeful sharing of accounts of internal disputes on “the other side.�

I am more effective at working with WordPress than with Joomla or Drupal, both of which baffle me to some extent. It’s not that the other CMS’ are inferior, but that my knowledge of them is.

Drupal Is Better Than WordPress

Without a doubt, Drupal is better than WordPress. Out of the box, it can handle higher traffic, its database management is better, and complex data maps are easier to handle. Out of the box, assigning permissions and preventing certain users from accessing data are easier to do. If you were creating a public-facing intranet website – for example, to allow salespeople to access internal documents on the road – this would be comforting.

WordPress Is Better Than Drupal

Without a doubt, WordPress is better than Drupal. Out of the box, content submission is easier for someone who is untrained in HTML, the default rewrite URLs are much nicer than Drupal’s, and customizing the default settings is easier.

The core developers focused on backwards compatibility, so a theme written today for version 3.2.1 will likely work in four years’ time.

The Gift Of Inspiration

Despite the trash talk, Drupal and WordPress have one thing in common: a frequent crossover of features. In some cases, it’s a core feature (a recent example being menus in Drupal being brought over to WordPress).

In other cases, a developer will port a popular module or plugin to their platform of choice. The new functionality may be optional, but it is still cross-platform pollination.

All Software Has Its Weaknesses

Every piece of software I have ever used has at some point made me get up from my desk, walk calmly across the room and kick the crap out of the garbage can. (Try it. It’s cheaper than throwing the computer.)

The big three open-source CMS’ are no different from any other software. There are idiosyncrasies to work around, and there are edge-case and intermittent bugs that will hit you and one other person.

Share Your Weaknesses

Instead of trash-talking the “the other� CMS’ and dwelling on their weaknesses, let’s come together and recognize that we are all part of the same community: the open-source community.

In open-source circles, hearing of the desire to give back to the community is relatively common. Expanding your definition of “community� from the one around your platform to encompass the open-source community will increase your opportunity to give back.

Giving back doesn’t have to mean offering a tangible product, such as a theme, plugin or module repository. It could be as simple as sharing how you solved a particular problem.

Send Christmas Cards

Instead of sending broadsides in each other’s direction, let’s send Christmas cards to each other. If you start sharing with the opposition, it’ll soon reciprocate.

I’m not advocating that all open-source CMS communities strive for the same goals, sitting around a campfire singing Kumbaya and having conversations along the lines of:

“You’re the best.�

“No, you’re the best.�

I am advocating that we respect the strengths of each other’s non-preferred CMS and help improve its weaknesses. Sitting around a campfire is strictly optional.

(al)


© Peter Wilson for Smashing Magazine, 2011.


  •   
  • Copyright © 1996-2010 BlogmyQuery - BMQ. All rights reserved.
    iDream theme by Templates Next | Powered by WordPress