bookmark_borderYou can't pirate a web app

…or can you?

Since the dawn of consumer computing, people have pirated applications. Why should web apps be any different?

Ripping off website designs or application concepts is nothing new. Though usually maintaining such a rip-off is costly and requires a significant effort to maintain. Not to mention one is always playing cat and mouse.

I’ve noticed recently the trend towards fat clients. This is where the application is written using an MVC javascript framework (Backbone, Sproutcore, Cappuccino, etc…) and the application simply uses a JSON API on the server and renders all the views on the client.

A great deal of logic and assets are stored on the client. The server is merely used as a lightweight data storage and control system.

So if you can write a replacement server, it’s trivial to “pirate” a web service.

An example

Let’s take QuietWrite for example. A rather nice web-based text editor developed by James Yu.

If we simply save the page to disk, most of the core functionality already works!

pir-start

Of course, editing text is not very useful – we need to save it too.

pir-fin

To sum it up, within an hour I was able to replicate the backend enough so that I could save documents.

After finishing the working implementation, I was surprised to find out that James supplies the source code to an example app CloudEdit which has a similar API to QuietWrite.

I needn’t have written all that code!

Given how easy it is to deploy an app nowadays you could potentially rip off an application, stick your own ads on it, and get it running all within a day. You can even get free updates for the front-end straight from the original developer.

Provided this fat client trend continues, I wonder how long it will be till we start seeing “CD Keys”, SecuROM, and other elaborate anti-piracy solutions in web applications.

bookmark_borderHow to make a great conference

I received a bit of critique for my Review of Euruko 2011. Granted I was a bit more critical of a few things compared to my twitter feed, but well…

But what do people look for in a conference? No idea. So what do I look for in a conference?

The marketing

There’s nothing worse than hearing about a conference just when its finished. Maybe I forgot about it, or maybe I just don’t follow the right people on Twitter…

Whatever the case I really wanted to go, but since the marketing failed I missed out!

Lanyrd solves this problem partially, but not every conference is listed there. I also don’t check it regularly.

Even when I hear about an event, there are still more problems that can crop up. Quite a few times i’ve noticed events listed with poor directions. Please, tell me where your event is, otherwise I can’t get to it!

The talks

A great talk is made up of several factors, notably…

  • The speaker
  • The content
  • Relevance to the event

So I would suggest a great talk has the best speaker, with the best content which is completely related to the event.

Whereas the worst talk is narrated by the worst speaker, with the most boring content, which is completely unrelated to the event.

Personally I think this is where Barcamp-style conferences shine: there are no rules. A talk could literally be about anything. Everything is relevant.

Then again themed conferences are better in that you know what to expect when you get there. If you go to a ruby conference you get Ruby, not PHP. Not to mention the schedule is usually predetermined.

The venue

A venue can be the breaking point of the event. It needs to be large enough to accommodate the attendees. It also needs a good layout otherwise congestion will form, making everything look too crowded.

Crowds are great, until everyone starts talking and we bump into the nightclub problem: I CAN’T HEAR WHAT ANYONE IS SAYING.

Besides the specifics of the building, the venue also needs to be in an accessible location. I don’t want to trek 10 miles to the venue, and if there is no food provided people need somewhere near to go to eat.

After-events

I think after-events are also a key part of a conference. Without them your post-conference networking opportunities are limited to the people you just happened to bump into at the conference.

Its also a good opportunity for forming a lasting impression of the event in the heads of attendees. If the party last night was awesome, i’ll probably be thinking of it months down the line when the next conference is on.