Some questions about getting a web app developed
November 23, 2011 7:03 AM   Subscribe

How to go about getting a web app developed? (and a few related questions)

This is not one of those “how do I get someone to work on my brilliant idea for free” questions. I am fully prepared to pay for development and have set an initial budget of around $10-15k. And I’m also under no illusion that my idea for a web app is brilliant; actually it’s a fairly standard flashcard-related learning tool, and the idea has more to do with the content than anything new in the app itself.

That said, I do want something clean, fast and stable. And I want someone who can build the full website, including plugging in a standard user account system, admin interface, and connection to a payment gateway. (No advertising though.)

So, I figured I would talk to three or four firms, get quotes, pick one and get started. But I’m having a surprising amount of trouble just assembling that short list, hence this question.

If you’ve done this and had a good experience with someone, I would appreciate specific recommendations. But more generally, my questions are:

1. Other than personal recommendations, where should I be looking? I've spent some time browsing at sortfolio.com, but many of the firms listed there seem more focused on design than development. The design isn't that important at this stage, I may change it later anyway as a whole separate project, and so I don't want to hire designers who just dabble in development. And elance/odesk seem to be full of people who have lots of training and certificates and good reviews for small $200 jobs ("add this button to my existing web app"), but not much in the way of portfolios of web apps that they've built start-to-finish. I'm sure there are people on there who are fully qualified to do what I'm looking for, but how do I identify them? Has anyone had experience posting a job like this on Forrst or a site like that?

2. I can write a good purely functional spec, but should I also try to decide in advance which database, scripting languages, CMS, etc I want? Because it seems like almost everyone specializes in certain ones. I don't know enough about them all to say which are best for my project, or whether it even makes much of a difference.

3. How important is it to find a firm/person who really specializes in web apps? (as opposed to, say, one whose portfolio is mainly mobile/tablet apps, but "also" does web stuff)

4. What should I be asking in the initial conversations? What else should I know to be an informed client?

Thanks in advance for your advice...
posted by pete_22 to Computers & Internet (7 answers total) 8 users marked this as a favorite
 
Best answer: 1. Here's a new site that searches Github for good programmers: http://www.githire.com/ StackOverflow is another good one if you want some social proof. You might also look at companies that author/maintain Ruby gems here: http://rubygems.org/ Forrst is a good place to ask for something like this with a promoted post. TinyProj (also by Kyle B.) is another good place to post and the fee is small.

2. You should not try to decide in advance exactly what you want if you're not technical because somebody might have a better idea than you. But, you should probably rule out obvious bad ideas (like ASP classic.) I suppose I'd also be careful of somebody who wants to use a less proven database to run everything such as Mongo, just because you probably don't want to be the guinea pig. Your requirements don't sound steep enough to need that.

3. It is important to find a firm that has good programmers and web app experience, but I don't think specialists are necessary. Often mobile and web apps are both required for a project so companies will either have two specialists or some other arrangement.

4. I would definitely ask to see some work and get the hard details of their process for something like this. I'd also want to know how they handle work once it's completed (as if it ever really is.)
posted by michaelh at 7:23 AM on November 23, 2011 [1 favorite]


Best answer: 1. Personal recommendations will be your best bet. Possibly look for web applications that impress you. Often, if the application was not developed in house, you can find attribution to the group that developed it.

2. If you're not committed to a particular language or database, I would focus more on finding a developer that can do the job and take her recommendation, so long as it's not something terribly esoteric.

3. The hairy issues with web development come in with cross browser compatibility. A developer/team with experience in those particulars is important to find.

