Archive: November 2008

CS4 Flash Overview: New UI and Text Formatting

There was a whole lot of hype prior to the release of Flash CS4 that stressed a new suite of tools that would change how people used the program. I got to looking around at some of the more reliable posts, and decided to upgrade my home machine a couple of weekends ago (I upgraded from CS3 for $199). I have been porting some of my AS3 projects to the 10 player and making a few experiments. Here are some of the top reasons why CS4 Flash is worth the upgrade.

User Interface Modes:

At first glance there are many changes to Flash with the release of its new version. They have taken the idea of perspectives from Eclipse and created a toggle-based system of layouts of UI that lets you choose between coder and designer perspectives with ease. Many elements have remained the same, and that to me is key in growing a user interface. Make it better each time but don’t force the user to have to re-learn a whole new software.

The choice a user has are as such:

Design mode: Name says it all, a set of pallets and panels that help you along if you are making vector art, designing views, etc. Very cool all access layout. Solid.

Animation mode: Now this is so freaking cool, it deserves its own post. For the last few versions of Flash animation has moved towards a code heavy approach. I have no problem with that, but working in the IDE vs. creating animations in pure Action-script has separated allot of designers who have no background in coding from making killer animations in the IDE. Rotation, horizontal “stepping”, and a myriad of other complaints have been thrown at Adobe to make better in the IDE. Well, they have listened and I expect that we shall see some of the coolest flash ever coming out with the release of the the new CS4 Flash. Flash now has a motion panel that lets you get down and create Object based animations , rather then keyframe based operations. This gives control to alter the animation on every level. Once a animator has the motion just right, he or she can save that motion as a custom motion preset and apply it to any object in the future. The result saves an XML file that can also be applied to any display object.

Developer: Okay, so after spending the last three or so years in the Eclipse IDE, I had though I would never return to open my code in Flash again. For what ever reason Adobe finally came very close to a UI solution that will make most people very happy. Code collapse: Hide code from view by selection or tag so you can focus more easily on the code you are developing. Code hinting has been improved considerably, as well as really easy access to list of all common classes and all of their public methods can be accessed from a intuitive drop down from the action script editor panel. I have yet to use this through a whole project and am hesitant to give up Eclipse, but I will try it for at least one job and see if its is all that it seems. I will go into the many de-bugging enhancements in future posts.

Classic: This is a throwback to the CS3 version of panel tiling, if this is the space that you are most comfortable in then this is your perspective.

Essential: More like the Classic perspective, just a reordering of the panels,with timeline on the bottom.

 

Text Format API :

This, to me, is one of the strongest reasons for making the upgrade to CS4. Adobe introduced this at Adobe max this year and it is awesome. For years Flash has come so short when it comes to text formatting. For at least one out of three jobs that come down the pipes clients want something that flash cannot deliver, the same formatting and layout options as is available with HTML/CSS. Creating “newspaper” like text layouts that flow from one column to the next was almost impossible, with out creating some really solid code. Recently I was doing a project for a bank and I ran into the flash nightmare of super and subscript needs, those tools were just not available. Now the Text Format API supports both script types and can toggle anytime using the same font, as long as it is a unicode Open Type or True Type font. If you have ever been in that position you know that this simple thing is a major advance.

Another common nightmare is localization, or as some call, internationalization, a word I think that is just too darn long. Of course, every major company wants a web presence that approaches language from a global perspective, but even if you port you data to Japanese or Hebrew, you still may have formatting issues that can cause confusion and hassle. This text API builds in Left To Right, Right to Left and so on. They considered much when taking on this project and delivered more then any developer would expect from client ware. Big upgrade. From the design perspective, once you have the layout as you like this text component is a display object that can be animated and mangled at will.

Although this API does not ship with CS4 Flash, and is a beta, it still can save designer/developer hours and give that person move abilities then was every possible before for creating liquid text layouts. The download is available from Adobe and is distributed not just for the CS4 Flash IDE, but as well for all AS3 environments such as Flex 4 (Gumbo). On many levels this API parallels In-Design and Illustrators Text engine.

A few features of the new Text Format API

* Bidirectional text, vertical text and over 30 writing systems including Arabic, Hebrew, Chinese, Japanese, Korean,Thai, Lao, the major writing systems of India, and others.

* Selection, editing and flowing text across multiple columns and linked containers, and around inline images

* Vertical text, Tate-Chu-Yoko (horizontal within vertical text) and justifier for East Asian typography

