Saturday, February 26, 2011

Craigslist Taxi Service in 11 Minutes or Less.

On Thursday, I drove up to French Valley airport, in Temecula, and flew back home to Carlsbad. While the drive takes about 45 minutes without traffic, the flight is about 15 minutes. The only problem with flying back to Carlsbad was that my car was still at the airport in Temecula.

I considered a couple options to get back to my car including paying for a taxi or a one way car rental. The taxi option would have cost about $120 which made it an easy decision to say, "No, thanks."

A one way car rental could have been a good option if the stars lined up correctly. Some car rental companies charge less than $30/day - the problem was finding one in Carlsbad and and another one Temecula. While I did find a car rental for about $40/day, they told me that they'd add at least another $40 for the one way rental.

Enter Craigslist
After almost giving up, I ran a search on Craigslist and discovered that someone had posted an ad asking for a ride from the San Francisco airport to Palo Alto. While I've never bought or sold anything through Craigslist, I was well aware of how closely people watch it so I posted my ad.


Instant Gratification
I posted the ad at 12:51. Within 11 minutes I had one e-mail and one voice mail from two different people. I called back one of the "bidders", Anthony, who said that this job would help him make ends meet until he received some college money that he was expecting next week. I gave him the address and we set the pickup time for 2 p.m.

I was wondering what he meant when he said that he was expecting some money for college. Two things popped to mind. At first, it sounded like he was expecting money back from the G.I. Bill since the VA pays you back once you've completed a class. I quickly dismissed that remote possibility for a more likely scenario which was that he was waiting for a check from mom and dad.

At 1:55 p.m., he called me to let me know that he had arrived. I walked across the street to the school wondering what my ride to Temecula would be like.



It turns out that Anthony is a former Southern California gangbanger who joined the military. After getting out of the military, a few years ago, he became a born again Christian and began using his G.I. Bill to study theology at a local Christian college.

Military Connection
Since we were both in the armed forces, we had a lot to talk about on our drive. I was impressed with Anthony's military background. He served in Coast Guard from 2002-2006 in their security forces unit which is used for both boarding and securing ships at sea as well as counter-terrorism.

He also knew his Coast Guard history. When I mentioned that the last time I was on a Coast Guard ship was the USCGC Munro in West Africa (Djibouti) he told me that that ship is named after the Coast Guard's only person to be awarded the Medal of Honor. While I knew that, since the ship's captain told us the history of the ship during my visit, what I did not know, which Anthony went on to explain, was that Douglas Munro was posthumously awarded the Medal of Honor for rescuing Marines during the Guadalcanal campaign in WW II.

Finances
While Antony never complained about not having money, I could tell things were tight for him and his wife and kids when we got off the highway and he asked for some of the money, a few miles before the airport, to pay for gas. I felt bad for this guy who had obviously turned his life around. He was now on the straight and narrow to the point that he wouldn't even say "Hell" when he told me, "The Navy guys used to give us heck."

As we pulled up to the airport, he told me that, when he was in high school, he went on a tiger cruise with his father who was in the Navy. A tiger cruise is usually the last week of a six month deployment when the ship picks up civilian dependents so they can get a taste of life aboard a Navy ship. It turns out that his tiger cruise was on the U.S.S. Boxer in 1997 which is the same ship and deployment I was on.

When he dropped me off I couldn't help but give him an extra $20 for the company and conversation.

Thursday, February 24, 2011

Amazon S3 Webinar on New S3 Features

This morning I attended Amazon's Webinar to learn about their new S3 features. Their newest feature, which was launched last week, allows you to set a bucket's default root object (i.e. index.html) and it also allows you set a default HTML error page to return for 4xx HTML status codes. These features make it easier to host a static website on S3.

Actually watching someone walk through the Amazon console was very helpful and I learned a few things to keep in mind.

1. If you set a bucket's default object to index.html, then each bucket's subfolder's default object must have the same name (i.e. index.html). For example, if you want http://www.example.com/subfolder to return a default object then you'll need an object named subfolder/index.html.

