Main menu:

Friend Me!

Digg

LinkedIn

Slashdot

Self-Promo:


Profess your love. Anonymously.


Looking for a date?


Fun & Free Traffic for Your Blog


Web Services CMS for Smarties


My Company



Site search





Categories

Archive

I’m Stuffable!

Back when I took a blogging hiatus, I mentioned that there were a few projects I had going on. Well, the first one of them launched a couple months ago.

Stuffable is a social networking site built around you and your stuff. Whatever is important to you; your snazzy new iPhone, that ceramic monkey you keep the sugar in, or even your friend Pete with the lazy eye and the heart of gold. Anything really. We have groups and forums where you can chat it up with like-minded collectors, a Facebook app where you can enter an a Tournament of Stuff to win cool prizes, and a CafePress store where you can buy a wide selection of Stuffable swag. Including, apparently, a thong.

I wasn’t in charge of the store.

Anyway, the site is all about Show & Tell 2.0. We have some big plans for it and would love to hear what other people think, so please check it out if you get a minute.

Stuffable was my first bootstrap startup with an actual team of people other than me and myself. It was also one of the first things I did that wasn’t my idea, something I suggest everybody try sometime. I got the call about it last March from my friend Martin over at nclud, while I was at the Pearl Harbor Memorial during my Hawaii trip. He had joined up with Aaron, a serial entrepreneur/marketing wizard, and they had been having some issues with with their coder. Martin and I had worked together on another one of my sites, JustConfirmed.com, and he thought I might be an asset to the new team. Actually specing out and building the site took a bit longer than we anticipated. Martin ended up married in the middle of it, and Aaron got engaged. Each of us had at least one other job, some with other startups. We changed the name, discovered a great new motto, and had a few redesigns.

But in the end, a site was born. It will undoubtedly go through many phases as it matures, but I think we are all pretty happy with how it looks now.

Hopefully you will be too.

Til next time.

California

Two weeks ago, Ebonique and I took a trip out to San Francisco.  I decided a while back that I wanted to move to the area, and she had never been before, so we figured spring break would be a great time to see it.  And it was.  We had a great time, checking out both touristy destinations like Alcatraz and Telegraph Hill, as well as the quaint parks and museums that show off the culture of the city.  Then something unexpected happened.

I got a job.

Eb had recommended I apply to some things while we were going there, just to get in the recruiting databases.  I sent out a pair of resumes, and apparently one of them landed on the right desk, since I was scheduled for an interview in the middle of the trip.  Within a few days I had a positive response, with a start date set three weeks later.

Three weeks.  To pack up or jettison everything I own, figure out what to do with my condo, drop a bomb on my roommate, wrap up my current job, say goodbye to 6 years of friends and memories, find a place to live, and haul my tired butt 3,000 miles across the country.

Three weeks.

Yet, somehow, it is all coming together.  The company I am going to work for has been great, helping with the financial side of the relocation and even giving me some space to mail my stuff to.  The recruiters (KForce) have also been very helpful, getting me in touch with a soon-to-be coworker who is going through the exact same transition, and that coworker did a lot of legwork in finding a two-bedroom place for us to live.  Thanks, Josh!  Flynn and Cory at KForce even offered to check out our place before we signed the papers.

My family rose to the occasion, too.  My dad came the weekend before last to help my sort through, box, and mail everything I am sending with me, and my mom and sister came down last weekend to pack up much of the rest of the condo and do some painting.  My roommate was out of town when I first got the news, but she has handled it well so far and has already started to look for a new place.  My coworkers have all been nothing but supportive, and we have some Goodbye Happy Hours coming up this week, because one is never enough.

Ebonique is especially great.  She has been supportive of every step of the move, encouraging me to do what I needed for my career even if it made our situation a little more difficult.  I am a very lucky guy, and remember it every time I talk to her.

So there we have it.  On Sunday I hop (or given the time, stumble) onto a plane and start a new life three hours behind.  What comes next?

I can’t wait to find out.

Til next time.

Geek Out

I fell in love with computers in 1993. The (Bill) Clinton Years had just started, Nirvana was tearing up the charts. The Fresh Prince was still, well, fresh. And I got my very first issue of Computer Shopper.

Those were the “tweener” years of the PC revolution. The irrational exuberance of the beginning (”This IBM ‘Personal Computer’ thing looks good, but will it run Visicalc?”) had subsided, but we hadn’t yet quite entered the Microsoft hegemony phase that kicked in around 1996 when Windows 95 come out. There were large computer manufacturers back then, but there was also a huge market of third party “clone” makers. There were also tons of places where you could buy parts and assemble your own machines.

