Welcome!

From the Trenches of the Enterprise Software

Yakov Fain

Subscribe to Yakov Fain: eMailAlertsEmail Alerts
Get Yakov Fain via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Adobe AIR on Ulitzer

Adobe AIR: Article

Do We Need to Teach Designers Programming?

Designopers and Devigners

Fast-spreading rich Internet applications require new skills for development of what was known as boring-looking enterprise applications. In the past, development of the user interface was done by software developers to the best of their design abilities. A couple of buttons here, a grid there, gray background. Their users were happy cause they did not see any better. The application delivers the data – what else to wish for?  Enterprise business users are not spoiled and work with whatever is available  – they need to take care of their business. It is what it is. Is it really?  Not anymore. I’ve seen excellent (from the UI perspective) functional specs for financial applications made by professional designers. Business users slowly but surely becoming first-class citizens! The trend is clear: developers' art does not cut it anymore. You need to hire a professional Web designer for your next Web application.

The vendors of the tools for RIA development recognize this trend and are trying to bring designers and developers closer to each other. But the main RIA tools vendors, Adobe and Microsoft, face different issues.

Adobe is a well-known name among creative people (Photoshop, Illustrator, Flash) and now they are trying to convince developers that they have something for them in the store (Flex, AIR). Adobe is trying to win developers' hearts, but doesn't want to scare designers either. In addition to various designer-only tools, they are developing a tool called Thermo that will allow designers create Web application without knowing how to program.

Microsoft comes quite from the opposite side – they have legions of faithful .NET developers, and are now creating tools as a part of the Silverlight offering,  trying to convince designers to create UI for RIA in Expression Design and Expression Blend IDEs that produce code for .NETdevelopers.
Recently, I attended an interesting event for educators. Adobe had invited professors from different schools to discuss what has to change in the curriculum of Visual Design and Software Engineering disciplines so designers can understand programming better and software developers would be better at designing the user experience. In my opinion, it’s a complex and not necessarily achievable goal.

Do we need to breed new creatures called d-e-s-i-g-n-o-p-e-r and d-e-v-i-g-n-e-r?

I don't think so. Developers are from Mars; designers are from Venus. I know this firsthand. My son graduated from the School of Visual Arts, majoring in classic animation. I am a software developer. We are people from different planets even though he is my son. Several times I’ve approached him offering to teach him Flex programming so he could double his income. He rejects that saying it’s boring to sit in front of the computer all day writing code. He doesn't find it boring to spend hours drawing or animating, go figure.

No one will be able to make me a good artist either.

If I’d was staffing a RIA project, I’d rather hire two different talents – a creative person and a Web developer…budget permitting. But if the money is tight, I‘ll have to bring on board either a designoper or a devigner.

More Stories By Yakov Fain

Yakov Fain is a Java Champion and a co-founder of the IT consultancy Farata Systems and the product company SuranceBay. He wrote a thousand blogs (http://yakovfain.com) and several books about software development. Yakov authored and co-authored such books as "Angular 2 Development with TypeScript", "Java 24-Hour Trainer", and "Enterprise Web Development". His Twitter tag is @yfain

Comments (5) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
R. Grimes 04/12/08 07:30:27 PM EDT

We are an FSX (Flex/Spring/XFire) shop. With the convergence of Adobe and Macromedia, I am counting on them to continue to improve Flex to where nice looking front-ends are a "given". Already, my client side interfaces look 100 times better under this technology. Recently, we've seen Adobe include within CS3 the ability to build Flex skins that developers can import into their project. Another big plus! What we could really use is a library of templates, as well as a library of icons. I waste more time trying to find the right graphics because our company won't hire a graphic design person. So, the templates and graphics library would help greatly. Beyond all this, a developer can help himself by having an eye for symmetry, proper and consistent spacing, and an eye for color harmony and contrast. He doesn't have to be a graphics design expert to produce some terrific web apps.

It's impractical to expect a designer to become an obect-oriented developer. It's much more practical to teach a developer some basic things that I mentioned above, while enhancing the assets libraries.

R. Grimes

Jordan Faris 03/29/08 11:45:06 PM EDT

Yes....as an artist first and a developer second (after years of arduous assimilation), we need to create a less fragmented approach to these skill sets that, increasingly, cannot afford to be mutually exclusive. The integration of code and develop-think into the more subjective, more ego-pleasing, but more often than not, less functional world of design has to be part of the new system of instruction in an era where fewer and fewer projects are taking place in traditional settings. We need devigners (great name) and centers of learning which are not biased toward one discipline over the other. Possible? The odds are yes. But where and how to emphasize it? This article was an awesome start.

Erik Midtskogen 03/28/08 01:24:11 PM EDT

Well in that case, you just weren't doing it right. It's not hard to create custom tags for your Web designers to use, and if you refuse to use custom tags to access business logic coded in a domain model in Java, then that's not the fault of CF. The worst you could say is that many of the built-in CF tags are oriented towards business logic, and so they might tempt a novice programmer to use them, with tier leakage as the result.

But CF is perfectly fine as a presentation layer for smaller web apps in place of jsps. I think Web designers feel more comfortable with CF's tag-based syntax than they are dealing with scriptlet code. And your team is in control of the design of the custom tags, so they should also be easier for Web designers to use than ones in Struts or JSF.

But for Web apps of more than maybe a couple dozen screens ("pages", that is), I would just go full bore with Spring/MVC, because it offers a lot of support that you don't get writing POJO's and accessing them through custom tags.

mihaimm 03/28/08 11:36:57 AM EDT

rofl, rofl, lol, lol, lol... All CF apps I've worked on have turned into a complete mess that has NOTHING to do with "layered" architecture.
I would say you 1st need to tech CF developers... how to code.

Erik Midtskogen 03/28/08 11:05:38 AM EDT

No, we do not need to attempt to teach designers how to code. That would only be necessary if the architecture of the app were done wrong. Layered architectures for web apps have been available to Cold Fusion developers since 1997 through the custom tag interface. Such approaches make it possible for developers to write the business logic while designers focus on creating the UI.