2. Don't forget make website objects public so that they can be read by anyone on the Web. You can set a bucket's default upload policy to public and then, later, explicitly set a specific object as private so that it will only be served up to a user after authentication (i.e. a digital signature with expiration, referrer, or specific IP address).

3. The new feature maintains backward compatibility so that the API still returns XML when accessing a bucket directly, yet, it'll return your default object when appropriate. They accomplish this by changing the URL to your bucket's root object using a slightly different end point URL for you default HTML object, such as:
http://pubs.joemoreno.com.s3-website-us-east-1.amazonaws.com
This is a technical issue which will be completely transparent to anyone configuring the new feature using the AWS console and, most importantly, it's elegant in that it fully maintains backward compatibility with their APIs.

Gotcha
Although Amazon S3 still does not allow you to configure an A record so that you can host http://example.com, I got the impression that this feature will be available in the future. Although I'm speculating, today's comment, from Amazon, was, "We're looking at ways that we can do that [host a domain's root without requiring a subdomain]."

Workaround
In the mean time, Donovan Watts showed me his workaround, last night, that he uses with Adjix and CloudFlare. His workaround allows a domain's root domain, which normally must be a DNS A record, to be configured as a CNAME. Although I have't tried his technique, yet, I can see it in action with his short domain name.

Friday, February 18, 2011

Hosting Static Websites on S3: The 99.4% solution

Today, Amazon announced a new feature which allows you to (almost) host a static website entirely on AWS S3. They do this by allowing you to set a default root object for each S3 bucket. Think of the default root object as the equivalent of an index.html default file. This setting tells a web server which file to return to the user when one isn't specifically asked for. For example, when you enter cnn.com in your web browser, CNN's web server automatically returns www.cnn.com/index.html.

Gotcha
In order for this feature to work, you'd have to configure your domain's DNS CNAME (alias) to point to your bucket. But there's a big gotcha and that's the fact that a CNAME record can only be used with subdomains (i.e. www.example.com, blog.example.com, images.example.com) and not the root domain (i.e. example.com). The DNS RFC directs that the root domain must be an A record which can only point to a numeric IP address.

Amazon Permanent Fix
To fix this problem, Amazon would need to set up servers at a single IP address. Load balancing a single IP address is exactly what keeps the entire DNS root servers alive and running. While there may only be 13 different static IP addresses for the world's DNS root servers, each one is supported by many redundant servers located on different continents. In other words, one static IP address can easily map to an unlimited number of physical servers.

Workaround
Since an Amazon fix to this problem may not be in the near future - or it might never come - there is a workaround, but it's not as elegant as it could be.

I've actually been using the following technique for a few years at Adjix. When visiting adjix.com, note that the URL for most of the static web pages at the bottom of the Adjix home page begin with web.adjix.com. As long as things are working, most people never even notice if a URL begins with www, web, blog, or has no subdomain.

1. Create an S3 bucket called www.example.com. Put an index.html file in there along with all of your website's static content and set the index file as the bucket's root object.

2. Configure your DNS CNAME to point to this bucket (i.e. www should point to www.example.com.s3.amazonaws.com.).

3. This final step is unpleasant and inelegant from a technical point. It involves using a third party service where you can configure our domain's root domain to point to a static IP address. I would be more than happy to host this redirect service for your domain's root A record. If you're interested in using this service then please let me know via e-mail.

Nearly anyone who visits your website, by typing the URL directly into their browser, will either enter www.example.com or example.com. Either method will work since they will be redirected to www.example.com/index.html.

While redirects aren't always elegant, you've probably noticed many redirects when logging into your Google account or when accessing a custom domain blog on Posterous. It isn't as clean and quick as it could be, but it doesn't violate any RFCs and it works.

Thursday, February 17, 2011

"Facebooking" immediately after being held up at gunpoint

A local pizzeria was held up at gunpoint and "Facebooked" the incident practically in realtime.


For the details, watch Deanne Goodman's Carlsbad Patch interview.




Monday, February 14, 2011

The Hug

What’s in a hug
That makes it so snug?
Warmth, love, and compassion
It’s always in fashion