In those pre-Netscape days, Computer Shopper was the magazine of choice for the computer enthusiast. The typical issue was 900 or so pages, probably 94.3% of which was advertisements by the aforementioned clone and peripheral vendors. To the middle school kid with no friends and a technical inclination, leafing through those hallowed pages spotting bargains was a right of passage. Nowadays the magazine is a shell of its former self, often clocking in at under 100 pages. They consist of mostly puffy reviews and product comparison articles, precisely the things we skipped over when I was a subscriber.

The last desktop I bought was in 1999, straight from the pages of CS. The manufacturer (MicroPro, Inc) went out of business a few years ago. The specs were pretty incredible at the time: 2 Pentium III 600 MHz processors, 256mb memory, 27gb hard disk. It had a first generation GeForce card, back when they advertised that it was 256-bit. Woo. Perhaps my favorite feature was the SoundBlaster Live! Platinum with LiveDrive. I used it to record all of my music for the 7 years before I got this MacBook Pro last November. This machine has served me well.

Since that time, I’ve only bought a series of laptops. Utilitarian devices that you can’t tinker with. They do their thing, and when they die you go out and get another. It is pretty cool to see how much functionality can be packed into such a small package, but it isn’t me doing the packaging. It is Apple, or Hewlett Packard, or (God forbid) Dell. The romance was gone.

With computer component prices reaching ridiculously low levels, I decided that it might be the right time to rediscover the love of computers. I would build a programming box. The MacBook is nice, but it just isn’t the same. The screen is only 15.4″. The memory maxes out at 3gb, which I have actually hit pretty easily between running Intellij IDEA with a few debugging sessions, Eclipse for my PHP work, and Fireworks for image editing. Also, it doesn’t run Linux. Don’t get me wrong, OS X is nice. I just don’t get the same feeling of inner peace running non-free OSes. Linux can be anything you want it to be; OS X is OS X.

So I went over to NewEgg and started looking around. My goal was to put together an adequate machine that left a little room for future growth if need be. Price was a concern as well, but if the component was worth a little more I would be flexible.

First came the case. I have always loved the Apple and Sun tower enclosures, and not just for the sleek mesh aluminum; the internals of the systems are beautiful. Everything is exactly where it needs to be so that you can get at it without having to take the entire machine apart. The cases I saw at first were either beige and plain or garish to the point of absurdity. Blue blinkinlights? Windows on the side? Come on now. Finally I found a the V1200 and V600 series by Lian Li. Perfectly classy and understated, with excellent component layouts inside. Not quite up to Apple and Sun levels, but also not $3000. I opted for the smaller V600 since I want it to sit on top of the desk.

Next, the guts. Turns out they have quad-core processors now. Who knew? I picked up one of the ever-popular Q6600 Intel chips. I needed a new motherboard to go with that. Since I knew I would be getting a dedicated graphics card, I picked up an Abit ATX motherboard without an integrated graphics chip. The board has the standard array of PCI Express and PCI connectors, a couple SATA II ports, and 4 DIMM slots that are DDR2 800 compatible. For storage, I grabbed a 500Gb Western Digital hard disk and a generic DVD+-R=RW/CD drive. At least that’s what I think it was called. Each was SATA or SATA II. I grabbed a Linux-compatible USB wifi dongle from Edimax to connect to the network for less than $20.

I am simply amazed by the price of memory right now. Back in the Computer Shopper days, you got to choose either 8mb or 16mb. It was $50 a meg, so you really had to need that 16mb in order to justify the plunge. For my new machine I picked up 8 gigs of PC2 6400 memory for a little over $200. Ridiculous. This incidentally limits me to 64 bit operating systems due to the address space needed for all those gigs. I’m alright with that.

For graphics I had a few decisions to make. As most of you likely know, the graphics card can easily be the most expensive component in the machine if you start chasing framerates in 3D games. For most mainstream uses there seems to be a point of diminishing returns somewhere just north of $100; I decided to go for that. Also, I wanted to be able to handle two LCDs with no fan noise. Luckily, Gigabyte makes a passively cooled GeForce 8600GT card that fits the bill perfectly and doesn’t seem to take up too much space inside the machine. After seeing the new iMac with a 24″ screen, I know I needed one of those. I found one by a company called DoubleSight which has a matte finish, retina-burning (and adjustable) brightness, and landscape/portrait modes. It also has a very handy built-in USB hub so you can save yourself from snaking wires under the desk.

