Thursday, May 31, 2007

Microsoft Surface: BA Interface

If you haven't seen this yet, you have to check out Microsoft Surface:

http://www.popularmechanics.com/technology/industry/4217348.html

When someone else told me about it, I was kind of ho-hum on the idea. But seeing it in action with this video makes it look really bad ass! The surface of the table-computer is multi-touch, so you can manipulate the screen at multiple points, such as for interacting with images, video, and maps. One really cool feature is how it recognizes objects that you set on it, such as wireless devices, so it can read images and files that are stored in the device. Place a digital camera on the surface, and it pulls up all the images on the camera. I want one, now!

This is quite possibly the coolest thing I have seen Microsoft do. I hope it runs on a somewhat standard Windows OS because it's a prime candidate for Flash/Flex interfaces (or as MS sees it, for Silverlight...).

Friday, May 18, 2007

Book Review: Pop!

I knew when I started this blog that doing book reviews would be a frequent topic, but I have yet to write one. I guess things have been pretty busy over the past couple months and I haven't read as many books as usual. But I am indeed a bookworm, and reading tech books has probably exponentially multiplied the number of pages I will read in my life. So with this, I am to share some of that bookwormedness with the world.

This review is for the book POP! Stand Out in Any Crowd, by Sam Horn. It may seem redundant to review this book when it's getting such great reviews on Amazon, but I really enjoyed it.

The topic of POP is just what it sounds like from the title. The interesting thing is that it's not just about business, or design, or marketing. The principles can apply in almost any circumstances where standing out is important. Which is everywhere.

POP stands for "Purposeful", "Original" and "Pithy". The book covers, in a very methodical way (great for analytical people like me), several processes, methods and inspiration sources for creating original ideas and "buzz" to surround them. So you've got a great idea? How do you make it exciting and unique to the rest of the world?

Purposeful, the first P, is for "accurately articulating the essence of you and your offering." Your message must have meaning. O is for Original, because "no matter what you are saying or selling, you are one of many" and you need to distinguish yourself. Pithy is short - it must be concise so that people remember and it "sticks". No one has a long attention span these days, so your message must be conveyable in just a few words. Being purposeful (focused) helps here too.

Beginning with Purposeful, it goes into a very in-depth, soul-searching analysis of your subject, whether it is your product, business, or yourself - and forces you to define its meaning and purpose. Sam has you create what she calls a "W9" form. That terminology bugged me a little (I have been known to argue semantics...) as the "W9" form in the book has nothing to do with IRS forms (which had also been on my mind because of the HR kit we're developing at work, and the recent tax season). But get past the choice of title, and the W9 is something every business needs. The W9 is a series of 9 questions, all beginning with W.
  1. What am I offering?
  2. What problem does my idea solve?
  3. Why is it worth trying and buying?
  4. Who is my target audience?
  5. Who am I and what are my credentials?
  6. Who are my competitors and how am I different from them?
  7. What resistance or objections will people have to this?
  8. What is the purpose of my pitch?
  9. When, where and how do I want people to take action?
Now if you've read other books about branding, these will sound familiar, and probably feel a little regurgitated. But what follows in the book are excellent examples and definitions of how to answer these questions that is quite different from what you might come up with if you only read that list. Trust me, I've been through this exercise with my employer(s) too many times to count, and I got so tired of hearing the same old automatic responses that we always spouted, none of which were, well, POP! But the way the author teaches you to explore these questions can and will yield much better results than you thought possible. In fact, I did it for a project I was working on at the time, and I've probably never been happier with the results.

The writing of the W9 leads to a list of "core words" that are related to your product, which then become a resource for the rest of the book: techniques for creating interesting phrases, terms and ideas relating to your product.

Some of these techniques you probably already employ in your brainstorming, many are "old standbys" but there are also some new and different ones. And most importantly, they are all here, explained and exemplified and in one place. In addition, completing the first section of the book with the W9 and Core Words before trying these techniques will make you more productive than ever in using these techniques. So even if you have used them before, they will yield new results given your new focus. By the time you exhaust these techniques with your list of core words, if you've really tried, you WILL have come up with some real breakthroughs.

Along the way, the book gives some good advice for presenting and pitching, and connecting better with your audience. Overall, I found this book to be very useful with "real" benefits, unlike many branding books that are fun to read but don't ultimately get you anywhere. I would recommend this book, whether or not your job involves marketing and branding. It will help you discover creativity you didn't know you had!

Tuesday, May 15, 2007

Calculate Business Days with ActionScript

Here's a quick function for calculating business days with ActionScript 3. I've found similar functions in other languages but there doesn't seem to be anything out there yet for AS3...so here ya go!


public static const millisecondsPerDay:int = 1000 * 60 * 60 * 24;

public function businessDaysElapsed(date1:Date,date2:Date):int {
var numberOfDays:int = 0;

while (date1 < date2) {
//increment date by a day
date1.setTime(date1.getTime() + millisecondsPerDay);
//if day is between monday and friday, add one day
if (date1.day >= 1 && date1.day <=5) {
numberOfDays ++
}
}
return numberOfDays;
}

Friday, May 11, 2007

Belated CF Objective Wrap Up

I'm finally starting to get my head back above water at work after returning from CF.Objective(), so I thought I'd share some of my experience. The conference was great! A huge improvement over last year, which itself was excellent, and what high quality content. I can't say enough.

The big topics at the conference this year were Scorpio and ColdSpring. Maybe I say ColdSpring because about half the sessions I attended at least mentioned it, or maybe because I was hanging out with Adam (ColdSpring's self-appointed agent) , Chris and Dave. But since I've been using ColdSpring and MG:Unity, without really understanding ColdSpring all that well, I thought I should get to know it a little better. Hey, I'm a designer - it takes me awhile to grasp these things!

And of course, what everyone wants to hear...what's coming with Scorpio? I'm really excited about several things that were announced
  • AJAX tags - there are 12 new ones! Not just new UI widgets using the YUI library while wrapping it up into the ever-simple CF syntax; but also JSON serialization for CFCs, data binding, error handling, and a JavaScript debugger. A lot of the concepts seem to echo Flex, so if you've done any work with Flex these features will come very naturally. This is just one more step towards my life goal of never having to write JavaScript again :)
  • PDF tags - not just improvements to , but which allows you to manipulate PDFs in dozens of ways (combining docs, watermarking, rotating pages, etc), and process Acrobat Forms. The functionality is taken from LiveCycle, and from what I hear, we should all be very appreciative of the power that's being added to CF at a fraction of what it would cost to get LiveCycle. A very SMALL fraction. A few people grumbled that you won't be able to create PDF forms with CF, but I say to those people, just wait and I think you will find out that you really don't need that functionality. If you need to create a dynamic form so badly, ever heard of...ahem...HTML? Or how about that thing they call Flex?
  • Geek features - I didn't attend the Scorpio 1337 session (features only geeks could love) because there was something else on the schedule I wanted to see at the same time (although that seemed to happen every time slot, there were so many great topics). But there were promises of some very geeky features like Interfaces, the debugger, and well, I don't remember them all because I didn't attend this session, but I'm sure if you are a geek there will be lots of things for you to appreciate.
  • The new CFAdmin interface and server monitoring features are sweet. You can drill down into every connection and request on your site, to see where the load is and what exactly is going on at any moment in time (right down to the values of variables in various scopes), along with completely customizable alerts (you can even write a CFC to do your own alert handling). It's really amazing that you can find out so much about what's happening on your server in such a simple way.
  • There's lots more, but this post is getting long.
It's not common that I leave a conference with no complaints. In comparison to CFObjective, other conferences are too long (by the last day I'm not interested or up to seeing any more sessions), don't have enough good content (all three sessions I want to see will inevitably be at the same time, while there are entire afternoons full of nothing I want to see), have too many sales pitches, have crappy food (hey, details matter), have bouncers working the door at every session to ensure no unwanted guests get in (bad vibes), or cost too much (something you begin to question when you go to an extravagant social even that's actually kinda lame, and realize that half your registration fee went to pay for that one night). Great job Jared, Steven, Jim and team...I'm looking forward to next year!

