반응형

Choosing the right visualization tool for your task

 

http://blog.datamarket.com/2012/04/04/choosing-the-right-visualization-tool-for-your-task/

 

 

@ Chart Sites

https://developers.google.com/chart/?hl=ko-KR&csw=1

http://raphaeljs.com/

http://mbostock.github.io/protovis/

http://d3js.org/

https://github.com/mbostock/d3

https://github.com/mbostock/d3/wiki/Gallery

http://www.tableausoftware.com/

http://www.tableausoftware.com/learn/gallery

http://www.visualdatatools.com/DataGraph/

http://ggplot2.org/

http://processing.org/

http://www.highcharts.com/

http://www.highcharts.com/demo/

The right tool for the task

Simple one-off charts

The most common tool for simple charting is clearly Excel. It is possible to make near-perfect charts of most chart types using Excel – if you know what you’re doing. Many Excel defaults are sub-optimal, some of the chart types they offer are simply for show and have no practical application. 3D cone shaped “bars” anyone? And Excel makes no attempt at guiding a novice user to the best chart for what she wants to achieve. Here are three alternatives we’ve found useful:

  • Tableau is fast becoming the number one tool for many data visualization professionals. It’s client software (Windows only) that’s available for $999 and gives you a user-friendly way to create well crafted visualizations on top of data that can be imported from all of the most common data file formats. Common charting in Tableau is straight-forward, while some of the more advanced functionality may be less so. Then again, Tableau enables you to create pretty elaborate interactive data applications that can be published online and work on all common browser types, including tablets and mobile handsets. For the non-programmer that sees data visualization as an important part of his job, Tableau is probably the tool for you.
  • DataGraph is a little-known tool that deserves a lot more attention. A very different beast, DataGraph is a Mac-only application ($90 on the AppStore) originally designed to create proper charts for scientific publications, but has become a powerful tool to create a wide variety of charts for any occasion. Nothing we’ve tested comes close to DataGraph when creating crystal-clear, beautiful charts that are also done “right” as far as most of the information visualization literature is concerned. The workflow and interface may take a while to get the grips of, and some of the more advanced functionality may lie hidden even from an avid user for months of usage, but a wide range of samples, aggressive development and an active user community make DataGraph a really interesting solution for professional charting. If you are looking for a tool to create beautiful, yet easy to understand, static charts DataGraph may be your tool of choice. And if your medium is print, DataGraph outshines any other application on the market.
    • The best way to see samples of DataGraph’s capabilities is to download the free trial and browse the samples/templates on the application’s startup screen.
  • R is an open-source programing environment for statistical computing and graphics. A super powerful tool, R takes some programming skills to even get started, but is becoming a standard tool for any self-respecting “data scientist”. An interpreted, command line controlled environment, R does a lot more than graphics as it enables all sorts of crunching and statistical computing, even with enormous data sets. In fact we’d say that the graphics are indeed a little bit of a weak spot of R. Not to complain about the data presentation from the information visualization standpoint, most of the charts that R creates would not be considered refined and therefore needs polishing in other software such as Adobe Illustrator to be ready for publication. Not to be missed if working with R is the ggplot2 package that helps overcome some of the thornier of making charts and graphs for R look proper. If you can program, and need a powerful tool to do graphical analysis, R is your tool, but be prepared to spend significant time to make your outcome look good enough for publication, either in R or by exporting the graphics to another piece of software for touch-up.
    • The R Graphical Manual holds an enormous collection of browsable samples of graphics created using R – and the code and data used to make a lot of them.

Videos and custom high-resolution graphics

If you are creating data visualization videos or high-resolution data graphics, Processing is your tool. Processing is an open source integrated development environment (IDE) that uses a simplified version of Java as its programming language and is especially geared towards developing visual applications.

Processing is great for rapid development of custom data visualization applications that can either be run directly from the IDE, compiled into stand-alone applications or published as Java Applets for publishing on the web.

Java Applets are less than optimal for web publication (ok, they simply suck for a variety of reasons), but a complementary open-source project – Processing.js – has ported Processing to JavaScript using the canvas element for rendering the visuals (canvas is a way to render and control bitmap rendering in modern web browsers using JavaScript). This is a far superior way to take processing work online, and strongly recommended in favor to the Applet.