Now the odds and ends. Input devices: With how much typing I do, having an ergonomic keyboard becomes very important. I wanted a split device that had a built-in pointing device so I didn’t need to juggle a mouse or trackball when I had the keyboard on my lap. Adesso makes such a keyboard. I’ve been using it for a week now and it is gets the job done, although I have been spoiled by the MacBook’s multitouch trackpad. The MacBook also taught me to appreciate silence in PCs. I picked up 2 120mm case fans with a very low decibel level and generous airflow to help with the passively cooled graphics card. The power supply is a quiet Corsair 450W that is 85% efficient, whatever that means.

All of this came out to about $1500, not too bad for a perfect development rig.

It’s weird, but I can sort of feel the computer apathy dissipating. I will have a computer that is exactly what I want it to be, no more, no less. It will run my hand-coded database software, my favorite penguin-powered operating system, and use my chosen Sun keyboard mapping when in X11.

A little aluminum idol representing all that is right with geekdom.

Til next time.

Blogging vs Coding

So you may have noticed I don’t blog so much anymore.

Tricky thing, this blogging. When I started, I was addicted to the numbers. Spend a few hours coming up with something to write, pull it together, optionally proofread, and submit it to Reddit and Digg. Suddenly, thousands of people see it. Well, maybe not so suddenly. Sometimes slowly. Painfully, painfully slowly. But they come eventually. Lots of them.

It feels good having people reading your stuff.

Over time, though, this feeling can start to fade. Traffic ebbs and flows. One day, you come up with a hit article and get flooded. You think “This is the start. Now everyone will notice me. Does Jessica Alba already have a date for the Oscars?” The next day it subsides, so you come up with something else. Not as popular. Something new the next day; a little more popular, but still not like the first one.

So you look around.

All of the most important, sustainable bloggers had one of four things going for them.

  1. They Started Blogging in 1996: People read them because they have always read them. Kind of like in The Shining, when the camera zooms into the picture and Jack Nicholson had always been at the hotel. They are eternal.
  2. They Work for Big, Important Companies: People read them because they think it indicates what the companies they represent are thinking. And those companies make lots of people lots of money.
  3. They Have Outsized Personalities: People read them just to see what they’ll say next. Often these are celebrity or political bloggers, so they are sort of in their own little bubbles anyway.
  4. They Created Something Really Cool: People read them because they have proven they get it in some way, and Tim O’Reilly agrees.

If you are looking to take the blogging to the next level, (and you are) you need to get one of those four things going for you.

So here I am.

Of these options, three of them aren’t really available to me. I’m too new to be old, too independent to work at a big company, and too human to be Perez Hilton.

Instead of writing about software, I’m actually trying to do it. There are three different projects I am hoping to deliver on soon:

  1. The As-Of-Yet-Unnamed Database Server: You can read about it here and here, and probably some other places on the blog. Long story short: It rules. Coding is coming along nicely. It compiles, runs, opens up a listener, and even performs a bunch of commands. I’m right now in the process of making it understand a WHERE clause, a deceptively complicated undertaking with lots of moving parts. No idea when it will be done, but it will be neat when it is, because then I can sleep.
  2. Stuffable, LLC: Pretty sure I haven’t mentioned it in the blog yet, but since about March I have been working with a startup on a social networking site. Development has gone through a number of stages (and redesigns) so far, but we are hoping to get something up by the end of the year. It’s the prettiest website I have ever been a co-founder on, and the team behind it is great and highly capable.
  3. RestlessDev, LLC: My Facebook apps company. We still don’t have our own website, but our apps are doing pretty well with about 300,000 users. The team now consists of me and two guys with the same phonetic name, Bret and Brett. Our latest app (coded by Brett) is a wishlist builder, and is our first one that actually makes cash money. It’s a welcome change.

Once these three projects launch, I will get back to blogging more regularly, hopefully with lots of new experiences to relate.  Like how to hold hungry venture capitalists at bay using only your wits and a pointy stick, and how to say “No” to Jessica Alba both politely and convincingly.  And how to write self-indulgent blog posts and pretend they’re news worthy.

Oh wait, I already did that!

Til next time.

Facebook and OpenSocial

I can’t seem to go anywhere online anymore without hearing about this debate. Let’s talk about it for a minute.

A couple of weeks ago I went on a little rant about the Facebook platform. I had just finished my first app at that point and was about to release it, and, frankly, I wasn’t overly optimistic about its prospects for getting users. Five weeks later, we’ve had over 200,000 people take our little quizzes and tests. This isn’t quite runaway success relative to the first-generation MegaSuperPoke apps, but it impresses me how you can get hundreds of thousands of users without doing anything. Really. We put our apps up, submitted them to the directory, and users just showed up. I hear we are big in Sweden.

