DNA replication

More: Body Code.

L-system

For reasons unknown to myself, I stumbled home late Saturday night/Sunday morning and on a whim it hit me: fractals in JavaScript! An hour later I had the following set running, slowed largely by an initial misstep relying on the Raphaël vector graphics library which turned out being dog-slow for my purposes. I reverted to using the plain old Canvas element, although of course that kills IE support.

The following L-system (Lindenmayer system) fractals have been implemented:

  • Hilbert Curve
  • Kosh Curve (90 degree variant)
  • Sierpinski Triangle
  • Dragon Curve
  • Gosper Curve
  • Fractal Plant

Fractals are something I’ve had surprisingly had limited experience before, so no doubt my implementation is rather naïve. L-system as it turns out is rather trivial to implement, following some basic rewriting rules that translate to instructions reminiscent of good old Logo / turtle graphics. Mandelbrot will be next when I get a chance as it should provide more of a challenge.

Click here to view; they should play in sequence (browser support permitting). The number of iterations is largely limited by screen real estate. I could add proper scaling but I have to work tomorrow - those interface contracts aren’t going to write themselves!

Hang this up in your time machine

I usually refrain from blindly reposting things that are making rounds across the blogosphere however this is too tantalising to pass up. I’ve often wondered what I would do in such a hypothetical situation, so now I know. Click to view full size.

Time traveler's cheat sheet

Aside: Love the viral advert in the footer.

Revenue Skimming

I’ve recently become sensitive to a slight increase in the revenue model I’m choosing to coin Revenue Skimming. No doubt it has an existing name; I am simply unaware of it.

Revenue Skimming is the technique of adding a superfluous charge on top of an existing transaction. It is distinct from simple up-selling as the additional charge is not associated with product in its own right. As a tangent, my favourite up-sell of late is the optional ‘carbon offset’ fee online stores are rolling out allowing them to look conscientious without actually doing anything.

I went Go Karting with a friend and realised that the bill didn’t quite add up. When questioned, I was informed that the discrepancy arose from an additional “driver’s licence registration” fee. I am now the proud owner of a novelty drivers licence card, complete with my picture and twelve month expiry. You need a licence before you can drive.

The obvious disadvantage is that this approach may deter customers. No doubt a minority of customers have stormed out in protest. I am unsure how this model would transfer to a web business as far more effort has been invested in travelling to the Go Kart track compared to navigating to a website. Additionally, it is easier to compare with competitors online.