New Google Analytics

A new version of Google Analytics is coming:

http://analytics.blogspot.com/2007/05/new-version-of-google-analytics.html

Google Analytics is already a great tool, but this new version seems to still be an improvement. The features being promised for the new GA are much needed - scheduled email of reports, custom dashboard, and better trends-over-time. I hope they can also get the Site Overlay feature working better on CSS-based layouts. Maybe it's not really that useful, but it sure looks cool!

The interface looks simpler also, to which I say "it's about time!" So many web analytics tools, for so long, have used such non-intuitive, cryptic menus and language for their interfaces. Granted, I've never been fortunate enough to use WebTrends, which I hear is great, but LiveStats, SmarterStats and Urchin/Google Analytics, despite improvement over the years, still don't quite give me the information I'm looking for, and they all require pulling multiple reports just to see what you'd think should be the same information every webmaster wants to see! Not only that, it's difficult to understand exactly what you're looking at, sometimes the explanations about the reports don't really provide any helpful information. Maybe that's why Mint gets such rave reviews, but I can't use it because it's LAMP. So, yay for better, more usable web analytics tools!

Thursday, May 3, 2007

Adobe Stock Photos is teh kewl

I didn't really use Adobe stock photos before now, I pretty much used Getty and a couple alternates when I couldn't find what I need on Getty, and that was it. I somehow felt like I would not get as good a deal if I didn't go through the manufacturer.

However, over the past year or two, I've seen a lot of excellent new royalty-free stock photography houses blossoming. There's the trend towards all-you-can-download pricing (Shutterstock, LiquidLibrary), and the super-inexpensive, community-based sites (iStockPhoto). These have turned out to be a real boon for me when I needed simple, generic images. Need a picture of a plain old book? Or just a smiling dude? You'll find hundreds.

But when it comes to a large campaign with a 15000-piece print run, maybe you want something more unique. In those cases, I've moved away from the majors (Getty and Corbis) because they are not only expensive, but they are so popular there is a good chance that someone else will have used your image. Veer and Creatas are popular with a lot of designers, and they do tend to carry more unique images, but with a smaller selection.

After awhile, all this searching among several sites gets tedious. And some stock websites are considerably better than others - pricing at your fingertips, convenient comps and zoomed views, as well as how painful it is to page through 1100 images...the amenities vary widely from site to site. I find myself sometimes wishing one site had the xyz feature of another.

Enter Adobe Stock Photos. A convenient, robust, fast and slick interface that brings together the selection of dozens of stock houses, with fairly consistent and reasonable pricing. The only other thing I can ask for would be the ability to search for disks of images, or find the disk associated with an image if available (if I find one I really like, chances are there are others from the same photographer or shoot). And perhaps some additional "smart" search tools, but really when the interface works this well I don't mind looking through a few more images. I just bought my first three photos there, and I'm really pleased!

Off to CF.Objective!

I'm about to sign out and leave for the airport to head to Minneapolis for the 2nd ever CF.Objective() conference. From what I've heard about this year's conference so far, it sounds like it's going to be great and I'm excited! I'll try to blog some talks I attend if I'm not too distracted...if you're going too, see you there!