The area where we have found that Processing really shines as a data visualization tool, is in creating videos. It comes with a video class called MovieMaker that allows you to compose videos programmatically, frame-by-frame. Each frame may well require some serious crunching and take a long time to calculate before it is appended to a growing video file. The results can be quite stunning. Many of the best known data visualization videos are made using this method, including:

Many other great examples showing the power of Processing – and for a lot more than just videos – can be found in Processing.org’s Exhibition Archives.

As can be seen from these examples Processing is obviously also great for rendering static, high-resolution bitmap visualizations.

So if data driven videos, or high-resolution graphics are your thing, and you’re not afraid of programming, we recommend Processing.

Charts for the Web

There are plenty – dozens, if not hundreds – of programming libraries that allow you to add charts to your web sites. Frankly, most of them are sh*t. Some of the more flashy ones use Flash or even Silverlight for their graphics, and there are strong reasons for not depending on browser plugins for delivering your graphics.

We believe we have tested most of the libraries out there, and there are only two we feel comfortable recommending, each has its pros and cons depending on what you are looking for:

  • Highcharts is a JavaScript charting library that renders vector based, interactive charts in SVG (or VML for older versions of Internet Explorer). It is free for non-commercial use, and commercial licenses start at $80. It is a flexible and well designed library that includes all the most common chart types with plenty of customization and interactivity options. Interestingly enough even though Highcharts is a commercial solution, the source code is available to developers that want to make their own modifications or additions. With plenty of examples, good documentation and active user forums, Highcharts is a great choice for most development projects that need charting.
  • gRaphaël is another JavaScript charting library built on top of Raphaël (see below). Like HighCharts, gRaphaël renders SVG graphics on modern browsers, falling back to VML for IE <9. While holding a lot of promise, gRaphaël is not a very mature library and with limited capabilities, few chart types, even fewer examples and pretty much non-existent documentation. It is however available under proper open source licenses and could serve as a base for great things for those that want to extend these humble beginnings.

Other libraries and solutions that may be worth checking out are the popular commercial solution amCharts, Google’s hosted Chart Tools and jQuery library Flot.

Special Requirements and Custom Visualizations

If you want full control of the look, feel and interactivity of your charts, or if you want to create a custom data visualization for the web from scratch, the out-of-the box libraries mentioned above will not suffice.

In fact – you’ll be surprised how soon you run into limitations that will force you to compromise on your design. Seemingly simple preferences such as “I don’t want drop shadows on the lines in my line chart”, or “I want to control what happens when a user clicks the X-axis” and you may already be stretching it with your chosen library. But consider yourself warned: The compromises may well be worth it. You may not have the time and resources to spend diving deeper, let alone writing yet-another-charting-tool™

However, if you are not one to compromise on your standards, or if you want to take it up a notch and follow the lead of some of the wonderful and engaging data journalism happening at the likes of the NY Times and The Guardian, you’re looking for something that a charting library is simply not designed to do.

The tool for you will probably be one of the following:

  • Raphaël, gRaphaël’s (see above) big brother. Raphaël is a powerful JavaScript library to work with vector graphics. It renders SVG graphics for modern browsers and falls back to VML for Internet Explorer 6, 7 and 8. It comes with a range of good looking samples and decent documentation. Raphaël is open source, and any developer should be able to hit the ground running with it to develop nice looking things quite fast. We don’t recommend Raphaël for the advanced charting part, but for entirely custom data visualizations or small data apps it may very well be the right tool for the task.
  • Protovis is an open source JavaScript visualization toolkit. Rather than simply controlling at a low level the lines and areas that are to be drawn, Protovis allows the developer to specify how data should be encoded in marks – such as bars, dots and lines – to represent it. This approach allows inheritance and scales that enable a developer to construct custom charts types and layouts that can easily take in new data without the need to write any additional code. Protovis natively uses SVG to render graphics, but a couple of efforts have been made to enable VML rendering making Protovis an option for older versions of Internet Explorer that still account for a significant proportion of traffic on the web.

    Protovis is originally written by Mike Bostock (now data scientist at Square) and Jeffrey Heer of the Stanford Visualization Group. Their architectural approach is ingenious, but it also takes a bit of an effort to wrap your head around, so be prepared for somewhat of a learning curve. Luckily there are plenty of complete and well-written examples and decent documentation. Once you get going, you will be amazed at the flexibility and power that the Protovis approach provides.

  • D3.js or “D3″ for short is in many ways the successor of Protovis. In fact Protovis is no longer under active development by the original team due to the fact that its primary developer – Mike Bostock – is now working on D3 instead.

    D3 builds on many of the concepts of Protovis. The main difference is that instead of having an intermediate representation that separates the rendering of the SVG (or HTML) from the programming interface, D3 binds the data directly to the DOM representation. If you don’t understand what that means – don’t worry, you don’t have to. But it has a couple of consequences that may or may not make D3 more attractive for your needs.

    The first one is that it – almost without exception – makes rendering faster and thereby animations and smooth transitions from one state to another more feasible. The second is that it will only work on browsers that support SVG so that you will be leaving Internet Explorer 7 and 8 users behind – and due to the deep DOM integration, enabling VML rendering for D3 is a far bigger task than for Protovis – and one that nobody has embarked on yet.