* Rich typographical controls, including kerning, ligatures, typographic case, digit case, digit width and discretionary hyphens

* Cut, copy, paste, undo and standard keyboard and mouse gestures for editing

* Rich developer APIs to manipulate text content, layout, markup and create custom text components.

In the Future I will be getting down to the basics on feature enhancements and workflow integration that could help our company and every other company manage projects better from concept to completion.

Future installments of this post will include:

Inverse Kinematics Chaining Support

Movie Clip Spray Brush (Procedural modeling with Deco )

H.264 Video Codec Support (mobile phones to 1080p)

3D Transform Support

Object-based animation

Metadata (XMP) support

Motion Editor Overview

 

Sound advice from Vonnegut

In his essay How to Write With Style, the late great Kurt Vonnegut shares eight tips that everyone could benefit from, especially if you tend to ramble or use the thesaurus needlessly. A little taste:

Why should you examine your writing style with the idea of improving it? Do so as a mark of respect for your readers, whatever you’re writing. If you scribble your thoughts any which way, your readers will surely feel that you care nothing about them. They will mark you down as an egomaniac or a chowderhead—or, worse, they will stop reading you.

Is there a cooler word in the English language than “chowderhead”? Vonnegut goes on about the need to keep things nice and simple for readers:

They [readers] have to identify thousands of little marks on paper, and makes sense of them immediately. They have to read, an art so difficult that most people don’t really master it even after having studied it all through grade school and high school—twelve long years.

So this discussion must finally acknowledge that our stylistic options as writers are neither numerous nor glamorous, since our readers are bound to be such imperfect artists. Our audience requires us to be sympathetic and patient readers, ever willing to simplify and clarify.

Priceless insight from a true master of language. So whatever you’re writing, be sure that you keep your audience in mind with every word.

High Availability Without Expensive Hardware

I wanted to write an article about an implementation I have done months ago, but a busy life of a systems administrator did not allow it. Now with my wife asleep on a Friday night I can finally make this happen.

The Problem:
A customer’s called us in a state of panic telling us that the MySQL server hosting the database for their application had a hardware failure and the data was not recoverable. We were asked to get them back online as soon as possible plus re-architect their environment to prevent a disaster from happening again.

The Goal:
Engineer a cost effective solution that will provide a highly available web server and database server architecture without using a load balancer.

The Solution:
A Highly Available web and database architecture utilizing open source software available for free on the Internet. This solution will consist of DRBD (Distributed Replicated Block Device) software used for replicating block devices over the network, Heartbeat software which provides death-of-node detection and MySQL Master-Slave configuration used to replicate databases to another host.

drbd-diagram.jpg

Overview of the Solution:
This solution allows for a failure of one web and/or database server without interruption of service using DRBD/Heartbeat and MySQL Master-Slave configuration.

DRBD and Heartbeat allow you to configure one of the web servers to be in standby mode. No HTTP requests go the Standby server. The purpose of the Standby server is to be available in case the Active server fails, and take its place. The Standby server has identical system configurations, Apache configurations, and the “/var/www” directory holding the application files. Keeping the application files identical is accomplished using DRBD which runs on both servers and replicates “/var/www” to the Standby server. Heartbeat is a piece of software that runs on both servers as well and actively monitors that both the Active and the Standby server is online. Whenever the Active server becomes unreachable via Heartbeat the failover process will be initiated and the Standby server will be promoted to Active. During the failover process the Standby server assumes the primary IP address of the Active server, mounts “/var/www/” and starts Apache. Although DRBD and Heartbeat are different pieces of software, their configuration files are intertwined and both of them work together to make the failover process possible.

Up to this point we have been talking about highly available web servers, but what about database servers and making them highly available. This is where Master-Slave replication can be used. The currently active web server connects to the Master database server to execute queries by default. Whenever any changes are made to the databases on the Master all data is immediately synced to the Slave. In an event that the Master fails the applications logic will automatically route all the queries to the Slave making the failure transparent.

You may have noticed after looking at the diagram that the Slave database server and the Standby web server are on the same physical machine. This was done to eliminate cost of adding a dedicated Slave database server, and to utilize the hardware for two purposes. If you are able to allocate an additional server for this solution I would recommend a dedicated database Slave server.

