Wednesday, May 28, 2008

Thoughts on Embedding

Recently, during one of my long runs up and down the tortuous hills of San Francisco, the thought occurred to me that we have a lot of content being shared between sites. There is an increasing desire to host content from one application inside of another. One solution that sites like YouTube have used is the publishing of what is known as an embed code. At the time, I was thinking that it would be interesting to provide a service that could centralize the logic in creating different types of embed codes for different types of services. The concept was to abstract out the processing of embedding content to a higher-level service that I would create. Having come from a very service-oriented coding style at my previous employer, I had my doubts that this would be effective because you are effectively abstracting to another proprietary format. It might be better, but it is kind of more of the same.

Today, at Google I/O, I was approached by a couple of Powncers who were advocating on behalf of a service called OEmbed. It is meant to provide a common way of embedding external content into a given website. It involves introducing a level of abstraction on the consumer side of the embed process whereby a call is made to the content source to get its embed code.

I tend to be highly skeptical of introducing layers of abstraction, hence my rejection of the aforementioned idea that I was kicking around while running. However, in this case, there is an indirection that I think could be extremely powerful, making the abstraction worthwhile. OEmbed requires the content source to translate a given request into a corresponding embed code, alleviating the content container from having to handle the translation itself (which is how sites like Pownce have to do it presently). In this way, content containers can take advantage of a common framework (e.g. OEmbed) to translate certain markup (e.g. hyperlinks to videos) into actual embed codes, and the proprietary logic remains inside the content source.

There is still much I need to research into the concepts of OEmbed, but it generally makes sense to me. Hopefully, I can convince others of this line of thinking and/or help shape it as grows.

Saturday, March 15, 2008

Definitions

These are some terms myself and friends have coined over the years to describe situations we have been in.

Nuts-Out Development – when a development team makes changes to code intentionally without testing the changes or ensuring that the changes do not impact other developers. For example, a developer may do this to cram something in before a deadline. In this scenario, a developer effectively “hangs his nuts out there” to be stepped on.

Child-King Syndrome – when a manager is elevated too quickly through the ranks. For instance, if a prodigious developer is made a manager too early in their understanding of development process. As a result, they may have a deep sense of responsibility, but fail to know how to act effectively. Furthermore, they are stunted in their decision making abilities because they feel an obligation to their role (i.e. decision maker) more so than the goals of the group. Subsequently, ideas are often fast-racked without exercising full diligence with disastrous results.

Clode – code that strives to be as complex as possible, the goal being to extinguish simplicity in all of its forms.

Black-Ops – organizing a team of developers outside of the main development team, under the radar of management, to try and produce a prototype or rewrite of code that would make the original product inherently better. This is a smell that indicates that the team as a whole is not sufficient.

Complexifilication – the name says it all. Over-complicating things.

Migration

I keep my plan for world domination in a handful of pages in my Backpack account. There, I track my ideas on entrepreneurship, leadership, coding, socializing, and general self-betterment. The pages are starting to get too long, so I am migrating a lot of the more general content to my blog. Therefore, there may be a lot of blog posts shortly after this one.

Thoughts on Web 2.0 Companies

I am particularly interested in companies that do not have a business model based solely on the Internet. For instance, without a web component, companies such as Amazon, Prosper, and Zipcar are in effect, a bookstore, a bank and a car rental company. They could still remain relevant without a web presence. However, their approach to their business is to concentrate on web technology in ways that enable them to outperform their brick-and-mortar equivalents. These companies exhibit some key characteristics that I like.

First, these kinds of companies have a sense of tangibility to them. Doing business with them directly affects your physical reality. For instance, when you buy a book through Amazon, a package arrives in the mail containing it. When you take out a loan on Prosper, your bank account correspondingly increases when the loan is funded. When you reserve a vehicle through Zipcar, a car is waiting for you in the parking spot specified. Contrast this to Facebook, where friending someone results in gaining access to their information. Nothing truly happens in the physical realm. I can respect the power of information-only business models, but I just cannot seem to shake the sense of unease that they impart in me.