For people who aren’t into social media development, that is the reason this is such a big deal. To get this number of users on a web site or online application used to require thousands of dollars of advertising and doing sexual favors for well-placed bloggers, and now it is available to literally anyone willing to learn a little REST API.

Not to say Facebook is perfect. A few primary concerns:

  • Many people have serious doubts about developing for someone else’s platform. Anyone who comes up with a truly useful app has to look over their shoulder to make sure Facebook itself doesn’t eat their lunch by integrating a similar feature into the platform. It’s a lot like building an add on to Microsoft Office. Or exactly like it.
  • Facebook isn’t as technically savvy as they seem to think they are. As mentioned in my previous post, there are some weird hacks built in to the documented API to get around design limitations, such as Infinite Session Keys. Recently there was some anger on the developer forums as the primary domain for apps was rejecting requests for some applications and reporting to users that the problem was with the app itself. There have also been regular updates to the platform that were retracted the next night due to unforseen bugs. The Facebook Platform can be about as stable as the Tacoma Narrows Bridge, it seems.
  • Monitization is difficult. Facebook owns all of the primo advertising space around the application, so developers are forced to subdivide their already small canvas space to add advertising, or come up with another way of getting money. Also, branding is nearly impossible. You can’t control the page color, and your logo appears below and to the right of the Facebook logo.
  • It’s already a mature ecosystem. Most of the low-hanging fruit has already been picked by the first wave of app developers, so people looking to break in to the field now need to put in more time building advanced apps that may not have as much viral potential.

Despite all of this, Facebook still has a ton of stuff going for it.

  • Facebook has over 60 million users the last I saw, and most of these are real people with real data you can look up using Facebook’s FQL query language. None of the OpenSocial sites can touch this since they focus more on getting new user accounts and less on getting detailed info on each user. It will be interesting to see how this changes over time, since Facebook is currently drinking the user count punch and have relaxed the previous restrictions on using school-provided email addresses to open accounts. If I were them I would be more careful about this.
  • Facebook’s profiles all look the same, making it a perfect platform for adding apps that will show up consistently from user to user. Good luck with this, MySpace. OpenSocial apps would also need to somehow customize the UI for each of the target networking sites, removing much of the “write-once-run-everywhere” benefits of an open platform.
  • While it can be rickety at times, their APIs have been out for over a year and are well-understood by developers who use them. OpenSocial’s APIs may have a bunch of big names behind them, but are untested and will take a while to mature.
  • Facebook has all of the hipness right now. Myspace is passe. Ning is tiny. LinkedIn isn’t really a widget audience. Hi5.com has an audience that is primarily not English-speaking. Same with Orkut. To me, this whole thing sounds a lot like the iTunes vs. Windows Media debate. “Hey! Your songs work on every device except one!” Only, that one has 70% of the installed base. If any of those companies was in a good position to take on Facebook, they probably wouldn’t look to Google to build an API and lend its name to launching it.

Obviously standardization is a great thing; it would certainly make my life and that of other Facebook developers much easier.  Unfortunately, until the number one destination for my target audience decides to play ball with OpenSocial we are out of luck.  I’m not holding my breath, either.

Mark Zuckerburg and the Facebook camp have great plans for their little company:  a social operating system.  Joining OpenSocial would be like Microsoft deciding to say “Screw it.  ODF really is good enough.”  That is to say, impossible.

Til next time.

An Idea for Apple

Great article over at the New York Times about Apple and its recent ascendancy to the number one position in market cap amongst computer hardware manufacturers.  The article contrasts Apple with the three tech companies with a larger market cap, (Microsoft, Google, and Cisco) and gives them credit for maintaining their excellent performance without monopolizing a particular segment of the industry.

But there is a key difference, too. The other three have established dominant positions in their markets, which fends off rivals and keeps margins high.

Apple is a distant No. 3 in PCs. It dominates personal music players, but it has a much more modest share if you define the consumer electronics market more broadly.

Still, Apple maintains margins through a combination of innovation and marketing that leads consumers to prefer its brand. That’s a great achievement, but it is harder to maintain that edge than an operating-system monopoly. For an investor, one question is whether Apple can capitalize on its momentum to catapult itself to a business that doesn’t depend so much on each successive product introduction.

To reach one of the top two positions in desktop PCs, Apple would need to increase the number of its machines in corporate offices.  This is an area the company has been extremely slow to attack since its brand has been built around being something users aspire to, not the cheapest PC on the block.  Dell and HP have no such qualms.

