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.
About Yakov Fain Yakov Fain is a Managing Director of Farata Systems, consulting, training and product company. He has authored several Java books, dozens of technical articles. SYS-CON Books released his latest co-authored book , Rich Internet Applications with Adobe Flex and Java: Secrets of the Masters in Spring 2007. Sun Microsystems has nominated and awarded Yakov with the title Java Champion. He leads the Princeton Java Users Group. He is an Adobe Certified Flex Instructor. Currently Yakov works on the book for O'Reilly "Enterprise Application Development with Flex". He twits at twitter.com/yfain.
Reader Feedback: Page 1 of 1
#5
R. Grimes commented on 12 Apr 2008
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
#4
Jordan Faris commented on 29 Mar 2008
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.
#3
Erik Midtskogen commented on 28 Mar 2008
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.
#2
mihaimm commented on 28 Mar 2008
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.
#1
Erik Midtskogen commented on 28 Mar 2008
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.
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice: