developers vs designers
play

Developers vs Designers expanding the Java platform beyond - PDF document

Developers vs Designers expanding the Java platform beyond programmers 1 who is this guy? Josh Marinacci: joshua.marinacci@sun.com Co-author: "Swing Hacks" by O'Reilly, Developer: Swing, NetBeans, and JavaFX teams


  1. Developers vs Designers expanding the Java platform beyond programmers 1

  2. who is this guy? Josh Marinacci: joshua.marinacci@sun.com Co-author: "Swing Hacks" by O'Reilly, Developer: Swing, NetBeans, and JavaFX teams http://weblogs.java.net/blog/joshy/ 2

  3. Developers vs Designers 3

  4. In the beginning... there was “the developer” 4 Think back to the dawn of time, the 1960s. This is when software as we think of it today really got out of research and became a part of business. It was written by programmers: dedicated professionals who wrote software to spec under very tight technical constraints of memory and CPU usage. As we developed better computer technology the ambition of software increased, but the balance still remained. Software, or at least user facing software, is often ugly because it matters more what the software can do than how it looks. I really feel this is because software has been in such an experimental phase for so long. We are always trying new things, and the fact that it does this new thing is the valuable part. Not what it looks like. I forget where I heard this expression, but it goes something like this. If you have a talking dog with a lisp, no one cares about lisp. They are amazed that it can talk at all. For a very long time the point of software has been to push the boundaries of what is technically possible, without regard for usability or how it looks.

  5. Software can be beautiful But it’s hard 5 Software can be beautiful (but it’s hard) And when I say beautiful here I am referring to aesthetic beauty of the interface, not the elegant structure of code. It's really quite hard to make software and looks and acts beautiful. It's a ton of work. Just look at the rising budgets of video games. That artwork and programming is really expensive. It's also di ffj cult to make beautiful software because it is rare to find a developer who has a good design sense, or a designer who is a good programmer. The disciplines have traditionally been very far apart, and anyone who can bridge the gap was very valuable and rare. So software has typically be designed and built by programmers.

  6. Let a Thousand Eyesores Bloom the web HTML: simple and forgiving compiler == reload button designers can build something 6 But then something happened. The Web. The web is built on HTML and simple scripting languages like Javascript and PHP. HTML was easy. Anyone could build a webpage with just notepad and a free browser. It was simple. Basic style and links for navigation. It was forgiving. No compiler to complain at you when you didn't close your tags. Just keep futzing with the tags and hit reload until it looks like what you want. Now this system didn't always result in great software, or even pretty software, but it did allow designers for the first time to build software without developers. Or at least to do the bulk of user facing development and leave the programmers to do the back end work. This was something genuinely new.

  7. Think Different Old: UI Toolkits platform style guides New: anything goes always custom. 7 Another thing that happened on the web was things could be di fg erent. It was the first time the software world accepted the fact that not all software would or should look the same. If you remember the early days of windows, the mac os, or cross platform toolkits like Swing; there was a big emphasis on consistency and UI style guides. Every app must look the same. The same colors, fonts, graphics, icons. Everything. But on the web that simply wasn't the case. It often wasn't possible, and the few people who tried to make web software that looked like consistent desktop software failed miserably. The web became a wild west of design, constantly trying new things. Often failing, but still trying and innovating. Even today when certain metaphors have become commonplace, still no one website looks just like another. In fact, to have your website or webapp look the same as someone else's is considered a bad thing. Now we have established that not all software will look the same, that user interfaces can be di fg erent, and people will not only accept it but appreciate it.

  8. The skinning revolution Winamp, Audion, X11 Window Managers Shaped windows and opacity real graphics tools + simple config files always different, always weird, always new designers in control 8 Around the same time as the web was taking o fg there was a revolution in desktop software starting with Winamp. It was called skinning. There was this concept that software, or at least music players, didn't have to look the same. In fact, one copy of that software could have multiple looks, changable at any time, at the whim of the user. And these looks weren't just variations on a theme, but di fg erent interfaces that were utterly and completely di fg erent. It encouraged people to think outside the box. Round shapes, not square boxes. Alpha channels. Windows themselves could be shaped and have transparency. You could make your player look like something out of a future episode of star trek, or be a minimalist with pixel perfect micro fonts. And you could build all of this without knowing a single thing about MP3 playing software. Skins were typically simple text files which stitched together images created in photoshop. A designer could go from concept to a running and *shipped* skin in a day without the help of a programmer at all. This was the beginning. It started to change the way software was written. Even despite all of the truly hideous skins out there.

  9. Example Skinz 9

  10. Flash, Silverlight, & RIAs JS Frameworks: GWT, Script.aculo.us, MooTools Flash/Flex/AIR Silverlight 10 The final change has been the rise of RIAs. Javascript is surprisingly powerful, but it's hobbled by the speed and limitations of browsers, as well as cross browser di ffj culties. In recent years we've seen lots of Javascript frameworks and libraries that try to solve this problem including GWT, Scriptactulous, and my personal favorite MooTools. They let you interact with the web browser in a more structured and consistent, but they can only do so much. The browser is what it is. The only way forward is to extend the browser itself via plugins. Either the small plugins like Google Gears which extends the Javascript model, or complete new runtimes like Flash. Thanks to Flex, Flash has become more than just a player for cartoons. Now it's a platform for building slick applications that look good and can do more than plain HTML and Javascript alone. Microsoft's Flash competitor, Silverlight, is doing the same thing. A new runtime that works as a browser plugin to extend the browser beyond what is possible with plain HTML and Javascript. Silverlight has just hit their beta of version 2 and we're starting to see some very interesting apps come out of that community. These new runtimes open up possibilites that were closed by the old HTML and CSS model.

  11. The Shift the way we build software is changing innovation is not speed and raw features innovation is in the feature set choice and aesthetics designers drive the software, not developers 11 With the groundwork laid by the web and skinning software, combined with the near ubiquity of designer tools like Photoshop, and the new browser plugin runtimes, the way we develop software has started to change. The software technology itself is good enough that the innovation isn't in the the technical side of how to calculate something faster or push out more pixels. The innovation is in the choice of feature set and ease of use and the asthetics. No longer are designers simply people who make the software pretty. They are the drivers of user features. They decide what the software should do and how it should look. They do much of the work and hand o fg certain pieces to dedicated programmers, or in the smaller companies do programming themselves while wearing di fg erent hats. In short software, or at least user facing software, is becoming designer driven.

  12. Java: Programmer Platform Java language unfriendly to designers Lack of designer tools Enterprise focused Not a consumer quality user experience 12 So that's where software has come from and where it is going. But what about Java? Java was the original RIA with applets, so what happened? As it turns out Java is rather unfriendly to designers. Java requires a compiler and full programming knowledge to use. You must understand OO, threads, classpaths, and a very expansive API. These are all features which are great for programmers, and in fact some of the reasons the java platform has been so popular. But they make life di ffj cult for designers. There are no real designer tools targeted at the Java platform. Certainly we have ways of manually slicing up images to use in applications, and if you've read my book Swing Hacks or Filthy Rich Clients from Chet and Romain then you know it's possible to make good looking Java applications, but it still requires a lot of work. Far more than it should. Traditionally the Java platform has focused on the enterprise space. Desktop Java works well on the enterprise desktop where all computers are the same and Java SE has been pre-installed by the IT guys. But in the consumer space desktop Java just hasn't cut it. It's too hard to install. It's slow to start up. It's crashy or unreliable in certain browsers. In short, it's a bad consumer experience.

Recommend


More recommend