Second, because of their nature, companies such as Amazon, Prosper, and Zipcar will make some iota of money from every transaction that is ever undertaken by a customer, even the very first. Obviously, this does not necessarily correlate to profit, but it does seem to be a simpler way to eventually get there. Making money from the very start is an important characteristic of a company to me. It seems to encourage slower growth and offer more opportunities to make adjustments based on your customers. Certainly many people have made an immense amount of money by building huge audiences very fast and then selling advertising for them. However, I think what is overlooked is how much of an investment it really takes to build up and more importantly, maintain, a target-able audience. The advertising business model is glamorous, but I do not think it is for me.

Third, these types of companies are subject to physical constraints. There is only so much warehouse space for books. There are only so many delivery trucks in the world. There are only so many parking spots available. These businesses are subject to the natural forces of supply and demand. If a ZipCar sits in its spot unused, it is costing the company money because it is depreciating in value and it is taking up a rented parking spot. Therefore, a surplus of ZipCars is a liability to the company and carefully monitoring the number of ZipCars necessary to fulfill local demand is of the utmost importance. Contrast this idea with search results. If a search engine constantly returns a surplus of search results, is it a liability to the company or advertisers? Not particularly. Information has become so cheap to store and transport that it is often cheaper to simply return all potentially relevant information available rather than exert the energy needed to be sure all results are relevant.

Friday, March 07, 2008

SxSW: Interesting Idea #1 of Many

One panelist talked about having his members of his team keep office hours, similar to a professor. This is different from flexible hours in that the emphasis is on coordinating the individual instead of the team. Teammates who need one-on-one, face-to-face time can plan around office hours. Otherwise, formal team meetings can be done over virtual conference and individual development can occur offsite.

Monday, February 18, 2008

Wrong Makes Right

Lately, I have been reading The Golden Ratio by Mario Luvio. About halfway through, the author addresses the studies of Johannes Kepler, who made an attempt to explain the relative orbits of the planets using polygonal geometric primitives (see image).


What intrigued me was that Kepler's model had a resoundingly positive impact on science at the time, even though it would eventually be debunked as utter nonsense. The author argues that this is probably the most significant example of completely incorrect information unlocking new paths of genuine scientific understanding. As a scientific society, we strive to build up networks of facts to satisfy our hypotheses, and a hypothesis unable to stand on fact is not proven and therefore has no perceived value to us. By that rationale, how could something based on loose calculations and unproven theories lead to anything relevant? I think that the dilemma stemming from the example of Kepler's model reveals how truly human the pursuit of knowledge is. This led me to reflect on how often in my field we encounter situations where the scientific approach may not validate a particular idea, and the idea proves false, but the simple act of pursuing the idea has uncovered value.

Sunday, July 22, 2007

Latent Potential

I was reading Guy Kawasaki's 'Rules for Revolutionaries' today, and he mentioned an interesting study. Essentially, the study asked the question "Why did birds evolve wings?" A wing that is 5% of the size of a regular wing is worthless for flight. So what evolutionary advantage would there have been to develop the nubs that would eventually turn into wings? Scientists discovered that wings originally evolved for warmth and not flight. Furthermore, they hypothesized that evolution may leave behind opportunities of 'latent potential'. Hence, when an evolutionary path reaches a certain measure of maturation, there may occur an opportunity to branch or change in interesting and beneficial directions, such as the case of the wings of a bird.

This is of keen interest to me as, like Guy Kawasaki, I see a tremendous parallel to the computer industry. The companies that I feel drawn towards seem to have this amazing ability to not only identify new opportunities, but somehow leave behind paths to other potential opportunities within their own work. I also think that companies like Google are now trying to acquire companies with high latent potential, even if the acquired company itself may be unaware of it.