Fortunately, there is a solution to this:  Thin Clients.

Ok, ok, you’ve heard this before.  Some Internet fanboy going off about how thin clients are the Next Big Thing despite mountains of evidence that says corporate types won’t pay 90% of the price of a “real” PC for some little box with a weak processor and no hard drive.  Fair enough.

But it makes so much sense for Apple.  Here are my reasons for thinking so.

  1. Apple’s Hardware is Hot:  Thin clients are traditionally seen as little boxes into which you plug your existing monitor, keyboard, and mouse.  They are to be used and not seen.  Apple hardware, on the other hand, creates demand.  I go to the Apple Store just to ogle the 24″ iMac, and I don’t even need the damn thing.  If they were to bring this same design to the thin client world, people wouldn’t see the thin client as a PC, only weaker.  They would see it as a beautiful productivity tool that makes a Dell look like a piece of junk.
  2. Apple Wouldn’t Have to Lower Its PC Prices:  Apple desktops and laptops could maintain their price premiums, and the thin client would give them a backdoor into the cost-sensitive corporate market.  Sure, it would cost more than regular thin clients, but nobody buys those anyway.  The key part is that it is cheaper than Dell PCs, and also much more attractive.
  3. Apple Already Makes Servers:  Thin client implementations (usually) consist of both the a client component (what goes on peoples desks) and a server component. (what those machines connect to)  Since Apple already makes XServes, they have an answer for the other side of the equation.  They would probably to add more software, but they are pretty good at that.
  4. Apple Plays Well With Windows:  Apple isn’t just Mac OS X anymore.  Most thin client situations would require the computers to run Remote Desktop, Citrix, or some other tool to export the display from the server running the actual software to the client machine.  Apple supports these pretty well for times when everyone can’t use OS X.
  5. They Already Did the Mac Mini:  The Mac Mini is a curiosity in the Mac lineup.  It is the only computer they sell that doesn’t seem fully formed in its own right; no display, no keyboard, no mouse.  Its only function seems to be as a PC replacement for people looking to try out the Apple world on the cheap, or as a toy for people who like collecting computers.  So how different would a thin client really be?  Instead of trying to put good components in a tiny box, they would be trying to bundle a display, keyboard, mouse, and low-spec computer into an affordable package.

So there you have it.  A plan for Apple to get into corporations.

Maybe it seems sacrilegious to some to have a company with such a nice hardware/software stack to make such an obvious attempt at a mass audience.  I don’t really think that is an issue.  Apple has proven time and time again that when they enter a field, they do it their way, and I don’t think this particular market would be any different.  They would redefine the category.  A field currently littered with generic parts and weak usability would get the iPod treatment:  Top-notch styling, dazzling features, and envious looks from coworkers.

Til next time.

Unbundling Windows

Interesting article on linked on slashdot today. It is a call to action/FAQ requesting competition regulators take steps to unbundle Windows from new PC purchases to increase competition on the desktop software front.

From the article:

All hardware manufacturers should ship personal computers with no pre-installed operating system. They should include within the packaging of the computer a media copy of the then current Microsoft Windows recovery CD. They should also include a copy of one of the main Linux distributions which are freely-redistributable at no charge.

Upon unpacking the computer, the consumer must then make a choice of either:

  1. loading Windows from the Windows recovery media, then using the brochure included with the recovery media to contact Microsoft and through some form of financial transaction, acquire a licence to use Windows, or

  2. load the Linux operating system from the CD/DVD included, and use it as their computer operating system.

Both the Windows recovery and the Linux installation media must be shipped with the new personal computer with a minimum of additional expense to the consumer. Specifically, it is of critical importance that the consumer receives the cost reduction advantages introduced by removing the licence[sic] fee for the bundled OEM Windows.

I believe this is unnecessary since the market will eventually take care of it, when people realize that they need to put more resources into an open-source Windows rather than trying to get their grandma on a Unix clone. End-users use the Windows platform, and the quickest way to get them off Microsoft software would be to give them that platform without Microsoft software. Pretty easy, huh?

That aside, I think the author of the article could achieve his objectives in a much simpler way:

Require that users choose their operating system when they build their PCs, and include Linux on the list.

Most times when you order a computer online, you choose the components and upgrades you want, and there is often a little menu that says something to the effect of “Windows Vista Home (standard), Windows Vista Home Premium (+$50).” All Linux advocates need to do is get it included on that list, preferably as the baseline price. If the above list said “Fedora Core (standard), Windows Vista Home (+$90), Windows Vista Home Premium (+$140)” I think we’d have the start of something good. Especially if the office suite and antivirus options became preselected as “Included” and “Not Necessary” respectively.

This idea would give Linux a seat at the table, and a pretty compelling one at that. The operating system’s biggest problem right now is that nobody outside the computer industry really knows about it, and what they hear makes it sound scary. If it was a cheap, pre-installed option, it would be very appealing for many buyers. The freeness would also help with the expectation gap. One of the biggest threats to the “alternative” platform is that it needs to be demonstrably better than the incumbent. While it has many great qualities, every little UI glitch or gotcha in Linux is amplified to unfamiliar end-users who are told by the penguinistas that it is the operating system to end all operating systems. The fact it is “free” and Windows is “expensive” under this scenario makes end users more prepared to work through its problem areas.

Unfortunately, the consumer PC business is a tricky beast. Microsoft knows that their power comes from the fact they are the default and protect this franchise with everything they have. Their financial might allows them to help the PC vendors with co-branded advertising, customer service support, and other benefits Linux vendors can only dream of. Also, I suspect the PC vendors are paid by the bundleware software companies to put trial versions on their PCs, so moving to Linux removes this source of revenue.

Even if we were able to eliminate the legal reasons Microsoft Windows is the only mainstream OS, we would still have to grapple with the practical ones.

Rather than government regulation, the open-source crowd should focus on beating Microsoft in the marketplace. Market gains are sustainable and aren’t subject to the will of various legislative bodies. More importantly, Microsoft’s platform is vulnerable to commoditization, when and if the open source crowd decide to ignore the fact that it isn’t Unix. The battle for the desktop is over, my friends. Now it is time for us to embrace and extend.

Til next time.

Facebook Apps

I’m in a weird mood tonight, and I think this post might reflect it.

For the past few weeks I’ve been working with my friend Bret out in San Francisco on a series of applications for the Facebook platform. From what he tells me it is the skill to have if you want to land a job out in the Bay Area, which I may want to do in the not-to-distant future. So I sucked it up and learned the API. And you know what?

It isn’t that bad.

Facebook apps are like regular web apps, but with a few slight modifications.

  1. In the most common form, they are limited to running inside a panel in Facebook. This means you have a few design constraints to work within, which is both limiting (”I hate blue designs!”) and liberating (”Well, let’s see what I can make of this crappy blue design.”)
  2. The apps are just a series of POSTs. The user clicks through your app on Facebook’s servers, which in turn shoots HTTP POSTs to your server to get matching content. You parse the POST to get session and user information, and to determine the state within your app.
  3. The API, while generally complete, does feel a little like it was designed by college kids convinced of their own cleverness. There are a bunch of weird concepts floating around (”permanent session keys?” Huh?) and the inter-relationships between what is POSTed to you, FBML (Facebook’s convenient XHTML additions), FQL (the query language), and the REST API are somewhat unclear and take some tinkering to figure out. Also, the documentation isn’t as complete as it could be.

So what makes Facebook apps so interesting? I think it comes down to two things:

  1. The service has millions of people on it.
  2. The API lets you spam them with news feed stories, requests, and profile widgets.

I’ll be honest with you, I don’t use the service much at all. I graduated from college a long time before it came into being and never feel entirely comfortable with giving my personal information to websites anyway, nevermind the login information to all of my email accounts. Still, there is a demographic out there that does do all of this stuff, and it seems to get bigger all of the time. Facebook app builders want to get in front of this group and build up their user stats.

Now, A Rant

There is a perception in the Interweb that where there is smoke, there must be fire. Although nobody understands exactly what makes a particular idea (or implementation of an idea) take off virally, they do know that advertisers or larger companies will pay good money to get in front of those eyeballs. Often the “good” sites are only known in retrospect, since they are the ones that, ya know, survived. It doesn’t matter if the actual service offered by the site is any good, or if it has a viable business built around its core service. Or a value proposition more complicated than “use us, your friends do!” Traffic is validation, and it is certainly valuation.

This makes me sad.

I believe in an objective good. A Platonic Ideal. The feeling a coder gets when they build a product and every single object and API lines up just so. Every parameter has a value passed in. And I don’t believe I need someone else (or 10,000,000 other people) to tell me it is so. I just know it.

There is a danger in gauging a product or site’s quality based solely on how many people use it. Not a danger as in “the world will end.” It’s as if we just decided to get rid of classical music because Justin Timberlake sells so many more albums. Forsaking art for pap. Replacing a lifetime of work studying the intricacies of an instrument for “Dick in a Box.”