The obvious advantage is a potentially significant increase in revenue from the same number of customers. Here are two less obvious advantages:

  • Drives repeat customers: when using a subscription model (such as the licence with a yearly subscription fee), an existing customer has a vested interest to repeat their patronage. It is now comparatively cheaper to return as this one-off fee has been paid. In fact, it would be a shame not to. Similar to other loyalty cards and ‘buy ten get one free’ coupons this also acts as a permanent advertisement in your customer’s wallet (except now it has a value, and as such will not be thrown out).
  • Opportunity for data collection: subscription can be coupled with the collection of personal information including email addresses and other contains details. Nearing the end the subscription period a limited offer to renew at a reduced price can be sent to customers deemed less likely to return on their own.
  • The US warehouse club chain Costco is expanding into Australia. It should be interesting to see how their subscription based shopping model translates to our shores.

    Choice of enemies

    “I choose my friends for their good looks, my acquaintances for their good characters, and my enemies for their good intellects. A man cannot be too careful in the choice of his enemies.”
    - Oscar Wilde, The Picture of Dorian Gray

    I’ve used this quote as the footer to my posts on a particular forum for a while now. Much like explaining a joke, I dislike elaborating in areas that should be self-evident. Doing so limits independent thought and abridges that which is to me intended to expand the mind.

    I was surprised to come across an explicit application of this idea in Getting Real from the poster child of agile software development, 37Signals. Try to think for yourself before clicking that link. You’ll be glad you did.

    Singular Value Decomposition

    Deriving patterns from weighty datasets is a rather fun problem that requires dusting off the mathematics textbooks. This wonderfully succinct and informative article outlines the steps involved in applying SVD to the problem of recommendation/suggestion systems. Although widely applied already, I can’t help but consider potential untapped applications for such techniques.

    Hopefully I’m not kept awake all night playing with this.

    Qualities of a successful web startup

    Providing value from customer one

    Thriving communities support even the most flawed premise. The classic chicken and the egg problem must always be kept in mind. Even ideas that are inherently social need to provide significant value in their own right when there are only a handful of users. The idea must sustain itself for long enough to build a userbase.

    Content

    As a technically oriented person, it is often tempting to devote myself to developing the infrastructure and consider the content as an afterthought; the miscellaneous minutiae of online business development. The fact is that in most cases, content matters significantly more than the technical. Quality content is the key asset that can drive growth and maintain repeat customers. As with all assets, content can be expensive. Unique, well developed content can be prohibitively expensive for a startup.

    Conversely, content is ubiquitous.

    The Creative Commons licenses provide a wealth of resources to draw from, many of which are commercially viable. Attribution is a small price to pay, and at times can even be a selling point. The company Threadless has built a thriving business around community sourced fashion design. Artistically minded members of the community submit designs to a vote. The winners receive a cash prise and the exposure of having their work go into production. The kicker, of course, is that Threadless keeps the profits from these subsequent sales that although undisclosed likely dwarf that handed out to the community. Although they assume some risk, the social voting component acts as a focus group to gauge interest, maintaining small runs and print on demand production further mitigate this. Attribution has never hurt Threadless; in fact it’s one of their key marketing techniques.

    Projects such as DBpedia and Freebase aim to extract structured data from semi-structured sources such as Wikipedia. These datasets are then exposed for third party applications to query and build upon. OpenStreetMap aims to provide freely available geographical data and street maps unfettered by the licensing constraints and associated costs of proprietary solutions. Filtering these disparate sources for suitability and intertwining them in a meaningful way is a difficult challenge, but an achievable one.

    Not to mention purely user content-driven sites.

    Residual income

    When generating sustainable business ideas, a common trap equates the freelance path with business ownership. These two approaches couldn’t be more divergent. It is a cliché, but you want to build a business not a job. If a business isn’t self sustaining after the initial setup phase and grinds to a halt when you are out of the office you are doing something wrong.

    Revenue stream

    It is my contention that potential customers willing to pay for a quality product or service still exist. The ease of setting up subscription payment models makes this approach feasible for even the smallest of companies and also allows potential customers to trial your services with minimal outlay. Subsequently, by keeping the price unobtrusive you can achieve customer lock-in through inertia: although I disagree with preventing a customer access to their data, there’s nothing wrong with making migration unattractively painful compared to a small monthly credit card debit. This also provides a reliable revenue stream that can be forecast and used to build greater assets. The tiered plan approach is common and tested, however I would like to note that I have read commentary (unfortunately I lack the attribution) musing that the cheaper accounts are often loss leaders. If this is the case, one would have to look at their conversion rates carefully to calculate if offering these lower tiers is worthwhile. (Dan, please provide your opinion in the comments. I need an economist’s perspective.)

    As I’ve likely mentioned here before, I have long felt an affinity towards contrarian investing that I like to express using the oversimplification “if the majority are invariably wrong, doing the opposite will invariably be right.”
    There’s no point following the crowd if you can reasonably determine they’re wrong.

    Not to mention advertising and hybrid approaches.

    Marketing

    Marketing starts with idea generation. “Build it and they will come” is fun, but if you can ascertain who they are this will inform your actions. Although arguably overzealous, the approach of defining your customer not only in broad generalities but in specific, human terms is a useful one. A few brief sentences describing your customer’s name, personality, interests and desires gives you someone to aim towards.

    I read an story in Business Week this morning on the use of mirco-blogging services to reach out to customers. It’s predominantly a fluff piece, but provides an adequate high level introduction and case study.

    Unimportance of legalities

    In contrast with my focus on licenses in the content section, it isn’t hard to think of disruptive businesses that threw caution to the wind: YouTube, Napster, etc. Deploy now and ask questions later.

    I have switched sides on this point several times in the past, but have finally concluded that I would rather fight to save something tangible than protect something imaginary.

    Had I developed something that received enough attention to raise the rabid dogs (read: lawyers) I would be rather chuffed.

    Financing

    Bootstrapping works.

    I am rather amazed at the multitude of people frothing at the mouth over Google entering the Venture Capital space with Google Ventures. Technological enabled startups are predominantly appealing as their initial and ongoing overhead is minimal. Chances are that buying one less coffee per week will cover the hosting costs of a web application of simple to basic complexity. Costs then generally scale with bandwidth, which is easy to cover if you’ve designed your revenue stream correctly. The only reason I see justifying going for VC is to make connections. Connections are important, money is easy to come by and startups are cheap.

    Crowd sourcing

    Ever since Amazon Mechanical Turk (MTurk) launched back in 2005 I have been generating ideas on how to leverage this unique offering. Billed as “artificial artificial intelligence” MTurk provides the ability for even the smallest company to outsource small, repetitive tasks for humans to complete on a pro rata basis. With an API that allows for submitting tasks automatically, it can be used perform aspects of a services workflow that cannot easily be automated by software. Additionally, I also see it as an avenue to temporarily implement components that could be automated but financial or schedule constraints make it cheaper or faster to outsource until the userbase expands beyond a certain threshold. Likely less risk is involved as well.

    Imagine piloting a new feature on a photo cataloguing website that automatically tags photos that contain people wearing hats. You could take a week training your complex hat recognition algorithm only to find out that users don’t particularly care about hats. A better approach may be to choose a subset of dedicated users to pilot this new feature for, and tweak their workflow to send each image they upload to MTurk for human categorisation. This way you get immediate feedback on the idea without the upfront risk. Perhaps you will discover the users wanted moustache recognition instead.

    Shoulders of giants

    I came across this funny anecdote of how Lisp destroyed one man’s programming career.

    Existing software exists to solve problems you haven’t even thought of:

    These solutions are tried, tested and vetted by greater developers than you or I. Conversely, I have learnt the pain of using immature solutions and unstable versions the hard way. This is one area where I have to work to reconcile the idealist and pragmatist sides of my personality.

    Ubiquitous connectivity

    Two camps have developed when it comes to connectivity. One says that connectivity is now ubiquitous and local replicas are unnecessary while the other maintains that connectivity will never be reliable and these issues must be addressed before web applications can be accepted as serious desktop application replacements. Google released Gears and later Google Chrome as a response to this risk, correctly recognising that the web browser represents the greatest point of weakness for their entire business. Other emerging technologies such as Apache CouchDB provide alternative solutions to these problems, having taken inspiration not only from IBM Lotus Domino server’s storage model but also its replication abilities. Android and iPhone OS are also jostling to provide a component to this solution, as are the various developers looking to go along for the ride.

    Break the rules

    Everything above here is rubbish. Break the rules. Be different. Be daring. Be unique.

    Speed

    “You can build prototypes in the time it takes to have a meeting” - Simon Willison

    HyperCard

    Continuing the theme of self indulgent reminiscing, I have fond memories of spending days as a child consumed by the multimedia authoring tool HyperCard and its spiritual successor (read: clone) HyperStudio. These environments were built upon the index card catalogue metaphor augmented with hyperlinks, multimedia, rudimentary database features and scripting to fill in the gaps (HyperTalk and HyperLogo respectively).

    Talking to my friend Jarrod, a fellow CS grad, highlighted a common history with these tools. I wonder how many professionals today owe their beginnings to these humble environments. [1]

    Then again, perhaps they were not so humble?

    These environments saw rise incredible creativity and enabled leveraging of the contemporary multimedia capabilities of computers at the time. HyperStudio in addition provided platform independent development (providing your platforms were Macintosh and Windows). Commercial examples such as Myst serve as a testament to the full power of these tools.

    A mixture of nostalgia and need has often led me to wish for a resurgence of these environments and so I was pleased to hear about TileStack: a spiritual successor (read: clone) of HyperCard deployed on the web. It can even import existing HyperCard stacks. Around this time the elusive obvious finally dawned on me: forget TileStack, we already have a crowned successor. Sir Tim Berners-Lee extended the card catalogue idea with networking components and the World Wide Web was born. (I speak colloquially and from my own timeline of exposure to these technologies that does not necessarily represent the true timeline of events.)

    Unfortunately, this is not completely true. Undoubtedly one of the web’s key focuses was on ease of publishing. The advent of HTML popularised human-readable markup. Discussion forums and blogging software subsequently lowered the barrier of entry further. Collaborative authoring and social graphs were grafted on this base with the rise of Wikis and social networking sites like MySpace and Facebook respectively.

    We’re not there yet.

    Micro-blogging has received a disproportionate amount of media coverage lately, but it too focuses on lowering the bar to publishing. Discover and discuss your favourite celebrity’s choice of breakfast cereal from your mobile phone, PDA or abacus. [2] The publish/subscribe paradigm has never been so glamorous. The unique differentiation of Twitter that often goes unnoticed by the mainstream media is its support for directed social graphs or asymmetric relationships. This allows for four distinct kinds of association between social nodes (users).

    Social nodes

    Person A Person B Association
    Doesn’t Follow Doesn’t Follow Stranger
    Follows Doesn’t Follow Stalker
    Doesn’t Follow Follows Stalker (Inverted)
    Follows Follows Friend

    I am curious to see how these relationships play out as Twitter reaches critical mass. [3] Will these associations lead to the development of unique and complex forms of relationship or will it become a social faux pas to not reciprocate when someone follows you? Perhaps Twitter should trial disabling of email notification on acquisition of a new follower.

    But I digress.

    This perpetual focus on ease of publishing has stifled development of one crucial aspect of the old HyperCard model: ease of control. As trivial as it is to leave a wall post on Facebook, writing the application that accepts and manages the post sure isn’t. Unlike HyperCard, this control is isolated from the hands of the average user. Control of logic is a one (or few) to many relationship akin to traditional media’s (i.e. newspaper, radio and television) monopoly on content production. Facebook’s application development framework is surprisingly simple to use for those with prior experience developing dynamic websites, but that remains a minority.

    The outstanding question is difficult to answer: does anybody care?

    I’m not sure. There are indicators that a subset of the population does: the mashup culture, Yahoo Pipes (Unix pipes for the web) and game modding communities to name a few. Social games that crop up on discussion forums and MMORPGs are another example of informal, intangible and extremely flexible exertions of control. [4] The recent backlash over Facebook’s Terms of Service change highlights the sense of ownership a wider than expected subset of the population have over their content and the vested interest they have in how it is used. It shall be interesting to test how extensible this desire for control is.


    [1] In truth, the Commodore Amiga was my first love. It’s a shame Commodore was incapable of running a business.
    [2] Is there an abacus application for iPhone? If not, there really should be. Edit: There is!
    [3] I’m reminded of spending last Friday night with my friend Julia frequenting my local Newtown haunts. She remarked, dejectedly, that Newtown was slowly starting to go downhill as the outsiders move in. The irony that she is an outsider was completely lost on her.
    [4] Following the adage that creativity comes from constraints, perhaps these informal rules are simple enough. Or perhaps not?

    When flowers grew on the moon

    Congratulations to my mate Dan (”Boy”) and team for taking out Best Film in The University of Sydney Filmsoc short film competition for Semester 1, 2009.

    Subtlety in marketing

    Today, I texted my college boyfriend to tell him how terrible I felt about cheating. He replied saying he was so relieved because he had been cheating on me with a girl in his dorm. I was talking about my math exam. FML

    On receipt of the above quote, a common response may be “what’s FML?” Absent of any additional information, throw it into Google and the original site comes up. The site Fmylife is a collection of twitter-sized anecdotes, each ending with the acronym FML. I am rather impressed with this instance of viral marketing. It is unobtrusive and actually serves a purpose in conveying the tone of the stories. In this way, it has a great chance of messages being reproduced verbatim. Had the postfix followed the format of many others “Fylife.com - Your everyday life stories” it would not be anywhere near as successful.

    « Previous Entries


    Search

    Navigation

    Biography

    • “We may affirm absolutely that nothing great in the World has been accomplished without passion.”