How DRDB and Heartbeat works under the hood:
DRDB software runs on both web servers and replicates the underlying file system that is mounted on “/var/www” block by block over the network. This replication happens over a dedicated crossover cable hooked up to “eth1” interfaces on both servers. This dedicated link provides a high performance connection between the systems bypassing all network hardware like switches and routers that can fail. During normal operation the “/var/www” is only mounted on the Active server. This means that data is only written on the Active web server and then replicated to the Standby.

Heartbeat software runs on both web servers to monitor whether both nodes are online. The Heartbeat signal is sent over the crossover cable hooked up to “eth1” interfaces on both servers. The crossover cable connection insures that there is no latency or network timeouts that could trigger a false fail over when the signal does not reach one of the nodes.

Each Active and Standby server has one primary interface “eth0” which is bound to IP address of “192.168.1.10” or 192.168.1.20” and is used for connecting to the servers using “SSH” and can be called the system’s administration interface. The Active server also has a virtual interface “eth0:1” which is bound to an IP address of “192.168.1.50” and is used for HTTP traffic. In most situations this IP address is translated to a public IP on the Internet using NAT and is associated with a domain name. The magic of heartbeat takes place when the Active node becomes unreachable and the Standby node brings up “eth0:1” interface and binds it to “192.168.1.50”, mounts “/var/www/”, and starts Apache. After this sequence of events is completed the Standby server takes the role of Active. This process takes seconds and is usually invisible to the users. After the failover event Heartbeat monitors the original Active server and when it comes back online it can be setup to automatically fail over to the original state.

How MySQL Master-Slave works under the hood:
Replication enables data from a Master database server to be replicated to a Slave database server. The Master server records all queries that are executed in a binary log file and stores it on the file system. The Slave then connects to the Master, retrieves the binary log and replays the “Write” queries keeping itself in sync. This process can be very fast depending on the type of queries, and provides a working copy of the database on another server at all times and can be used in case the Master server fails. In this particular solution the application has logic that will automatically re-route queries to the working server in case one fails providing high availability on the database layer.

Some good tutorials on discussed topics:
http://dev.mysql.com/doc/refman/5.0/en/replication-howto.html

http://www.linux-ha.org/DRBD

http://linux-ha.org/GettingStartedV2

http://www.linuxjournal.com/article/9074

“Thanks for the promotion!” A tip of the hat to Alltop.

We don’t typically butter our own toast, but Direct Dispatch has been added to the awesomeness that is the marketing page of Alltop. Hooray us! For those unfamiliar, Alltop rounds up and categorizes RSS feeds so that it’s easy to scan a lot of news on a single subject. Guy Kawasaki, founder of Alltop, explains it best:

We import the stories of the top news websites and blogs for any given topic and display the headlines of the five most recent stories. When you place the cursor over a headline, we display part of the story so that you can decide if you’d like to read it. To read the story, click on its title. To go to the home page of the site, click on its domain name.

A good metaphor is that Alltop is an “online magazine rack” that displays the news from the top publications and blogs. Our goal is to satisfy the information needs of the 99% of Internet users who will never use an RSS feed reader or create a custom page. Think of it as “aggregation without the aggravation.”

For even further clarification, check out these illustrations by Dan Roam (author of Back of the Napkin: Solving Problems with Pictures) about the difference between Google:

And Alltop:

We’re in seriously good company over at Alltop and couldn’t be happier (unless, of course, we moved up the page a notch or two). If you’re timid of anything related to social media, Alltop can act as a great set of training wheels. Easy to use. Easy to read. Hard to quit linking. So jump in and learn yourself something new.

I like big links and I cannot lie

• “What about the gizzards?” Butterball texts the answer

• Big Tobacco flicks mass in the ashtray, lights up 1:1 DM

• “Go [insert local sports team]!” The cycle of a fan.

• 3 minute version of How to Win Friends and Influence People

Nice email. Too bad nobody’s gonna open it.

A study conducted by the interactive agency eROI found that just 25% of emailers test their subject lines on a regular basis. That’s like smearing makeup on your face without a mirror and just hoping that you got it right. And subject line indifference is just the tip of the iceberg.

Ken Magill wrote an article on Multichannel Merchant loaded with tips on how to avoid email marketing design pitfalls. A sample:

Enter commercial email, the only channel in direct marketing history in which the designers must make choices based on the knowledge that a significant percentage of their messages will be mangled beyond recognition by the time they reach recipients.

With images and links turned off by default as the rule rather than the exception at most inbox providers — such as Yahoo, Gmail, AOL and Microsoft Outlook — commercial email designers now face the task of simply getting their copy points to appear.