Unfortunately, I don’t think many other people share my sentiment. They like numbers, and winners, and things that are easy to quantify. Even people who understand quality sink to the lowest common denominator when confronted with opposition. Take Apple fans, for instance.

Apple laptops are simply better than Dell laptops. They are beautiful, have faultless lines and are made of quality metal. The keyboards light up in the dark, the trackpad includes infinitely useful multitouch gestures, and even the damn electrical plug is held in with magnets, so if you trip over it, your computer doesn’t fall off the table. They thought of everything. With each MacBook generation, virtually nothing changes aesthetically on the computer; it just gets more and more refined. Dells are rickety and plastic, with ugly wall wart plugs. They have holes all over them where you can stick various attachments. Last I saw, they had bulky CD/DVD trays that shoot out the side when you click eject. And they are so damn noisy.

Yet, when a Dell user brings up the fact that Dell sells many more laptops than Apple, many Apple users retort with something about how the installed base is actually higher because people keep their Mac longer. Come on! All they should do is laugh a little, show a knowing grin, and walk away. The lure of getting caught up in a number argument is too great, because quality is impossible to measure.

Conclusion

So now I have built Facebook apps, and am glad I had the experience. I also feel slightly evil, like I have contributed to the cacophony rather than made the world a prettier place. Strange, that.

Til next time.

Nokia 770 = Love

The Linux enthusiasts out there may remember a few years ago that Nokia released an Internet Tablet called the 770. It isn’t quite a cell phone, and isn’t quite a laptop, but something in the middle.  The big knock against it at the time was the price tag, often somewhere in the $350-400 range. For a device that isn’t quite anything, that is a decent amount of bank.

Well, times have changed.

Nokia released the followup device, the N800, earlier this year and as a result many internet retailers have been flooded with 770s. They can now be had for as little as $130.