4. A functional spec (don't be too detailed) up front can get you quicker answers with regards to time frames and pricing. Your budget would cover roughly 2-4 weeks of contract development time. Don't trust anyone who gives you a fixed bid price. You want hourly rates with measurable deliverables.

Feel free to memail me if you've got any other questions.
posted by ndfine at 7:23 AM on November 23, 2011 [1 favorite]


Best answer: When you contact one, have a 500 word description of the project ready to send them. Very broad terms of what you want built (not how). Ask them for their rate for a project at this scale and any concerns they might have about doing it.

If you like the answers, one of which should be "we'll need more detail to provide an estimate and to better understand your needs" you'll then get on the phone with them for half an hour and tell them what you want. They should ask intelligent questions. This half hour should not cost you anything and is mainly to build comfort between both parties that neither of you is a fucking loser or pipe dreamer.

Then comes the spec writing session, where you'll pay them to prepare a functional specification for what you want built. (OR you pay them to review and amend the spec you have already done.) This shouldn't be too expensive given the size of project, but it should be done. Without a functional spec any bids are bullshit.

With the presentation of the spec comes a bid with line-items by functionality and/or deliverables. The spec should be detailed enough to prevent feature creep or designer cruft so the bid can be relatively firm but must always include "changes will be additional". If it doesn't have lines for "testing" "deployment" and "post-launch clean-up" run away.

Always ask for samples of work, always ask questions if you're unsure, but don't waste people's time. You want a busy developer who is keen to get things done, not sit on the phone for a couple of days and babysit you.

It's a little like dating. You have to build trust, act like adults, if you see a problem say something, and if it smells bad DTMFA.
posted by seanmpuckett at 7:49 AM on November 23, 2011 [2 favorites]


Best answer: 2. I'm not sure you should care about the technologies explicitly, HOWEVER, the technologies chosen will impact on-going and maintenance costs. Some notes:

Ruby on Rails: Typically good for prototyping, but doesn't perform particularly well.
Python: Performs incredibly well, but developers (for future work) can be expensive
PHP: Performs reasonably well. Much larger developer base. Cheaper development is available, but there are a lot of really terrible PHP developers out there.
.NET: Performs well, but hosting and development going forward can be very expensive.
Java: Just no. (Sorry, personal bias here)

As for CMSes . . . using one might (maybe) cut down on development time, depending on how much like a CMS your application already is, but it's also going to add a good bit of performance overhead. CMS functionality is not free.

For Databases, pay no attention to michaelh: Mongo, Couch, MySQL, Postgres, Oracle, and SQL Server are all fine, with hosting for the first four being considerably cheaper than for the last two. As with the development language, more important is that the firm knows what they're doing with the database they/you choose. Mongo and Couch are being used in a ton of production environments right now and while they have some draw-backs (all DB systems do), they also have some unique benefits. In my opinion, you should be most agnostic about your datastore. Let the firm use what they know best, so long as you can support and sustain it.

Whatever they recommend, take a day or so to look around and see what developers who know those technologies cost, on the off-chance you need some work done later, or the business starts to take off and you want to hire someone full time. (Of course, you also have the option of going back to the same firm for future work, so if their rates are acceptable, this is probably less of a concern)

3. Developing for a tablet and developing for a browser have some similarities, but they are vastly different. I can tell you horror stories about work my company has outsourced to companies that do web stuff but are really more app developers. The code they produce is routinely horrible. Make sure you get someone with a real, quality web portfolio.
posted by toomuchpete at 7:57 AM on November 23, 2011 [1 favorite]


I'd suggest going with a developer who uses either PHP & MySQL or Ruby & MySQL. Not because those are the best, but because there are lots of other contractors available. You don't want to be in the position of having gotten the site built, needing something fixed, but you dev isn't returning your calls.

You don't mention design. Are you going to need a designer as well?

As for your budget, $10-15k may be enough to build it using a competent freelance developer, I doubt it will be enough to build it going through a company (they just have higher costs and charge more).
posted by justkevin at 8:09 AM on November 23, 2011


Best answer: Just went through the process from the opposite end - our company was bidding on a web development contract.

1. We got this lead through professional/educational networking. I would tap into those networks if you are active in them.

2. I agree with everyone who said that it's the developers' call as to what technologies they are going to use to develop your application. They should give you the reasoning for why they chose those technologies as part of their bid. You should educate yourself on the pluses and minuses of the top technologies, just so you have some way to gauge their decision, or their level of technical know-how.

Also agree that a CMS has too much overhead for what you want to do.

3. Web apps and mobile apps are two entirely different spheres of development - they use completely different languages and methodologies. If you hire a web development firm, they might have mobile development specialist on board, but as someone else stated, firms tend to be more expensive.

You might want to solicit a 2nd bid for a mobile app.

In the meantime, you could add in as part of your bid that you want to create a mobile version of your website - that would be more of a design problem, than a development problem, though. Check out metafilter on a mobile device, it is mostly handled by style sheets and javascript.

4. I agree with ndfine that a functional spec will get the conversation off to a quicker start.

A few extra things you might want to think about:

1. even if you think your idea isn't that unique or special, you should have people who look at the functional specs sign a non-disclosure agreement.

2. I agree that you should also hire a designer.

3. Have you thought about how/where you are going to host the site? This has an impact on development as well. As part of our bid, we were asked to provide guidance for a hosting solution as well - we provided a monthly projected cost, and a outline of how much growth/traffic our hosting solution could handle.
posted by baniak at 9:14 AM on November 23, 2011


Design is how the application behaves, not just how it's skinned and how it looks. e.g.., For a given task, will the user be presented with a menu of choices all at once, or will there be a step-by-step workflow to lead them through choices? In my experience, the most talented developer often isn't a skilled enough interaction designer such that their application is highly usable. (Apologies to those of you who are skilled hybrids! There aren't enough of you.)

And that's why you need a designer as well as a developer. And the designer should be looking at/contributing to that functional spec from the beginning--along with the developer.
posted by ImproviseOrDie at 11:50 AM on November 23, 2011 [2 favorites]


« Older TIAGPC Is A Good Programming Class   |   Duck, duck, duck, goose Newer »
This thread is closed to new comments.