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.