Simon Willison’s Weblog

44 items tagged “webapps”

What’s the cheapest or free stack solution to deploy and experiment with a realtime application in 2016?

Heroku have a good free tier, and comprehensive support for deploying both Python and Node.js. If you are mainly interested in realtime I would suggest starting out with Node.js on Heroku. Depending on the complexity of your project you might even be able to use raw Node.js without adding something like Express.

[... 81 words]

How does one decide which Javascript framework (e.g. Node, Backbone, Angular) to use on any given project?

If you are just learning JavaScript, I suggest trying to work without any frameworks or libraries at all. Starting with something like Angular will make it much harder for you to learn the core language and browser APIs.

[... 137 words]

What is the best payment provider for a web app with monthly subscription fees at its early stage?

We found Stripe extremely easy to get started with for charging subscription payments.

[... 37 words]

Why did Twitter move away from being a single-page application?

Twitter is still a single page application, it’s just built properly now (one result of which is that you can’t easily tell).

[... 712 words]

Are Django versions released too often?

The Django release process is well documented (see Django’s release process) and has been specifically designed to address the concerns of developers who don’t want to have to spend too much time keeping up to date with the latest version.

[... 182 words]

What is currently the best technology stack for web scraping?

PhantomJS combined with CasperJS is pretty fantastic—it runs a full, headless copy of a Webkit browser so it can operate against a real DOM, execute JavaScript properly, even grab full rendered screenshots of areas of the page but is still easy to automate.

[... 63 words]

What are the best set of marketing/payment tools for use in startup with a subscription webapp?

Stripe has excellent support for subscription payments, including helping manage recurring payments and pro-rataing for upgrades to plans half way through a billing cycle etc. I believe BrainTree offers similar tools.

[... 88 words]

What would be a good web application framework to use for running a small online retail business?

I’d look at hosted SaaS solutions rather than running your own. I haven’t tried it myself but I’ve heard excellent things about

[... 47 words]

PostgreSQL: How can I store images in a database? What existing products makes it easy for a user to upload photos into a general database?

As a general rule, it’s a bad idea to store images in a database. This is due to the large amount of space they take up, which can affect database read performance and will greatly increases the size of your backups, making them both take longer and cost more to store.

[... 187 words]

Is there any way to generate thumbnails of web links like Facebook generates when we paste a link in status or comment?

There are a bunch of services that can do this. I’ve successfully used for this in the past.

[... 48 words]

Is there a website or app that helps you track what you have completed each day?

I’ve tried a few solutions for this. Surprisingly the one that has stuck for me is Evernote—I keep a different document for each week (I tried a document per day but that was annoying to update, and meant I didn’t look at my older notes as often) and each day I add a new header at the top of the document for that day. Being able to link through to other notes from my day summaries is useful too.

[... 103 words]

Would you test your web app against simulated infrastructure failure?

I think this is a pretty interesting idea—simulating these kind of conditions isn’t easy so I imagine many teams don’t bother. If it was good (really easy to get started with, great control and reporting tools, maybe helped set up the actual tests to replay) and I trusted the service I would definitely consider paying for it.

[... 125 words]

What are some techniques, workflows, thought-processes etc. you would do as an experienced web-developer (front-end/back-end) that a new web developer might benefit from?

Learn the Chrome Developer Tools inside out, and live in them—especially the interactive JavaScript console, which can be a huge boon to your productivity.

[... 56 words]

What are key considerations when building behind the firewall web apps?

CSRF and XSS are still important: don’t leave any security vulnerabilities which might allow an evil website out on the internet to run JavaScript that steals data from your behind-the-firewall web application.

[... 49 words]

Should a beginner to web development start out with Node.Js?

Maybe. One of the things I like about Node.js is that the raw abstraction it provides over HTTP is much closer to how the actual protocol works than the abstractions provided many of the more widely used frameworks such as PHP, Django or Rails. That might actually make it an effective learning tool—I’d be interested in hearing from some web developers who learnt Node.js as their first server-side technology.

[... 87 words]

How can you run image processing in cloud code (Parse) ? If parse is not the best

There are dozens of web-based image resizing APIs that could help with this. Check out for example.

[... 42 words]

Why aren’t there any popular web frameworks in C/C++ even though they are more performance intensive languages?

Because it’s very hard writing secure code in them due to the way they handle memory management, and web applications have an enormous number of potential paths for malicious input. It’s much easier to write secure web application code in a higher level language (which isn’t to say it’s easy at all even then).

[... 77 words]

How do I choose between asynchronous web frameworks? My tech group is fairly language agnostic and we’re trying to standardize on some technologies.

Since they are all pretty close to each other and it sounds like your tech group’s skills would support any of them, I would suggest having your tram build a simple prototype in all three so you can compare them for your own particular team and situation.

[... 76 words]

I have an idea for a website, with an idea for eventually having cashflow out of it? However, my skills are insufficient to build it and I have no money at all to hire someone—what’s my best starting point?

You either need to learn some skills, or you need to earn some money. Sadly, having a good idea is not enough—you need to be able to execute it as well.

[... 80 words]

What technologies were used in developing web applications in the ’90s?

Perl. Lots of Perl. There was a site called Matt’s Script Archive which was full of terribly written Perl scripts for things like hit counters and form emailers and guest books. It was very popular.

[... 59 words]

What is the best web app for organize/group yours others web apps?

Have you tried using your browser’s bookmarks?

[... 25 words]

How is Web engineering related to Software engineering?

I’d describe it as a subset of software engineering that deals with issues relating to the web—web application development, web protocols, browsers and so on.

[... 41 words]

What are useful tools for building out web app Infrastructure?

First, make sure you know your way around a command automation tool, such as Fabric (Python) or Capistrano (Ruby).

[... 63 words]

What is the best way to deploy Django?

These days a popular and reliable method is to run gunicorn behind nginx. This tutorial includes notes on using upstart for process management which is handy if you are on Ubuntu:

[... 47 words]

What are some apps, problems you would suggest to solve a new python developer?

The best way to learn python in my opinion is using the interactive prompt. Install ipython (a massive improvement on the standard python shell) and use it to interactively solve some simple tasks—things like downloading a CSV file from the web using the urllib library, parsing it with the csv module, then poking around in the data using python list comprehensions and saving some of the results out to a JSON file.

[... 95 words]

Is there a way to uniquely identify the device of the user that are connecting to a web app or a website?

If the device is a mobile phone running an app it’s very easy to create a permanent identifier for the application/device—it can be generated once the first time the user runs the app, stored locally and then passed to Facebook with every future request. Think of it like a browser cookie, but unlike browsers the app developer can ensure the cookie is never deleted once it has been created.

[... 99 words]

How should one go about designing a simple web based collaborative text editor?

Take a look at the open source ShareJS library, which implements a bunch of the fundamental (and extremely tricky) algorithms you need to get collaborative editing in the browser to work well:

[... 53 words]

How can I keep my website content exclusive?

No, there isn’t—people can always copy things if they really want to, it’s part of the cost of doing business. If you were to publish a book people could always photocopy it.

[... 108 words]

Why are web applications more popular than desktop applications with investors?

How often do you install a new desktop application? How often do you try out a new web application?

[... 36 words]

Did Mark Zuckerberg have any knowledge on building scalable social networks prior to starting work on Facebook?

I’m going to bet he didn’t have this knowledge, simply because back when he launched Facebook in 2004 almost NO ONE had this knowledge—there simply weren’t enough “web scale” products around for the patterns needed to run them to be widely discussed.

[... 143 words]