Wednesday, January 26, 2011

Apple Needs to be Perfect

(CC) Lon Koenig "Taken with My iPhone"
I might be "over" Apple.

I've been an Apple fan since the days of the original Apple Computer. My reasons for being a fan have changed over the years. Originally, it was the immense flexibility and openness of Woz's designs. The Apple ][ came with ROM listings, schematics and pinouts - and you were expected to use that information. We did magical things with those computers. Together with Apple we changed the world.

Friday, January 21, 2011

Your Own Private Radio (Station)

"Radio Knobs" by Joe Lencioni
I had to add a streaming radio station to a client's web site last year.
This particular installation was a for a music library. We already had all the tracks in multiple formats including mp3. We simply wanted to push out a random stream of content from the library.
The web server was running Debian "Lenny" on Intel.

The process was pretty straightforward except for having the streamer launch when the server restarted.

If all is working, you  can listen to the radio station using your favorite streaming music player.

Choosing the Tech
We need a basic mp3 stream that will work with popular music players.
icecast2 is the most popular Open Source system for publishing streams. That one's a no-brainer.
Unfortunately Ices, the program from the Icecast group that creates those streams no longer supports the mp3 format. And iTunes doesn't play Ogg. So we need another solution for creating the original stream.

The ezstream application does exactly what need. But the Debian package didn't include a script to run when the server boots.

Use your favorite method of installing Debian packages.
Both "icecast2" and "ezstream" are in the Stable distribution.

Create a playlist for ezstream (instructions are in the README), and configure icecast by editing /etc/icecast2/icecast.xml

The icecast2 package provided a launch script, but ezstream did not.
While I'm not an expert on launch scripts, I was able cobble something together.
Here's my init.d script for ezstream:

#! /bin/sh
# Provides:          ezstream
# Required-Start:    $remote_fs
# Required-Stop:     $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Example initscript
# Description:       This file should be used to construct scripts to be
#                    placed in /etc/init.d.

# Author: Lon Koenig

# Do NOT "set -e"

# PATH should only include /usr/* if it runs after the script
DESC="EZstream streaming audio source for icecast"
DAEMON_ARGS="-c /var/www/ezstream/ezstream_mp3.xml"

# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0

# Read configuration variable file if it is present
#[ -r /etc/default/$NAME ] && . /etc/default/$NAME
# Not using a "default." Configuration file is defined above in DAEMON_ARGS

# Load the VERBOSE setting and other rcS variables
. /lib/init/

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

# Function that starts the daemon/service
# Return
#   0 if daemon has been started
#   1 if daemon was already running
#   2 if daemon could not be started
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
|| return 1
start-stop-daemon --start --background --quiet --pidfile $PIDFILE --exec $DAEMON -- \
|| return 2
# Add code here, if necessary, that waits for the process to be ready
# to handle requests from services started subsequently which depend
# on this one.  As a last resort, sleep for some time.

# Function that stops the daemon/service
# Return
#   0 if daemon has been stopped
#   1 if daemon was already stopped
#   2 if daemon could not be stopped
#   other if a failure occurred
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
[ "$RETVAL" = 2 ] && return 2
# Wait for children to finish too if this is a daemon that forks
# and if the daemon is only ever run from this initscript.
# If the above conditions are not satisfied then add some other code
# that waits for the process to drop all resources that could be
# needed by services started subsequently.  A last resort is to
# sleep for some time.
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
[ "$?" = 2 ] && return 2
# Many daemons don't delete their pidfiles when they exit.
rm -f $PIDFILE
return "$RETVAL"

# Function that sends a SIGHUP to the daemon/service
do_reload() {
# If the daemon can reload its configuration without
# restarting (for example, when it is sent a SIGHUP),
# then implement that here.
start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
return 0

case "$1" in
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;

# If do_reload() is not implemented then leave this commented out
# and leave 'force-reload' as an alias for 'restart'.

log_daemon_msg "Reloading $DESC" "$NAME"
log_end_msg $?
# If the "reload" option is implemented then remove the
# 'force-reload' alias
log_daemon_msg "Restarting $DESC" "$NAME"
case "$?" in
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
  # Failed to stop
log_end_msg 1
echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
#echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 3


That's it! Log into the server at http://{your_host_here}:8000/admin/ to see the management panel.
Pull up http://{your_host_here}:8000/live.nsv.3mu in your favorite streamer to hear the tunes.

Wednesday, January 19, 2011

How to Answer the Smart Phone When It's 9 Below

If you're someone who spends time outdoors in Minnesota, then you know that "cold" doesn't really start until you're below zero Fahrenheit.

In really cold weather, I wear glove liners and mittens. Most of time, I wear light insulated gloves so my hands don't get too sweaty. The Columbia Mens City Trek Glove, Breen, Medium have nice grippy palms for handrails and stop the wind.  Great while walking, but a bit chilly if standing around.

If my iPhone rings, and I'm not wearing a headset, I need to pull off my gloves or mittens to "swipe" and answer the call.   That's fine unless the windchill is in the negatives.

A number of podcasts carried the press release for the Digits touch pins. I ordered mine, and can now report.

They work exactly as advertised. The simple two-part mechanism puts a metal pad against your finger, and a conductive silicon pad against the screen. Getting the pin placed properly can be a little tricky, but isn't really very hard. The pad screws on instead of just snapping, so it should really stay in place.

I put the pad in place, and I can operate my phone just fine with my gloves on. The temperature is dropping today, so I'll get to see this evening if the pin conducts heat as well as electricity. I'll update in the morning with the field report.

In sub-zero conditions, the metal pad felt cool, but certainly not cold.  The pins work great on nylon gloves, fleece mittens (put it on the thumb) and even lightweight knit gloves. I wouldn't poke a hole in nice leather gloves, but then again, I wouldn't wear leather dress gloves in the bitter cold.

I was a little concerned about snagging the pin on handles or railings, but in my public transport travels the last two days, that has not been an issue.

A simple and clever solution to a common problem.

The Internet Zombie Invasion

Brisbane Zombie Walk 2009 by Albert "YingYang" Mactan 
Over the Holidays, I had a recurring dream about a zombie outbreak in the US.
As sometimes happens in my dreams, it was all very cinematic. The casting and production were top-notch.
There were a bunch of these dreams, sometimes two or three in one night. Each one followed the story a single person and how they were trying to survive in a zombie apocalypse.

Most didn't make it.

We were fighting a losing battle. The mindless actions of the zombies were defeating us because they were tough and single-minded.

And, no: I haven't been watching "The Walking Dead."
(I don't have cable - I'm waiting for the DVD.)

The dreams didn't stop until I figured out the metaphore: creatures with no intelligent presence in the world of the Internet are mindlessly attacking it.

We will certainly see a huge blow to civil liberties when the new US legislature convenes and loses its collective mind over WikiLeaks.
Yesterday, the Open Internet suffered an incredible blow when the FCC accepted the proposed merger between Comcast and NBC/Universal.

The "small government conservatives" are already attacking the FCC for attempting any sort of oversight of Internet communications.  They are casting recent FCC actions as a regulatory power grab.  I've been on the fence about "Net Neutrality," but recently it's become clear for me. A free and open Internet is required for the US to stay a major player in the technological world. A major reason China hasn't already blown by us is the limitations and restrictions they place on the Internet.
I don't really fear regulation right now as much as I fear tollways and private restrictions on the domestic Internet.  We are building a future that relies on the Ubiquitous Internet as much as our current world relies on cheap and reliable electricity.
Comcast doesn't want to sell us cheap and reliable bits. They want to sell us Premium Content.

But what the zombies don't (perhaps can't) understand is that the Internet isn't a thing. It's not even a service. It's a place. It's a place where they are not alive. Just animated corpses terrorizing the citizens.
They don't understand our fear as they shamble along. Destroying synapses in the hive mind. Eating at our brains so they can sell Grandma another season of The Marriage Ref.

If the United States is to be a player in the technological world of the near future, we MUST have a platform to build on. Our new businesses must know the costs of working on the Internet without the looming threat that ISPs will simply take them offline or hold their content ransom.
Or those businesses will leave the country.
It's already happening.
The last two companies for whom I did "due diligence" research were looking at moving to Canada.
They can still hire Silicon Valley contractors, but the Canadian government was being a lot more friendly to online creators.

In the EU, they don't even have this discussion. Internet providers aren't content companies. By keeping those roles separate, the Free Market can set pricing and availability of Internet services and content. It's the government-supported monopolies and duopolies that create the need for regulation here in the US.

Of course, many countries in the EU have caved in to pressure from US media companies and have legislated ridiculous (as in "worthy of ridicule) copyright controls. But that problem will solve itself as new publishers opt out of the current systems.

Monday, January 10, 2011

What LA Doesn't "Get" About Online Content

I recently discovered "New Mediacracy" and jumped in with Episode 18: The One About "IndieTV" Versus "Immersive Entertainment." This episode was supposed to be a discussion about web content in the style of traditional television v.s. highly interactive YouTube videos and software.

First off: Good and informed discussion. They entertained and engaged me enough to write this article.
I've subscribed, and look forward to more of this program.

I thought the starting discussion was ridiculous, but other topics like "Is the Web just TV's Farm Club?" really worked.

The panelists acknowledge that they live in an Internet bubble. And this is clearly reflected in their opinions. But what I think they don't realize is that their bubble is even smaller than they think.
They are very LA. They understand TV. They understand YouTube.

Now I'm going to be a bit harsh: They don't understand technology. They don't understand true interactivity. They don't see their own biases.

LA isn't the future of online entertainment. There was lots of discussion about "pitching" shows. Building audience. Making it big. Coming to LA and producing shows. Pursuading advertisers. Using The Web as a delivery mechanism.

My belief is that the next generation of content producers is already way beyond this sort of talk.

The new entertainment industry isn't about blockbusters and making it big. It's about making a living and telling the story you want to tell. Most of the LA crowd thinks Felicia Day and Jonathan Coulton are flukes. I contend that they are the bridge to the next wave.

I think the defining features of the next generation of entertainment are:
  • Unencumbered by license and union agreements
  • Producer-owned and self funded
  • Freely redistributed
  • Smaller audience
  • Profitable
  • No plan to sell out
People working in this sort of model will be able to make a decent living doing what they love while their "Industry" counterparts are auditioning, tending bar, and waiting for someone in power to grant them their break.

The democratized entertainment landscape of the near future doesn't have mass audiences. Sure, there will be individual stories or events that attract everyone's attention for a few minutes, but I think small and steady will become the norm for most productions.

As a number of writers have pointed out, if you have 10,000 fans and you can get an average of $5 from each one each year, you have a full-time job. You won't be rich, but you can make a living.

Everyone in traditional television has the same unstated dream: "I hope I write/produce/score/star in a TV series that gets syndicated so I can be rich and indulge my creative fantasies."

The new dream is more like, "I hope enough people like my show so I can quit my day job and do this full-time."

Saturday, January 8, 2011

How To Connect to Alternate Displays with TightVNC

Because Ubuntu's default VNC server (vino)  has many issues, I run x11vnc as well. This is running on Display 1, and I leave vino running on Display 0.
I'm spending a bit more time with Windows since I built an actual Windows-based gaming rig, and I couldn't figure out how to get the tightVNC client to connect to any display except 0.

I finally found the answer on softpanorama. You don't actually use the port number or the display number. 
Take the display number and subtract 5900. So display #1 becomes -5899. Display #2 is -5898.
Enter this value like a port number in the server IP field.

Why this uses the negative compliment of the actual port number, I have no idea. 

But now, I can access my home TV and monitor my podcast from Windows.

Friday, January 7, 2011

My Favorite TV in 2010

Disclaimer: If it wasn't broadcast over-the-air, available online or if the DVD didn't come out right away, I probably didn't see it. I'm one of those "cable-cutters."

Caprica (SyFy/Hulu)
Prequel to the amazing Battlestar Gallactica.  We meet Commander Adama as a child and see the origins of the Cylons and their belief system. Real interesting stuff about politics and technology. Morals, business and crime. Questioning the nature of reality is interesting for humans. A whole other question for robots...

Haven (Syfy/Hulu)
Based on "The Colorado Kid," this story takes place in your standard Stephen King New England town.  Filled with odd characters with unusual abilities. The story follows an FBI agent who comes to town and realizes she has some odd connection with the strange goings-on. The first season was a bit methodical in it's story construction, but finale... oh my! Moved it from an interesting show to a must-watch for next season.

The Guild (web/online/DVD)
We got the fourth season of The Guild this year. This ongoing story of the members of on online gaming guild who now occasionally connect in real life deserves its place at the top of the online video heap.
The writing gets even better. A couple new characters. Some of members of the Axis of Anarchy return.
While the show if very funny and approachable, only online gamers are going to catch all the clever references.

Sherlock (PBS/BBC/DVD)
My favorite TV this year.
Only three episodes in this first season DVD, but just great.
Straight up Sherlock Holmes ("high-functioning sociopath") but set in current time.
Very true to Arthur Conan Doyle's stories, but truly modern and... well just delicious!

The Walking Dead (AMC/iTunes)
Based on the graphic novel of the same name, this show follows the very human stories of a group of people who survived a zombie apocalypse.  So far, standard end-of-world/action fare, but the stories are well told.

Archer (FX Networks/Hulu/DVD)
This animated series parodies the spy adventure genre.  It's funny, raunchy, and over-top.
Can't wait for season 2!

Castle (ABC)
A very mainstream show that blends procedural crime drama with comedy. The jokes are good. The mysteries are well above the TV average. And best of all, they occasionally work in "Firefly" references.

Firefly (DVD/Blu-ray/AmazoniTunes)
Sure it's been cancelled for years. But I, and other fans, watch it over and over. Still the best TV I watch in any given year. You can't stop the signal!

Wednesday, January 5, 2011

The First Rule of Retail Web Sites

Note: The incident that inspired this article happened in 2008. Since this particular company has hopefully solved the problem in the intervening years, I've changed the names. But the lesson is still valid.

Never prevent the customer from placing an order.


Let the customer place an order!

Doesn't matter what the reasons are - let the user place the order and then backfill information if necessary.

But a major company that usually gets it right, got it very very wrong recently.

I went to purchase a new hard drive for some backups last week.
Dug out my NAMELESSCOMPANY account info, went to the site, logged in and found the drive I wanted.
Put it in my shopping cart, went to check out and...
No checkout button!
This didn't seem possible, so I carefully scanned the page. Even went so far as to pop it in an HTML editor and search for Checkout. Simply not there.
Tried a different browser. Same result: no checkout button.

So I went to a competing site to order the drive.
But I couldn't let it go... Maybe I was missing something.

I returned to the NAMELESSCOMPANY site. Check my contact info (all still current).
Expecting disaster, I click on the Live Chat Support widget:

14:18:00 System Welcome lonkoenig ...
14:18:00 System Connecting to server. Please wait...
14:18:00 System Connected to
14:23:12 System Tim NoName has joined this session!
14:23:12 System Connected with Tim NoName
14:23:12 System
14:23:12 System Hello. Welcome to NAMELESSCOMPANY@work online chat. How may I help you?
14:23:46 You i am trying to order a new hard drive. have it in my cart, but i can't figure out how to check out!
14:24:16 You One would exoect a checkout button...
14:24:53 Tim NoName Well, looking at your account it appears to be inactive in our system, which is why you cannot complete your order.
14:25:13 Tim NoName Let me transfer you to our sales team so they can activate it.
14:25:13 System You are being transferred to another queue. Please stand by...
14:25:13 System Tim NoName has left this session!
14:25:33 System Walter NoName has joined this session!
14:25:33 System Connected with Walter NoName
14:27:06 Walter NoName Good day, I understand you need to reactivate your account?
14:27:25 You only if you want me to complete my order...
14:27:47 Walter Noname Please bear with me and I will take care of this for you.
14:28:49 Walter NoName I have reactivated your account. please log out and then log back in. Your account will be active.
14:29:26 You btw - no indication to me that the account was not active. I can log in and set profile info. I just don't get a checkout button on order. NAMELESSCOMPANY should be glad I bothered with the online chat instead of ordering from a competitor
14:30:33 Walter NoName We apologize for the trouble. Since the account was not used since 1999 it had gone dormant.
14:30:53 Walter NoName Do you require further assistance?
14:31:21 You congratulations. Now I ge5t "Your account has been disabled. Please contact your account manager for assistance."
14:32:57 Walter NoName Have you tried closing the browser and reloading to log back in?
14:33:19 You no that would end the chat...
14:33:24 You i will kill cookies
14:34:50 Walter NoName I suggest you do that as the account needs to be reset. You can contact us through chat again if you need assistance. The account has been dormant for so long it needs to be refreshed.
14:37:23 Walter NoName Thank you for using NAMELESSCOMPANY Chat. Please contact us if you need further assistance.
14:37:23 System Walter NoName has left this session!
14:37:23 System The session has ended!

"System" certainly gets excited! Exclamation points on every line!

Needless to say: resetting the browser solved nothing.
After two tries on the phone, I got to a human who quickly and politely took my order. They didn't need worry about my account being "dormant." Either I have an account, or I don't.

I can place an order if I DON'T log in, but not if I log in with valid credentials.
Certainly a simple bug. But some programmer or software designer someplace at some time made the decision that in an error case, they simply would not show the checkout button.
That person was missing the big picture: they handled the error, but lost the sale.

Footnote: I don't know if they ever solved the problem, because that was the last time I tried to order from that company. I now make most of my tech purchases at the "competing site" I mentioned.

Technorati Tags: , , , ,

Tuesday, January 4, 2011

The Case Against Social Media

Note: The bulk of this article was written a year ago. Since then Facebook exploded, Buzz fizzled and the more people are joining these networks.

I was just watching an interesting presentation on Social Media trends. Lots of graphs and numbers. Fascinating stuff.

But let's step back and look at what's really going on in the Social Media space.

MySpace was all about juvenile creative expression. Bands. Hooking up. Clearly, just the sort of brand News Corp. would be good at managing. To no one's surprise, after News Corp. took over, nothing new and interesting happened on MySpace. Twitter was simpler, and Facebook was private. Today, MySpace is a good site for music fan clubs and that's about it.

Facebook's original market differentiator was that is offered private communication with your classmates. Sure, you could still find that cute friend-of-a-friend to date on MySpace, but things were a lot more civilized and private than the bedlam of MySpace.

Facebook has the largest collection of photos on the Internet. Crushes the biggest photo site, Flickr.
Today, Facebook dominates the Social Media sector in the United States. But I believe the current surge in Facebook popularity is built on casual social games, not on status updates.

But Facebook wants to be even bigger. And it can't do that without visibility on  search engines like Google and Bing.
Unfortunately, making more content public destroys Facebook's original value proposition.
If they continue on the path of reduced privacy, I believe they become vulnerable. The market could easily fragment into smaller sites that share data, or another player could come in with different user expectations.

Facebook's customers are advertisers. The product is the members. But by abandoning their original differentiator, privacy, they've changed the product. Student-aged people coming to the site don't use their real names. They make up relationships and other information. They are polluting the product and will eventually erode the value of the product.

All of us technorati live on Twitter. It has replaced the blog article as our primary method of sharing information.  It has permanently changed journalism. It is an extremely valuable tool in PR and marketing.

The Answer is Not Social Media
There is a world outside of these Social Media ecosystems. Even on the Internet.

Recently, I poo-pooed Domino's Pizza's campaign on Twitter. A Dominos rep messaged me and asked if I would follow them so they could Direct Message me. The conversation ended there.

I assume that if I had "followed" them, and opened that line of communication, they would have sent me coupons for free pizza. But I chose not to.
The current metric of success on Twitter is follower count. This is idiotic, but that's how the game is played.  I'm not going to lend credibility to an idiotic campaign by giving Domino's my "vote."
The rep could have discovered 6 ways to contact me in 15 seconds if they had bothered. But they chose to limit the field of play to Twitter.
The problem with a lot of the Social Media initiatives is that they limit themselves to these specific platforms.
I no longer have a personal Facebook account, so I'm considered unreachable by many campaigns.
This is idiotic on many fronts. I am Search Engine Optimized! I over-share all over the Internet. You want to reach me? You can push a freakin' button on my web page to call my cell phone!

And let's talk about how Apple masterfully uses Social Media to... oh yeah. They don't care if you follow them on Twitter. And we can all see how that has seriously hurt the company. Right?

Many "success" stories we hear in social media are about hated companies using these social networks to inexpensively soothe irate customers who are lambasting them in public.
How about these companies change their practices to people don't hate them?

Monday, January 3, 2011

2011 Predictions

Life was pretty chaotic at the end of 2009, so I didn't get the Predictions post in.
Here we go with my predictions for 2011:

Google will save a cancelled TV show by bringing it to YouTube. With "Fringe" moving to the Friday night death slot, it is the most likely candidate.

The Open Internet will take a big blow as a major ISP attempts to create packages for specific web sites with metered service for out-of-package sites and services.

Apple has been resting on its laurels in the phone world, and the backlash will begin. Dropped calls and broken alarms won't end the iPhone, however. New carriers in the US will bring in a fresh batch of iPhone fans. But the early adopters will move on to the next cool thing.

Both Apple and Google will introduce apps on their TV platforms.
Microsoft will not create a set-top box, but choose to expand the TV features of the Xbox 360.

NetFlix will continue to dominate streaming content, but ISP restrictions will make it much more expensive for many consumers late in the year.

The Rim PlayBook will be a disaster.

The Kinect interface, and other technologies that let the TV "watch you back" will get a lot of interest, but the real push of speech/movement interfaces will hit the living room in 2012

Facebook growth will flatten out. End 2011 below 600 million users.

Twitter will not be sold. It will aquire a mainstream company.

US Congress will pass some ridiculously invasive legislation in an attempt to shutdown WikiLeaks

Solid State Drives will break the $1 per gigabyte barrier and become a normal option for most computers by the end of 2011.

Blizzard will announce the "unnamed game."

We will see the announcement of an open-source application suite for Android.

The Nissan Leaf will not find a market.

World of Warcraft will break 14 million players.

Google Chrome will continue to just be a technology demonstration.

Google will break ground on two of its wired cities.

All the iPad-specific periodicals will fold in 2011.

Tablets. Day 3 of 2011 and I'm already bored with the tablets. Expect hundreds of non-innovative tablets this year.

Your cable bill will increase. Probably with jacked up Internet fees.