Fine. "6 hours maximum", says the author, for an app translated into English and Spanish that interfaces with a remote database and performs some user-initiated calculations, and also has a bunch of static pages. Before starting you must consult with at least a dozen people who know very little about Android and succinctly describe the capabilities of the smartphone and what sorts of applications are even possible. Finally you must provide documentation.
Ready? Go! Keep track of your hours...
I installed the app. It works fine. Responsive, fast, no problems. I have two minor quibbles with the design, but they are minor. Does what it says on the box. Not an exciting piece of software, but... Has even one person commenting on this thread installed it except me? No? Didn't think so. "It's a piece of crap" says a highly self-interested blogger, and Hacker News jumps on that like starving dogs on Alpo.
I was actually just going to mention this. With all of the in-bundle resource differences required for two iPhone resolutions, different .xibs for iPad, etc, we're talking about much more than 6 hours worth of work here.
The source code (for iOS, at least) is also pretty clean and decently commented for what it is.
$96k is still outrageous, but for work-for-hire it's off by a factor of 2-5 rather than a factor of 10.
Nevertheless, it's crap. The quality of the constructed software is irrelevant because the feature set is a no-op. It's a graphical front end for a NOAA web service that returns temperature and humidity. If the public isn't living and breathing the content of that NOAA web service, maybe it's because there's no graphical tool to access it, but maybe it's because they have 50,000 other ways to determine temperature and humidity at their current location. Like, say, existing in a conscious state at their current location.
> but for work-for-hire it's off by a factor of 2-5 rather than a factor of 10.
I know with my work, when we're doing construction contracts with the municipal governments we charge at least double and we're the most expensive in the area to begin with (we have guys who've been employed for 20+ years, rather than guys who've been employed for the last 9 months). So I'd say it's probably on-target for a government contract.
> Like, say, existing in a conscious state at their current location.
Or perhaps the free app that comes as standard on an iPhone is why people aren't using the NOAA web service.
Although I know I prefer the Weather Office info here in Canada as it's more accurate and local than The Weather Network, which is paid for. It just doesn't have as many gimmicks, but then they don't whore you for adverts by being inaccurate enough to keep you checking back.
I'll add here too - there's a _lot_ of other work besides the actual coding that goes into getting a piece of software sold to a customer like a government department or big corporation. Even if the "6 hour" estimate for development time is within half an order of magnitude of being correct, there's a great deal of work needed to be done both before and after that to make the sale work.
How do you know what code to write in those 6 hours? How did you even know there was an opportunity? What are the requirements? Is there a spec? How is the customer assured you are capable of delivering what they need? Does the customer even know what they need? Is what they _think_ they need even possible? How will you prove you've delivered what they asked for? Is there a need to user acceptance testing, and if so who's going to write the tests and who's going to do the testing? Are there any safety/copyright/legal implications about what the software displays? Who's ultimately responsible for those? Who need indemnifying or insurance to cover that? Is there any backend service required in addition to the mobile app? Who's building/maintaining/paying for that? Who's responsible for "fixing" the app if a 3rd party backend the app relies on changes or goes away? Does the customer require copyright ownership of the app source code? Are there 3rd party licenced libraries you're going to use that you don't have enough rights over to be able to give/sell the copyright to the customer? Who's going to spend the time figuring out and explaining to the customer exactly which bits of the source code they do and don't own? Are there any patent issues relating to the problem being solved? Are you _sure?_ Who's "on the hook" for patent infringement if something comes to light later? Who's doing the UI/UX/graphic design? How many iterations through the customers approval process will need to be done? What are the customers turnaround times on those approvals and who at the customer has the authority to ultimately sign off on things? What documentation is required? Who's writing that? What training is required? Who's doing that? What ongoing support is required? Who's doing that?
I think sometime developers fail to understand just how much _business_ stuff needs to happen before and after they write their code. It wouldn't surprise me at all to find that in the _best_ case, a project like this with "6 hours of development" also required 4 or 5 times as many hours to get the deal done. I could also very easily see the team stalled for a week or two waiting on approval/signoff, and if your 6 hours of development turns into two weeks where you (or a colleague) couldn't do other work 'cause you're chasing answers, decisions, or approval from the client - a factor of 10 between the "actual coding time" cost and the project cost starts to seem positively reasonable.
You seem to be arguing that a lot of work went into selling this piece of shit to the government, and so therefore, we the people, should pay for the cost of that selling too? I know that is how it works: I bribe a government official to buy my turd, and then they spend tax payer money to cover the cost of the turd, plus the cost of the bribe. But you seem to be saying that that is ok. o_O
Well, I guess the "How did you even know there was an opportunity?" bit could be considered "selling", but all of the rest of that is stuff that needs decision making and agreement on both sides before the bill gets paid. And somebody other than the developer is going to have to do and/or manage it all. Who's paying for that time?
Or do you honestly think 6 hours worth of coding @ $100/hr is all a job like that requires?
Have you ever worked with a government department?
It seems this guy doesn't account for "bureaucratic overhead" that is involved in dealing with any large client: You already mentioned the need for lots and lots of meetings and doing the translations, there is also writing up a proposal and some reports, drawing up contracts and sub-contracts, doing usability testing and ensuring compliance with applicable federal regulations.
And there is probably a lot of other stuff involved that I don't know about. And lets not forget some overhead to pay for the office and some profit.
It probably ends up being a few hundred man hours once you account for everything.
So yeah - it could most likely be cheaper or better, but the pitchfork attitude is probably going too far.
I was thinking more of AI-as-a-Service for software companies that wish to contract with Governments. Traditionally, this could be known as a "lawyer". Does Palantir consider this too silly, for instance.
> and Hacker News jumps on that like starving dogs on Alpo.
I couldn't help but note that the title contains Useless Android Application, although the article indicates that the total cost of $200,000 was spent on Android, iPhone and BB (not completed) versions.
I won't go as far as calling it linkbait, but if I ever wrote an article about an app I didn't like and it was available on Android, I now know a way to get more traffic if I were to submit to HN.
Yeah, that was a pretty cheap shot. The whole thing comes off as a manufactured controversy; It's worth something to OSHA just to know whether they are reaching the general public via this method or whether they're better off sticking with the existing approach of requiring employers to display posters.
I'm having a hard time feeling outraged over the extra 0.06 cents this is going to cost me and every other American. It's all 'fail early, fail often' here on HN until the government does so, then failure and experimentation are considered intolerable inefficiencies.
>It's all 'fail early, fail often' here on HN until the government does so, then failure and experimentation are considered intolerable inefficiencies.
I don't _want_ my government to fail early and fail often. I don't _want_ them to experiment. I want stability, I want them to be on this side of the bleeding edge, I want them to be a generation behind.
When a startup takes this approach, the risk v reward is shared between the few people who sat down and decided that risk is worth taking. When the government does it, that risk is shared amongst the entire country, many of whom never wanted and could never benefit from the reward. Are government smartphone apps a useful idea? Why sure they are. I'd be willing to put my tax money towards the development of technologies that can improve my life. But I'd like them to be worth the money. Not sometimes, but _every_ time, or at least damn close to every time.
What I'd really rather see is the government investing in an open API for their tools and information and letting the private developers wrap around them, presenting the information in a way that is useful to a wider variety of people. The developers stand to make money from the $0.99 sale of the app, and the government gets to have the information available to the people who need to see it.
Vehemently disagree. What you're proposing will put all government data behind paywalls - even if some of them will be relatively short ones.
Right now my transit authority runs a halfway-decent website along with a freely accessible API. The website is functional, but not perfect. There is a thriving market for people who can present the same data in much more usable ways, for profit. This seems ideal.
What you're suggesting is that the government never engage itself in building frontends - and stick strictly to building data backends instead, and leaving all the gooey UI to private industry. In other words, people will no longer have free access to census data, bus schedules, budgets, or anything. Well, unless you're a geek who knows how to figure out the documentation to the API, craft some API calls, and parse the results into some human-readable form.
I can't think of a worse techno-dictatorial dystopia. The only people who gain freedom are the geeks, everyone else loses free access to their own government's data unless they cough up the cash.
That's not exactly how I had pictured it, but I can see how my wording could be interpreted the way you saw it. I'm not proposing the APIs be the ONLY way to get the information. Government websites can be useful when done right. What I'm suggesting is that instead of getting into the smartphone app business at this point in the market, have the website be accessible to anyone (maybe with a mobile hook around the site) plus APIs for all the sources the site can give you. That way there's a free and established method of getting the information where you want it, while there can also be a closer-to-bleeding-edge version available in a more convenient format if you so choose.
I didn't really mean "that the government never engage itself in building frontends", I meant that the government, at this point, refrain from building smartphone apps. Until the app market is as standardized and established as the web, it will always be a waste of money to build apps for one platform, and a money sink to include them all.
The problem is that there is no reasonable way to draw the line. If the government should remain in the business of providing frontends to their data, where do you draw the line as to where they should and shouldn't go?
It's not as if publishing a smartphone app is exactly "bleeding edge" these days. Third party smartphone apps have existed for almost four years now.
My point is - I fail to see how this is an issue with the government trying to pursue "too much innovation". This could have just as easily happened with an overpriced website contract, but I doubt we'd be sitting around arguing whether or not governments should publish data on a website!
A valid point. My idea was that if you publish a website, it works on pretty much every browser. Developing a website is not something new. Making a mobile app only works on one platform, and is in a period of heavy transition. You say "4 years" like that's a long time compared to the web.
It's not the job of the government to innovate, it's the job of the government to function. I don't install Ubuntu 12.04 Alpha on my production servers, I install 10.10 LTS.
Did you look at the source code? At all? it took two minutes to find a bug in the application just messing around with it. The application is supposed to display warnings if your temperature or relative humidity is outside of acceptable ranges. However if you use the get current or get max buttons, it skips these warnings and calculates the Heat Index anyways, displaying a value it shouldn't be providing with no warning.
Heh, I feel bad for any products you spearhead.
Your definition of good quality is poor.
I am a professional Android developer. Something like this wouldn't take more than a day. It's a piece of cake.
What I suspect happened here is that the project was outsourced.
These silly people tried to save money by hiring a foreigner to talk to another foreigner developer and get the app developed. To work on and a deliver a product these foreigners know nothing about.
A little while ago I had a little financial situation and was forced to take some cheap freelance projects.
I was quickly picked up by a foreign recruiter and I took a couple of jobs really cheap. At the rate the Indian developers would charge.
I had to work on an app that was commissioned by CAT.
The app was a paving calculator that was to be used by their employees.
This was seriously some of the worse source code I have ever seen.
I took my own personal time to rewrite the project.
I also redid all the calculations and found various mistakes everywhere.
I asked them to send me all the docs and had to redo everything from the ground up because these people were plain incompetent.
For about a couple weeks work I charged $300 dollars. I didn't care about the money, I just didn't want any of our road workers using a shitty and potentially dangerous application.
Correct results are absolutely critical in any non-trivial application. Acceptance of incorrect results just shows how low the quality grade is.
I'm looking at the source, and it's pretty basic. Nothing a high school student couldn't write.
I think your rant against foreign developers is completely out of place here.
There's no evidence to suggest that this application was off-shored, unless you've found something to the contrary. Quite clearly, the two companies you cite are located in Massachusetts and Virginia and both companies are staffed by developers in the US.
Get off your high horse. Being American doesn't automatically make your code better. As a "foreigner", I recently had to deal indirectly with American developers (to integrate our product with theirs at the request of the client). They charge 100K USD for something that only needs 2 man days, didn't code to the specifications (set by themselves), and took forever to fix any problem on their end.
Erm, what I mean is that foreigner as in not from the country the project is originating from.
To you, the American were foreigners which further enforces my point that working with foreigners in an issue.
I'm not saying that because I'm American my code is better. I'm saying that because I'm local and I care more I produce better quality.
BTW, in my story some of the most incompetent people were indeed American. The other developer did the best he could, and the recruiter too. The process was broken from the beginning. They wrote really bad documentation, and incorrect formulas. The source was bad, but it took much longer to get all the formulas properly documented and figured out.
Agreed - but it wasn't 2 hours for android app coding, it was 100k for :
programming and software design (including coordination ....)
Even if you were to divvy that up evenly, it would make the implementation 10% of the cost.. about 10k.. which is pretty cheap on a "work for hire" basis of a software house for a software developer.
I work as a gov't contractor. I just installed it on my iPhone, it works fine. Good job.
Also... the contracting process is similar to what he describes anyway, in fact it is better. For example [SBIR](http://www.sbir.gov/) (I hope hn uses markdown) are small business requests for R&D on everything from software to engineering. A small amount of $$ is given up front, and then more if the project becomes field testable, more if it becomes usable.
In the government agency where I work, $200k would actually be considered very reasonable for a steaming pile of shit. We've paid many times that amount and sometimes the shit wasn't even lukewarm, let alone steaming. Believe it or not, we often spend $150 to $200k or more just to make the decision about whether or not we're going to invest in a particular pile of shit.
A lot of government agencies, as well as groups within large companies, want to keep their budgets (or increase them), so there isn't an incentive to be cost effective -- as you mentioned.
But, as another person commented, the overhead around government projects (documentation, reports, meetings, etc) will bloat things beyond a simple time/materials development contract.
The FBO has a site listing the contacts, but there are actually some pretty interesting projects that pop up to be bid upon. Only downside for someone new to the process (or a small shop) is that the big boys (SAIC, etc) have this part pretty streamlined as well as sometimes having in's with the agency requesting the proposal.
Yeah the same happens within any large organization - universities are one example I am familiar with. If you get a large grant from NIH or NSF or whoever, you don't have any incentive to minimize expenses because you don't benefit in any way from spending less than your budget.
So typically people will order the most expensive things that can fit within the budget or even buy stuff they don't need just to spend all the money.
This does strike me as often wasteful but I don't see an easy fix.
The problem with the government trying to do something is that anyone who's really really qualified will find the paperwork, compliance, and bidding procedures way too complicated for the sums of money involved.
The Android app cost 106k btw. So looking at this guys hourly rate, it would take approximately 6 months of 40 hour weeks for him to cost that much to do the app.
So if he:
Learned out to submit the forms that got him into the bidding
Made changes to his company required to make it seem a valid bid target
Filed the correct forms to put in his bid
Factored in correctly the amount of oversight and travel that would be required to get even a simple app done according to the whims of the people hired to get it made
Used server technologies compliant with government desires, including ones he may never really willingly touch with a 10 foot pole
Then MAYBE, just MAYBE, he'd be able to go as low as say, 60k or so. And that's for a small indie dev. Now look at a bigger company doing this app (as the government likes support, unlike a single freelancer can necessarily provide), and you easily hit the 106k range.
Does it not work well? Sounds like it works like crap. But complicated crap still can be expensive to make.
Maybe they should have created a competition for finished apps instead. If the app is as simple as it sounds (not sure what it actually does), maybe some high school kids would have entered a better version and raked in 5000$ as the first price.
What test would they use to check whether an app is simple or not? At a certain point, you put out a bid for a complicated monstrocity, and the only entrant is some RentACoder who claims he can re-write Windows in Python in two weeks for $50.
Sure it would. If OSHA wants a new operating system, putting out an open call for a deliverable would be retarded. Absolutely nobody would be able to deliver such a thing on spec, and those that would be willing would be obvious scam artists.
At best, it would cost someone a few weeks of time evaluating these bullshit submissions and realizing that they're a waste of time. At worst, they would be accepted, another $100k would be paid out, and we'd be worse off than when we began.
You seem to be arguing this as if this is reality. What you are stating is the justification. Its the theater. The story. The reality is that there are two ways to get people to give you money.
1. Make something people want.
2. Bribe people in government to give you enough money to cover cost of said bribe, plus handsome profit, plus possibly actually making something, and then have the government force those people to pay through taxes.
I dare say that what you describe may even have been the original idea, but the facts of (2) are unarguable. Sometimes (for really big ticket items) the government official has to wait until they leave government to get the paycheck, but claim it they do.
I am stating what government contracting is like. I don't quite get the psudolibertarian point of your post, but I know personally that as I worked for a Georgia state agency doing federal contracting, nothing even CLOSE to a bribe was used anywhere. We couldn't even buy them lunch.
If you jump through a series of hoops and bid low enough, you WILL get government contracts. They're just expensive hoops.
I have worked for one of these "green energy"/"smart grid" companies. My conclusion about that company (after about six months of working there) was that its core competency wasn't writing software. The software was a shoddy pile of half-working crap written in a proprietary programming language made by another company that didn't exist any more. No, their core competency was 1) navigating government bureaucracy and 2) filling out government forms. These two competencies ensured that there was never a need to actually produce good software because few competitors would have the time and contacts to even bid on the contract, much less secure it and write good software.
In the European Union, governments are legally required to open public works and supplying contracts to competition through an open tendering process. I'm surprised that this doesn't happen in the US.
There's a fair bit of criticism levelled against the EU tendering processes, though. Many feel that the process emphasizes price at the expense of quality, resulting in a "race to the bottom" as another poster mentioned.
I was surprised by this and decided to check it out, and it looks like they're not really.
the implementation of EU government law by national governments is far from uniform and sometimes weak – in 2002, for instance, only 16% of governmental calls to tender were published – government procurement has been called "the weakest link in the common market".
Indeed, the minimum amounts (known in EU jargon as de minimis tresholds) are higher than I had assumed.
As the Wikipedia article states, these de minimis tresholds "provide an incentive for authorities to divide contracts into separate lots", which is thought to be the reason for the small amount of public contracts that go through the tendering process.
I think individual member governments are free to set stricter limits, though. At least in Finland, some public contracts as small as 15,000 € are required to be openly tendered. (Last year there was a well-published scandal when a high-level Helsinki city administrator ordered some 70k€ worth of office furniture without official tendering.)
I'm curious if this really surprises anyone here that the entire process for the government purchasing three mobile applications (Android, iOS, and BB) was ~200k. This seems pretty ordinary/normal to me.
Yes. Doing business with the Government means you have to spend endless hours in meetings and produce endless piles of paperwork. In small projects such as this one, overhead is probably around 90% of total cost.
Incidentally, that's why auctioning small pieces of a larger project independently is probably not a good idea. Costs could in fact skyrocket: each part would have its own contract, negotiation process, meetings, forms, etc.
Precisely, I wouldn't try to get involved in a government contract for less then $100k, even if the final result was to produce a single document, because you're going to spend so much of your budget just navigating the waters.
In the governments defense, I think big corporations routinely overpay for web development and marketing expenses.
Aanecdotally, a girl I know who works for a pharmaceutical company said they spent $60,000 on a three page web site.
Then I sit in Starbucks and listen to some freelancer get reamed for charging $1,000 to build and manage some guy's website. One would think that the price discrepancies for the same product among different buyers would not be so extreme in a capitalist marketplace.
Actually, me and a team of two other developers recently applied for a government contract for the NIST that would have had us fixing a bug in OpenSceneGraph that was causing it to perform worse when more graphics cards were added.
Due to what they were asking for and the amount of time we thought it would take to accomplish it and provide the documentation they were asking for, we bid in at $60,000. We did not get the bid. I believe it was given to a university in Florida (damn grad students!) for a bid of $42,000.
In regards to the Android app in question, I think they just didn't have enough bidders. It's also possible they bogged them down in paperwork and status reports / updates (tends to happen with government contracts) which drove up the cost. I am a bit bothered that the bidding system does not favor companies based in the US that are not owned by foreign companies.
Good find! I need go find the dailywtf submission form. I've only glanced at the code but my favorite part so far is using integers 0/1 as booleans and putting "myValid1 == 1" everywhere they want to check if it is true. Didn't they list in the billing that they internationalized this? it's full of hardcoded english strings and nothing is done with the resource files.
Whoever runs ERG is getting very rich by making crap that doesn't even work. It's like a negative programmer. Except we're all paying for it.
And this is the 'obvious' case, in which it's easy to tell it's crap. What about those times when I'm relying on the experts at these agencies to find solutions to difficult problems without a clear indicator of success? I'm not anti-government by any stretch, but man. The legalese sounded so good: "critical, real-time hot weather information"...
Sure, I know that's BS, but what about when I'm not qualified to judge it (i.e. military decisions in Afghanistan based on intel that I'm not privy to).
Is this really much different than outsourced projects for huge corporations? Seems like large organizations get charged a premium for the same amount of work.
Government can hire technical people who can do the work in house, or who are qualified to evaluate the work. But because of the pressure to keep government small, qualified tech people go to the private sector and overcharge the government. Seems like one can't win here.
Its also worth pointing out that sometimes, just sometimes, it works out the other way. I was the lead on a team that took $150k in funding and produced an open-source implementation of some CDC specifications (https://github.com/talho/openphin), and became the first software in the country to be certified with it. We developed it in about 12 weeks, and the first milestone certifications were actually complete-able (meaning we had the features, though the paperwork took longer) within 2 weeks. We were up against companies used in other states like Northrup and SAIC that literally spent millions on the implementations (and don't even get me started on how much those same companies spent coming up with the standards in the first place, which is a whole 'nother problem) and beat them handily at their own game.
We did use private contractors as additional assets starting out and while they were more expensive than hiring additional developers, they had two great attributes: temporary, and good at what they did. Its worth it to pay for competence, every single time. And when its a one-time expense for a project, its much, much easier to deal with than something that incurs year-over-year expenditures.
I've dealt with some Government agencies before in a few different capacities, and they actually WANT To spend their money. The actual cost doesn't really matter, as they are trying to get as close to their budgets as possible, as to not have them decreased the next year.
This is especially true in the last 30 or 60 days - to the point where you invoice and are paid before the job is done just because it "has" to be in the billing period.
This is definitely hacker-bait. Cue up all the folks complaining about wasteful government, then cue up the hotshot programmer folks who will tell us they can code this in 2 hours while drunk, then cue up the FOIA folks, then the folks who feel any critique at all of government is indicative of right-wing extremism, and so on.
I remember when the IRS spent 4 Billion on a new computer system and had nothing to show for it. The joke I used for a week was "Hell, they could have paid me $2 Billion and still not had anything to show for it -- and saved half their money."
The problem those of us with lots of internal government experience is that most "normal" folks have literally no idea how much waste there is. Yes, it's like a big university. Yes, it's like BigCorp. But no, it's so far beyond those concepts that if that's the only frame of reference you have, you've missed it.
I love my country and love paying taxes for it to do useful things. But there simply is no system in place for shutting things down. It just keeps growing. In the private sector the measurement is "does it do something that folks will pay us for?" because if it doesn't, folks eventually stop paying, and the company goes away (although it might take decades). In the public sector the metric is "does it make a politician look bad?"
There's a reason Congress delegates all these powers to all these agencies. It's the same reason we have so many "Tsars". Nobody is directly accountable. It's all set up so that if there is a problem, some poor schmuck gets hauled before an investigative committee to get the riot act read to them. That way the guys who are supposed to be really responsible -- the Congressmen -- get to play the part of the person looking to fix things. Politics. It's a beautiful thing.
So at the end of the day I'm not really sure this is newsworthy. I could tell similar stories involving tens of millions of dollars, and I bet we could come up with a list of hundreds of these things. Anybody remember the FBI case file system? This is just way small peanuts. Perhaps the "Android app" part of it is enough to be newsworthy, but in my mind that's a benefit: today there are a lot of people pleading to move away from COBOL systems in some government agency -- and losing. I feel really sorry for those guys.
Also, this $200k app is probably an example of good government spending. Arguably, it's UK style Fabian socialism, in which government spending is making it impossible for better private solutions to flourish. Libertarian fanboys will whinge no matter what the government does, unless it does nothing.
200k is a small amount (for any big org), and it's actually going to something public facing, unlike 90% of government work which is simply faceless men putting obtuse reports in each other's pigeon holes. Do we really want to attack one of the few times the government actually tries to make their work relevant to the public?
You could equally argue that the 1% is wasting billions on stupid sock puppet ads for online pet shops, photo sharing apps, and AOL. Or on stock options for chefs and masseuses. Or on million dollar teams that do nothing more than re-invent wheels, badly.
It's arguable that the government should be doing this at all. But I certainly believe that if government should be doing anything, they should be making their work available to the general public. I don't think they got screwed - 200k for an app is not a giant rip-off. They might have been able to do it cheaper, but it's not totally out of line with the sort of crap industry does.
And then cue up the "realist" who says "this is just how it is".
This IS newsworthy. This shit should be the only news until it fucking stops. As you say: "But there simply is no system in place for shutting things down. It just keeps growing." until it collapses. These things don't end well. I say lets fix it.