So I bought one, and I have to say that I love it. As a longtime Linux enthusiast I am probably a little biased; I routinely spend entire weekends trying to get servers up and running, so the ability to hack a device that fits in my pocket is a long-awaited delight. It has a beautiful 4` screen with a semiludicrous 800 by 480 widescreen resolution. It connects flawlessly to WiFi and many bluetooth cellphones. It runs a Debian variant and can be updated via apt-get. What more can you really ask for?

I have even found some uses for the thing!

I installed a streaming media server called SlimServer on one of my Linux boxen and can now use its web interface to stream music to the Nokia’s media player. It’s like a radio where I can pick the music! There is a version of mplayer available that lets users watch movies and TV shows on the device, and a handy desktop application that helps encode your movies for optimal performance. The web browser is AJAX-capable, and I am using it right now to edit this blog article in Wordpress. The Bluetooth keyboard compatibility makes it much more palatable to use the Nokia as a laptop replacement since it gets around the one-finger, hunt-and-peck onscreen keyboard. Did I mention it has a terminal with most Unix utilities built-in? I installed subversion and the vim text editor for some of my light development work. I am also pretty sure that ssh is available for server management tasks. Also, it has a VNC client and server. I can connect to my Macbook and click around OS X pretty seemlessly. Depending on your resolution the amount of scrolling can be awkward, though, so your mileage may vary.

Despite all of these positives, it isn’t really for everyone. I bought one for my girlfriend in the hope she could use it as a web browser, pocket word processor, and ebook reader. She was frustrated by the flakiness of the oldish Opera browser which randomly crashes on sites she happens to frequent. She found text input to be a chore with the tiny onscreen keyboard and stylus. The default Acrobat reader doesn’t allow for vertical orientation, forcing the user to scroll more often then she would like. Finally, the software available for the device is difficult to install for the uninitiated. Unlike Palm, with a huge installed base of regular users, the Nokia community seems to be largely computer geeks like myself who think nothing of setting up apt sources and manually tweaking text files until everything works right. The main website to get software (maemo.org) contains a handful of one-click install applications, but most require you to set up repositories in the package manager for almost each and every app you want to install. This is a dealbreaker for the casual point-and-click user.

The Nokia 770 is difficult to pin down. The included software is generally solid while not being robust enough (in my opinion) for casual users. It shows some signs of being a version 1.0 product. For me, this is offset by the fact that there is really nothing else like it out there. I have had a fair amount of experience trying to use a smartphone for web browsing and the Nokia redefines what the portable web can be. It’s an inch or so longer than my Blackberry and has about three times the pixels to work with, letting me see the pages as they were meant to be seen. Given a good portable keyboard, the device can be a serviceable laptop replacement; it can use Abiword for word processing and GNumeric for spreadsheets, and has plenty of Unix development tools. While no PIM software is included, it is easy enough to download. And it still fits in your back pocket.

If you have some time and a spare $140, you just may fall in love.

Til next time.

Capitalism and Power

Living in Washington, DC, politics is never far away. Everyone here either works for a politician, military contractor, government agency, think tank, progressive non-profit, or some other interest group, and it’s impossible to avoid a lively debate every now and again. Being the token libertarian in my circle often means I get to play defense for all the other heartless plutocrats of the world. I am always looking for a new shield.

Imagine my surprise when I walked into Borders and they had a book on display called the Politically Incorrect Guide to Capitalism. Right in the front, next to the Obama and Hilary Clinton autobiographies!

I didn’t finish reading it, but what I did get through was thought-provoking; the author questioned everything from rent control to racial relations and depicted them in an economic context, describing how free markets provide solutions and avoid the “laws of unintended consequences” that tend to follow governmental regulation. That said, the tone of the book wasn’t terribly friendly to liberal (socialist-leaning, not classical) readers and might alienate them more than it would win them over.

This isn’t a book review, however.

The book brought up a point that I had never really thought about, but makes a lot of sense: The debate about capitalism and its merits is really a debate about power and how it is apportioned.

First some background. The two main competing ideologies (capitalism and socialism) are not mutually exclusive, and most societies that exist in real life contain elements of each. Capitalists tend to err on the side of smaller government and more individual freedoms, and socialists tend to err on the side of larger government (with more regulatory ability) and individual entitlements. Oddly, both sides see themselves as humanist. Capitalists think that people should be free to pursue their ambition, and socialists think that they should be free from having to worry about starving to death.

Of course, it’s hard to talk about this stuff without using charged words. “Entitlement” above could be controversial because it carries the connotation of an unearned benefit; that isn’t the intention here, however. Similarly, most socialists wouldn’t say that they want a large government; it is just the practical outcome of needing a body to turn to that can legislate change on a scale needed to make their policies come true.

The assumption made by the socialist-leaning people is that the government is a benign entity, accountable to the citizens. This is faulty on several counts.

  1. Even if a government isn’t malicious, it isn’t necessarily benign. Take our government, a typical representative democracy. Since politicians are vulnerable to not being reelected, one would think they would pursue policies that are in the nation’s best interest. Unfortunately, politicians aren’t really as important to the government as people commonly think. They provide leadership in the same way a tugboat leads a 150k ton container ship; they can nudge it a little, but in the end the ship is going to go where it wants to go. 99% of government employees are civil servants who are insulated by law from political mechanizations, and their choices in spending public money are made with very little accountability provided they don’t embarrass a politician. All of these small, individual choices, in aggregate, account for our soaring budget deficits and explain how the $2.9 trillion the federal government spends each year still doesn’t manage to keep everyone in the country fed.
  2. If history is any witness, giving too much power to the government is much more likely to lead to a Joseph Stalin or Chairman Mao than it is to lead to George Washington or Cincinnatus. Once people are given power, they tend to be corrupted by it and obsessed with holding onto it. Most socialist-leaning people are certainly not asking for totalitarian regimes. But there needs to be a line drawn over what the government has a say in and what they don’t, and liberal policies tend to push that towards more and more state control. Want a cleaner environment? Pass a law limiting pollution. Want kids to not be exposed to heavy metal? Pass a law to put warning labels on CDs. Want lower fuel prices? Pass a law limiting the “gouging” of oil companies. Pretty soon everything is a part of the public debate and the person in charge of the bureaucracy (the President) has a whole lot of power.

Capitalism is certainly not without its faults. In the purest sense, it doesn’t provide many safety nets for those unwilling or unable to play by the rules. It is near impossible to “opt-out” of it and still enjoy a standard of living comparable to those who still engage the system. In a society that values money the most, we tend to become isolated socially and forget about the benefits of community and being part of something larger than ourselves. The “tragedy of the common” (to the degree it exists) pushes people to use up shared resources with abandon since they aren’t required to bear the full cost of those resources themselves. These are all valid.

But there isn’t a better solution.

Somebody is going to have the power in a society. That much is unavoidable. Even a democracy has political elites. The Kennedys, the Bushes. The Huey P. Longs. The people who can use their charisma and confidence to get people to follow them. Is it better letting those people control the political dialog? Capitalists may be egomaniacs on occasion, but they are at least held in check by Boards of Directors, investors, and the need to not seem evil so people will keep buying their products and doing business with them. If they really overstep their bounds, they can get sent to jail, much like the Enron guys did. It may have been late, but it happened.

For the smooth-talking populist, the world is their oyster.

Til next time.