Simon Willison’s Weblog

Subscribe

Entries in 2012

Filters: Type: entry × Year: 2012 × Sorted by date


Does Facebook’s iPhone app use a proprietary web rendering engine instead of UIWebView?

I did my first bit of iPhone development recently (building the first version of the Lanyrd iPhone app) and there was one thing that came as a huge surprise: the principle reason that people think native apps are “snappier” or “more responsive” than native ones has nothing to do with the rendering performance of a webview vs a native view (especially on the iPhone 4S which is extremely fast).

[... 274 words]

Does version 1 of a startup always take much longer than expected?

Usually.

[... 112 words]

Do Python programmers have a tendency to write their own software instead of contributing? Why?

I think you’ll find that PROGRAMMERS have a tendency to develop their own thing rather than contributing to an existing project. It’s even got its own TLA: NIH (Not Invented Here).

[... 94 words]

Where can I find great Java/Scala developers in London?

There are quite a few Scala events in London—here are the ones we know about at the moment: http://lanyrd.com/topics/scala/i...

[... 83 words]

What are good ways to design a web application? Do you, for example, begin with a wire-frame of the front-end and work your way back to the database schema? The reverse? Figure out both ends and work towards the center?

I start with a working prototype, which I find I can often knock together in a couple of hours using Django. Having a functional (albeit buggy, ugly and insecure) prototype makes it much easier for me to start to reason about the larger application. There’s not much point in coming up with a comprehensive architecture plan only to find out you’re building the wrong thing!

[... 111 words]

What (web) development platform has a low learning curve in terms of development, deployment, scalability, performance, and portability?

Sadly, none if them. Each of the things you list is almost a discipline in its own right, and there aren’t really any shortcuts—you just have to get stuck in and learn about them as and when they become a problem.

[... 67 words]

What are examples of consumer web products which had little or no initial traction, but which persisted in their direction and eventually found success?

AirBnb famously just kept going.

[... 35 words]

What is the difference between a web server and a web framework?

A “web framework” offers a set of APIs for writing your own custom code in such a way that it can be called via the Web. Usually a framework will deal with common details such as HTTP header parsing, URL routing and so forth.

[... 272 words]

Web Performance: What is the best way to measure page load times on different locations of the world?

Google Analytics has a built-in “Site Speed” report with a geographical map that can help with this (under Standard Reporting > CONTENT > Site Speed > Map Overlay).

[... 52 words]

Is there a simple way to create a form that asks people to upload a picture and an answer to a question, and then gives me access to that info?

You could build this very easily using http://wufoo.com/—an online form building tool (with a superb interface).

[... 55 words]

What are the pros and cons of open sourcing my website’s code?

I’m afraid if you’re expecting to open source your code as a magic bullet to get others to work on improving it for free you are likely to be disappointed.

[... 250 words]

As a first timer, what are the best tips while flying business class to get the most value?

Wear something really scruffy, so that when you get up to go to the bathroom the stewards can sniffily tell you “I think you’re in the wrong cabin, Sir”—and you can say “No, actually I’m sitting just over there”.

[... 97 words]

Which web frameworks should I focus on to make myself the most well rounded and to be able to solve the most problems as a web application developer/architect?

Being an expert web developer isn’t about which framework you know, it’s about the fundamentals. It’s important that you know how the tools you are using work, so you can fix things when they break—Joel Spolsky’s law of leaky abstractions is a great essay about this: http://www.joelonsoftware.com/ar...

[... 260 words]

How is JSON different then a JavaScript (programming language) object?

JSON is a carefully selected subset of JavaScript. A JSON object can only consist of dictionaries, strings, numbers (in JavaScript floating point and integers are treated as the same thing), lists, booleans and null. The spec on JSON.org is a good guide: http://json.org/

[... 119 words]

Are there any disadvantages to using domain hacks for your product website?

If you ever get written up
In the mainstream press you can almost guarantee that they will screw up the URL they publish (by sticking a .com on the end or fixing a deliberate misspelling). Sadly this still seems to be the case after 20 years of the Web!

[... 74 words]

