Archive for the ‘Technical’ Category

The ‘From’ email header

Posted in Technicalon Dec 5, 2011

Every email that is ever sent has a set of header fields. These fields keep track of things like the sender, recipient, subject, date, and content type. Normally, these header fields aren’t directly presented, but instead are used by email programs like Gmail or Outlook to properly display information about the email.

Side comment: If you are using Gmail, you can select “Show original” (from the same menu that allows you to reply or forward the email) to see the full email content, including all of the email header fields.

There is a header field called ‘From’ that is particularly important. Like you might expect, it encodes information about who the email is from. The ‘From’ field can contain just an email address like this:
or perhaps like this:
From: <>
The ‘From’ field can be more useful by containing both a name and the email address like this:
From: Sir Spamalot <>

When an email program, like Gmail or Outlook, present the name of the email sender, they often parse the ‘From’ field to display the name of the sender. If the name is not included, then the program displays all or part of the actual email address.

Let me proceed with two examples, one good and one bad.

Bad example: sends me an email to confirm my recent order. The ‘From’ field of their email looks like this:
From: <>
When I look at the sender’s name in Gmail, it simply says, “support.” Of course I need support on all sorts of levels, but I don’t know anyone names support.

Good example: sends me frequent emails to tell me about discounted deals in Fort Collins. The ‘From’ field of their email looks like this:
From: LivingSocial Deals <>
When I look at the sender’s name in Gmail, it shows up as “LivingSocial Deals” so I can quickly determine who is telling me about “6 Laser Hair-Removal Treatments.”

When writing a program (or website) which sends emails, it is important that the program include a name along with the required email address. This allows the recipient’s email program to more meaningfully present the name of the email sender. This is especially important in business applications, which need to establish a clear identity for their customers.

Dear Google News (and everyone else who aggregates news articles),

Just because a company primarily conducts is business online, does not mean that news about the company should be in the Sci/Tech/Internet category.

It is 2011, and every big business has a website. It is time that we think about a company for the services that it provides, not the technology and method that it uses to provide those services.

A few examples of articles I found in today’s Sci/Tech/Internet news, that probably should be somewhere else:

The IPO for Groupon (GRPN) probably should be financial news.

Bieber having more than 14 million followers on Twitter should probably be entertainment news.

The crash of WebMD shares should probably be either health or financial news.

That the CIA actively monitors 5 million tweets a day, should be political news.

The ethics guide for HP uses the headline test to determine if a business decision is ethical:

The Headline Test is a simple but powerful tool designed to make sure we appropriately consider the soundness and impact of our business decisions. It is named after one of the tools most commonly used by executives: “Before I make a decision, I consider how it would look in a news story.” (Source: SBC, page 8 )

According to the headline of this blog post, HP’s decision to mislead customers for months about the availability of Touchpads at firestorm prices is unethical.
Read the rest of this entry »

What I do at work

Posted in Business, Technicalon Oct 6, 2011

I work for Pelco by Schneider Electric, working on the firmware for IP video cameras.  While you have probably seen our products hanging from ceilings in your favorite airport or supermarket, I find it occasionally hard to brag about our products when our black camera domes looks like every other black security camera dome.

But the quality in a security camera has more to do with the images that come out of the camera than what it looks like, and today I have some photos to show that distinguish our security cameras from our competitors.   A church in Salt Lake City, Utah (I’ll let you guess which one), recently replaced one of our competitors cameras with one of our new SureVision cameras.

One of our competitors installed the camera which took this image, and they had to fine tune it because of some unique lighting conditions:

The church themselves replaced the specially tuned camera with one of our cameras to get this image:

One of the things a security camera operator would want to see is the images of people walking into the building, so they can quickly spot trouble.  Our camera uses wide dynamic range image processing to provide that image when otherwise the image of the person would be washed out.  Notice how you can see outside the window and onto the street. Wow!

Today HP announced that they would make one more batch of Touchpads:

We have decided to produce one last run of TouchPads to meet unfulfilled demand.

While my inner-optimist would like to believe that HP is making a few more Touchpads because they feel sorry for everyone who really wanted one and didn’t get one, I think it is more likely that HP had other reasons for making another batch of Touchpads:

  1. They have to make more in order to keep a backup supply to use for in-warranty replacements.  HP asserts that all Touchpads come with a 1 year warranty.
  2. By making a few more, they can continue to reap an increased level of press coverage.  HP has never seen so much press coverage until they announced the discontinuance of the Touchpad.
  3. They have contracts with customers, channels, and partners to provide a certain number of Touchpads, and they are making more to fulfill their legal requirements to those contracts.
  4. They fear a public relations backlash, possibly even legal consequences, if they don’t provide any more after using phrases like, “Coming Soon,” “Temporarily out of stock,” and “When it becomes available again.”
  5. In an effort to license or sell webOS to other device manufacturers, HP wanted a supply of Touchpads to provide to developers or engineers.

Perhaps the generalization of these speculations is this: The fire sale happened so quickly that HP ran flat out of inventory before they realized that they needed a few more.

Data liberation with Google+

Posted in Technicalon Jul 19, 2011

One of the problems with Facebook is that after years of writing posts and comments, uploading photos, and creating lots of content, is that all of the content stays with Facebook.  Facebook controls exactly how you can access everything you’ve created for Facebook.  This isn’t true with Google+.  At any point, you can liberate your Google+ data, downloading it to your computer, to do whatever you want with it.  This is what it looks like:

Adobe AIR is a platform in which developers can create desktop applications which work on Linux, Windows, Mac, and other platforms. Developers can create an app using the same technologies that they might use to create a web site, but have it installed and deployed as a desktop application. From the Adobe AIR website:

The new Adobe® AIR® runtime enables Ajax developers to build rich Internet applications (RIAs) that deploy on the desktop. AIR applications run across operating systems on the WebKit HTML engine and are easily delivered using a single installer file. With Adobe AIR, Ajax developers can use their existing skills and code to build responsive, highly engaging applications that combine the power of local resources and data with the reach of the web.
(source; emphasis added)

So it seems that a big selling feature behind Adobe AIR is that developers can re-use web development code in building Adobe AIR applications, because Adobe AIR uses the Webkit engine.

But the problem is that Adobe AIR continues to deviate from web standards in favor of their own proprietary APIs.  A post on the Adobe Developer Connection website lists the various Webkit features turned off.  These features include: HTML5 audio and video, SVG, Web sockets, Web workers, Client database, Offline caching, and Window messaging.  With many of these features, Adobe states that they didn’t add the functionality because it was instead provided by an existing AIR API.  Their typical response reads:

Currently this is not enabled in AIR, but AIR does provide mechanisms…

So while Adobe states that developers can use “existing skills and code,” they are, at the same time, limiting which skills and code developers can use.  Adobe is betraying one of AIR’s greatest selling points by turning off some of Webkit’s hottest features in favor of their own APIs.