반응형
반응형

Video in Web Design

http://webdesign.tutsplus.com/articles/design-theory/video-in-web-design/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+webdesigntutsplus+%28Webdesigntuts%2B%29 

 

http://www.realmacsoftware.com/clear/

http://www.fiftythree.com/paper

http://www.handheldconf.com/

http://playgroundinc.com/

http://symbolset.com/

http://www.spotify.com/

http://www.slowmo.co.uk/

http://daneden.me/

 

 

Video itself has been around for a long time; in films, on the television and now readily available to play on our phones, tablets and other devices. Video on the web has also been around for a long time. We started out with heavy-weight flash files of videos and animations, whereas now we have HTML5 video and so many more options for including video in our web pages. Heck, half the time it’s even just as easy as dropping some embed code into a website. In short, we’ve never had it as easy when it comes to using video on the web.


The Evolution of Video

Designing with video was much harder in the past than it is now. Taking good quality video footage often involved heavy and expensive equipment and software, whereas now we can use our normal digital cameras (or even our phones!) to take great quality footage. And if you wanted animated sequences on your website, you had to either be very good at illustrating digitally, know a lot of Actionscript, or your way around Flash, or hire someone else to do it. Now, there are tools and pieces of software out there that help you to create animations all by themselves.

Also, think about the creation of YouTube. Founded in 2005, YouTube is the most popular service that people use to upload and share their own videos. Even massive corporations and businesses use it to share popular clips or news from their TV shows.

In my opinion, YouTube brought around a bit of an evolution of video on the web. They made it easy for viral campaigns to spread quickly and video quickly exploded onto the scene. YouTube offered something that few had been able to do before: anybody and everybody could create video and share it to whomever they liked, regardless of their experience or technical ability.


Video on the Web Today

Nowadays, we have so many technologies at our disposal that Flash has mostly fallen by the wayside. HTML5 makes it much easier for us to develop ways to display our videos and other animated, visual footage in our websites. Having this technology is great, as it means that we have much better opportunities to use video in our designs and actually use it to make our users’ experiences better.

But I’m not here to talk about YouTube and Vimeo all day, or even to tell you about all the technical advances and techniques you can use to include video in your websites. Instead, I’ll walk you through why it’s good to include videos in your design and what makes video great.


How We Can Use Video

Video can be used in so many ways to enhance our designs and make the user journey and experience better. Just like you would with various imagery (whether it’s photography, icons or animations) you should be aiming to use video in your designs to improve your designs. Keep in mind you want your message to be clear with or without the videos.

With any video it’s important that you think clearly about the message you want to project. While this can depend totally on the brand, product or service, use video as carefully as you would any other elements in your design.

That said, we can use videos…

..To Introduce

Videos are great for introducing your users to a product or service without overpowering them with a list of features a mile long. Think of many SaaS websites; how many can you see with an intro video that explains the product or service a little more?

The key with this video is to make it the focus of your design. While you will want to mention the features in text and imagery below, having a video that shows the main features in a creative way is a sure-fire way of getting your users to notice the product and want to try it more.

A couple of great examples of this are on the Clear app and Paper app websites.

Clear

Clear is a to-do and list-tackling app. Clear’s website is a great example of using video as a focus, but also ensuring that the message about the app comes through loud-and-clear without the video.

clear-1

The video is placed in the header of the website, right next to the app download links, and when clicked it loads the video in a little overlay.

This video is just an introduction to the product and app itself, but what works well is the consistency in the brand and visuals from the website design to the video. As you’ll have learned in previous articles, consistency is key to creating a strong brand message and in matching those together so well, it will make users more likely to trust the brand and therefore go on to buy the app.

clear-2

Paper

Paper is an app that allows you to sketch and draw beautifully on your iPad.