There must be clues in nature to as to what kinds of decisions raise the chances of a potential opportunity. Personally, I think that simplicity, organization, elegance, efficiency, fluidity, and exposure are the keystones of latent potential. For instance, clean, organized code that is exposed to many developers, will inevitably be easier to work with and may as such, be prime for new opportunity. I think that management structures that are simple, efficient and organized, yet remain fluid, are going to produce the most innovation.

Me: The Domesticated Animal

Argh! Damn you free Google food! You have spoiled me already. My refrigerator is devoid of food because for 5 days out of the week, I have no comprehension of the necessity of storing reserves of snacks, meals, and otherwise. It only occurs to me on the weekends. Usually, Saturdays are exploration days. I'll venture out and try out one of the higher ranked restaurants I find on Yelp. However, by Sunday evening, I have run through any leftovers and make my way to the fridge. I open the door only to find one bottle of water, a half of a bottle of orange juice, a nearly empty jug of milk, and a wedge of brie cheese. I have no other food and all of the grocery stores nearby have closed for the day. Sonuva! I have become an animal that can no longer survive in the wild.

Saturday, July 14, 2007

Facebook Phenomenon

So now that I live in San Francisco and work in Silicon Valley, I cannot help but get caught up in the drama of the technology of Web 2.0 world. Recently, I read a rumor that Microsoft may be in the market for Facebook at the cost of $6 billion dollars. Are you kidding me? Word on the street is that the executive team at Facebook has in the past turned down offers as high as $1 billion dollars. Are they insane?! Take the money! Screw the IPO!

Yes, everyone I know uses Facebook and yes, I frequent it myself and maintain my own profile. However, let us think about this rationally. It doesn't make the kind of money to justify $1 billion dollars or more. I think too many people have bought into the idea that millions of eyes will inevitably lead to millions of dollars of revenue. The more tech savvy will take it one step further and suggest that millions of eyes will lead to millions of dollars "once the problem of monetization is solved!" Once the problem of monetization is solved? Seriously? I have had real conversations with really smart people who buy into this line of reasoning! In a for-profit business model, isn't the fundamental problem making money? How are you going to learn how to make money and evolve your business accordingly if you spend the bulk of your growth cycle on capturing and articulating your audience?

This is not the same situation as Google. Google innovated their way towards a solution to generating revenue. They did so almost immediately after Google started getting remotely popular. Google anticipated a need to actually make money well before it became time to turn public. So far, what have we heard from Facebook? Sure, maybe peoples' interests and the interests of their friends may yield decent targeted advertising. However, people are searching for everything on Google. People are searching for people on Facebook. There's a BIG difference.


Facebook also recently built and deployed a glorified widget platform. In my opinion, it is masquerading as the innovation necessary to bring Facebook to the level of uber-profitability. I do not think it has the potential to turn lead to gold as Mark Zuckerberg's keynote at f8 would lead us to believe. The concept of the mash-up has been around for a while and I don't think anyone has really made a killing as the middleman in such a model (read Widgets Suck for a decent opinion as to why).

My prediction is that Facebook is going to hold out for an IPO. The IPO is going to blast off initially because far too many non-technical investors will hype it up without fully understanding it. Then, with all of the financial documentation that will become available, smart people will start to recognize that there is no real money there to justify a high market capitalization. The stock will tumble and the company will be worth less than anything offered before it went public.

Maybe I'm just a pessimist, but if I were 23 and had built a website that was receiving offers of $6 billion after only 3 years of existence, I would take the money and RUN! Seriously, you made it to the big leagues. Cash out, keep one eye on your creation, and if glory is what you want, start the process all over again. Remember, Steve Jobs is only Steve Jobs because he built Apple from the bottom up twice.

Thursday, July 12, 2007

iPhone-errific

Luck is something that I must have quite an abundance of. Eight months ago, I managed to find a Wii, three weeks after its release, without waiting in line or resorting to eBay. Now, an iPhone found its way into my life, under similar circumstances.