Between Mom and Dad
When we’re happy and sad
And as we grow old
It never gets cold

Each time we hug, it seems to mean more
We get and give so much with the ones we adore
Between lovers and friends
It’s a message we send

We’re there for each other
Even sister and brother

Oh, how I miss a hug from a lover
This I want now, more than no other
To hold her tight
It feels so right

True and complete
It is no small feat

There’s a piece of me missing
To what I say here, please listen

On nights when I’m alone
I sit by myself at home
And wish I could have saved
Those hugs which I now crave

All the attention goes to the kiss
But right now that is something I do not miss

It is the completeness of the embrace
And not the touching of the face
That literally warms me up
Like coffee in a cup

After a marriage, a husband and wife
Sleep in each other’s arms for the rest of their life

Or on a cold and stormy night
When things don’t seem to be quite right
Mom and dad are there for child
And keep things from getting too wild

In case you cannot tell
I wish it were hugs I could sell
For when you’re feeling down
Just have one of these around

And keep one thing in mind
Especially when in a bind
A great big hug today
Can make everything OK
– Joseph L. Moreno
November 1994

Thursday, February 10, 2011

The Future of Digital Publications

I have seen the future of digital publications and it looks like Flipboard and Livestand.

The challenge of distributing digital books has already been solved with the Kindle and iBooks. But, reading a book is a different experience than reading a digital newspaper or magazine. Books are read linearly whereas newspapers and periodicals are flipped through. While we might read a magazine article from beginning to end, how we discovered that article could have been through the random process of flipping.

Bad
I belong to two large associations which have both tried to distribute their magazines in a digital format. The problem is that both associations have chosen to use solutions like NXTbook or Issuu. Once you get to a page that you want to read you have to click to zoom in because the text is too small to read when viewing the entire page. Actually, each page isn't really text - rather it's a screenshot of the magazine's artwork - so you can't search for text, easily, or copy and paste it. If it's a multicolumn article, you then have to pan back up to the top next column to continue reading. These solutions are basically an online version of microfilm.



There are several other problems with this user experience. First, the magazine rendering is CPU intensive, so it's slow to initialize, turn pages, and it doesn't work well on older computers. Also, since it's just screen shots of the magazine pages, there's no multimedia such as video or audio.

This solution is a clear cut example of a case that violated a key rule in UI/UX: Start with the UX and then work back to the technology.

Good
The Daily and Project provide good user experiences since they're designed specifically for the iPad and they have rich multimedia. However, the content can only be displayed on the iPad. If you send an article from The Daily to someone without an iPad, all that the recipient will see is a humongous screen shot of the entire article as rendered on the iPad.


Better
Flipboard currently provides the best experience that I've seen. I love that I can read a blog, using Flipboard, simply by pointing it at the blog's Twitter stream or Google Reader.


There are two distinct ways in which publication media is distributed and consumed. One way is through batch publication, such as a daily or monthly publication. Both The Daily and Project use this technique. The other way is through continuous updates, i.e. a river of news, such as most blogs, CNN.com, etc.

The problem with batch publishing is that you can't easily go back to a previous issue's article. If you missed it, then you missed it. The nice thing about a river of news is that you can back up in your river to pickup where you left off.

Best
The ideal solution is an open format (such as RSS or ePub) so that the content can be best displayed depending on the medium. Consuming a slightly customized RSS feed via an application similar to Flipboard is how I envision the implementation - let's call it a Digital Publication Feed (DPF).

It would work by pointing a Flipboard-like application at a web site for automatic detection of the DPF (similar to how my web browser automatically finds the RSS feed when visiting cnn.com). The DPF would be an RSS feed standardized for the digital publishing industry with a few special tags, such as <hed>, <dek>, <byline>, <lead>, <text>, <video>, <audio>, plus other metadata to give any third party consuming application the ability to render news articles. There could even be tags for handling comments and ad revenue sharing.

The DPF is a fairly simple concept, but the beauty is that it would work well across different devices and, most importantly, it would be a standard.