The focus on the video on the Paper website is even bigger than on the Clear website, with a larger, really visually-striking header image in place, with a video play icon over the top of the image. On clicking to play the video, though, it also opened in an overlay on top of the rest of the website design.

paper-1

Again, as with Clear, the brand message, style and tone of voice is kept very similar to the rest of the website design. Creating consistency like this can only help you to gain more users trust in the long run – so be sure to not create a mismatch in styles if you do decide to include a video in your website designs.

paper-2

..To Delight

One great thing about video (if used cleverly) is that you can use it to delight your users, by introducing hidden features that they might not have thought about. Almost like a little easter egg, but a little more visible, and much more visual!

This use of video in designs is purely subjective and would again depend on how the brand needs to be represented. This might not be suitable in website designs that are for professional companies, but would be perfect in something a little more casual in style.

A couple of websites using this to great effect are Handheld Conf and Playground Inc.

Handheld Conf

Handheld Conf is a conference that describes itself as “big ideas for small devices”. On the homepage of the Handheld Conf website, there’s a line up of amazing speakers and their topics, along with a photo. Now, when you hover over the speaker photos, they come to life!

handheldconf

This is an amazing little treat for users; almost uncannily like photographs in the world of Harry Potter, that move. As soon as your cursor hovers away from the photos, they pause at the point where your cursor left the photo. And if you go back on to them, they resume.

 

Using video like this is a great way to add a little more interactivity into your websites, but also creating small ways for your user to enjoy browsing the website more.

Playground Inc

Playground Inc are a creative digital agency based in Toronto. On their homepage, they use animation brilliantly to help illustrate their ideas and beliefs. These animations only activate once you’ve scrolled to that part of the page and before that, they look like static illustrations.

playgroundinc

This is a great way to add interest to your website that will delight users, as it is something that is totally unexpected but that enhances the way they can interact with your site.

..To Add Interest

Hand in hand with using video to delight your users, you can also use video to add extra visual interest and weight to your design elements. This is a great way to use video as it ensures that you can keep the interest level in your website higher than if you had much fewer visual elements to catch the user’s eye.

A great example of this is seen on the Symbolset website.

Symbolset

Symbolset create icon web fonts for all of us lovely web people to use. Personally I think the way that Symbolset works is pretty inventive and the way they use video on their website is no different.

symbolset

If you’re using the Symbolset fonts on the Desktop (in Photoshop, for example) then you can type out the keyword for the icon you require and it will appear for you. In the same manner, they have used this in their video.

Symbolset also really cleverly make use of colour alongside each of the messages they type out to you in their video, keeping visual interest at a massive high. This sort of video is also really inclusive, as it makes it feel like the website is talking to you and connecting personally with you; which again will help to build the trust between the user and the company itself.

..To Replace Large Background Images

A trend that has long been around is the large, often (though not restricted to) full-screen-sized background image. Some companies are now instead using this as an opportunity as a space to place their full-screen-size video.

While this is nothing new, you have to think carefully about how you use this style of video in your designs. Instead of just a large full-scale background image – which is relatively easy to work around with your design elements – a video is something that is always moving and may cause havoc with your design elements (think typography, colour, buttons, other elements like that) when mixed with the moving video. It’s a new challenge, but can be used cleverly with careful thought.

A couple of great examples of large background videos are by Spotify and Slow Mo.

Spotify

Spotify are a popular music-streaming service. Their website homepage utilises the large-scale background video to great effect, with a looping video with a minimal amount of other design elements laid over the top.

spotify

Spotify have also decided to include audio on this video (which you can turn off very easily, a must have when including audio on any website), which enhances the video even further.

The video, audio and design of the homepage overall helps to set the tone for the service and helps the users understand a little more about the service and their tagline of “music for every moment”, all without directly saying what Spotify actually does.

Slow Mo

Slow Mo are high speed camera specialists. They use video in place of an image for the hero area at the top of the homepage. What’s clever about Slow Mo is that at their essence they are a company that sells high speed cameras, and they use video to help sell that.

slowmo

The videos they use on their homepage are all played automatically in a slow-motion style and tie in perfectly with the brand’s name. It also creates a lot of visual interest, while the contrast between the video and the text that overlays it is always kept strong.

..To Improve Your Storytelling

One final thing that you can do by using video in your designs is to use it to improve your storytelling skills. Storytelling isn’t anything new, but you can use video to enhance it even more. Storytelling should be at the heart of your designs and video is one step to take that can help improve the experience that your users will have on your website.