Living only a block away from the San Francisco Apple store on iPhone Day, I could not quell the overwhelming desire to cruise by the line of iPhone campers and see what kind of turnout there was. It was simultaneously an awesome sight to behold and a dream crushing reality to face. It looked like the iPhones were going to sell out immediately. So I headed to work, head hanging low.

Later that evening, I casually wandered over and found the Apple store completely packed. I waited about 15 minutes trying to get my hands on one of the demo iPhones, but could not break through the crowds. I glanced over at the check-out line and noticed that it was conspicuously empty. One of the attendants read my mind and stepped over to let me know that there were still iPhones in stock. With a 14 day return policy, the little muse on my shoulder convinced me I could always return it. (Riiiiight.) So I bought one.

It has since been two weeks and because a friend asked for my perspective on it, here it goes.


There is no way I am going to return it. At this point, it is like an extension of my being. Over-dramatic? Perhaps. However, I have turned to it for virtually everything. Everything except work. I have come to the conclusion that if you can detach yourself from work, the iPhone is going to make your life better. And if you can't, it is probably not really meant for you. Give an HTC a try instead. It's what I used before.

The first thing I did was sync my music with my iPhone. This meant I could leave my iPod Nano at home from that point forward. Given that I have no vehicle and walk everywhere (by choice), having my music library to go through really helps make the distance seem less. I love the fact that the volume buttons on the side still respond even if the phone is in its locked mode.

Next, I pulled down my contacts from Highrise and loaded them into Address Book. My Address Book synced right through to my iPhone without much of a hassle. Somewhere in the process though, the pictures associated with my contacts were lost. It was a good time to update many of the pictures anyways, so I spent the hour it took to crop pictures off of Facebook and update my contacts. The contact list on the iPhone is good enough, but I could not help thinking what might have been had they used CoverFlow to page through contact photos to find your contact.

Since I just moved to San Francisco, searching for an apartment was a huge priority. Google Maps on my iPhone proved invaluable in finding directions from open house to open house. The built-in PDF viewer allowed me to read Craigslist entries I had printed off and mailed to my iPhone. The combination of the two functions most certainly allowed me to see more apartments in a shorter amount of time and in a more efficient schedule.

I have been using the camera on the iPhone for candid photos, eliminating the need to carry around my Sony DSC-W80. The quality seems decent enough and I love the camera shutter effect. The photo viewer is really awesome. I even synchronized some of my photo albums so I can carry them around with me to show people. I never thought I would use my iPhone for that.

I am turning to my iPhone to help reduce the amount of TV I watch and to give me an adequate reason to skip cable altogether. I started purchasing Multi-View Passes for shows like The Daily Show and The Colbert Report off of iTunes. Every morning, the latest episodes download and synchronize to my phone. Now, I can watch some television while riding the train from San Francisco to San Bruno, which is all I really need. The playback of videos, both iTunes and YouTube content, is awesome. The screen is amazingly clear.

I use the web browser fairly frequently, but mostly for applications such as Ta-Da List. There are a handful of ideas I have for iPhone applications, so I am constantly seeking out other iPhone applications to see what other people developing and how. I downloaded iPhoney and started developing some simple projects. I love that iPhone's flavor of Safari has webkit built in.

The keyboard is interesting. I'm used to stumbling through the UI of my HTC substituting my thumb for the stylus, so I have developed pinpoint thumb accuracy. Many of the problems people are having with the keyboard just have not bothered me much. I do wish that in text messaging and email applications there was the ability to flip to landscape mode.

Other than that, I write notes to myself using the notes application sometimes. However, that feature is nothing special. I check the weather on my phone all of the time because its simply faster than waking up my laptop or finding the Weather Channel on TV. I need to figure out a way to sync my gCal with my local Calendar before I'll really be able to take advantage of my iPhone's calendar features.

There you have it. I eliminated two devices from my pocket - my iPod Nano and my Sony digital camera - because of my iPhone. I travel lighter and have more access than I ever had with any phone before. People are complaining about the EDGE network, but I guess I love my iPhone enough to look the other way. I'm finding new uses for it everyday.