And even when email graphics do appear — or render, as e-mailers prefer to say — they do so differently from account to account.

Are you a dedicated tester of subject lines? What do you think the most critical aspect of email programs? Seen anything exciting pop up in your inbox that you wish you created?

Don’t miss our other email-centric posts, including making emails jive with smartphones, how to make your email stand out in the holiday blitz, and an homage to the great work of the Email Experience Council.

Be careful with questions—you may not like the answer

Copywriters have declared Marshall Law on the English language, and are willing to use every linguistic weapon to keep consumers reading: metaphor, repetition, rhyme, parallelism, alliteration, and, among many others, questions.

While all of these should be carefully considered before using (and thoroughly tested after), it’s questions that might need the most discretion. After all, you don’t want the reader to answer “yes” or “no” and just move on with their day. Barry A. Densa wrote a superb article on MarketingProfs about how questions can kill conversions. A little taste:

One of the most famous questions ever asked in an ad was penned almost a century ago by copywriting legend Maxwell Sackheim. It read: Do you make these mistakes in English?

It was the headline for an ad that sold a pedestrian mail-order language course. Yet it worked so well—pulling in so much money—that the company that owned it continued to run it for 40 long and successful years!

To be sure, a myriad other headlines were tested, all using the same body copy, before that now-famous winner was discovered. One competing headline read: Do you make mistakes in English? Certainly close enough, you would think. But it failed miserably, as did all others.

Do you use questions in headlines often? What is your favorite language trick to engage readers? If you’re looking for more on headlines, check out our post Headlines are like first dates.

1985 called, they want their lay-a-way option back

Lay-a-way? Doesn’t that involve some kind of a system where you pay for the merchandise BEFORE you take it home? We remember this quaint practice from our early days in retail sales. This was before it was a common practice to extend oneself beyond one’s means with credit cards. Anyway, it was sweetly suggested that a reasonable lay-a-way program would be a great option, allowing the customer to pay a little each week and walk out of the store with the item full paid for in 8 weeks. And yes, it usually closed the sale.

It looks like some modern-day retailers are turning back the clock on sales tactics—Kmart is the most notable bricks and mortar store offering lay-a-way. They’re even running a campaign touting the offering. Sears is in on it too. Online merchants are getting in on the action by partnering with elayaway.com.

Wonder what other olde-fashioned sales tactics will work in this economy?

No need to sacrifice brand for sales

The rules are changing for brand and direct marketers, mainly that they now share the expectation of delivering a measurable ROI. But along with this accountability comes the responsibility to remain true to the brand. In an op-ed I wrote for DMNews, I touch on how marketers need to maintain a consistent look and feel across all channels, all the while pushing the consumer towards the transaction. A brief excerpt:

Marketers now need to simultaneously establish a strong brand and achieve measur­able sales results, uniting branding brain and transactional brawn. But we should under­stand the key drivers to successfully teaming up these once-separate marketing forces.

Maintain consistent brand delivery across online and offline channels, and across brand and direct marketing messages. Consumers now encounter all brands offline and online and across the spectrum of brand and direct communications. Only absolute consistency articulating the brand will reach consumers with the full impact of all communications.

How have you seen the demand for accountability rise in the past 10 years? Is qualitative research destined for the trash heap, especially with the tracking power of the Internet?

Power of the Collective

We PC

Late last month, Intel and Asustech launched wePC.com as a method of leveraging conversation marketing and crowdsourcing to drive brand awareness and product research. Visitors are invited to submit ideas for the dream laptops and are allowed to vote for all those submitted. For those of you who haven’t encountered the concept of crowdsourcing, one definition is “outsourcing repetitive or challenging work to a large group of semi-organized individuals.”

The use of crowdsourcing online is relatively new. It an fresh and ingenious way to leverage the best of the social behaviors online. People love to be heard and they are passionate to contribute to those things they feel most strongly about. WePC.com hopes to harness this energy from those who are technology passionate to uncover some hidden product design gems for their next generation laptops which empowers the user with a sense of voice in the next, great laptop.

While there is a long way to go with the evolution of crowdsourcing, I think the strategy will be successful if properly applied. The purpose must be true to its intentions and therefore the ideas should truly be heard. If the web audience starts to encounter that their participation is truly heard, it may be tough going for the concept in the future.

Note: SolutionSet built and designed the WePC.com website in collaboration with Federated Media.