A great example of this in action is on Dan Eden’s personal website.

Daneden.me

Dan is a designer, who has recently been hired by Dropbox as the first Dropbox Design Intern. In the portfolio section of Dan’s website, alongside the project title and descriptions he also has (beautiful looking) videos that walk the user through the project.

daneden

This is brilliant. Instead of showing simple screenshots or linking to the website, Dan is improving the experience of his users by allowing them to see the project in action without going anywhere else. This is great as it adds interest to the page, but it will also encourage users to visit a website if they like the look of it.

It can sometimes be very hard to get an inkling for how a website works without browsing it yourself, but Dan has managed to cross that bridge without adding any extra steps for his users.

 

반응형
반응형

[개발人] 송창현 “개발자도 기획자다”

 

http://www.bloter.net/archives/166736

 

‘스스로 원하는’ 개발자가 되는 게 중요

송창현 연구센터장은 이 때 얻은 경험을 바탕으로 현재 네이버 개발자들을 가르친다. 2008년 네이버에 입사해 기술혁신센터를 비롯해 다양한 개발 조직을 이끌면서, 개발자들이 최대한 자유롭고 즐겁게 개발하면서 동시에 열정적인 개발자가 될 수 있는 환경을 조성하려고 노력했다. 실제로 그가 수장이 돼 운영하는 네이버랩스실 한 쪽 벽면에는 다음과 같은 글이 적혀 있다.

1. 팀이 없는 것처럼 협업하라. 같이 일을 하게 되면 자리를 옮겨서 같이 해라.
2. 지시하지 말고 토론하라.
3. 자신이 무엇을 하고 있고, 무엇을 잘 하는지, 무엇을 하고 싶어하는지 알려라.
4. 핵심기능·기술에만 먼저 집중하여 작게 시작하여 완성하고, 자신을 성장시키며 제품도 같이 성장시켜라
5. 자신보다 더 똑똑한 사람을 뽑아라. 단 팀플레이어만.
6. 자신과 생각이 다른 사람들과 가까이 하라. 불편함을 우정으로 풀어라.
7. 빠른 성장과 진행을 위해 팀을 작게 만들어라.
8. 잘못되어 가는 것이 보이면 빨리 뒤집어라. 고칠것이 있으면 자신이 고쳐라.
9. 자신이 만들고 있는 것이 어떤 유저의 어떤 문제를 해결하는지 자신에게 물어라
10. 항상 유저를 찾고 그들과 소통하라
11. 지식 공유를 하지 않는다는 것은 자신이 성장하고 있지 않다는 이야기다.
12. 결코 어른이 되지 마라. 기술에 대한 열정과 마음은 그대로 남아 있어라.

반응형
반응형

phpspec: A toolset for test-first development

phpspec is a PHP development tool for test-first development, otherwise known as (spec) behavior driven development. You end up writing code in small iterative steps, guided by the emerging design.

phpspec

 

반응형
반응형

Chance: Random data generator for automated tests

chance

Homepage: http://chancejs.com/
GitHub: https://github.com/victorquinn/chancejs/

 

Chance - Random generator helper for JavaScript

 

Chance - Random generator helper for JavaScript

Homepage: http://chancejs.com

Many more details on http://chancejs.com but this single library can generate random numbers, characters, strings, names, addresses, dice, and pretty much anything else.

It includes the basic building blocks for all these items and is built on top of a Mersenne Twister so it can generate these things with repeatibility, if desired.

반응형
반응형

TidyTime.js: A friendlier way to display time

Want to display a time-based update in people-friendly language? TidyTime.js is a jQuery plugin that does just that, converting standard time formats into personable declarations of time.

tidytime

 

반응형
반응형

Prerender: Let search engines crawl your JS apps

prerender

Prerender Service

This is a node server that uses phantomjs to render a javascript-rendered page as HTML. It should be used in conjunction with prerender_rails or prerender-node middleware to serve the rendered HTML to crawlers for SEO. You don't have to run this service on your own since I have it deployed on Heroku already. Get started in two lines of code using Rails or Node

It is also meant to be proxied through your server so that any relative links to things like CSS will work.

It is currently deployed at http://prerender.herokuapp.com, or you can deploy your own.

반응형
반응형

FireShell: Quick front-end boilerplate and workflows

fireshell

 

반응형

+ Recent posts