Worst
While generating ad revenue is vital, it's important that ads don't get out of control. Leading newspapers don't plaster ads on the front page of their printed papers. Yet, if you look at the newspaper industry's attempts to monetize the web you'll find web sites where a single article stretches across multiple pages for the sole purpose of increasing advertising CPM. At least, with an interstitial ads, the reader only needs to click once to get beyond it.

My final pet peeve is with news sites where the actual content of the article is completely below the fold. You can't even begin to scroll down to the actual article until the multiple instances of the Flash players finish loading and begin rendering their flashing ads.


P.S. - I wonder if it's called Flash because so many ads now flash using Flash? (That's a joke.)

Monday, February 7, 2011

What's the difference between iTunes & iPod? It depends.


As businesses grow, things can get confusing as more products and services are offered for sale. Apple has done a great job of managing this since nearly all consumer facing products and services are reviewed, in detail, by Steve Jobs.

Over the past few years, I've noticed something that will confuse people who are new to Apple's ecosystem.

iTunes, iPod, & Videos
iTunes is a desktop app which includes access to the iTunes Store. This app is where you store, purchase, and download music, videos, and mobile apps. You also consume this content inside the desktop iTunes app with the exception of the mobile apps since they only run on the mobile devices.

However, on iOS devices such as the iPad, iPod touch, and iPhone, the paradigm is different. On these mobile devices, think of the iTunes app as only the iTunes Store for buying and downloading media such as music, videos, and podcasts.

If you want to buy and download Apps on the iPad and iPhone, then you need to use the App Store app, which is similar to the desktop App Store app for buying and downloading desktop apps.

But, on iOS devices, your music isn't accessed through the iTunes app, rather it's accessed through the iPod app (which looks very similar to the version of iTunes running on your desktop). Here's where it gets more confusing; when accessing video on your iPhone or iPod touch, you use the iPod app, but, on the iPad, you use the Videos app to play your videos.

It can be a little difficult to remember all this even if you've been along for the ride since Apple introduced the iPhone in 2007. I find myself opening and closing iTunes and the iPod apps to figure where everything is on the iOS devices. And, if you're new to Apple, it will be very confusing.

Friday, February 4, 2011

Citizen Journalism: First hand experience

Today, I had a first hand experience with citizen journalism. I think of it as pro-am journalism where both a professional and amateur report the news.

This morning, when driving from Carlsbad to San Clemente, I was stuck in gridlock on I-5 ("the Five"), northbound, which was backed up for more than a dozen miles at the Las Pulgas exit of the Marine Corp base at Camp Pendleton. Since this 17 mile section of the Five passes through a military base, there are no public detours between the two towns that border on Camp Pendleton's north and south sides. But, fortunately for me, I still have a military sticker on my car which let me cut through Camp Pendleton to avoid the traffic.

After cutting through Camp Pendleton I was headed back onto the Five at Las Pulgas, via a service road, when I passed the wreck which caused the accident. I made a U-turn and parked next to the truck to snap these photos in the parking lot where the flatbed truck was parked.




After taking these photos, I stopped at a tea shop in San Clemente, a few minutes later, and posted one photo to Twitter. Immediately, a reporter from the North County Times saw my photo and tweeted me to ask if she could use it to accompany an article about the accident.

@JoeMoreno Do you mind if I use that photo on the NCT website? We have a story up, but no art.less than a minute ago via TweetDeck



I told her that I has several photos which I sent to her.

@AssignmentDesk1 Sure. Feel free to use that accident photo. I have several other photos that I can email to you if you'd like.less than a minute ago via Twitter for iPhone



She ended up using two of my photos in the article about the accident.


I was telling the tea shop owner about the accident and gridlock as I was tweeting with the reporter and sending her my photos. The shop owner casually mentioned that, earlier this morning, as he headed from his home in Carlsbad to his shop in San Clemente, he was passed by a white pickup truck driving the wrong way on the Five which kicked up rocks into his windshield. I was stunned! The tea shop owner drove right past the pickup truck just before it caused the four-vehicle pileup.