What role will Social Media play in 2012 conferences? For example what platforms will attendees be using to communicate and network?

I’m a co-founder of http://lanyrd.com/—which could be described as a social media platform for events.

[... 200 words]

Events (leisure): How do you find out about Conferences happening in various places in the world?

Our site http://lanyrd.com/ is a crowd-sourced directory of conferences and other professional events across a large range of topics from all around the world. We have particularly good coverage of technology and social media events (perhaps unsurprisingly, since that’s where the early adopters are) but we’re continuing to grow in to other areas.

[... 208 words]

What are some more glamourous careers a computer programmer can pivot into?

I don’t really know how you would define “glamorous”—personally I prefer a career that’s rewarding, exciting and helps make a difference. On that basis, I’d suggest looking in to data journalism. Computer Programming is most rewarding when you combine it with another discipline. Personally I think using programming to help journalists discover and explain deep truths hidden within large data sets is a fascinating way to make use of those skills.

[... 106 words]

How can I download a web server’s directory and all subdirectories with one command?

Use wget (you can install it with apt-get install wget)

[... 90 words]

What is the difference between XHTML 1.0 strict and transitional?

Not a lot. XHTML transitional lets you use a few presentational attributes and elements that aren’t available in XHTML strict. Here’s a more detailed overview from back in 2005: http://24ways.org/2005/transitio...

[... 59 words]

What are optimal workflows for deploying one’s web application?

The absolute first step is to automate your deployments. It’s absolutely crucial that deploying the site is a single command. I’ve found Fabric (an automation tool written in Python) works extremely well for this—Capistrano is a popular alternative that uses Ruby instead.

[... 360 words]

If you were to build homeaway or vrbo from scratch, which software would you use?

HomeAway and VRBO are user-submitted content marketplaces, not traditional content management systems—using a CMS such as Drupal or Joomla would in my opinion be a mistake, as you’ll find yourself spending most of your time writing custom code. The benefits of a CMS will mostly be irrelevant for this application, and you’ll spend a bunch of time coding around their limitations and disabling default functionality that doesn’t fit your purposes.

[... 139 words]

Why doesn’t Google Chrome use the Google Search Engine spellchecker?

Because the Google search spellchecker runs in their data centers, while the Chrome spellchecker runs on your local machine. Sending everything you type in to your browser to Google’s servers just to check spelling would be an unnecessary privacy violation, especially since local spell checking does a good-enough job.

[... 65 words]

Play Framework, Django or Rails? Which one do you recommend for  Social Networking Web applications.

Both Rails and Django have been used for a large number of high profile social networking web applications. Off the top of my head, Django is used by Instagram and Pinterest, Rails is used by Posterous and Ravelry. I don’t know what the largest sites built using Play are at the moment.

[... 149 words]

What is a good programming language to learn after bash scripting?

Python is a good natural progression from bash in my opinion. It has an interactive prompt which supports bash-style exploratory programming, and it has libraries that mean it can be applied to an enormous range of problems—everything from game development to scientific computing to web applications.

[... 65 words]

Is it possible to block screenshot apps from working on your webapp/website?

No.

[... 36 words]

What are the best events search engines?

Since I co-founded one I’m certainly not qualified to express an opinion on which ones are best, but here are a few of my favourites:

[... 233 words]

What is a Twitter alternative for internal teams?

Yammer is the most obvious tool here.

[... 78 words]

Where are the best places to go in London on a weekend for free?

Just walk. One of the joys of London is that any walk you take is guaranteed to turn up interesting architecture and surprises. I once spent an afternoon walking from Paddington to Tate Modern and saw loads of fascinating places that I had no idea were there. Use Google maps and look out for interesting looking squares, parks and back streets. These days I also tend to pop open Foursquare’s “Explore” tab every now and then to see if I’m walking near something particularly interesting.

[... 105 words]

How could Sherlock be improved?

Watson needs to be more competent. Jude Law’s Watson is significantly more useful than Martin Freeman’s—Watson is a military man and a doctor, and is hence useful for far more than just bumbling around with a quizzical expression and updating his blog.

[... 92 words]